Բարև, Хабр!
Ներդրում եմ ձեր ուշադրությունը "" հեղինակ Robert C. Martin (Uncle Bob):

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

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

Ջիմ Սթորերը բավական talent-ավորված միջնակարգ դպրոցի ուսանող էր: Դիտեք այս կոդը: Այնտեղ բավական հետաքրքիր Թեյլոր արտահայտություններ կան:
Ընդհանուր առմամբ, ես անցնում եմ բինարային որոնում, որպեսզի հայտնաբերեմ K-ի արժեքը, որը շարունակական օգտագործմամբ կատարյալ կերպով կթավարի ինքնանավը: Այդ պատճառով ես փոփոխել եմ ծրագրային ապահովումը, որպեսզի այն ընդունի միայն մեկ արժեք, իսկ հետո կիրառել այն մի քանի անգամ, մինչև ինքնանավը նստի կամ ջախջախվի: Երբ գրում եմ այս նախադ באמצעות, գիտեմ, որ պատասխանն ընկնում է 76.40625 և 76.4453125 փոխել
Այս ընթացքում, մտովի, որ սկսեցի այս ծրագրային ապահովումը աշխատեցնել эмуляторում , որը գրել եմ Lua-ում iPad-ի համար։
Լավ, եկեք մի քիչ մտածենք այս մասին:
- iPad-ը ունի , երեք միջուկով, աշխատում է 1 գիգահերցի հաճախականությամբ:
- Lua-ն գրել են C լեզվով և կոմպիլացված A8X-ի համար:
- Իմ PDP8 эмуляտորը գրել եմ Lua լեզվով, օգտագործելով пакет 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
