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

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

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

จิม สโตเรอร์เป็นนักเรียนมัธยมปลายที่เก่งมาก ลองดูโค้ดนี้สิ เขามีนิพจน์เทย์เลอร์ที่น่าสนใจอยู่บ้าง
โดยพื้นฐานแล้ว ผมกำลังรันการค้นหาแบบไบนารีเพื่อหาค่า K ที่เมื่อใช้ซ้ำๆ จะทำให้เรือลงจอดได้อย่างสมบูรณ์แบบ ผมจึงแก้ไขโปรแกรมให้รับค่าเพียงค่าเดียว แล้วใช้ค่านั้นซ้ำๆ จนกว่าเรือจะลงจอดหรือชน ขณะที่ผมเขียนอยู่นี้ ผมรู้ว่าคำตอบอยู่ระหว่าง 76.40625 และ 76.4453125 และผมจะลองหา 76.4257813 ผมเริ่มคิดว่าคงหมดเวลาเสียก่อนถึงจะหาคำตอบได้
ในขณะเดียวกัน ฉันนึกขึ้นได้ว่าฉันกำลังรันโปรแกรมนี้บนโปรแกรมจำลอง ซึ่งเขียนด้วยภาษา Lua สำหรับ iPad
โอเค มาคิดดูเรื่องนี้กันดีกว่า
- ไอแพดมีชิป โดยมีแกนประมวลผล 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
