طبقات اللغة

مرحبا يا هبر!

أوجه انتباهكم إلى ترجمة لمقال " طبقات اللغة " من تأليف روبرت سي. مارتن (العم بوب).

صورة

أقضي وقتًا في لعب لعبة Lunar Lander القديمة لعام 1969. كتبه جيم ستورر ، طالب في المدرسة الثانوية. كتبه على PDP-8 في FOCAL. إليك ما يبدو عليه البرنامج:

صورة

وهنا هو مصدر شفرة FOCAL:

صورة

كان جيم ستورر طالبًا في المدرسة الثانوية موهوبًا إلى حد ما. ألق نظرة على هذا الرمز. لديه تعبيرات تايلور مثيرة للاهتمام للغاية هناك.

بشكل عام ، أجري بحثًا ثنائيًا لتحديد قيمة K ، والتي عند استخدامها في سلسلة ، ستهبط السفينة بشكل مثالي. لذلك ، قمت بتغيير البرنامج بحيث استغرق قيمة واحدة فقط ، ثم قمت بتطبيقه عدة مرات حتى تهبط السفينة أو تعطلها. بينما أكتب هذا ، أعرف أن الإجابة تقع بين 76.40625 و 76.4453125 ، وسأحاول 76.4257813. بدأت أظن أنني سأنفذ الوقت قبل أن أجد الإجابة.

في هذه الأثناء ، حدث لي تشغيل هذا البرنامج على محاكي PDP-8 ، الذي كتبته على Lua for iPad.

حسنًا ، دعنا نفكر في الأمر.

  • يحتوي iPad على شريحة A8X ، مع وجود ثلاث نوى تعمل بتردد جيجاهيرتز أو نحو ذلك.
  • لوا هو مكتوب في C وتجميعها في A8X.
  • تتم كتابة محاكي PDP8 باللغة Lua باستخدام حزمة CODEA من قسم Lives Left.
  • كتب FOCAL في أواخر 1960s على PDP8.
  • تم كتابة Lunar Lander باللغة FOCAL.

هذه هي A8X ، C ، Lua ، PDP8 و FOCAL. هذه هي خمس لغات مختلفة. خمس آليات مختلفة لإخبار الآلة بما يجب فعله ؛ انهم جميعا مكدسة فوق بعضها البعض!

ما هذا لماذا يوجد الكثير من اللغات؟ في الواقع ، ننسى باد ، PDP-8 ، C ، لوا وكل شيء آخر. لماذا يوجد الكثير من اللغات؟

## لماذا هناك الكثير من اللغات؟

فكر في الأمر! كم عدد لغات البرمجة التي يمكنك تسميتها؟ هنا ، اسمحوا لي أن أقدم لكم قائمة قصيرة:

  • FORTRAN
  • ALGOL
  • كوبول
  • سنوبول
  • LISP
  • BCPL
  • B
  • C
  • سيمولا
  • من Smalltalk
  • EIFFEL
  • C ++
  • JAVA
  • C #
  • PYTHON
  • RUBY
  • LOGO
  • LUA
  • BASIC
  • PL / 1
  • جافا سكريبت
  • GO
  • DART
  • PROLOG
  • FORTH
  • SWIFT
  • ML
  • المرصد
  • لغة كامل الموضوعية
  • ADA
  • إرلانج
  • ELIXIR
  • FOCAL

بالطبع ، يمكنك التفكير في الآخرين الذين لم أذكرهم. السؤال هو ، لماذا يوجد الكثير؟ يمكن أن يكون هناك حقا إجابة واحدة فقط لهذا السؤال. السبب في وجود العديد من لغات الكمبيوتر:

نحن لا نحبهم.

حسنا ، ربما هذا هو بيان قوي جدا. ربما يجب أن أقول:
كنا في هوليوود.
كنا في ريدوود.
عبرنا المحيط للرمز الذهبي.
كنا خارج عقولنا
هذا هو مثل هذا الخط الرفيع.
هذا يجعلنا نبحث عن رمز ذهبي.

ونحن نشيخ.
حسنًا ، ربما يجب أن أتحدث عن نفسي ... ألا تريد فقط الصراخ في نيل يونج حتى يتوقف عن الشكوى ، ويجد فتاة لطيفة ويعيش معها؟ ألا تريد أن تخبره أن البحث عن قلب ذهبي كان بلا فائدة؟ أخبرني ، ماذا سيفعل به إذا وجده؟

وماذا سنفعل مع اللغة المثالية إذا وجدناها؟
أنشأنا محاكي PDP-8 و FOCAL للعب "Lunar Lander" الذي كتبه طالب في مدرسة ثانوية عام 1969!
هنا هو ما أعتقد.

تعامل معها وقف البحث. لا توجد لغة مثالية. بحثنا في كل مكان. نظرنا أعلاه وتحت. نظرنا من الداخل والخارج.
نظرنا إلى اللغات من كلا الجانبين.
من الداخل والخارج
ولا يزال على أي حال.
نذكر أن هذه أوهام لغوية.

نحن حقا لا نفهم أي شيء في اللغات ...
بالتأكيد.
نعم ، اليوم هو يوم غير عادي.

ولكن ، مع ذلك ، خلاصة القول هي:
نحن لسنا بحاجة إلى لغة أخرى.
نحن لسنا بحاجة لمعرفة الطريق إلى المنزل.
كل ما نريده هو أن نتجاوز الحياة.
SQL
نعم ، يوم غريب.

لذلك هناك فكرة واحدة. ربما نحتاج إلى التوقف عن إنشاء لغات جديدة والهدوء واختيار لغة أو لغتين جيدتين حقًا. وستجعل الحياة أسهل كثيرا ، أليس كذلك؟

وإذا كنت مهتمًا ، يمنحك 76.43844461 ملاءمة جيدة عند 2.23 ميل بالساعة.

Source: https://habr.com/ru/post/ar476644/


All Articles