Փոլ Գրեհեմը Java-ի և «hacker» ծրագրավորման լեզուների մասին (2001)

Փոլ Գրեհեմը Java-ի և «hacker» ծրագրավորման լեզուների մասին (2001)

Այս շարադրանքն առաջացել է Java-ի դեմ կողմնակալության թեմայի շուրջ իմ ունեցած զրույցներից մի քանի մշակողների հետ: Սա Java-ի քննադատություն չէ, այլ «հաքերային ռադարի» վառ օրինակ։

Ժամանակի ընթացքում հաքերները զարգացնում են քիթը լավ կամ վատ տեխնոլոգիաների համար: Ես մտածեցի, որ կարող է հետաքրքիր լինել փորձել ուրվագծել այն պատճառները, թե ինչու եմ Java-ն կասկածելի համարում:

Ոմանք, ովքեր կարդացել են այն, համարել են այն որպես ուշագրավ փորձ՝ գրել մի բանի մասին, որի մասին նախկինում երբեք չի գրվել։ Մյուսները զգուշացնում էին, որ ես գրում եմ այնպիսի բաների մասին, որոնց մասին ոչինչ չգիտեմ։ Այսպիսով, ամեն դեպքում, ես կցանկանայի հստակեցնել, որ ես գրում եմ ոչ թե Java-ի (որի հետ երբեք չեմ աշխատել), այլ «հաքերային ռադարի» մասին (որի մասին շատ եմ մտածել):

«Մի դատեք գիրքն իր կազմով» արտահայտությունը ծագել է այն ժամանակներից, երբ գրքերը վաճառվում էին դատարկ ստվարաթղթե շապիկներով, որոնք գնորդը կապում էր իր ցանկությամբ: Այդ օրերին գիրքը շապիկով չէիր կարող տարբերել: Այդ ժամանակից ի վեր, սակայն, հրատարակչական ոլորտը մեծ առաջընթաց է ապրել, և ժամանակակից հրատարակիչները մեծ ջանքեր են գործադրում՝ ապահովելու, որ շապիկը շատ բան ասի:

Ես շատ ժամանակ եմ անցկացրել գրախանութներում, և կարծում եմ, որ սովորել եմ հասկանալ այն ամենը, ինչ ուզում են ինձ ասել հրատարակիչները, և, հավանաբար, ավելին: Գրախանութներից դուրս անցկացրած ժամանակի մեծ մասն անցկացվում էր համակարգչի էկրանների առջև, և, ենթադրում եմ, սովորեցի որոշ չափով դատել տեխնոլոգիան իր շապիկներով: Հնարավոր է, որ դա կույր բախտ է, բայց ես կարողացել եմ խուսափել մի քանի տեխնոլոգիաներից, որոնք իսկապես վատ են ստացվել:

Այդ տեխնոլոգիաներից մեկն ինձ համար Java-ն էր։ Ես Java-ում ոչ մի ծրագիր չեմ գրել, և միայն ուսումնասիրել եմ փաստաթղթերը, բայց ես զգում եմ, որ դա վիճակված չէ դառնալ շատ հաջողակ լեզու: Ես կարող եմ սխալվել. տեխնոլոգիաների մասին կանխատեսումներ անելը վտանգավոր բիզնես է: Եվ այնուամենայնիվ, դարաշրջանի մի տեսակ վկայություն, ահա թե ինչու ես չեմ սիրում Java-ն.

  1. Ավելորդ ոգևորություն. Այս չափանիշները պարտադրելու կարիք չունեն։ Ոչ ոք չի փորձել խթանել C, Unix կամ HTML: Ճշմարիտ չափանիշները սահմանվում են շատ ավելի վաղ, քան նրանց մասին լսելը: Հաքերների ռադարի վրա Perl-ը Java-ից ոչ պակաս տեսք ունի՝ բացառապես իր արժանիքների պատճառով:
  2. Java-ն բարձր նպատակ չունի: Java-ի սկզբնական նկարագրության մեջ Գոսլինգը բացահայտորեն նշում է, որ Java-ն նախագծվել է այնպես, որ հեշտ լինի C-ին սովոր ծրագրավորողների համար: Այն նախագծված էր որպես մեկ այլ C++:C՝ ավելի առաջադեմ լեզուներից փոխառված մի քանի գաղափարներով: Ինչպես սիթքոմների, արագ սննդի կամ ճամփորդական շրջագայությունների ստեղծողները, Java-ի ստեղծողները գիտակցաբար արտադրանք են նախագծել իրենց պես խելացի մարդկանց համար: Պատմականորեն այլ մարդկանց օգտագործման համար նախատեսված լեզուները ձախողվել են՝ Cobol, PL/1, Pascal, Ada, C++: Այնուամենայնիվ, հաջողակները նրանք էին, որոնք ստեղծողները մշակեցին իրենց համար՝ C, Perl, Smalltalk, Lisp։
  3. Թաքնված շարժառիթներ. Ինչ-որ մեկը մի անգամ ասաց, որ աշխարհն ավելի լավը կլիներ, եթե մարդիկ գրքեր գրեին միայն այն ժամանակ, երբ ինչ-որ բան ունենային ասելու, փոխանակ գրելու, երբ ցանկանում էին գիրք գրել: Նմանապես, պատճառը, որ մենք շարունակում ենք լսել Java-ի մասին, այն չէ, որ նրանք փորձում են մեզ ինչ-որ բան ասել ծրագրավորման լեզուների մասին: Մենք լսում ենք Java-ի մասին՝ որպես Microsoft-ի դեմ պայքարելու Sun-ի ծրագրի մի մաս:
  4. Ոչ ոք նրան չի սիրում: C, Perl, Python, Smalltalk կամ Lisp ծրագրավորողները սիրահարված են իրենց լեզուներին: Ես երբեք չեմ լսել, որ որևէ մեկը հայտարարի իր սերը Java-ի նկատմամբ:
  5. Մարդիկ ստիպված են օգտվել դրանից։ Ինձ ծանոթ շատ մարդիկ, ովքեր օգտագործում են Java-ն, դա անում են անհրաժեշտությունից դրդված: Նրանք կարծում են, որ դա իրենց ֆինանսավորում կստանա, կամ կարծում են, որ դա կդիմի հաճախորդներին, կամ դա ղեկավարության որոշում է: Սրանք խելացի մարդիկ են. եթե տեխնոլոգիան լավը լիներ, նրանք կամավոր կօգտագործեին այն:
  6. Սա շատ խոհարարների ուտեստ է։ Լավագույն ծրագրավորման լեզուները մշակվել են փոքր թիմերի կողմից։ Java-ն առաջնորդվում է կոմիտեի կողմից: Եթե ​​պարզվի, որ այն հաջողակ լեզու է, ապա պատմության մեջ առաջին անգամն է, որ հանձնաժողովը ստեղծում է նման լեզու։
  7. Նա բյուրոկրատ է: Այնքան քիչ բան, որ ես գիտեմ Java-ի մասին, թվում է, թե կան բազմաթիվ արձանագրություններ ցանկացած բան անելու համար: Իսկապես լավ լեզուներն այդպիսին չեն։ Նրանք քեզ թույլ են տալիս անել այն, ինչ ուզում ես ու չեն կանգնեցնում քո ճանապարհին։
  8. Արհեստական ​​հիպ. Այժմ Sun-ը փորձում է ձևացնել, որ Java-ն հիմնված է համայնքի վրա, որ դա բաց կոդով նախագիծ է, ինչպիսին Perl-ն է կամ Python-ը: Եվ այնուամենայնիվ, զարգացումը վերահսկվում է հսկայական ընկերության կողմից: Այսպիսով, լեզուն ռիսկի է դիմում դառնալ նույն ձանձրալի խայտառակությունը, ինչ այն ամենը, ինչ դուրս է գալիս խոշոր ընկերության աղիքներից:
  9. Այն ստեղծված է խոշոր կազմակերպությունների համար։ Խոշոր ընկերությունները տարբեր նպատակներ ունեն հաքերների հետ: Ընկերություններին պետք են լեզուներ, որոնք համբավ ունեն միջակ ծրագրավորողների մեծ թիմերի համար: Լեզուներ այնպիսի բնութագրիչներով, ինչպիսիք են U-Haul բեռնատարների արագությունը սահմանափակող սարքերը, որոնք զգուշացնում են հիմարներին չափազանց մեծ վնաս չպատճառելու մասին: Հաքերները չեն սիրում լեզուներ, որոնք խոսում են իրենց հետ: Հաքերներին իշխանություն է պետք. Պատմականորեն խոշոր կազմակերպությունների համար ստեղծված լեզուները (PL/1, Ada) պարտվել են, մինչդեռ հաքերների կողմից ստեղծված լեզուները (C, Perl) հաղթել են։ Պատճառը՝ այսօրվա անչափահաս հաքերը վաղվա CTO-ն է:
  10. Սխալ մարդիկ սիրում են նրան: Ծրագրավորողները, որոնցով ես ամենաշատն եմ հիանում, հիմնականում խելագարված չեն Java-ի համար: Ո՞վ է սիրում նրան: Կոստյումներ, նրանք, ովքեր չեն տեսնում լեզուների տարբերությունը, բայց անընդհատ մամուլում լսում են Java-ի մասին; ծրագրավորողներ խոշոր ընկերություններում, որոնք տարված են ավելի լավ բան գտնելով, քան նույնիսկ C++-ը; ամենակեր նախադպրոցականներ, ովքեր կսիրեն այն ամենը, ինչը նրանց աշխատանք կբերի (կամ կհայտնվի քննության մեջ): Այս մարդկանց կարծիքները փոխվում են քամու ուղղության հետ։
  11. Նրա ծնողը դժվարությամբ է ապրում. Sun-ի բիզնես մոդելը ենթարկվում է հարձակման երկու ճակատով. Էժան Intel պրոցեսորները, որոնք օգտագործվում են սեղանադիր համակարգիչներում, բավական արագ են դարձել սերվերների համար: Եվ FreeBSD-ն, կարծես, դառնում է այնքան լավ սերվերային ՕՀ, որքան Solaris-ը: Sun-ի գովազդը ենթադրում է, որ արտադրական մակարդակի հավելվածների համար ձեզ պետք են Sun սերվերներ: Եթե ​​դա ճիշտ լիներ, Yahoo-ն առաջինը կլիներ Sun-ը գնելու համար: Բայց երբ ես այնտեղ աշխատեցի, նրանք օգտագործում էին Intel և FreeBSD սերվերներ: Սա լավ կանխատեսում է Sun-ի ապագայի համար: Եվ եթե Sun-ը իջնի, Java-ն նույնպես կարող է խնդիրներ ունենալ:
  12. Պաշտպանության նախարարության սերը. Պաշտպանության նախարարությունը խրախուսում է մշակողներին օգտագործել Java-ն: Եվ սա կարծես ամենավատ նշանն է: Պաշտպանության նախարարությունը հիանալի (եթե թանկ) աշխատանք է կատարում երկիրը պաշտպանելու համար, նրանք սիրում են ծրագրեր, ընթացակարգեր և արձանագրություններ: Նրանց մշակույթը լիովին հակասում է հաքերային մշակույթին. երբ խոսքը վերաբերում է ծրագրային ապահովմանը, նրանք հակված են սխալ խաղադրույքներ կատարել: Ծրագրավորման վերջին լեզուն, որին Պաշտպանության նախարարությունը սիրահարվել է Ada-ին:

Խնդրում ենք նկատի ունենալ, որ սա Java-ի քննադատություն չէ, այլ դրա ծածկույթի քննադատություն: Ես այնքան լավ չգիտեմ Java-ն, որ ինձ դուր գա կամ չհավանեմ այն: Ես պարզապես փորձում եմ բացատրել, թե ինչու ինձ չի հետաքրքրում Java սովորելը:

Կարող է հապճեպ թվալ լեզուն հեռացնելն առանց նույնիսկ դրանով ծրագրավորելու փորձի: Բայց սա այն է, ինչի հետ պետք է զբաղվեն բոլոր ծրագրավորողները: Չափազանց շատ տեխնոլոգիաներ կան՝ դրանք բոլորն ուսումնասիրելու համար: Դուք պետք է սովորեք դատել արտաքին նշաններով, արդյոք արժե ձեր ժամանակը: Նույնքան հապճեպ ես մերժեցի Cobol-ը, Ada-ն, Visual Basic-ը, IBM AS400-ը, VRML-ը, ISO 9000-ը, SET Protocol-ը, VMS-ը, Novell Netware-ը և CORBA-ն, ի թիվս այլոց: Նրանք ուղղակի ինձ չեն դիմել:

Միգուցե ես սխալվում եմ Java-ի դեպքում: Հավանաբար, լեզուն, որը մի մեծ ընկերության կողմից խրախուսվում է մյուսի հետ մրցակցելու համար, որը մշակվել է հանձնաժողովի կողմից զանգվածների համար, մեծ աղմուկով և սիրված պաշտպանության նախարարության կողմից, այնուամենայնիվ, պարզվի, որ կոկիկ, գեղեցիկ և հզոր լեզու է, որը ես հաճույքով կծրագրավորեմ: . Միգուցե. Բայց դա շատ կասկածելի է։

Շնորհակալություն թարգմանության համար՝ Դենիս Միտրոպոլսկի

PS

Source: www.habr.com

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