Elbette. Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple şeyleri olmadan önce, IBM 5100 olarak bilinen hoş bir makine vardı . ROM'da BASIC , büyük bir kaset kaset sürücüsü (ya da iki), 8 KB bellek vardı. 24 satırlık bir ekran ve bir yazıcı, hepsi de yaklaşık 10.000 USD değerinde - tipik mini modelinizden daha ucuz bir sipariş. Başlangıçta bilim insanları için inşa edilmiş ( ROM'daki APL de bir seçenekti), fakat sonra birkaç muhasebe türü bunu keşfetti ve çılgınlığa başladı: her küçük işletme bir tane istedi. Özel yazılımla elbette. 5110 bunu takiben teyp sürücülerinin yerini 8 "disketlerle değiştirdi.
Ticari bir yazılım var mı? Galoons .
Genel muhasebe, bordro, ödenecek hesaplar, alacak hesapları, stok kontrolü ve faturalandırma diyebilir misiniz? Ben orada bulundum, bunu yaptım - BASIC'te. Faturalar, yeni ve kullanılmış araba envanteri, çöp kamyoneti alma ve içecek teslimat çizelgeleme? Yup - TEMEL. Demir cevheri madenlerinden trenlere gemilerde izlemek istiyor ... BASIC. Tabanı yükseltilmemiş olan her şey BASIC’te yapılıyordu. Ticari olarak demek istiyorum. (Çünkü RPG II sayılmaz ;-).
Biri sınırlamaları nasıl çözdü?
İlk yaptığınız şey müşteriyi daha fazla bellek için IBM'e geri yollamaktı. Çünkü 8 KB'de ciddi bir şey yazabilecek kim var? 16'ya sahip olmanız gerekiyordu . Ve eğer mümkünse iki teyp sürücüsü, çünkü otomata teorisi bir yana, tek bir teypte birleştirme sıralaması biraz yavaş.
Oh, üzgünüm - BASIC'in sınırlarını kastediyordun.
Kaynaklarınızı oldukça dikkatli bir şekilde yönetmeniz gerekiyordu - satır numaraları gibi şeyler - çünkü tükenmek istemediğiniz için; arkasındaki gerçek acı, bir bölümü yeniden numaralandırmak ve yanlışlıkla bir ya da iki satır kod kaybetmeden hepsini geri yazmak zorunda kalıyor.
Hayır - sadece şaka yapıyorum. Aslında bu sorunu mikro kadar evden çıkana kadar, kendi başlarına yeniden numaralandırma yapamayan bir BASIC yorumlayıcısına kadar bulamadık.
Modülerliği de kullandık - yeni bir program aradığınız yerde, bırakıncaya kadar koştuktan sonra çağrı programına geri döndük. Steroidler hakkında bir gosub (kullanmak için daha fazla hafızaya sahip olduğunuz için), ancak çok daha yavaş (çünkü makinenin banttaki programı bulması ve içine yerleştirmesi biraz zaman aldı, çünkü geri sarmalayıp orijinal programı bulup yükleyin. geri...). Çatal gibi ve yürütme gibi, ancak çatal olmadan, sadece daha iyi çünkü tüm hafıza alanı paylaşıldı.
Sözleşmelerin titiz bir şekilde kullanılması da yardımcı oldu - bildiğiniz gibi, "bu rutinin ne yaptığını söyleyen bir yorum satırında bir GOSUB'u her zaman hedeflemelisiniz ve mümkün olduğunda bir GOTO için aynı şeyi yapmalısınız. Böyle şeyler. Oh, ve yapılandırılmış programlama , biraz sonra - tekrar "kongre ile".
Hatta bazıları aşırıya gitti: OAOO , YAGNI , TSTTCPW , eşleştirme, acımasızca refactor , bu tür şeyler. Elbette bu isimlerle değil. (Ayrıca bakınız: Ecclesiastes ;-)
Zafer günleri.
Were those BASIC dialects only used to teach aspiring programmes bad style
Hmm ... Bu kötü bir stil var şimdi ama sonra tekrar değildi.