Լեզվային շերտեր

Բարև, Хабр!

Ներդրում եմ ձեր ուշադրությունը "ԼեզվաբառLayerեր" հեղինակ Robert C. Martin (Uncle Bob):

Լեզվային շերտեր
Ես ժամանակ եմ անցկացնում ՝ խաղալով 1969 թվականի "Lunar Lander" հին խաղը: Այն գրել է Ջիմ Սթորերը, միջնակարգ դպրոցի աշակերտ: Նա այն գրել է PDP-8-ի վրա FOCAL լեզվով: Вот как выглядит программа:

Լեզվային շերտեր

Երբեք մոռանալ, որ FOCAL լեզվի վրա այսպես է:

Լեզվային շերտեր

Ջիմ Սթորերը բավական talent-ավորված միջնակարգ դպրոցի ուսանող էր: Դիտեք այս կոդը: Այնտեղ բավական հետաքրքիր Թեյլոր արտահայտություններ կան:

Ընդհանուր առմամբ, ես անցնում եմ բինարային որոնում, որպեսզի հայտնաբերեմ K-ի արժեքը, որը շարունակական օգտագործմամբ կատարյալ կերպով կթավարի ինքնանավը: Այդ պատճառով ես փոփոխել եմ ծրագրային ապահովումը, որպեսզի այն ընդունի միայն մեկ արժեք, իսկ հետո կիրառել այն մի քանի անգամ, մինչև ինքնանավը նստի կամ ջախջախվի: Երբ գրում եմ այս նախադ באמצעות, գիտեմ, որ պատասխանն ընկնում է 76.40625 և 76.4453125 փոխել

Այս ընթացքում, մտովի, որ սկսեցի այս ծրագրային ապահովումը աշխատեցնել эмуляторում PDP-8, որը գրել եմ Lua-ում iPad-ի համար։

Լավ, եկեք մի քիչ մտածենք այս մասին:

  • iPad-ը ունի A8X, երեք միջուկով, աշխատում է 1 գիգահերցի հաճախականությամբ:
  • Lua-ն գրել են C լեզվով և կոմպիլացված A8X-ի համար:
  • Իմ PDP8 эмуляտորը գրել եմ Lua լեզվով, օգտագործելով пакет CODEA Two Lives Left բաժնից:
  • FOCAL-ը գրել են 1960-ականների վերջին PDP8-ի համար:
  • Lunar Lander-ը գրել են FOCAL-ի վրա:

Ահա, A8X, C, Lua, PDP8 և FOCAL: Ահա հինգ տարբեր լեզու: Հինգ տարբեր մեխանիզմներ, որոնք ցուցմունք են տալիս մեքենային, թե ինչ անել: բոլորը միասին հավաքվել են:

Ինչ է սա: Ինչու այսքան շատ լեզուներ: Ը其实, մոռացեք iPad-ի, PDP-8-ի, C-ի, Lua-ի և մյուսների մասին: Ինչու այսքան շատ լեզուներ:

##Почему существует так много языков?

Մտածեք այս մասին: Քաշեք, Programming լեզուները որոնք կարող եք նշել: Այստեղ, թույլ տվեք ՝ ձեզ մի փոքր ցուցակ ներկայացնել:

  • FORTRAN
  • ALGOL
  • COBOL
  • SNOBOL
  • LISP
  • BCPL
  • B
  • C
  • SIMULA
  • SMALLTALK
  • EIFFEL
  • և միանում են Python-ի հետ զուգահեռ որպես բինար մոդուլներ
  • JAVA
  • C#
  • PYTHON
  • RUBY
  • LOGO
  • LUA
  • BASIC
  • PL/1
  • JAVASCRIPT
  • GO
  • DART
  • PROLOG
  • FORTH
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ERLANG
  • ELIXIR
  • FOCAL

Դուք, հաստատ, կարող եք մտածել այլոց, որոնք ես չնշեցի: Հարցն այն է, թե ինչու դրանք այսքան շատ են: Այս հարցի վրա իրականում կարող է լինել միայն մեկ պատասխան: Պատճառը, որ գոյություն ունեն այսքան շատ համակարգչային լեզուներ՝

Մենք երբեք դրանք չենք սիրում:

Լավ, գուցե սա չափազանց ուժեղ հայտարարություն է: Հնարավոր է, որ ես պետք է ասեմ:

Մենք եղել ենք Հոլիվուդում:
Մենք եղել ենք Ռեդվուդում:
Մենք անցել ենք օվկիանոսը ոսկյա կոդի համար:
Մենք եղել ենք մեր մտքում:
Սա այնքան նուրբ սահման է:
Սա ստիպում է մեզ որոնել ոսկյա կոդը:

Իսկ մենք ծերանում ենք:

Լավ, գուցե ինձ պետք է խոսեմ իմ մասին… Ինչպե՞ս չէիք միայն ձայն տալ Նիլ Յանգին, որպեսզի նա դադարի դժգոհել, գտնի ինչ-որ սիրուն աղջիկ և ապրեր նրա հետ: Չէ՞ որ դուք չէիք ուզում ասել նրան, որ ոսկյա սրտի որոնումները անիմաստ էին: Ասեք, թե ինչ էր նա անելու, եթե գտներ դա:

Եվ ինչ ենք մենք անելու կատարյալ լեզվով, եթե գտնենք այն:

Մենք ստեղծել ենք PDP-8 և FOCAL էмуляտորներ՝ «Lunar Lander» խաղալու համար, որը գրել է միջնագույն դպրոցի աշակերտը 1969 թվականին:

Ահա իմ կարծիքը:

Accept it. Stop searching. There is no perfect language. We've looked everywhere. We looked up and down. We looked inside and outside.

Մենք դիտել ենք լեզուները երկու կողմերից:
Մինչև ներս և դուրս
և դեռևս այդպես թե այնպես.
Հիշելով, որ սա լեզվական քնումներ են:

Մենք իսկապես ոչինչ չենք հասկանում լեզուների մասին...
… ընդհանրապես.

Այո, այսօր տարօրինակ մի օր է.

Բայց, այնուամենայնիվ, էությունն այն է՝

Մենք այլ լեզու չենք nodig:
Մենք չենք ճանաչում ճանապարհը տուն:
Բոլորն, ինչ ուզում ենք, դա կյանքից դուրս գալն է.
S.Q.L.

Այո, տարօրինակ օր է.

Այո, մտքերից մեկն այս է: Может быть, нам стоит прекратить создание новых языков и просто успокоиться и выбрать один или два, которые действительно хороши. Это сделает жизнь намного проще, не так ли?

Եվ, եթե ձեզ հետաքրքրում է, 76.43844461 ձեզ տալիս է բավականին լավ վայրէջք 2.23 MPH արագությամբ.

Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster