2 puan yazan GN⁺ 2024-01-04 | 2 yorum | WhatsApp'ta paylaş

2 yorum

 
bus710 2024-01-06

Kent Beck de Profesör Niklaus Wirth hakkında bir anı yazısı bırakmış.
https://tidyfirst.substack.com/p/niklaus-wirth-1934-2024

Profesör Joe Armstrong'un da Profesör Niklaus Wirth'ten etkilenmiş olması, onun gerçekten ne kadar büyük bir insan olduğunu gösteriyor.

 
GN⁺ 2024-01-04
Hacker News yorumları
  • Dil tasarımına yaptığı katkıların yanı sıra, Niklaus Wirth en iyi kelime oyunlarından birini de miras bıraktı
    Soyadı aslında “Virt” gibi telaffuz ediliyor, ama Amerika'da herkes ona “Worth” diyordu; o da bu yüzden “Avrupa'da ismimle, Amerika'da değerimle çağrılıyorum” diye şaka yapıyordu

  • Sayısız başarısının ötesinde Wirth, Joe Armstrong için de bir kahramandı ve Armstrong tarzı sadeliği derinden etkiledi
    Joe, Wirth'in “üst üste binen pencereler döşemeli pencerelerden daha iyi olabilir, ama uygulama karmaşıklığının bedelini haklı çıkaracak kadar daha iyi değildir” sözünü sık sık alıntılardı
    ETH'deki 80. yaş sempozyumunda rastgele bir FPGA geliştirme kartı ve USB çevre birimleri üzerinde çalışan kendi yaptığı CPU'ya Oberon'u yeniden port edip göstermesi de etkileyiciydi; ben de bir gün öyle bir 80 yaşında olmak isterim

    • “O kadar da iyi değil” tavrıyla Wirth efsaneydi
      Derleyici optimizasyonuna bakışı da benzerdi; optimizasyon geçişleri yalnızca derleyicinin kendi kendini derleme süresini iyileştiriyorsa eklenmeli diye düşünüyordu
      Oberon da bilinçli olarak yalnızca işbirlikçi çoklu görev destekliyordu
    • ETH 80. yaş günü sempozyumunda Oberon'u kendi yaptığı CPU ve FPGA kartı üzerine port edip gösterdiği sunum harikaydı
      https://www.youtube.com/watch?v=EXY78gPMvl0
    • Kızına göre 80 yaşını epey geçtikten sonra bile evde bir şeyler inşa etmeye ve denemeye devam etmiş
    • Buna “Wirthwhile ambition” denebilecek bir hedef
      Önce “worthwhile” yazmıştım ama kelime oyunu ekrandan dışarı fırlayacak gibiydi
      Wirth'in dillerinin yanı sıra algoritmalar + veri yapıları = programlar, adım adım iyileştirme gibi işlerini de seviyorum
      Pascal, birçok kişide olduğu gibi benim de ilk dillerimden biriydi; bugün de Delphi ve Free Pascal biçiminde seviyorum
      Huzur içinde yat, guruji
      guru yerine guruji diye düzeltmemin sebebi, Hintçede ji'nin saygı eki olması; gerçi guru kelimesinin kendisi de zaten saygı içeriyor
  • Ben onun eski öğrencilerinden biriyim
    Klavyeye vurup bir şeyleri çalıştırabilen bir gençten, kod yazmadan önce düşünen yetkin bir programcıya dönüşmemi sağlayan kişilerden biriydi
    Üniversitede onunla tanışmadan önce bile Amiga tarafında Wirth dillerini kullanan çok programcı olduğu için Oberon ile programlama yapıyordum; onu çok özleyeceğim

    • Ben de onun öğrencisiydim; daha sonra başka bir enstitüde yüksek lisans öğrencisiyken özel olarak birkaç kez görüştüm
      Lisans öğrencileri hepimiz ona hayrandık, ama lisans derslerinden özellikle keyif alıyor gibi görünmüyordu
      Yine de diğer profesörlerin aksine bu sorumluluğu asistanlara yıkmaya çalışmazdı ve yüksek lisans öğrencileriyle iyi ilişkileri var gibiydi
      Derleyici yapımı dersinde daha ilgili görünüyordu; sanırım çünkü öğrencilerin zaten biraz daha deneyimi vardı ve o sırada Oberon tasarımını yinelemeli olarak geliştiriyordu
      Sözlü sınavda Pascal'daki dangling ELSE problemini çözmemi istemişti; ben de belirsizliği gidermek için dilin gramerini daha ayrıntılı hale getireceğimi söylemiştim
      Bunun muhtemelen işe yarayacağını ama gereğinden fazla karmaşık olduğunu söyledi ve bu fikri nereden aldığımı sordu; ben de sonunda bunu kendi ders kitabıyla neredeyse rekabet eden “Dragon Book”ta gördüğümü itiraf ettim
      Ancak daha sonra onun beklediği cevabın, Modula-2 ve Oberon'da olduğu gibi dili değiştirip açık bir END zorunlu kılmak olduğunu anladım
      Özel hayatta sohbet etmesi eğlenceli biriydi ve bilgisayarlarla ilgili olağanüstü zengin anıları vardı
      Kamu önünde biraz dogmatik görünebilirdi ama özel sohbetlerde “sapkınlıklara” çok daha hoşgörülüydü
      Bir keresinde konu Perl'e geldiğinde iyi şeyler söylemesini beklemiyordum, ama şaşırtıcı biçimde örüntü eşleme/metin işleme dili olarak geçerli bir nişi olduğunu düşündü ve bu çizgide daha eski bir dil olarak SNOBOL'dan söz etti
    • Hangi diller olduklarını merak ediyorum
      Üzerinde Workbench 2.1 yüklü bir Amiga 500'ü yeni restore ettim; onun anısını yaşatmak istiyorum
    • Amiga, Modula-2 kullanıcılarının oldukça fazla olduğu platformlardan biriydi; hatta PC'den daha fazlaydı
      Çünkü PC tarafı Turbo Pascal'a alışmıştı
  • begin
    Gerçekten çok üzücü bir haber
    Twitter’dan daha iyi bir kaynak olup olmadığını merak ediyorum
    Düzenleme: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
    Wirth, sadelik, doğruluk ve insanların anlayabileceği yazılım için geriye kalan en büyük havarilerden biriydi; şimdi yalnızca Hoare ve Moore kaldı ve Moore da GreenArrays’deki fiili kontrolü genç nesle devretmiş gibi görünüyor
    Gençler onun çalışmalarının yalnızca akademik değil, pratikte de ne ifade ettiğini bilmiyor olabilir; bu yüzden birkaç not bırakıyorum
    Bugün bildiğimiz entegre geliştirme ortamı Turbo Pascal’da doğdu, erken dönem Macintosh yazılımlarının çoğu Pascal ile yazıldı ve MacPaint de bunlardan biriydi
    Go’nun üç özgün tasarımcısından biri olan Robert Griesemer, Wirth’ün öğrencisiydi ve Oberon uzantıları üzerine doktora yaptı; ayrıca Wirth’ün dilleri Newsqueak tasarımına da çok belirgin biçimde ilham verdi
    TeX de Pascal ile yazıldı
    end;
    end.

    • Basit, doğru ve güzel yazılımlar hâlâ yapılıyor; Wirth son kişi değildi
      Ama çoğu dikkat çekmiyor ve ilgi uyandıran karmaşık, kırılgan dev yazılımların gürültüsü arasında o sessiz şarkı bastırılıyor
      O şarkı hiç kaybolmadı, sadece doğru frekansa ayarlanmak gerekiyor
    • Hâlâ daha iyi bir kaynak yok gibi görünüyor, ama bu hesap Eiffel dilinin yaratıcısı Bertrand Meyer’in gerçek hesabı
    • Scala’nın yaratıcısı ve Wirth’ün öğrencisi Martin Odersky de bunu doğru kabul ediyor gibi görünüyor
      https://twitter.com/odersky/status/1742618391553171866
    • 1994’te ilk kez okuduğum, Wirth’ün öğrencisi Michael Franz’ın doktora tezini hâlâ çok severim
      Kendisi şu anda UC Irvine’da profesör ve daha sonra TraceMonkey’e dönüşecek izleme ağaçlarıyla ilgili Andreas Gal makalesine de danışmanlık yaptı
    • Sadelik, doğruluk ve insanların anlayabileceği yazılımın havarileri kategorisinde Alan Kay de hâlâ aramızda
  • Niklaus Wirth, Dijkstra’nın makalesinin başlığını Goto Statement Considered Harmful olarak değiştiren kişiydi
    https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6

    • Dijkstra’nın EWD1308’de bununla ilgili bizzat yazdığı bir bölüm var
      1968’de Communications of the ACM onun yazısını “The goto statement considered harmful” başlığıyla yayımladı; sonrasında bu yazı ne yazık ki çoğu zaman yalnızca başlığı gören yazarlar tarafından anıldı ve hem ününün temel taşlarından biri hem de “X considered harmful” başlık kalıbının prototipi oldu
      Aslında makaleyi “A case against the goto statement” başlığıyla göndermişti, ancak yayımlanmayı hızlandırmak için editör bunu “editöre mektup” biçimine çevirdi ve kendi düşüncesiyle yeni başlığı verdi; o editör de Niklaus Wirth idi
      [1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1...
      PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
  • Profesör Wirth, çocukken bana büyük ilham veren biriydi
    O zamanlar Pascal hakkındaki kitabının ne kadar zarif ve sade olduğunu tam olarak anlayamamıştım ama büyük bir hevesle okudum; Oberon dili ile Lilith iş istasyonunun geliştirilmesini de ilgiyle takip ettim
    13 yaşındayken yakınımızdaki bir yerde, sanırım Johns Hopkins’te, bir konuşma yapmıştı ve babam beni götürmüştü
    Gerçekten harika bir deneyimdi ve bağlantı verilen fotoğrafta[1] da görüldüğü gibi çok nazik ve teşvik ediciydi
    [1]: https://mastodon.online/@raph/111693863925852135

  • Üzücü bir gün.
    O, bilişimin devlerinden biriydi ve gördüğünden çok daha fazla ilgiyi hak ediyordu.
    Dilleri yazılım geliştirmede daha yaygın kullanılsaydı pek çok şey daha iyi durumda olurdu.
    C64/128 üzerinde Basic ile biraz oynadıktan sonra öğrendiğim ilk “gerçek” programlama dili Pascal olmuştu.
    Okuldaki Apple II üzerinde UCSD Pascal ve IBM PC üzerinde Turbo Pascal 3.0 ile öğrendim; o PC de hâlâ AT gibi gelişmiş bir model değil, içinde amber CRT bulunan taşınabilir bir PC idi.
    Amiga 500 aldığımda Amiga’da Modula-2 çok popülerdi ve M2Amiga sistemi gerçekten en sağlam geliştirme ortamıydı.
    Modula-2, yapısal ve sağlam programlar yazmayı kolaylaştırıyordu; modül kavramı da zamanının ötesindeydi.
    Bunun karşısında C dünyası daha sonra uzun süre header dosyalarını yeniden derlemeyi sürdürdü.
    Bugün Go, Modula-2’den çok şey almış durumda; bu yüzden Go’ya hemen ısındım.
    Robert Griesemer’in Wirth’ün öğrencisi olması da tesadüf değil.
    90’larda da, MS-DOS kullanımdayken, PC tarafında Turbo Pascal herkesin temel diliydi.
    Güçlüydü ama tam zamanlı yazılım geliştiricisi olmayan insanlar için de erişilebilirdi; ayrıca Modula-2’nin birçok uzantısını benimsedi ve nesne sistemi de iyiydi.
    6 ve 7 sürümlerinde zirveye ulaştı; tamamen metin tabanlı arayüzünün ezici hızı nedeniyle bugün bile en sevdiğim geliştirme ortamı olabilir.
    Turbo Pascal, iyi bir geliştirme ortamını güç ve sadelik arasında mükemmel bir denge kuran bir dille birleştiriyordu.
    Ne yazık ki onun geç dönem çalışması Oberon’u ancak belirsiz biçimde biliyordum.
    386 üzerinde Oberon sistemini native olarak çalıştırıp biraz kurcalamıştım; PC’nin DOS çağında olduğu o dönemdeki verimliliği ve tam GUI’si son derece etkileyiciydi.
    Daha fazla ilgi görmemiş olması üzücü.
    80’lerin sonunda çok geç olmadan ivme kazanabilseydi çok başarılı olabilirdi, ama 90’ların başında Windows ortaya çıktı.
    Püriten bir bakış açısından zirve, onun gerçekten bir full-stack geliştirici unvanını hak ettiği andı.
    Çünkü sadece Oberon’u ve işletim sistemini tasarlamakla kalmadı, onu çalıştıracak CPU’yu da tasarladı.
    Son derece etkileyiciydi ve eğitsel değeri de çok yüksekti.
    END.

  • Wirth, Euler, PL360, ALGOL W, Pascal, Modula, Modula-2, Oberon, Oberon-2 ve Oberon-07’nin baş tasarımcısıydı.
    Lilith iş istasyonu için Medos-2’nin, Ceres iş istasyonu için Oberon işletim sisteminin ve Lola dijital donanım tasarım/simülasyon sisteminin tasarım ve uygulanmasına da kilit düzeyde katkı verdi.
    1984’te bu dillerin geliştirilmesi nedeniyle ACM Turing Award aldı.

    • Wirth, Modula’ya Pascal 2 deme pazarlama sezgisine sahip olsaydı bugün teknoloji dünyasının nasıl farklı olacağını hâlâ merak ediyorum.
    • Lola’yı oldukça seviyorum.
      Verilog’un C’den, VHDL’nin Ada’dan esinlenmesine karşılık, Pascal/Oberon etkisi taşıyan ve öğrenmesi kolay bir donanım diliydi.
      Wirth’ün tüm yazılım stack’i de hoşuma gidiyor.
      Lola ile gerçekleştirilen RISC-5, RISC-V ile karıştırılmamalı; onun üzerinde de Oberon dili ve Oberon ortamı var.
      Doğru hatırlıyorsam Lola, Verilog üretebiliyordu; fikir de öğrencilerin bir FPGA kartıyla başlayıp kendi CPU’larını, derleyicilerini ve işletim sistemlerini yapabilmelerini sağlamaktı.
      Onun nükteli sözlerini de seviyorum.
      Sanırım şöyle bir şey demişti: “Ben programcı bir profesör ve profesör bir programcıyım.”
      Böyle programcı/profesörlerden daha fazla lazım ve sistem tarafındaki insanlar için açık bir ilham kaynağı.
    • Apple ile Object Pascal’ın ilk tasarımında da işbirliği yaptı; öğrencileri de Component Pascal, Active Oberon, Zonnon gibi Oberon’dan türeyen çeşitli araştırma projeleri yürüttü.
    • Üniversitedeki ilk iki programlama dönemimde Pascal ve MODULA-2 öğrendim.
      MODULA-2 kısa süre sonra ortadan kayboldu ama Pascal hâlâ giriş seviyesi programlama derslerinde kullanılıyor.
      Programlamayla ilk tanışmamı sağlayan diller bunlar olduğu için buna çok memnunum ve Wirth kalbimde çok özel bir yere sahip.
      Tasarımları gerçekten zamanının ötesindeydi.
    • Basic’ten sonra öğrendiğim ikinci dil Pascal’dı.
      Modula’yı da hep öğrenmek istemiştim ama onun yerine Delphi öğrendim.
  • İlk şirketimi Delphi tabanlı olarak kurdum ve Delphi de Turbo Pascal tabanlıydı.
    Wirth büyük bir ilham kaynağıydı ve onun ölümü kesinlikle küçük bir kayıp değil.
    Umarım çalışmaları gelecek nesiller boyunca yeni programcılara ilham vermeye devam eder.
    Sözlerinden biri şöyle: “Avrupalılar genelde adımı doğru biçimde ‘Ni-klows Wirt’ diye telaffuz eder, ama Amerikalılar istisnasız bunu ‘Nick-les Worth’ diye mahveder. Yani Avrupalılar bana ismimle seslenir, Amerikalılar ise değerimle.”

    • Evet.
      Gerçek zamanlı sistem izlemesi için bir dile modülerlik kazandırma konusunda lisans tezi yazdım ve özellikle MODULA-2 başta olmak üzere onun çalışmalarından büyük ilham aldım.
    • Wirth bu alıntıyı sahiplenmiş olabilir ama aslında bu, bir konferansta onu tanıtan birinin yaptığı nükteli bir yorumdan çıkmıştı.
      https://news.ycombinator.com/item?id=38858993
  • Bilişim tarihi için hüzünlü bir gün; birçok insana sistem programlamaya daha iyi bir yaklaşım gösteren büyük bir dil tasarımcısını kaybettik.

    • Üzücü ama birçok insanın ancak hayalini kurabileceği kadar uzun ve dolu bir yaşam sürdü.
      O yaşamın şerefine kadeh kaldırmak isterim; umarım bir yerlerde kodlama Valhallasındadır.
    • Ben o kadar üzgün değilim.
      Ölüm hayatın bir parçası.
      Asıl daha üzücü olan, hayatın Alzheimer, demans ya da sadece yavaşlayıp güçten düşme şeklinde çökmesi; ya da çok erken bitmesi veya boşa harcanmasıdır.
      Neredeyse 90 yaşına gelmişti; uzun, etkili ve dolu dolu bir yaşam sürdü.
      Böyle bir yaşam kutlanmayı hak eder.