Լեզվի շերտեր

Հե՜յ Հաբր։

Ձեր ուշադրությանն եմ ներկայացնում հոդվածի թարգմանությունը «Լեզվի շերտեր» Ռոբերտ Ս. Մարտինի (Քեռի Բոբ):

Լեզվի շերտեր
Ես իմ ժամանակն անցկացնում եմ 1969 թվականի «Լուսնային վայրէջք» կոչվող հին խաղ խաղալով: Այն գրել է ավագ դպրոցի աշակերտ Ջիմ Սթորերը։ Նա գրել է այն PDP-8-ի վրա FOCAL-ում: Ահա թե ինչ տեսք ունի ծրագիրը.

Լեզվի շերտեր

Եվ ահա FOCAL-ի սկզբնական կոդը.

Լեզվի շերտեր

Ջիմ Սթորերը բավականին տաղանդավոր ավագ դպրոցի աշակերտ էր։ Նայեք այս կոդը: Նա այնտեղ բավականին հետաքրքիր Թեյլորի արտահայտություններ ունի:

Հիմնականում ես երկուական որոնում եմ անում՝ K-ի արժեքը որոշելու համար, որը հետևողականորեն օգտագործելու դեպքում նավը կատարյալ վայրէջք կկատարի: Այսպիսով, ես փոփոխեցի ծրագիրն այնպես, որ այն ընդունի միայն մեկ արժեք, այնուհետև կիրառի այն մի քանի անգամ, մինչև նավը վայրէջք կատարի կամ վթարի ենթարկվի: Երբ ես գրում եմ սա, ես գիտեմ, որ պատասխանը գտնվում է 76.40625-ի և 76.4453125-ի միջև, և ես կփորձեմ 76.4257813: Ես սկսում եմ մտածել, որ պատասխանը գտնելուց առաջ ժամանակս կսպառվի:

Միևնույն ժամանակ մտքովս անցավ, որ ես այս ծրագիրը գործարկեցի էմուլյատորով PDP-8- ը, ով գրել է Lua-ում iPad-ի համար:

Այսպիսով, լավ, եկեք մտածենք այս մասին:

  • iPad-ն ունի չիպ A8X, երեք միջուկներով, որոնք աշխատում են գիգահերցով կամ ավելի:
  • Lua-ն գրված է C-ով և հավաքվում է A8X-ով:
  • Իմ PDP8 էմուլյատորը գրված է Lua-ով, օգտագործելով փաթեթը ԿՈԴԵԱ Երկու կյանք է մնացել բաժնից:
  • FOCAL-ը գրվել է 1960-ականների վերջին PDP8-ի վրա:
  • Lunar Lander-ը գրվել է FOCAL-ով:

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

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

##Ինչու՞ կան այդքան շատ լեզուներ։

Մտածիր այդ մասին! Քանի՞ ծրագրավորման լեզու կարող եք նշել: Ահա, թույլ տվեք ձեզ մի փոքր ցուցակ տալ.

  • ՖՈՐՏՐԱՆ
  • ԱԼԳՈԼ
  • ԿՈԲՈԼ
  • ՍՆՈԲՈԼ
  • LISP
  • BCPL
  • B
  • C
  • ՍԻՄՈՒԼԱ
  • ԿԱՐՃ ԽՈՍԱԿՑՈՒԹՅՈՒՆ
  • ԷՅՖԵԼ
  • C ++
  • JAVA
  • C#
  • ՊԻԹՈՆ
  • ՌՈՒԲԻ
  • LOGO
  • ՀԳՄ
  • ՀԻՄՆԱԿԱՆ
  • PL/1
  • AԱՎԱՍԿՐԻՊՏ
  • GO
  • DART
  • LՐԱԳԻՐ
  • ԻՇԽԱՆՈՒԹՅՈՒՆ
  • SWIFT
  • ML
  • OCCAM
  • OCAML
  • ADA
  • ԷՐԼԱՆԳ
  • ԷԼԻՔՍԻՐ
  • ԿԵՆՏՐՈՆԱԿԱՆ

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

Մենք նրանց չենք սիրում։

Դե, գուցե դա չափազանց ուժեղ հայտարարություն է: Երևի ասեմ.

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

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

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

Իսկ ի՞նչ կանեինք իդեալական լեզվի հետ, եթե գտնեինք այն:

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

Ես այդպես եմ մտածում։

Զբաղվել դրա հետ. Դադարեցրեք որոնումը: Կատարյալ լեզու չկա։ Մենք նայեցինք ամենուր. Մենք նայեցինք վերևից և ներքևից: Մենք նայեցինք ներս ու դուրս:

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

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

Այո, այսօր անսովոր օր է։

Բայց, այնուամենայնիվ, բանն այն է.

Մեզ այլ լեզու պետք չէ։
Մենք կարիք չունենք իմանալու տան ճանապարհը:
Այն ամենը, ինչ մենք ուզում ենք, կյանքից այն կողմ անցնելն է:
SQL

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

Այսպիսով, ահա մեկ միտք. Միգուցե մենք պետք է դադարենք ստեղծել նոր լեզուներ և պարզապես հանգստանալ և ընտրել մեկ կամ երկու, որոնք իսկապես լավն են: Սա շատ կհեշտացնի կյանքը, այնպես չէ՞:

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

Source: www.habr.com

Добавить комментарий