Turbo Pascal’ın 40. yılı
(blog.marcocantu.com)- Borland’ın 1983 Kasım’ında tanıttığı Turbo Pascal, 2023 Kasım itibarıyla resmen 40 yaşına girdi
- Turbo Pascal, Borland’ın çıkış noktası olan ürün ve sektörde yaygın biçimde kullanılan ilk entegre geliştirme ortamı (IDE) olarak değerlendiriliyor
- O dönemde geliştirme deneyimi ve ürün olgunluğu açısından güçlü bir etki bıraktı ve büyük bir ticari başarıya dönüştü
- Embarcadero, devam niteliğindeki derleyici ailesini geliştirmeyi sürdürüyor ve Delphi 12 Athens’in Win32 komut satırı derleyicisi 36.0 sürümünü kullanıyor
- Mevcut sürüm numaralandırma sistemi ilk Turbo Pascal’a kadar uzandığı için, bu 40. yıl dönümü Delphi ailesinin tarihiyle de doğrudan bağlantılı
1983 Kasım’ında başlayan Turbo Pascal
- Turbo Pascal, Borland’ın 1983 Kasım’ında piyasaya sürdüğü bir üründü
- 2023 Kasım itibarıyla resmen 40 yıl oldu
Borland ve IDE tarihindeki yeri
- Turbo Pascal, sektörün kilometre taşı ürünlerinden biri olarak görülüyor
- Borland şirketini başlatan üründü
- Yaygın olarak bilinen ilk IDE olarak anılıyor
- Döneminin ölçütlerine göre çok üstün bir üründü ve başarısının ölçeği de çok büyüktü
Daha fazla okuma ve Pascal bağlamı
- Turbo Pascal hakkında daha fazlası için David I’nin yakın tarihli blog yazısı ve Wikipedia incelenebilir
- Pascal ile ilgili kaynaklar olarak Pascal’ın 50 yılına dair blog yazısı ve Salamanca’daki ilk Pascal World Congress sunumu da birlikte sunuluyor
Embarcadero ile süren ardıl derleyiciler
- Embarcadero, Turbo Pascal’ın ardıl derleyici ailesini geliştirmeyi sürdürüyor
- Yakın zamanda bu derleyicinin 36. sürümünü yayınladı
- Delphi 12 Athens’in komut satırı derleyicisinde
Embarcadero Delphi for Win32 compiler version 36.0sürüm ifadesi yer alıyor - Bu 36 numaralı sürüm, ilk Turbo Pascal’a kadar uzanan bir numaralandırma sistemi
40. yıl dönümü Easter Egg’i
- Embarcadero, bu 40. yılı anmak için ürün içindeki Easter Egg’i Turbo Pascal yıl dönümüne adadı
- Mesaj, “Happy 40th birthday, Turbo Pascal!” ifadesiyle sona eriyor
1 yorum
Hacker News yorumları
Sevdiğim bilgisayar oyunlarından biri, Turbo Pascal ile yazılmış ZZT idi. Epic Megagames’ten Tim Sweeney’nin yaptığı tuhaf bir metin modu oyunuydu; bulmacalar ve nişancı öğeleri karışıktı, ücretsiz shareware sürümünde bile bir oyun düzenleyici vardı ve ZZT-OOP adlı küçük bir programlama dili de içeriyordu.
ZZT’nin özgün kaynak kodu kaybolmuştu, ama birkaç yıl sonra Adrian Siekierka özgün Pascal kodunu inatla tersine mühendislikle yeniden oluşturdu; öyle ki özgün Turbo Pascal sürümüyle derlendiğinde bayt bayt aynı çalıştırılabilir dosya ortaya çıkıyordu. Şaşırtıcı bir iş.
https://blog.asie.pl/2020/08/reconstructing-zzt/
https://news.ycombinator.com/item?id=22609474
https://benhoyt.com/writings/zzt-in-go/
Beni programlamaya başlatan Turbo Pascal oldu. Borland Pascal 7.0, sonra da Delphi 1.0 ve 2.0 lisanslarına yüzlerce Alman Markı harcadığımı hatırlıyorum; sonunda para karşılığında sattığım ilk “ticari” yazılımı da yapmış oldum.
DOS döneminde Basic dışında programlamaya girmenin herhalde en kolay yolu Turbo Pascal’dı; Windows 3.1/95’te ise Delphi, GUI programlamanın bu kadar kolay olabileceğini gösteren, insanın gözünü açan bir araçtı.
Birçok açıdan, o zamana göre geriye gitmişiz gibi bile geliyor. Turbo Pascal / Delphi derleyicileri eksiksiz GUI programlarını küçük ikili dosyalar olarak üretiyordu; bugün benzer performanstaki yazılımların nasıl birkaç büyüklük mertebesi daha büyük hale geldiğini merak ediyorum.
Neden bir yazım hatasıysa, düzeltip yeniden derlemek ve çalıştırmak 1 saniye sürerdi. Günümüz araçlarının çoğu, geliştiriciden gereksiz ek hareketler isteyen farklı bir felsefeye sahip.
İstisna SAP; nedense 90’lar kullanıcı arayüzlerinin kullanıcı düşmanlığını modern programların kaynak tüketimiyle birleştirmeyi başarmış gibi. BASIC’ten sonra kullandığım dil de Turbo Pascal’dı.
TP’de en akılda kalan şey, her fonksiyon için basit ve anlaşılması kolay kod örnekleri olması ve bunların mantıklı biçimde düzenlendiği için bulup kullanmanın kolay olmasıydı. Bu yüzden BASIC’i bile zar zor anlayan bir ergen olmama rağmen, internet olmadan yalnızca IDE ile Turbo Pascal’ı kendi kendime öğrenebildim.
Günümüzdeki sistemlerin çoğunda buna yaklaşan bir şey bile yok. Bunun o dönemin basit x86 DOS tabanlı sistemlerinin doğasından mı kaynaklandığını, yoksa modern dünyanın hızlı değişim temposu, çapraz platform gereksinimleri ve karmaşıklığı yüzünden böyle bir şey yapmanın imkânsız hale mi geldiğini merak ediyorum.
O dönem eksiksiz çevrimdışı belgelere sahip yaratıcı kodlama çatısının Processing olduğunu da eklemek isterim. Örneğin OpenFrameworks bugün bile çoğunlukla otomatik üretilmiş, boş bir kabuk belgeye yakın.
Bence bu, Processing’in eğitim ortamlarında alternatiflerine karşı üstünlük kazanmasını sağlayan etkenlerden biriydi. p5.js’in bu geleneği tam olarak sürdürmemesi, belgeleri okumak için çevrimiçi olmayı gerektirmesi ve statik bir web sitesi yerine açıldığında metnin JavaScript ile render edildiği bir yapıya dönüşmesi epey üzücüydü. Yine de örnekler dâhil belgenin kendisi eksiksiz.
https://processing.org/
https://p5js.org/
Üniversitede internetle tanışmamdan birkaç yıl öncesiydi, bu yüzden öğrenme materyallerine kolay erişmenin bir yolu yoktu. Ondan önce birkaç kez C öğrenmeye çalışmıştım ama pek iyi gitmemişti; TP’yi öğrendikten sonra Pascal’da öğrendiklerimi C’ye aktarabildim ve o sırada da bir başka harika Borland ürünü olan C++ Builder’dan yardım aldım.
80’lerin sonunda 6809E assembly, yapısal BASIC türevleri ve batch/shell’den sonra öğrendiğim ilk “gerçek” programlama dili Turbo Pascal’dı. 90’ların başında bilgisayar bilimi bölümüne girdiğimde de birinci sınıf dersleri Borland Pascal ile öğretiliyordu, bu yüzden o deneyim epey işe yaradı.
Birkaç yıl sonra Pascal geçmişim sayesinde Delphi ile özel uygulamalar geliştirdiğim yaklaşık 5 yıllık bir işe girdim; ardından Borland’da Kylix ve C++Builder IDE’lerini test etme işine uzandı. Güzel zamanlardı.
Delphi’yi hâlâ özlüyorum. Günümüzde IDE eklentisi olmaması ölümcül bir kusur sayılacak kadar doğal karşılanıyor ama o zamanlar kendi diliyle kolayca genişletilebilen bir bileşen kütüphanesi ve kodlama ortamı fikri saf sihir gibiydi. VCL ile ve IDE’nin kendisiyle uğraşmak gerçekten çok eğlenceliydi.
Borland’ın kurumsal pazarı kovalayıp tabandaki geliştiricileri geride bırakması ve topluluk benimsemesinin büyümesini fiilen öldürmesi üzücü. En azından Delphi 7 civarına kadar gerçekten harika bir paketti.
TP ile ilk karşılaşmam 1993 kışında, 14 yaşındayken bir warez BBS’ten korsan kopya indirdiğim zamandı. Sadece .BAS dosyası çalıştırmaktan farklı olarak kendi EXE’mi derlediğimde hissettiğim ilkel güç sarhoş ediciydi.
Renegade BBS’i modifiye etmeye ve door programları yazmaya başladım; başarısız olsam da solucanlar, Truva atları ve virüsler yapmaya da çalıştım. Bu deneyim hayatımı değiştirdi ve bugün teknoloji alanında olmamı sağlayan yolu açtı. Üstelik ergenlikteki yoldan çıkmış eğilimlerimi de artık düzelttim. Borland’a çok şey borçluyum.
Birkaç yıl sonra, 16 yaşındayken babamın müşteri yönetimi için küçük bir uygulama geliştirdim ve gerçekten para aldım; o paranın bir kısmıyla yasal bir TP6 sürümü satın aldım. Güzel zamanlardı.
Free Pascal’da hâlâ özgün TP IDE’ye benzeyen bir mod var. Ancak kendilerinin de kabul ettiği gibi kod çürümeye yüz tutmuş durumda ve hâlâ özgün MS-DOS platformunun eski tuhaflıklarına büyük ölçüde bağımlı.
neovim veya emacs gibi terminalde genel amaçlı düzenleyici olarak kullanılabilen, aynı zamanda LSP, tree-sitter ayrıştırıcısı, debug adapter protocol gibi modern IDE odaklı özelliklerle entegre olan benzer bir sürümün olmaması üzücü. SSH/terminal bağlantısıyla uzaktaki kodu düzenlerken oyunu değiştirebilirdi.
Turbo Pascal’ın rakip ürünlerden ne kadar hızlı olduğunu abartmak zor. O kadar hızlıydı ki sanki bir hile yapıyor olmalı diye düşündürüyordu; ürettiği programlar da daha hızlıydı.
O dönem için bir başyapıttı ve aldığı övgüleri fazlasıyla hak ediyordu.
Böylece olgun bir derleyicinin 1.0 sürüm derleyiciden daha iyi olduğunu öğrenmiş oldum.
Birkaç yıl önce Windows PC’de, 512 MB RAM ile FPC’nin 2.0 serisi bir sürümünü derlediğimi hatırlıyorum; 5 dakika bile sürmemişti.
https://www.tmssoftware.com/site/blogold.asp?post=759
Çocukken nazik bir bilgisayar dükkânı sahibi bana MS-DOS 1.25 çalıştıran yarı PC uyumlu bir makineyi iyi bir anlaşmayla satmıştı. Karşılığı aşağı yukarı yüz kez çim biçmek ve çocuk bakıcılığı yapmaktı.
O dükkân sahibi, normal MS-DOS için olan Turbo Pascal’ı, yani PC BIOS varsaymayan sürümü 8 inç disketle satıyordu ve benim yarı uyumlu makinemin kullandığı 160 KB’lık 5.25 inç biçime aktarmıştı. Umarım o zaman da şimdi hissettiğim kadar minnettar olmuşumdur. Kariyerimi başlatan şey o oldu.
80’lerin başında Apple ][+ ve //e üzerinde Apple Pascal, yani UCSC p-system Pascal tabanlı ortamı kullandıktan sonra DOS’taki Turbo Pascal’a geçtim. Turbo Pascal gerçekten heyecan vericiydi. Çok hızlı derleyicisi, iyi geri bildirimi, renkli düzenleyicisi ve zaten alışık olduğum WordStar tuş atamaları sayesinde harika bir deneyimdi.
Program yeterince büyüyüp overlay özelliğini kullanmak zorunda kaldığımı da hatırlıyorum. DOS’ta programın farklı bölümlerini fiilen sayfa gibi yüklemeyi sağlayan bir özellikti.
80’lerde bir noktada, muhtemelen sonlarına doğru, Borland’ın harika elçilerinden David Intersimone ile tanıştığımı da hatırlıyorum. Üniversitemizin yerel ACM şubesinin davetiyle geldiğinde olmuştu.
Garip bir şekilde Turbo Pascal öğrendiğim ilk yüksek seviyeli programlama diliydi ve kullandığım ortam Macintosh Plus’tı. Ancak sonradan Turbo Pascal’ın daha çok PC tarafına ait bir şey olduğunu öğrendim.
Üniversitedeyken öğrenci kredisiyle ilk Apple bilgisayarım olan Macintosh Plus’ı aldım ve tesadüfen üniversite gazetesinin ilanlar bölümünde Mac için Turbo Pascal’ın bir kopyasını gördüm. Bir profesör yaklaşık 40 dolara satıyordu, hemen aldım.
Neyse ki kılavuzu vardı ama Macintosh geliştirme araçları son derece basitti. ResEdit yoktu; Macintosh kaynaklarını metin dosyalarıyla oluşturup sonra resource fork üretmesi için bir araçtan geçirmenizi isteyen garip bir R-Maker uygulaması vardı.
İlk yaptığım birkaç uygulama, Scientific American’daki Computer Recreations köşesinde yer alan algoritmaların Turbo Pascal ile uygulanmış hâliydi. Neyse ki neredeyse hiç UI gerekmiyordu; genelde bir pencere ve birkaç düğme yeterli oluyordu.
Daha sonra Mac’e çok daha odaklı bir IDE olan THINK Pascal’ı keşfedip ona geçtim; daha sonra da THINK C’ye atladım.
Yine de Turbo Pascal bende hep sevgiyle hatırlanan bir anı olarak kalacak. Sert ve yeni bir dünyaya girdiğim o dönemde Turbo Pascal bana kapıyı açmıştı.