Paul Graham, Java ve "hacker" programlama dilleri üzerine (2001)

Paul Graham, Java ve "hacker" programlama dilleri üzerine (2001)

Bu makale, birkaç geliştiriciyle Java önyargısı hakkında yaptığım konuşmalardan doğdu. Bu Java'ya yönelik bir eleştiri değil, daha ziyade "hacker radarı"nın açık bir örneğidir.

Zamanla, bilgisayar korsanları iyi ya da kötü teknolojiyi ayırt edecek bir burun geliştirirler. Java'yı şüpheli bulmamın nedenlerini özetlemeye çalışmanın ilginç olabileceğini düşündüm.

Bunu okuyanlardan bazıları bunu daha önce hiç yazılmamış bir şey hakkında yazmaya yönelik kayda değer bir girişim olarak değerlendirdi. Diğerleri hakkında hiçbir şey bilmediğim şeyler hakkında yazdığım konusunda uyardılar. Her ihtimale karşı, (hiç çalışmadığım) Java hakkında değil, (üzerinde çok düşündüğüm) “hacker radarı” hakkında yazdığımı açıklığa kavuşturmak isterim.

“Kitabı kapağına göre yargılamayın” deyimi, kitapların alıcının beğenisine göre ciltlediği boş karton kapaklarda satıldığı bir dönemden kalmadır. O günlerde bir kitabı kapağına bakarak anlayamazdınız. Ancak o zamandan bu yana yayıncılık sektörü büyük ilerleme kaydetti ve modern yayıncılar kapağın çok şey ifade etmesi için büyük çaba harcıyor.

Kitapçılarda çok zaman geçirdim ve yayıncıların bana söylemek istediği her şeyi ve muhtemelen daha fazlasını anlamayı öğrendiğimi düşünüyorum. Kitapçılar dışında geçirdiğim zamanın çoğu bilgisayar ekranlarının önünde geçiyordu ve sanırım teknolojiyi kapaklarına göre yargılamayı bir dereceye kadar öğrendim. Kör şans olabilir ama gerçekten kötü olduğu ortaya çıkan birkaç teknolojiden kaçınmayı başardım.

Bu teknolojilerden birinin benim için Java olduğu ortaya çıktı. Java'da tek bir program yazmadım ve yalnızca belgelere göz attım, ancak bunun çok başarılı bir dil olmayacağına dair bir his var içimde. Yanılıyor olabilirim; teknoloji hakkında tahminlerde bulunmak tehlikeli bir iştir. Yine de bu çağın bir kanıtı olarak Java'yı bu yüzden sevmiyorum:

  1. Aşırı coşku. Bu standartların uygulanmasına gerek yoktur. Kimse C, Unix veya HTML'yi tanıtmaya çalışmadı. Gerçek standartlar çoğu insanın duymasından çok önce belirlenir. Bir bilgisayar korsanının radarında Perl, yalnızca yararları nedeniyle Java'dan daha az görünmüyor.
  2. Java yüksekleri hedeflemez. Java'nın orijinal tanımında Gosling, Java'nın C'ye alışkın programcılar için kolay olacak şekilde tasarlandığını açıkça belirtir. Daha gelişmiş dillerden alınan birkaç fikir içeren başka bir C++:C olacak şekilde tasarlandı. Sitcom'ların, fast food'ların veya seyahat turlarının yaratıcıları gibi Java'nın yaratıcıları da bilinçli olarak kendileri kadar akıllı olmayan insanlar için bir ürün tasarladılar. Geçmişte başkalarının kullanması için tasarlanan diller başarısız oldu: Cobol, PL/1, Pascal, Ada, C++. Ancak başarılı olanlar yaratıcıların kendileri için geliştirdikleriydi: C, Perl, Smalltalk, Lisp.
  3. Gizli motifler. Bir zamanlar biri, insanların canları kitap yazmak istediğinde yazmak yerine, yalnızca söyleyecek bir şeyleri olduğunda kitap yazmaları halinde dünyanın daha iyi bir yer olacağını söylemişti. Aynı şekilde Java'yı duymamızın nedeni de bize programlama dilleri hakkında bir şeyler anlatmaya çalışmaları değil. Java'nın Sun'ın Microsoft'a karşı çıkma planının bir parçası olduğunu duyuyoruz.
  4. Kimse onu sevmiyor. C, Perl, Python, Smalltalk veya Lisp programcıları kendi dillerine aşıktır. Hiç kimsenin Java'ya olan sevgisini ilan ettiğini duymadım.
  5. İnsanlar bunu kullanmak zorunda kalıyor. Java kullanan tanıdığım pek çok kişi bunu zorunluluktan yapıyor. Bunun kendilerine fon sağlayacağını düşünüyorlar, müşterilerin ilgisini çekeceğini düşünüyorlar ya da bunun bir yönetim kararı olduğunu düşünüyorlar. Bunlar akıllı insanlar; teknoloji iyi olsaydı gönüllü olarak kullanırlardı.
  6. Bu birçok şefin yemeğidir. En iyi programlama dilleri küçük ekipler tarafından geliştirildi. Java komite tarafından yönetilir. Başarılı bir dil olduğu ortaya çıkarsa tarihte ilk kez bir komite böyle bir dil yaratmış olacak.
  7. Bürokrattır. Java hakkında bildiklerime göre, herhangi bir şeyi yapmak için pek çok protokol var gibi görünüyor. Gerçekten iyi diller öyle değil. İstediğinizi yapmanıza izin veriyorlar ve yolunuza çıkmıyorlar.
  8. Yapay heyecan. Sun şimdi Java'nın topluluk odaklı olduğunu, Perl veya Python gibi açık kaynaklı bir proje olduğunu iddia etmeye çalışıyor. Ancak yine de geliştirme büyük bir şirket tarafından kontrol ediliyor. Dolayısıyla dil, büyük bir şirketin bağırsaklarından çıkan her şeyle aynı sıkıcı sefalete dönüşme riskiyle karşı karşıyadır.
  9. Büyük organizasyonlar için yaratılmıştır. Büyük şirketlerin bilgisayar korsanlarına karşı farklı hedefleri vardır. Şirketlerin, vasat programcılardan oluşan büyük ekiplere uygun olduğu bilinen dillere ihtiyacı var. U-Haul kamyonlarındaki hız sınırlayıcılar gibi özelliklere sahip diller, aptalları çok fazla hasara karşı uyarıyor. Bilgisayar korsanları kendilerini küçümseyen dilleri sevmezler. Bilgisayar korsanlarının güce ihtiyacı var. Tarihsel olarak büyük kuruluşlar için oluşturulan diller (PL/1, Ada) kaybederken, bilgisayar korsanları tarafından oluşturulan diller (C, Perl) kazandı. Sebep: Bugünün genç hacker'ı yarının CTO'su olacaktır.
  10. Yanlış insanlar onu seviyor. En çok hayran olduğum programcılar genellikle Java konusunda deli değiller. Onu kim seviyor? Diller arasındaki farkı görmeyen ama basında sürekli Java'yı duyanlar Suits; büyük şirketlerdeki C++'dan bile daha iyi bir şey bulma konusunda takıntılı programcılar; Kendilerine iş sağlayacak (veya sınava girecek) her şeyi sevecek, her şeyi yiyen, mezuniyet öncesi öğrenciler. Bu kişilerin görüşleri rüzgarın yönüne göre değişir.
  11. Anne ve babası zor anlar yaşıyor. Sun'ın iş modeli iki cepheden saldırı altında. Masaüstü bilgisayarlarda kullanılan ucuz Intel işlemciler sunucular için yeterince hızlı hale geldi. Ve FreeBSD, Solaris kadar iyi bir sunucu işletim sistemi haline geliyor gibi görünüyor. Sun'ın reklamları, üretim düzeyindeki uygulamalar için Sun sunucularına ihtiyacınız olacağını ima ediyor. Eğer bu doğru olsaydı, Sun'ı satın almak için ilk sırada Yahoo olurdu. Ama ben orada çalıştığımda Intel ve FreeBSD sunucularını kullanıyorlardı. Bu Sun'ın geleceği açısından iyiye işaret. Güneş batarsa ​​Java'nın da başı dertte olabilir.
  12. Savunma Bakanlığı'nın sevgisi. Savunma Bakanlığı geliştiricileri Java kullanmaya teşvik ediyor. Ve bu en kötü işaret gibi görünüyor. Savunma Bakanlığı ülkeyi koruma konusunda (pahalı da olsa) mükemmel bir iş çıkarıyor; planları, prosedürleri ve protokolleri seviyorlar. Kültürleri hacker kültürüne tamamen zıt; Yazılım söz konusu olduğunda yanlış bahisler yapma eğilimindedirler. Savunma Bakanlığı'nın aşık olduğu son programlama dili Ada'ydı.

Lütfen bunun Java'ya yönelik bir eleştiri değil, kapağına yönelik bir eleştiri olduğunu unutmayın. Java'yı sevecek veya sevmeyecek kadar iyi bilmiyorum. Sadece neden Java öğrenmekle ilgilenmediğimi açıklamaya çalışıyorum.

Bir dili programlamaya çalışmadan bile göz ardı etmek aceleci görünebilir. Ancak bu, tüm programcıların uğraşması gereken şeydir. Hepsini keşfedemeyecek kadar çok teknoloji var. Zaman ayırmaya değip değmeyeceğini dış işaretlere göre yargılamayı öğrenmelisiniz. Aynı hızla diğerlerinin yanı sıra Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protokolü, VMS, Novell Netware ve CORBA'yı da attım. Bana pek çekici gelmediler.

Belki de Java konusunda yanılıyorum. Belki de büyük bir şirket tarafından diğeriyle rekabet etmek için desteklenen, komite tarafından kitleler için geliştirilen, çok fazla ilgi uyandıran ve Savunma Bakanlığı tarafından sevilen bir dil yine de temiz, güzel ve güçlü bir dil olarak ortaya çıkacak ve bundan memnuniyetle bahsedeceğim. programda. Belki. Ama çok şüphelidir.

Çeviri için teşekkürler: Denis Mitropolsky

PS

Kaynak: habr.com

Yorum ekle