- James Gosling, Java'nın yaratıcısı ve 30 yıldır modern bilişimi etkileyen pratik bir dahi olarak değerlendiriliyor
- Yoksul koşullarda çöp yığınlarındaki parçalardan bilgisayar toplayarak programlamayı öğrendi ve bu öz yönelimli öğrenme yaklaşımı daha sonra dil tasarımı felsefesine de yansıdı
- Sun Microsystems'ta şaka ile inovasyonun bir arada yaşadığı dönem, Gosling'e özgü yaratıcılığın ve teknik kültür inşasının temeli oldu
- Son dönemde üretken yapay zeka araçları ve yapay zeka patlaması hakkında güçlü bir kuşkuculuk sergiledi; ayrıca programlama eğitiminin öneminin aksine daha da arttığını vurguladı
- Java'nın ayakta kalma sırrı gösteriş değil; istikrar, geriye dönük uyumluluk ve geliştirici üretkenliğini tavizsiz biçimde önceleyen pragmatik tasarım felsefesi oldu
Java at 30: The Genius Behind the Code That Changed Tech
- Java, 23 Mayıs itibarıyla 30. yılını kutlayan genel amaçlı, yüksek seviyeli, nesne yönelimli bir dil ve bugün de farklı ölçeklerdeki sistemleri çalıştıran temel teknolojilerden biri
- Java'nın var olabilmesinin temelinde James Gosling'in pratik teknik sezgisi ve yaratıcı içgörüsü yatıyor
- Gosling, çöp kutularından parça toplayıp bilgisayar kuran Kanadalı, kendi ayakları üzerinde duran bir gençten dünya çapında bir programcıya dönüştü
- “Bir kez yaz, her yerde çalıştır” felsefesi Java'nın simgesi oldu ve bu da yazılım geliştirme biçiminde köklü bir dönüşüm yaratan bir dil felsefesine dönüştü
- Gosling, kariyeri boyunca teknik mükemmeliyet, oyunculuk ruhu ve belirgin bir etik bilinci dengeleyerek modern bilişim kültürünün oluşumunu sürekli etkileyen bir geliştirici profili sergiledi
James Gosling: The Brilliant Mind Behind Java
- James Gosling yalnızca “Java'nın babası” değil, karmaşık kavramları sezgisel biçimde açıklayabilen alçakgönüllü bir dahi
- Java'yı yaratmasının üzerinden 30 yıl geçmişken, teknoloji yolculuğuna dönüp bakarak dilin ve geliştirme kültürünün evrimini yeniden değerlendiriyor
The Path To Programming: Resourceful Beginnings
- Çocukluğunda son derece yoksul bir ortamda Gosling, çöpten televizyon toplayarak teknik yaratıcılığını geliştirdiği bir deneyim yaşadı
- İlk bilgisayarını telefon şirketinin hurdaya çıkardığı röle raflarından kurdu; bu da erken yaşta ortaya çıkan mekanik sezgisini ve montaj becerisini simgeliyordu
- Calgary Üniversitesi'nin bilgisayar merkezini ziyaret ederken ekranlar, yanıp sönen ışıklar ve teyp ünitelerinden etkilenmesiyle programlamaya yönelik ömür boyu sürecek merakı başladı
- Delikli kartları karıştırarak parola bulma yöntemiyle kendi kendine öğrendi; lise yıllarında üniversitenin fizik bölümünde uydu veri analizi programı yazarak programlamadan para kazanırken keyif alma deneyimi edindi
- İlk programlama deneyimleri IBM ana bilgisayarlarındaki PL/1, Fortran, PDP-8 assembly ve CDC 6400 kodlarına uzanıyor. Kendine özgü sade üslubuyla “yazın COBOL derleyicisi geliştiren bir işte çalıştım” diye hafifçe bahsetti; oysa bu, birçok deneyimli programcının bile üstlenmekte zorlanacağı bir işti
Academia to Industry: Finding His Way
- Gosling akademiyi “lisansüstü öğrencilerini ucuz iş gücü olarak kullanan bir araştırma kurumu” diye tanımlayarak teoriden çok pratiği önemseyen doğrudan bakışını ortaya koydu
- Carnegie Mellon'daki doktora sürecinde de startup'larda çalışarak gerçek dünya deneyimi kazandı ve ardından derecesini tamamlayarak sanayi ile akademiyi bir arada götüren esnek bir kariyer yolu izledi
- İlk işi IBM Research'tü, ancak burayı “kendi ayağına sıkmaya adanmış bir şirket” diye değerlendirmesiyle şirket yönetimi ve teknoloji stratejisine dair soğukkanlı analiz tavrını korudu
- Bu erken dönem deneyimler, daha sonra Sun Microsystems'taki çalışma biçimini etkileyen gerçeklik odaklı bir organizasyon kültürü anlayışının temeli oldu
The Sun Days: Innovation and Pranks
- Gosling, Sun'daki en keyifli anıları arasında her yıl yapılan büyük 1 Nisan şakası projelerini sayıyor ve yaratıcılık ile neşenin bir arada olduğu kurum kültürünü hatırlıyor
- En bilinen şakalardan biri, gölet üzerindeki bir platforma Ferrari yerleştirmekti; bu, mühendislik odaklı problem çözme ile ekip çalışmasını kullanan mizah anlayışını gösteriyordu
- CEO ofisinde yapay çim, bunker ve su engeli bulunan tek delikli bir golf sahası kurma şakası da teknoloji ile oyunu birleştiren özgün bir girişim olarak anılıyor
- Gosling, Sun'ı “teknik mükemmellik ile yaramaz yaratıcılığın aynı anda mümkün olduğu nadir bir ortam” olarak hatırlıyor; bunun, genel problem çözme yaklaşımını ve teknolojiye bakışının temelini oluşturduğunu söylüyor
Java: Creating a Legacy That Changed Everything
- Java'nın 30 yıllık yolculuğu Gosling için en temsilî başarısı ve teknoloji yaşamındaki belirleyici dönüm noktası
- Sokakta “Java sayesinde bir kariyer sahibi oldum” diyen insanlarla karşılaştığında duyduğu geliştirici ekosisteminde bıraktığı etkiye dair derin memnuniyet vurgulanıyor
- Lambda ve generics gibi özellikleri baştan beri eklemek istemişti, ancak “yanlış şekilde eklemem” tasarım felsefesi nedeniyle doğru zamanı bekledi
- Oracle'ın Java yönetimini “beklediğimden daha iyi” diye değerlendirirken, aslında topluluğun sürekli katılımı ve katkısının kilit rol oynadığını vurguladı
- Java, bulut ortamlarına uygun şekilde evrimleşti; çok çekirdek desteği, bellek işleme ve GC iyileştirmelerinde “gerçekten olağanüstü bir seviye”ye ulaşan teknik olgunluk sergiledi
Beyond Java: Ventures After Sun
- Sun'ın Oracle tarafından satın alınmasının ardından Gosling kısa bir ara verdi, sonra Google'a katıldı; ancak 6 ay içinde ayrılıp Liquid Robotics'e geçti
- Burada otonom deniz robotları için kontrol sistemleri geliştirdi ve Hawaii'de şnorkel gerektiren çalışma ortamları gibi teknoloji ile doğayı birleştiren sıra dışı çalışma koşulları deneyimledi
- Arktik ve Antarktika'daki deniz sıcaklıklarını izleyen projelere katıldı, ancak çevre araştırmalarındaki bütçe yetersizliği nedeniyle VC tabanlı startup yapısıyla çatışma yaşadı
- Savunma alanına yönelme baskısı artınca etik nedenlerle ayrıldı; ardından AWS'de Greengrass projesi ve geliştirici araçları üzerinde çalışarak teknik ilgiyi ve etik ölçütleri birlikte gözeten bir kariyer çizgisi sürdürdü
On Open Source and Industry Trends: Cutting Through the Hype
- Açık kaynak, yalnızca bir iş birliği aracı değil; geliştirici ilişkileri, pazarlama stratejisi ve bottom-up benimseme modeli olarak işleyen çok katmanlı bir ekosistem olarak tanımlanıyor
- Low-code ve no-code trendleri konusunda, bunun COBOL döneminden beri tekrarlanan bir iddia olduğunu söyleyerek karmaşık alanlara uygulandığında sınırları olan, uzmanlaşmış bir yaklaşım şeklinde kuşkucu bir tavır aldı
- AI ve machine learning'de sorunun teknolojiden çok adlandırma olduğunu; “ileri istatistik teknikleri” ifadesinin özü daha iyi anlattığını savundu
- AI'ın yalnızca bir araç olduğunu, özerk bir varlık gibi görülmemesi gerektiğini ve insan emeğini tehdit etmekten çok onu destekleyen üst düzey bir araç olarak değerlendirilmesi gerektiğini belirtti
Developer Tools and Preferences: Embracing Progress
- Gosling, ana geliştirme aracı olarak NetBeans IDE kullanıyor ve Apache lisanslı açık kaynak ile canlı topluluklara destek veren bir tutum sergiliyor
- Hâlâ Vi veya 70'ler-80'ler araçlarına takılı kalan geliştiricilere karşı teknolojik ilerlemeyi reddeden bu tavra dair hayal kırıklığını dile getiriyor
- Vi'ı her yerde çalıştığı için ara sıra kullansa da, ciddi geliştirme ortamlarında modern IDE'lerin kullanımını güçlü biçimde savunuyor
The JVM Vision: From Academic Concept to Global Standard
- Java Virtual Machine (JVM) fikrinin ilk temeli, Gosling'in lisansüstü yıllarında düşündüğü mimariden bağımsız dağıtım formatı deneyleri ve komut çevirisi teknikleri araştırmasına dayanıyor
- Bu fikir daha sonra yalnızca Java'nın değil, birçok dilin farklı donanımlarda çalışabildiği genel amaçlı bir yürütme platformu teknolojisine dönüştü
- ‘Write once, run anywhere’ felsefesi başlangıçta doktora tezi için matematiksel temeli yetersiz bulunarak reddedilmişti; ancak sonrasında dünya yazılım geliştirme ortamını değiştiren pratik bir teknoloji haline geldi
More Recent Work: Bridging IoT Gaps at AWS
- Gosling, AWS'de IoT uygulama çerçevesi Greengrass üzerinde çalışırken karmaşık sorunları zarif biçimde sadeleştiren bir teknik yaklaşım ortaya koydu
- OTA güncellemeleri, uzaktan kontrol, telemetri, ağ güvenilirliği, güvenlik ve kimlik doğrulama yönetimi gibi alanlarda dağıtım ile operasyon arasındaki tekrarlayan boilerplate işleri soyutladı
- Cihaz tarafı kodunun açık kaynak olarak yayımlanmasıyla, RISC-V gibi Amazon'un öncelikli görmediği platformlara yönelik topluluk tabanlı port katkılarının önü açıldı
- Daha sonra katıldığı başka bir geliştirici araç projesi yapay zeka patlaması içinde iptal edildi ve bu durum teknik samimiyetten çok trend odaklı karmaşanın yarattığı sorunlara işaret etti
AI Skepticism
- Gosling, yakın tarihli bir röportajında yapay zeka devrimi için “çoğu dolandırıcılık” ifadesini kullanarak, AI'ı zehirli bir pazarlama terimi olarak gören kuşkucu yaklaşımını açıkça ortaya koydu
- Bunun matematiksel olarak etkileyici bir teknoloji olduğunu kabul etse de, AI adının aslında ileri istatistik teknikleri olan teknolojik özün üzerini örttüğünü söyledi
- Girişim sermayesinin yön verdiği yapay zeka furyasını “dolandırıcılar ve abartı tüccarlarının buluşma noktası” diye niteleyerek, gerçekten faydalı teknolojilerden çok exit odaklı kısa vadeli kâr arayışını sert biçimde eleştirdi
- Yapay zekaya akan yatırımın büyük kısmının sonunda “kara deliğe çekileceğini” söyleyerek, sürdürülebilir olmayan, moda odaklı sermaye akışına karşı uyarıda bulundu
Is It a Vibe? AI Coding Tools: Impressive Demos, Limited Utility
- Üretken yapay zeka kod araçları ilk bakışta etkileyici olsa da, iş biraz karmaşıklaştığında başarısız olan sınırlı bir yapıya sahip
- Bu araçlar yalnızca mevcut kod örneklerini kazıyıp tekrar üretebilir; gerçekten ilginç problemlerse her zaman yeni olduğu için kopyalamaya dayalı araçlarla uyuşmaz
- Uzman geliştirici ortamlarında kalıplaşmış kod zaten kütüphanelere dönüşür; bu yüzden AI'ın kod üretimi gerçek geliştirme ihtiyaçlarıyla yapısal olarak çatışır
- Gosling, AI'ın gerçek değerini “kimsenin yazmak istemediği dokümantasyonu sizin yerinize tarayan arama aracı” olarak tanımlıyor ve API kullanımını açıklayan yardımcı araç rolündeki faydasını öne çıkarıyor
Java’s Evolution: Language Features and Runtime Improvements
- Son dönemde Java dilindeki type inference ve dizi bildirimi iyileştirmeleri gibi değişiklikler, geliştirme kolaylığını artıran yararlı genişlemeler olarak değerlendiriliyor
- Ancak Gosling, Java'daki en etkileyici gelişmenin JVM çalışma ortamı ile standart kütüphanelerin kalitesindeki artış olduğunu özellikle vurguluyor
- Modern JVM, kod kalitesi, thread performansı ve garbage collection açısından “şaşırtıcı düzeyde” çalışma performansı sunuyor
- Bellek yönetimi ve performans öngörülebilirliği açısından malloc tabanlı C'den daha verimli olduğunu; ayrıca GC duraklama sürelerinin birkaç milisaniyeye kadar indirilebildiğini belirtiyor
- Bugünün JVM'i, son derece büyük bellek alanlarını bile kararlı şekilde işleyebilen yüksek performanslı bir runtime ortamı olarak değerlendiriliyor
Programming Languages for Critical Infrastructure
- FAA hava trafik kontrol sisteminin hangi dille yeniden yazılması gerektiği sorusuna Gosling, “ev yaparken hangi çekici seçeceğini sormaya benziyor” diyerek sorunun öncülünü reddediyor
- Önce iletişim sistemleri, uluslararası düzenlemeler, uçuş rotaları ve çarpışma önleme gibi problem alanının özelliklerinin net anlaşılması, ardından teknolojinin seçilmesi gerektiğini vurguluyor
- Yine de güvenilirliğin kritik olduğu büyük ölçekli sistemlerde Java'nın güçlü bir aday olabileceğini ekliyor
The Future of Programming in an AI World
- AI gelişse bile programlamanın hâlâ temel bir beceri olacağını söyleyen Gosling, çocuğu olsaydı mutlaka kodlama öğretirdi
- AI'ın insan geliştiricilerin yerini alacağı yönündeki büyük teknoloji şirketi yöneticilerinin iddialarını, emek yoğunluğunu artırmaya dönük savunmacı bir gözdağı olarak eleştiriyor
- Sistemleri gerçekten anlayabilmek için programlama yetkinliğinin gerekli olduğunu ve makineler bazı işleri devralsa bile insanların teknik anlayış temelini koruması gerektiğini savunuyor
Java’s Longevity Secret
- Gosling'e göre Java'nın 30 yılı aşkın süredir ayakta kalmasının nedeni gerçek problem çözme gücü, kullanıcıya saygı, geriye dönük uyumluluk, üretkenlik artışı ve güvenilirlik merkezli bir felsefe
- Dil modalarını değil, tutarlı pragmatizmi öne çıkardı; bu stilden çok sonuca odaklanan gerçekçi tasarım anlayışı özellikle kurumsal dünyada etkili oldu
- Yazılımın “her zaman doğru çalışması gerektiği” anlayışıyla Java, dürüst ve pratik bir mühendislik aracı olarak varlığını sürdürüyor
Oracle’s Stewardship: Better Than Expected
- Gosling, Sun Microsystems satın alımından sonra Oracle'ın Java yönetimi için “beklediğimden çok daha iyi iş çıkardı” diyerek beklentileri aşan performans karşısında şaşkınlığını ifade etti
- İlk başta geçmişteki yaklaşımı nedeniyle bir “yağma ve talan” beklediğini, ancak gerçekte Java ekibini engellemek yerine koruduklarını söyleyerek bağımsız ve teknoloji odaklı yönetime olumlu not verdi
- Finansal desteğin yetersiz olduğunu eleştirse de, kurumsal müdahale olmadan teknik ekibin özerkliğinin korunduğu yapıya yüksek puan verdi
Crab Lovers Unite!
- Gosling, birlikte yemek yemek isteyeceği insanlarla çalışmak istediğini söyleyerek insan odaklı bir iş birliği ölçütünü önemsediğini gösteriyor
- Muhabir, San Francisco'daki yengeç restoranı Thanh Long'da tesadüfen Gosling'le karşılaştı ve teknoloji dünyasının önemli bir isminin gündelik hayatın içinde belirdiği anı kaydetti
- Ardından ikili birlikte yengeç yiyip sohbet etti; bir sonraki buluşmayı da aynı yerde yapma sözü vererek teknolojinin ötesine geçen insani sıcaklığı aktardı
13 yorum
Ben de statik tipli diller arasında kullanımı en rahat olan dilin Java olduğunu düşünüyorum.
Ancak genel amaçlı, pratik geliştirme açısından GUI’si olan son kullanıcı odaklı uygulamaları Java ile yazmak pek iyi bir tercih değildi. (Bu açıdan bakınca C# + .NET kombinasyonu en iyisi.)
Java’nın avantajları düşünüldüğünde, backend ya da middleware tarafında kullanmanın pratik açıdan en iyi kullanım senaryosu olduğunu düşünüyorum.
Her neyse, ara sıra kullanmam gereken durumlar oluyor ve her kullandığımda zorlanmadan ele alabileceğim bir dil olduğu için bende daha çok iyi deneyim bırakmış gibi görünüyor.
Hurdalıktan televizyon söküp programlama yaptığı hikâyesi, sanki bir efsanenin başlangıcı gibi duruyor.
Java'dan sonra dillerin üretkenliğe odaklanmaya başladığı doğru.
Ondan önce sıkça kullanılan C++ ise bugün bile sadece okuması bile korkunç. Özellikle de uzun süredir devam eden projelere dokunurken.
Java'nın geliştirici üretkenliğine önem verdiği sözüne katılmak zor. Java kadar IDE'ye derinden bağımlı hale gelecek şekilde gelişmiş başka bir dil var mı?
Sanırım düşünmeden bir yorum yazmışım.
IDE'ye derinden bağımlı olmak, alışılmadık biçimde gelişmiş Java ekosisteminin sorunudur.
Tasarım seviyesinde bir sorun değildir.
Açık konuşmak gerekirse, bugün Java geliştirirken ille de JetBrains ürünleri kullanmak zorunda değilsiniz
ama herkesin onları kullanması gibi.
Ayrıca Java'nın çıktığı dönemdeki programlama dili listesine bakarsanız, platforma bağımlı, yani OS'e bağımlı implementasyonları çok olan dillerdi.
Buna karşılık Java, Node, Python ve C# gibi aynı kodla farklı OS'lerde çalışabilen dillerin yöneldiği istikameti gösteren şeydi.
Günümüzde ise aynı kodun farklı OS'lerde çalışabilen uyumluluğu zaten doğal bir "sağduyu" haline geldi.
> Kaba tabirle, bugün Java geliştirirken illa JetBrains ürünlerini kullanmak zorunda değilsiniz ama
Bu kısma... biraz katılmakta zorlanıyorum, hıçkırık...
Artık biraz sıradanlaşıp kanıksanmış olsa da,
Java ortaya çıktığında çoklu platformu yeni bir build gerekmeden kararlı biçimde desteklemesi bile üretkenlik açısından epey büyük bir avantaj değil miydi?
Java öncesindeki dillerle karşılaştırınca üretkenliğinin iyi olduğu söylenebilir.
c++ > c# >= java
C# >= Java > C++
Hacker News görüşleri
java.util.concurrentya da JCTools özleniyor.strace,gdbgibi araçlarla debug etmenin zor olduğu, aşırı bellek tahsisi yüzünden kernel'in workload'u anlamakta zorlandığı söyleniyor. JVM kullanırken uzman desteği yoksa ciddi sorun yaşama riskinin yüksek hissedildiği; ayrıca Oracle, lisanslar, JDK sürüm yönetimi, 2025 itibarıyla “havalı” görünmemesi ve legacy kodun ayak bağı olması da olumsuz yanlar arasında sayılıyor. Kişisel olarak Java'dan mümkün olduğunca kaçınarak kariyer inşa edildiği, bugünlerde ise statik derlenen, küçük binary'ler üreten yüksek performanslı diller arttıkça JVM ya da Python VM gibi çözümlerin rolünün giderek azaldığı düşünülüyor.jstack, HPROF gibi çok sayıda teşhis aracına da dikkat çekiliyor. Lisanslama tarafında açık kaynak kullanımla ilgili kısıt olmadığı, Oracle JVM satın almanın tamamen isteğe bağlı olduğu belirtiliyor. Legacy kod sorunundan tam olarak ne kastedildiği de sorgulanıyor.strace/gdbyerine JDK araçları ve IDE'lerin ezici derecede daha güçlü olduğu savunuluyor.strace/gdbihtiyacı duyulmadığı, debugging ve IDE desteğinin çok güçlü olduğu, performans açısından Python ile JVM'i aynı kefeye koymanın doğru olmadığı belirtiliyor.Arada bir yere C# tayfası da gizlenmiş.