Paul Graham ar ieithoedd rhaglennu Java a "haciwr" (2001)

Paul Graham ar ieithoedd rhaglennu Java a "haciwr" (2001)

Tyfodd y traethawd hwn o sgyrsiau a gefais gyda sawl datblygwr am y pwnc o ragfarn yn erbyn Java. Nid beirniadaeth o Java yw hyn, ond yn hytrach enghraifft glir o’r “hacker radar”.

Dros amser, mae hacwyr yn datblygu trwyn ar gyfer technoleg dda - neu ddrwg. Roeddwn i'n meddwl efallai y byddai'n ddiddorol ceisio amlinellu'r rhesymau pam mae Java yn amheus i mi.

Yr oedd rhai a'i darllenai yn ei ystyried yn ymgais nodedig i ysgrifenu am rywbeth nas ysgrifenwyd am dano erioed o'r blaen. Rhybuddiodd eraill fy mod yn ysgrifennu am bethau nad oeddwn yn gwybod dim amdanynt. Felly rhag ofn, hoffwn egluro nad wyf yn ysgrifennu am Java (nad wyf erioed wedi gweithio ag ef), ond am “hacker radar” (yr wyf wedi meddwl llawer amdano).

Mae'r ymadrodd “peidiwch â barnu llyfr yn ôl ei glawr” yn tarddu o amser pan werthwyd llyfrau mewn cloriau cardbord gwag yr oedd y prynwr yn rhwym wrth ei fodd. Yn y dyddiau hynny, ni allech ddweud wrth lyfr wrth ei glawr. Ers hynny, fodd bynnag, mae'r diwydiant cyhoeddi wedi datblygu'n fawr, ac mae cyhoeddwyr modern yn mynd i drafferth fawr i sicrhau bod y clawr yn dweud llawer.

Rwyf wedi treulio llawer o amser mewn siopau llyfrau, ac rwy'n meddwl fy mod wedi dysgu deall popeth y mae'r cyhoeddwyr am ei ddweud wrthyf, a mwy na thebyg. Treuliais y rhan fwyaf o'r amser a dreuliais y tu allan i siopau llyfrau o flaen sgriniau cyfrifiaduron, ac mae'n debyg imi ddysgu, i ryw raddau, i farnu technoleg yn ôl ei chloriau. Efallai mai lwc ddall ydyw, ond rydw i wedi llwyddo i osgoi ychydig o dechnolegau a drodd allan i fod yn ddrwg iawn.

Trodd un o'r technolegau hyn yn Java i mi. Dydw i ddim wedi ysgrifennu un rhaglen yn Java, a dim ond sgimio'r ddogfennaeth ydw i, ond mae gen i deimlad nad yw'n mynd i fod yn iaith lwyddiannus iawn. Gallwn i fod yn anghywir—mae gwneud rhagfynegiadau am dechnoleg yn fusnes peryglus. Ac eto, yn fath o destament i'r cyfnod, dyma pam nad wyf yn hoffi Java:

  1. Brwdfrydedd gormodol. Nid oes angen gosod y safonau hyn. Ni cheisiodd neb hyrwyddo C, Unix na HTML. Gosodir safonau cywir ymhell cyn i'r rhan fwyaf o bobl hyd yn oed glywed amdanynt. Ar radar haciwr, nid yw Perl yn edrych yn llai na Java oherwydd ei rinweddau yn unig.
  2. Nid yw Java yn anelu'n uchel. Yn y disgrifiad gwreiddiol o Java, mae Gosling yn nodi'n benodol bod Java wedi'i gynllunio i fod yn hawdd i raglenwyr sy'n gyfarwydd â C. Fe'i cynlluniwyd i fod yn C++:C arall gydag ychydig o syniadau wedi'u benthyca o ieithoedd mwy datblygedig. Fel crewyr comedi sefyllfa, bwyd cyflym, neu deithiau teithio, dyluniodd crewyr Java gynnyrch yn ymwybodol ar gyfer pobl nad oeddent mor smart â nhw eu hunain. Yn hanesyddol, mae ieithoedd a gynlluniwyd i bobl eraill eu defnyddio wedi methu: Cobol, PL/1, Pascal, Ada, C++. Y rhai llwyddiannus, fodd bynnag, oedd y rhai a ddatblygodd y crewyr drostynt eu hunain: C, Perl, Smalltalk, Lisp.
  3. Cymhellion cudd. Dywedodd rhywun unwaith y byddai'r byd yn lle gwell pe bai pobl ond yn ysgrifennu llyfrau pan oedd ganddynt rywbeth i'w ddweud, yn lle ysgrifennu pan oeddent yn teimlo fel ysgrifennu llyfr. Yn yr un modd, nid y rheswm pam rydyn ni'n dal i glywed am Java yw oherwydd eu bod yn ceisio dweud rhywbeth wrthym am ieithoedd rhaglennu. Clywn am Java fel rhan o gynllun Sun i dderbyn Microsoft.
  4. Nid oes neb yn ei charu. Mae rhaglenwyr C, Perl, Python, Smalltalk neu Lisp mewn cariad â'u hieithoedd. Nid wyf erioed wedi clywed unrhyw un yn datgan eu cariad at Java.
  5. Mae pobl yn cael eu gorfodi i'w ddefnyddio. Mae llawer o bobl rwy'n eu hadnabod sy'n defnyddio Java yn gwneud hynny o reidrwydd. Maen nhw'n meddwl y bydd yn cael cyllid iddyn nhw, neu maen nhw'n meddwl y bydd yn apelio at gwsmeriaid, neu mae'n benderfyniad rheoli. Mae'r rhain yn bobl smart; pe bai'r dechnoleg yn dda, byddent yn ei defnyddio'n wirfoddol.
  6. Mae hwn yn bryd llawer o gogyddion. Datblygwyd yr ieithoedd rhaglennu gorau gan dimau bach. Mae Java yn cael ei yrru gan bwyllgor. Os yw'n troi allan i fod yn iaith lwyddiannus, dyma fydd y tro cyntaf mewn hanes i bwyllgor greu iaith o'r fath.
  7. Mae hi'n fiwrocrataidd. O'r ychydig yr wyf yn ei wybod am Java, mae'n ymddangos bod yna lawer o brotocolau ar gyfer gwneud unrhyw beth. Nid felly mae ieithoedd da iawn. Maen nhw'n gadael i chi wneud beth bynnag a fynnoch a pheidiwch â sefyll yn eich ffordd.
  8. Hype artiffisial. Nawr mae Sun yn ceisio esgus bod Java yn cael ei yrru gan y gymuned, ei fod yn brosiect ffynhonnell agored fel Perl neu Python. Ac eto, mae datblygiad yn cael ei reoli gan gwmni enfawr. Felly mae'r iaith mewn perygl o droi allan i fod yr un squalor diflas â phopeth sy'n dod allan o ymysgaroedd cwmni mawr.
  9. Mae'n cael ei greu ar gyfer sefydliadau mawr. Mae gan gwmnïau mawr nodau gwahanol gyda hacwyr. Mae angen ieithoedd ar gwmnïau sydd ag enw am fod yn addas ar gyfer timau mawr o raglenwyr cyffredin. Ieithoedd gyda nodweddion fel y cyfyngwyr cyflymder ar dryciau U-Haul, yn rhybuddio ffyliaid rhag achosi gormod o ddifrod. Nid yw hacwyr yn hoffi ieithoedd sy'n siarad lawr â nhw. Mae angen pŵer ar hacwyr. Yn hanesyddol, mae ieithoedd a grëwyd ar gyfer sefydliadau mawr (PL/1, Ada) wedi colli, tra bod ieithoedd a grëwyd gan hacwyr (C, Perl) wedi ennill. Rheswm: Mae haciwr ifanc heddiw yn CTO yfory.
  10. Y bobl anghywir fel hi. Yn gyffredinol nid yw'r rhaglenwyr rwy'n eu hedmygu fwyaf yn wallgof am Java. Pwy sy'n ei hoffi hi? Siwtiau, y rhai nad ydynt yn gweld y gwahaniaeth rhwng ieithoedd, ond yn gyson yn clywed am Java yn y wasg; rhaglenwyr mewn cwmnïau mawr, ag obsesiwn â dod o hyd i rywbeth gwell na hyd yn oed C++; myfyrwyr cyn-raddedig hollysol a fydd wrth eu bodd ag unrhyw beth a fydd yn cael swydd iddynt (neu yn y pen draw mewn arholiad). Mae barn y bobl hyn yn newid gyda chyfeiriad y gwynt.
  11. Mae ei rhiant yn cael amser caled. Mae model busnes Sun dan ymosodiad ar ddau ffrynt. Mae proseswyr Intel rhad a ddefnyddir mewn cyfrifiaduron bwrdd gwaith wedi dod yn ddigon cyflym i weinyddion. Ac mae'n ymddangos bod FreeBSD yn dod yn OS gweinydd cystal â Solaris. Mae hysbysebu Sun yn awgrymu y bydd angen gweinyddwyr Sun arnoch ar gyfer cymwysiadau gradd cynhyrchu. Pe bai hyn yn wir, Yahoo fyddai'r cyntaf i brynu Sun. Ond pan oeddwn i'n gweithio yno, fe wnaethon nhw ddefnyddio gweinyddwyr Intel a FreeBSD. Mae hyn yn argoeli'n dda ar gyfer dyfodol Sun. Ac os bydd Haul yn mynd i lawr, efallai y bydd Java hefyd mewn trafferth.
  12. Cariad at y Weinyddiaeth Amddiffyn. Mae'r Adran Amddiffyn yn annog datblygwyr i ddefnyddio Java. Ac mae hyn yn edrych fel yr arwydd gwaethaf oll. Mae'r Adran Amddiffyn yn gwneud gwaith ardderchog (os yn ddrud) o amddiffyn y wlad, maen nhw wrth eu bodd â chynlluniau, gweithdrefnau a phrotocolau. Mae eu diwylliant yn gwbl groes i ddiwylliant hacwyr; o ran meddalwedd, maent yn tueddu i wneud y betiau anghywir. Yr iaith raglennu olaf y syrthiodd yr Adran Amddiffyn mewn cariad â hi oedd Ada.

Sylwch, nid beirniadaeth o Java yw hon, ond beirniadaeth o'i glawr. Dydw i ddim yn gwybod Java yn ddigon da i mi ei hoffi neu ddim yn ei hoffi. Rwy'n ceisio esbonio pam nad oes gennyf ddiddordeb mewn dysgu Java.

Gall ymddangos yn frysiog i ddiystyru iaith heb hyd yn oed geisio rhaglennu ynddi. Ond dyma beth mae'n rhaid i bob rhaglennydd ddelio ag ef. Mae gormod o dechnolegau i'w harchwilio i gyd. Mae'n rhaid i chi ddysgu barnu trwy arwyddion allanol a fydd yn werth eich amser. Gyda brys cyfartal, fe wnes i daflu Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware, a CORBA - ymhlith eraill. Doedden nhw jyst ddim yn apelio ataf.

Efallai fy mod yn anghywir yn achos Java. Efallai y bydd iaith a hyrwyddir gan un cwmni mawr i gystadlu ag un arall, a ddatblygwyd gan bwyllgor i’r llu, gyda llawer o hype, ac sy’n cael ei charu gan yr Adran Amddiffyn serch hynny yn troi allan yn iaith daclus, hardd a phwerus y byddaf yn hapus rhaglen i mewn. Efallai. Ond mae'n amheus iawn.

Diolch am y cyfieithiad: Denis Mitropolsky

PS

Ffynhonnell: hab.com

Ychwanegu sylw