ชั้นภาษา

เฮ้ ฮับ!

ฉันขอนำเสนอการแปลบทความให้คุณทราบ "เลเยอร์ภาษา» โดย โรเบิร์ต ซี. มาร์ติน (ลุงบ็อบ)

ชั้นภาษา
ฉันกำลังเล่นเกมเก่าชื่อ "Lunar Lander" จากปี 1969 เขียนโดยจิม สโตเรอร์ นักเรียนมัธยมปลาย เขาเขียนเกมนี้บนเครื่อง PDP-8 โดยใช้ภาษาโปรแกรม FOCAL นี่คือหน้าตาของโปรแกรม:

ชั้นภาษา

นี่คือซอร์สโค้ดสำหรับ FOCAL:

ชั้นภาษา

จิม สโตเรอร์เป็นนักเรียนมัธยมปลายที่เก่งมาก ลองดูโค้ดนี้สิ เขามีนิพจน์เทย์เลอร์ที่น่าสนใจอยู่บ้าง

โดยพื้นฐานแล้ว ผมกำลังรันการค้นหาแบบไบนารีเพื่อหาค่า K ที่เมื่อใช้ซ้ำๆ จะทำให้เรือลงจอดได้อย่างสมบูรณ์แบบ ผมจึงแก้ไขโปรแกรมให้รับค่าเพียงค่าเดียว แล้วใช้ค่านั้นซ้ำๆ จนกว่าเรือจะลงจอดหรือชน ขณะที่ผมเขียนอยู่นี้ ผมรู้ว่าคำตอบอยู่ระหว่าง 76.40625 และ 76.4453125 และผมจะลองหา 76.4257813 ผมเริ่มคิดว่าคงหมดเวลาเสียก่อนถึงจะหาคำตอบได้

ในขณะเดียวกัน ฉันนึกขึ้นได้ว่าฉันกำลังรันโปรแกรมนี้บนโปรแกรมจำลอง กปปส -8ซึ่งเขียนด้วยภาษา Lua สำหรับ iPad

โอเค มาคิดดูเรื่องนี้กันดีกว่า

  • ไอแพดมีชิป A8Xโดยมีแกนประมวลผล 3 แกนทำงานที่ความเร็วประมาณกิกะเฮิรตซ์
  • Lua เขียนด้วยภาษา C และคอมไพล์เป็น A8X
  • โปรแกรมจำลอง PDP8 ของฉันเขียนด้วย Lua โดยใช้แพ็คเกจ โคเดีย จากหัวข้อ Two Lives Left
  • FOCAL เขียนขึ้นในช่วงปลายทศวรรษ 1960 บน PDP8
  • Lunar Lander เขียนด้วยภาษา FOCAL

นั่นคือ A8X, C, Lua, PDP8 และ FOCAL ห้าภาษาที่แตกต่างกัน กลไกห้าแบบที่บอกเครื่องจักรว่าต้องทำอะไร ทั้งหมดนี้ซ้อนทับกัน!

นี่มันอะไรกันเนี่ย? ทำไมถึงมีภาษาตั้งเยอะแยะ? เอาจริงๆ นะ ลืมเรื่อง iPad, PDP-8, C, Lua และอะไรพวกนั้นไปได้เลย ทำไมต้องมีภาษาตั้งเยอะแยะ?

##ทำไมถึงมีภาษาเยอะจัง?

ลองคิดดูสิ! คุณสามารถตั้งชื่อภาษาโปรแกรมได้กี่ภาษา? ต่อไปนี้คือรายการสั้นๆ ที่ผมอยากแนะนำ:

  • ฟอร์ทราน
  • อัลกอล
  • ภาษาโคบอล
  • สโนบอล
  • เสียงกระเพื่อม
  • พ.ศ
  • B
  • C
  • ซิมูล่า
  • พูดคุยเล็กๆ น้อยๆ
  • หอไอเฟล
  • C + +
  • JAVA
  • C#
  • ไพทอน
  • ทับทิม
  • LOGO
  • หลัว
  • พื้นฐาน
  • พีแอล/1
  • จาวาสคริปต์
  • GO
  • DART
  • โปรล็อก
  • ออก
  • SWIFT
  • ML
  • ออคแคม
  • โอแคมล
  • ADA
  • แอร์ลัง
  • น้ำยาอีลิกเซอร์
  • โฟกัส

แน่นอนว่าคุณคงนึกถึงภาษาอื่นๆ ที่ผมไม่ได้กล่าวถึงได้ คำถามคือ ทำไมถึงมีมากมายขนาดนี้ คำตอบสำหรับคำถามนี้มีเพียงคำตอบเดียวเท่านั้น เหตุผลที่ภาษาคอมพิวเตอร์มีมากมายก็เพราะว่า:

เราไม่ชอบพวกเขา

เอาล่ะ บางทีนั่นอาจจะแรงไปหน่อยนะ บางทีฉันควรจะพูดว่า:

เราอยู่ในฮอลลีวูด
เราอยู่ในเรดวูด
เราข้ามมหาสมุทรมาเพื่อรหัสทองคำ
เราอยู่ในจิตใจที่ถูกต้องของเรา
มันเป็นเส้นที่ละเอียดอ่อนมาก
นี่ทำให้เราต้องค้นหาโค้ดสีทอง

และเราก็แก่ลงแล้ว

โอเค บางทีฉันควรจะพูดแทนตัวเองหน่อย... คุณแค่อยากตะโกนบอกนีล ยัง ให้หยุดบ่น หาผู้หญิงดีๆ สักคน แล้วใช้ชีวิตอยู่กับเธอไม่ใช่เหรอ? คุณไม่อยากบอกเขาเหรอว่าการตามหาหัวใจที่บริสุทธิ์นั้นไร้ประโยชน์? บอกฉันสิ เขาจะทำอะไรกับมันถ้าเขาเจอมัน?

แล้วเราจะทำอย่างไรกับภาษาในอุดมคติหากเราพบมัน?

เราได้สร้างโปรแกรมจำลอง PDP-8 และ FOCAL เพื่อเล่น "Lunar Lander" ซึ่งเขียนโดยนักเรียนมัธยมปลายในปีพ.ศ. 1969!

นี่คือสิ่งที่ฉันคิด.

ยอมรับเถอะ หยุดค้นหาเถอะ ไม่มีภาษาใดสมบูรณ์แบบ เรามองไปทุกหนทุกแห่งแล้ว เรามองทั้งด้านบนและด้านล่าง เรามองทั้งภายในและภายนอกแล้ว

เรามองดูภาษาจากทั้งสองด้าน
ทั้งภายในและภายนอก
และยังคงเป็นเช่นนั้นไม่ทางใดก็ทางหนึ่ง
เราควรจำไว้ว่าสิ่งเหล่านี้เป็นเพียงภาพลวงตาทางภาษา

เราไม่เข้าใจอะไรเกี่ยวกับภาษาเลยจริงๆ...
…เลย

ใช่แล้ว วันนี้เป็นวันที่ไม่ปกติ

แต่อย่างไรก็ตาม ประเด็นก็คือ:

เราไม่ต้องการภาษาอื่น
เราไม่จำเป็นต้องรู้ทางกลับบ้าน
สิ่งเดียวที่เราต้องการคือการก้าวข้ามชีวิตไป
เอสคิวแอล

ใช่ มันเป็นวันที่แปลก

เอาล่ะ ฉันมีความคิดอยู่อย่างหนึ่ง บางทีเราควรหยุดสร้างภาษาใหม่ๆ แล้วเลือกภาษาที่ดีๆ สักหนึ่งหรือสองภาษา แค่นี้ชีวิตก็ง่ายขึ้นเยอะเลย จริงไหม?

และในกรณีที่คุณสงสัย 76.43844461 ให้ความพอดีที่ดีกับคุณที่ความเร็ว 2.23 ไมล์ต่อชั่วโมง

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster