Klasik BASIC ticari yazılım geliştirme için hiç kullanıldı mı ve öyleyse, sınırlamaların üstesinden nasıl gelindi?


46

, Ben de dahil Birçoğumuz yazılı programları ile programlama hayatına başlayan ev bilgisayarları , gibi bir şey

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

En TEMEL lehçeleri yapısal ifadeleri gibi özledim ayrıca Tabi ki, çünkü TEMEL bazlı hat numarası spagetti kod oluşturmak için eğilimli olduğunu WHILEherşeyi ama yapıyor, FORbirlikte -loop IF, GOTOve GOSUB. QBASIC ve Visual Basic göründüğü 1991'den önceki BASIC lehçelerinden bahsediyorum .

BASIC lehçeleri, istekli programcılar arasında kötü bir tarz geliştirmiş olsa da, böyle bir BASIC lehçesinde oluşturulan daha büyük ticari projeler var mıydı? Eğer öyleyse, bariz eksiklikleri gidermeyi ve yaşamayı nasıl başardılar?

"Ciddi" derken, demek istediğim:

  • Oyun değil (bazı ticari oyunların BASIC'de , örneğin Pimania'da yazıldığını biliyorum )
  • Ücretsiz değil
  • Önemsiz değil, bu oldukça büyük (diyelim: en az 1500 LOC )
  • Birkaç müşteriye satıldı (şirket içi bir geliştirme değil)
  • "Görev kritik" bir artı

30
Were those BASIC dialects only used to teach aspiring programmes bad styleHmm ... Bu kötü bir stil var şimdi ama sonra tekrar değildi.
yannis,

9
Dartmough BASIC, FORTRAN'ın egemen olduğu bir dönem olan 1964'te (ve ilginç bir şekilde derlenmiş bir dildi) tasarlandı.
yannis

8
Bir dairenin çevresini hesaplamaya çalıştığınızı varsayarsak, stil burada gördüğüm tek kötü şey değil.
William Jackson

5
I'm seriously pissed off that this question was closed during the "History" contest.Heh, soruyu Meta'ya getirerek daha fazla görüş almak için harika bir fırsatı kaçırdın.
yannis

15
Yazılan tüm yazılımların% 99'u evde yazılmış uygulamaları dizisidir ve tanım gereği bunları olabildiğince ciddi kılar .

Yanıtlar:


48

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.


4
Tüm iyi cevaplardan, bunu çok fazla sevmediğim (çok fazla) olmadığı için ve aynı zamanda ev bilgisayarlarının ortaya çıkmasından önce mikrobilgisayarlarda ticari yazılım için BASIC kullanımını vurgulamasından dolayı bunu seçiyorum.
user281377

1
Büyük cevabınız için oy kullanın ve
incil'deki

46

Çalıştığım ilk yazılım, kazan ekipmanının boyutlandırılması ve fiyatlandırılması için ısı transferi hesaplaması kullanmak için şirketin 80'lerde yazdığı 8k satırlık bir GW-BASIC programıydı. Kod tamamen anlaşılmaz olmasına rağmen, 20 yıldan fazla bir süredir kullandıkları kadar iyi çalışmayı başardı.

Bu, BASIC'in gücüyle, referans el kitabına sahip bir makine mühendisinin (o sırada) kaliteli kullanılabilir yazılımlar yazabildiğiydi. BASIC ve PC'nin yaygınlığından önce, böyle bir şey duyulmamıştı. Paylaşılan bir ana bilgisayarı programlamak ve çalışmak için bir bilgisayar mühendisleri ekibi ve muhtemelen bilgisayar operatörleri kiralamanız gerekir. Bunların hepsi, tipik makine mühendisinin kısa sürede toplayamayacakları kadar karmaşık olurdu.

Bu nedenle kesinlikle BASIC, ev bilgisayar meraklılarının ötesinde oldukça faydalı oldu, bu, birçok şirkette, uzman ekipleri olmadan, uygun bir fiyata özel bir yazılım inhouse yazma dünyasına giriş yaptı.


Kesinlikle, bu. - ^^^
Robert Harvey,

30

Evet, BASIC'te çok sayıda ticari ürün ve diğer "ciddi" gelişmeler vardı. Nedenini anlamak için, BASIC'in mini ve mikrobilgisayarlarda büyüdüğü 1970 ve 1980'lerin bağlamını anlamanız gerekir.

O zamanlar, makine bugünün standartlarına göre olumlu şekilde cılızdı. CPU'lar birkaç MHz'de (genellikle mikrobilgisayarlar için çok daha az) saatlenmiştir ve bu sayfayı oluşturmak için gereken HTML'nin işgal edebileceğinden daha az belleğe sahiptir. Bir ürünü dağıtacak olsaydınız, çıplak bir şekilde monte edilmiş olan veya mikrobilgisayarlarda mevcut olan araçları kullanmak zorundaydınız, ROM ile birlikte gelen (genellikle bir 64K adres alanında 16K olan) BASIC tercümanı . Kullanılabilecek başka diller de vardı, ancak birçoğu kabul ettiğimiz yapılandırılmış özelliklerin hepsine sahip değildi. Bunun hafızanın kıt olduğu gerçeğiyle ilgisi vardı, * hiçbiri çok gelişmiş sistemler dışında sanal değildi ve genellikle daha sofistike bir dil için bir derleyici tutmak için yeterli değildi. Böyle sınırlı kaynaklarla, "ciddi"

Erken ev bilgisayarlarının üreticilerinin daha iyi bilmeleri ve yapılandırılmış bir dil sağlamaları gerektiği yönündeki argümanınız bu bağlamda işe yaramaz. Bu, insanların kullanabileceği bir fiyata, mevcut teknolojiyle gerçekleşmeyecekti.

Dil eksikliklerini nasıl çözdük? Basitti: onları bu şekilde göremedik ve mevcut olanla işi hallettik. ANSI Minimal BASIC, basit dallanma ve alt rutin aramaların aynı lezzetlerini elde etmeniz için bir montaj dili gibi yapılandırılmıştır, ancak yıldızların doğru bir şekilde hizalandığından emin olmak size kalmıştır. Tek istisna, FOR..NEXTdöngü sağlamak için kullanılan yapıdır. Temel olarak, BASIC'te bir şeyler geliştirmek ve iyi bir iş çıkarmak istiyorsanız, programlarınızın yapısını, onları bir araya getiriyor gibi yazdığınız gibi dikkatlice planlamak ve anlamak zorunda kaldınız. Mevcut hata ayıklama araçları çok ilkeldi, bu nedenle, özünde, programlarınızın çalışmasını ve bakımını yapmasını istiyorsanız, birlikte harekete geçmeniz gerekiyordu.

Evet, o zamanlar çok fazla spagetti vardı, ama henüz kötü kod yazmanın imkansız olduğu bir dil görmedim.


* Bellek, 1980'lerin başında MB başına yaklaşık 750-1.000 ABD doları koştu. Enflasyona göre düzeltilmiş, 2010 dolarlarında 1.600-2.200 dolar. Aynı yıl, megabayt başına maliyet yaklaşık 0,03 ABD Doları idi.


1980'lerde 2 megabaytlık bir EMS bellek kartı için 1000 dolar verdiğimi hatırlıyorum . İçeri girdiği bilgisayar, NEC V20 tabanlı bir PC klon kiti yaklaşık 2500 dolara mal oldu.
jfrankcarr

LOL, 80'lerin sonunda bir VAX için 64 MB hafıza kartı almak üzere şirket başkanı tarafından imzalanan bir PO almamız gerektiğini hatırlıyorum. Adil olmak gerekirse, çift bağlantı noktalı ECC hafızasıydı, ancak 30 bin doların en uzağında bir yere mal oldu ...
TMN

Bazıları para için satılan BASIC'te yazılmış iş uygulamaları ve BASIC'te APPLE için yazılmış sıcak satış iş başvurusu] [veya CommodorePET veya Atari veya IBM veya 1980'lerin başındaki TI mikrobilgisayarları 100'lere satılabilir. 500 kopya, yaklaşık 100 $ birim fiyatla. O zamanlar modern yazılım ürünü gibisi yoktu, çünkü o zamanlar bilgisayarlar küçüktü ve bunun için yazılım çok küçüktü. Ne temel ne de C, ne de bir birleştirici ne de başka bir modern dil, bunu değiştiremezdi.
Warren P,

80'li yıllarda yerel kolejlerimizin bilgisayar anabilgisayarı 10 MB'tan 50 MB'a yükseltildi. 10 MB'nin sadece yarısı dolu olduğu kabul edilir, ancak gelecekle ilgili gelecek için yeterli alana sahip olmak istiyorlardı ... 50-100 kullanıcı için sadece 50 mb'lık bir sabit sürücünün ... öldürüldüğünü hayal edin.
SoylentGray

22

İlk% 100 programlama işim, 1980'lerde, başlangıçta GW-BASIC'te yazılmış bir dikey piyasa muhasebe paketi üzerinde çalışıyordu . QuickBASIC 3.0'a taşınmıştı , ancak erken BASIC lehçeleriyle ilişkili hataların neredeyse tümünü korudu. Tonlarca GOTO ve birçok zayıf yapı vardı. Yaklaşık bir düzine modül (envanter, defter vb.) Vardı ve program modül başına yaklaşık 1000 ABD Doları - 2500 ABD Doları ve yıllık destek sözleşmeleri için satıldı. Şirketin geliri yılda 15 milyon ABD Doları ile 25 milyon ABD Doları arasında olmuştur.

Eksikliklerle nasıl yaşayacağınızla ilgili olarak, makine dili veya MASM kullanarak birçok kısıtlama getirildi . Makine dilini BASIC programlarına eklemek için PEEK ve POKE komutlarını kullanmak yaygındı . Temel veritabanı desteği, iletişim ve metin "grafikleri" gibi şeyler eklemek için programı genişletmek üzere MASM (ve daha sonra C) programları yazdım.


12
Yazık ki tabii ki 15 milyona girmedin.
Spencer Rathbun

@ SpencerRathbun - Ne yazık ki, bugün yaklaşık 35 bin dolara eşit derecede düşük bir ücret aldım.
jfrankcarr

Evet, benim ilk programlama işim Quickbasic 3'tü. Bir liman değildi, ama daha iyi değildi. Ana bölüm "eğitimi" derleyici ile birlikte gelen kitabı okuyan biri tarafından yapıldı. Müşteriler için kritik öneme sahip, yüksek 4 rakamlı fiyat etiketi.
Loren Pechtel

5

Böyle bir BASIC lehçesinde daha büyük ticari projeler yaratıldı mı?

C64 veya önceki sürümleri gibi daha eski ev bilgisayarlarında, çok sayıda BASIC programı ve ayrıca bazı ticari programlar vardı. Ancak "büyük" nadiren mümkündü, çünkü <64kB RAM ile "büyük" BASIC programlarını yazmak gerçekten kolay değildi. Makinenin sınırlamalarını aşmak istiyorsanız, genellikle BASIC'in, "yüksek seviye dil" in zeminini bırakmanız ve assembler kullanmanız gerekiyordu.

Dolayısıyla, sorunuzun cevabı "muhtemelen çok değildir", fakat aklınızdaki nedenlerden dolayı değil ("çok fazla hata eğilimli / yapılandırılmamış" vb.).

Bu arada: AFAIK, ünlü PETSpeed ​​BASIC derleyicisi BASIC'de yazıldı (elbette kendisi ile birlikte derlendi).


4
Bunun çok önemli olduğunu belirtmek isterim! = Büyük, özellikle o günlerde. Bugün, ticari programlar düşünülebilecek her özelliğin yerleşik olma eğilimindedir, ancak bu her zaman böyle değildi.
Jeanne Pindar

@DocBrown 64k bellek sınırını ve geniş uygulamaları aşmanın yolları vardı. Birçok büyük uygulama, birçok modüle sahip uygulama paketleri gibi daha fazla mevcuttu.
maple_shaft

Tamamen veya kısmen BASIC'te yazılmış birkaç ticari C64 oyununu hatırlıyorum. 'Rox 64' birdir.
Alan B,

"Telengard" diye adlandırıldığını düşünüyorum, C64 için bir RPG oyunu, 8k satırlık Basic gibiydi. Kendinizi uber bir karakter yapmak için kaynağın ayarlanması eğlenceliydi.
Neil N,

@maple_shaft: "Çok mu?" Özellikle "Birçok BASIC uygulaması?" Ben sadece birkaç tane vardı izlenimi altındaydı.
Doktor Brown

5

Peachtree Software'in tüm muhasebe satırları (alacaklar, borçlar vb.) BASIC'de yazılmıştır (ve hala bildiğim kadarıyla olabilir). IBM PC piyasaya sürüldüğünde, uzun zamandır bir akşam geçirdim ve küçük işletmelerinin kitaplarını yapmak için IBM Kişisel Bilgisayar ve Peachtree paketleri satın alan müşteriler için kodlarını hata ayıklamak ve düzeltmek için harcadım.


5

İlk işim 1981’de, Apple II’leri Basic’te, bir Price Waterhouse (Pre Coopers) ofisinde, Belfast, Kuzey İrlanda’daki yönetim danışmanlığında programlamaktı. İki / üçümüzden oluşan bir ekip, bir kitapçı ve mezbaha dahil müşterilere sistemler geliştirdi ve kurduk. Finansal bir modelleme sistemi idi, etkili bir şekilde çok karmaşık bir Visicalc elektronik tablosu (50 sayfa, 3.000 değişken) büyük bir Temel programa dönüştü. Mezbahada bir haftanın işleyişini işlemek için 4 disk sürücülü bir Apple II sisteminde çalışan iki gün sürdü. Her hafta iki adam hafta alan manuel sistemlerinden biraz daha hızlı.

Daha sonra Act Sirius makinelerine geçtik, yine müşterilere yüklenen Basic (Microsoft 8KB Basic) yazılımını programladık.

The Basic satır numaralarına sahipti ancak programları yeniden numaralandırabilecek bir araç vardı. Pascal'ı öğrendiğim Uni'den yeni çıktığımda, olabildiğince yapılandırılmış bir stilde (Temel'de olabildiğince) yazmaya çalıştım, ama Gotos ve Gosubs elbette kullanıldı.

Daha sonra 1983'te topaklanmış bir derleme temel olan CBasic'i kullanan Dec Rainbow'a programladım.


4

Bir yoktu çok kullanılarak yazılmıştır ticari yazılımların TEMEL-PLUS üzerinde PDP-11 sistemleri. İstatistiki analiz ve muhasebe paketlerini, ayrıca oldukça fazla miktarda üst düzey laboratuvar otomasyon malzemesini gördüğümü hatırlıyorum (bunların ne kadar "ticari" olduklarından emin değilim. Bir enstrüman paketinin bir parçası olma eğilimindeler, bu yüzden bilmiyorum. ayrı olarak satıldıysa. ISTR BASIC, HP 2000 uygulama geliştirme için de ana dillerden biriydi ve ilk HP 9800 serisi iş istasyonlarında desteklenen birincil dildi (muhtemelen sadece) .


HP2000 başka bir yerde gelişmeyi destekliyor mu? Benim izlenimim, HP2000'in yalnızca HP Timeshare BASIC'de kullanıcı tarafından sağlanan programları çalıştırmak için kodlanmış olmasıydı (sistemin dosya yönetimi ve kullanıcı yönetimi kodunun bir kısmı veya tamamı başka diller veya makine kodu kullanılarak yazılmış olabilir).
supercat,

3

Alpha Software'in ilk DOS veritabanı ürünleri (yaklaşık 1985) "Database Manager I", "Database Manager II" (DMB2) ve "Alpha Three", BASIC dilinde yazılmış ve IBM BASIC derleyicisi ile derlenmiştir. "Alpha Three" de çalıştım. Tüm UI BASIC’deydi ancak C ve ASM’de yazılmış ve BASIC’in kesintilerle iletişim kurduğu çekirdek bir TSR (sonlandır ve yerleşik kal) bileşeni vardı. Satır numaraları ve satır kesmeleri değerli bölüm alanını kapsıyordu, bu nedenle kod korkunç biçimde ezildi ve okunamıyordu. Paylaşılan değişkenleri kullandık ve modülleri sürekli değiştirdik. İş yapmak zordu. Yine de organizasyon konusunda mantıklı olmaya çalıştık ancak string kütüphanemiz 60000 sıra numaralarındaydı. Bir dize kırpmak gibi yaygın bir işlem şöyle görünür:

$ S = $ INS; GOSUB 60210; $ INS = $ S;

"Alfa Üç" ün yayınlanmasından kısa bir süre sonra bütün C'lere dönüştük.


1
Tüm değişkenler global olduğundan ve bunları parametre iletimi için kötüye kullanmak zorunda kaldığınız için, kullanılmış bir değişkeni yanlışlıkla üzerine yazmaktan kaçınmak için kodunuzu nasıl yönetdiniz?
user281377

Kongre temelliydi.
Pete Lyons

3

1980'lerin başında, ABD Hava Kuvvetleri bir uçuş planlama aracı olarak filoları uçarak kullanmak için bir grup Cromemco S100 otobüs bilgisayarı satın aldı .

Uçuş planlama yazılımı, BASIC kullanılarak , Florida Eglin AFB'de bulunan Taktik Hava Harp Merkezindeki Hava Kuvvetleri pilotları ve yönlendiricileri tarafından geliştirilmiştir .

BASIC'in "bariz eksiklikleri" etrafında çalışırken, gerçekten daha iyisini bilmiyorduk. Sadece bir bilgisayara bir hava taşıtı için fiziksel erişim vermek, o zamanlar inanılmaz bir teknoloji sıçraması gibiydi.


2

[Apple'daki orijinal Ultima] [Applesoft Basic'te yazıldığını düşünüyorum.

DEC, BASIC sürümünü, geliştirdiği birçok RSTS ve diğer işletim sistemi için kullandı.


BASIC dilinde RSTS / E'nin yazdığı bir şaka vardı, ama gerçekten değildi. İşletim sistemi ile birlikte verilen birçok sysadmin yardımcı programı, BASIC'te yazılmıştır.
Don Roby

2

20 yıl önce bir QuickBasic programcısı olarak yaşadığım tek korku "Bellek yetersiz" mesajıydı. Ama bu sadece beni daha iyi bir programcı yaptı! Küçük ve ciddi bir kod yazmayı öğrendim.

QuickBasic'i endüstriyel programlama için kullanırdım. Gerçek dünyada (fabrikalar) patronunuza “C'ye yazılmasının yarım yıl alacağını” söyleyemezsiniz; diyebilirsiniz: "evet patron, gelecek hafta hazır olacak". Evet, BASIC gerçek dünyada pratik ve hızlı bir çözümdü. C veya Pascal değil.

QuickBasic 4.5'te yazdığım programlardan biri, benzersiz bir veritabanı, birkaç şirkete satıldı ve aslında sahip oldukları ticari veritabanını değiştirdi (muhtemelen C veya Pascal'da yazılmıştı). Bu veritabanı günümüze kadar kullanılıyor.

Bahsetmek istediğim bir konu:

hepimiz yeni programlama yöntemlerinin çok faydalı olduğunu düşünüyoruz . Fakat gerçek hayatta (endüstride), bugünlerde çoğu makine modern PLC tarafından işletilmektedir. Programlar genellikle GW-BASIC'ten milyon kez daha ilkel olan merdiven programlamada yazılır. PLC'ler için bir programcı olarak açıkça söyleyebilirim: Bu ilkel merdiven programlamayı GW-BASIC veya hatta QuickBasic gibi yüksek seviye bir dille değiştirmeyi çok isterim. (MEGA-BASIC, geçmişte bu amaç için kullanılan bir lehçeydi).

Sonuçta, çoğu makine ne yapıyor? Girişlerin yorumlanması ve çıkışların ayarlanması. Bunun için C / Assembly'ye ihtiyacınız yok ve Java'ya ihtiyacınız yok. Sürdürülebilir bir kod oluşturmak için mutlaka QuickBASIC'e ihtiyacınız var.


1

Kesinlikle evet.

Uzun zaman önce, özellikle otomobil satıcıları endüstrisine milyonlarca dolarlık sistem satan bir şirkette çalıştım. Bu sistemler, özelleştirilmiş 16-bit HP 21MX minibilgisayar türevlerinde (başarılı 16-bit mikroişlemciler çağından önce) BASIC yazılımını kullandılar. Bu, düzinelerce Temel programcının yer aldığı orta ölçekli bir şirketti. Hat numaralarını gerektiren ve sadece 286 olası değişken ismine izin veren eski moda bir BASIC lehçesini kullandılar ve yine de çözümler orta ölçekli işletmeler için tüm ticari muhasebe ve envanteri (vb.) Sağladı. Ar-Ge grubu ayrıca, yeni nesil donanımlarının önyüklemesini geliştirmeye yardımcı olmak için Temel'de montajcılar, derleyiciler ve hatta donanım emülatörleri yazdı.

Eski bir zamanlayıcıya daha modern programlama ve donanım tasarımı metodolojilerinin faydaları olduğunu düşündüğümü açıklamaya çalıştığımda, iyi tasarımcılar tarafından doğrudan ifade edilmemiş olsalar bile sorunlarının çözümlerini uygun şekilde bölümlendirdiğini, modüle ettiğini ve yapılandırdığını söyledi. dilin veya araçların içine girerken, kötü tasarımcıların içinde çalıştıkları "fantezi" moda gelişim paradigması ne olursa olsun hata ayıklanamayan çöpler üretebileceklerini belirtti.


1

İşin aslı, ABD'deki yeni araba satıcılarının çoğu bugün size finansman seçeneklerinden bahsetmek ve bir araba satın aldığınızda alacağınız uzun yerleşim bildirimlerini oluşturmak için BASIC programlarını kullanıyor. Programlar, BASIC'in modern donanımda emülasyon altında çalışan arkaik mini bilgisayar versiyonlarında yazılmıştır. Aşılı web kullanıcı arayüzleri var, ancak onun BASIC'i altında bir tty konuşuyor.

1980 civarında, evrensel hayat sigortası, hayat sigortası sektöründe ani bir hal aldı. Her şirket hemen satmak istedi ve çok karmaşık bir ilgi ve aktüeryal mumbo-jumbo kombinasyonu kullanarak her ay için her bir politika için hesap değerlerinin hesaplanması gerekiyordu. Veri işleme bölümlerindeki büyük projeler bir yıl kadar süreceği için, birçok şirket, ana bilgisayarlarda olanların daha karmaşık versiyonunu yapmak için gerektiği kadar çok sayıda Apple, PC ve / veya Tandy TRS-80 ile üretime girdi. 20 yıl. Neredeyse bunların hepsi BASIC'te programlandı. Çoğunlukla BASIC kısa hassasiyetli kayan nokta kullandı, bu yüzden milyonlarca müşterinin yuvarlamaları yuvarlandı.

JPL, yaklaşık 35 yıl önce de çokça kullandığı bir BASIC versiyonuna sahipti. M yönetimi için M duruyordu, MBASIC olarak adlandırıldı, ancak diğer şeylerin yanı sıra uzay aracını programlamak için kullanıldı.


1

IBM'in oldukça popüler olan 4680/4690 perakende satış noktası sistemi , IBM 4680 BASIC adlı bir lehçede yazılmıştır . Bu sistem üzerinde 1998-2002 arasında büyük bir İngiliz perakendecisi için çalıştım.

Bu sistem çok popülerdi, 2005'te hala pazar payının% 12'sini elinde bulundurduğu wiki makalesine göre. Sistem bugün hala güçleniyor, batı dünyasındaki çoğu insanın bu BASIC destekli sistemi en sonda dolaylı olarak kullanmış olma ihtimali iyi. hafta.


0

PICK veya diğer MultiValue veritabanlarından birine bakın. Hepsi ana dili veya tek dili olarak DataBasic'e güveniyor ve önemli bir dikey pazar kullanımına sahipler. 20 yıldan uzun bir süre önce tedarik kıyaslaması için yazdığım bir sistemi hala kullanıyoruz. Yaklaşık 50k kod satırı çalıştırır.


0

80'lerde Hindistan'da, Wordstar, dBase ve Lotus 1-2-3 versiyonlarını yaratan Softek adlı bir şirket vardı. Ürünlerinden bir diğeri de BASIC derleyicisiydi.

Kendi CBASIC'lerini kullanarak, SIMS-FA (Softek Financial Accounting) adlı çok kapsamlı bir çift girişli muhasebe paketi oluşturdular.


0

Herhangi? Evet. Birçok? Hayır. Eğitim yazılımı ve kayıt tutma.

TEMEL dönem: ~ 1970-1990

1990'a kadar sınırlamalar beklentileri aştı ve sektörün ihtiyaçları ile gelişti. Çoğunlukla, daha büyük şirketlerin ihtiyaçları danışmanlar tarafından analiz edildi ve ihtiyacı karşılayan herhangi bir dille bir araya geldi.

Şirketlerin ihtiyaç duydukları hakkında daha fazla veya daha az gelişmiş bir fikre sahip oldukları ve VBA ile bir çeşit çözüme sahip oldukları günümüzde olduğu gibi, daha sonra daha yetenekli istemci-sunucu çözümleri, web uygulamaları ve veri bakımı ile optimize edilmiş arayüzler keşfedecek kadar bilgi edinecekler. .

1970'lerde, düzenli bir şirket, bir şirketin bütçesi olmadan bilgisayardaki hesapları dengeleyebilir ya da üretim rakamlarını kaydedebilseydi, kitap tutmanın büyük bir adımı olurdu ve bir şema bulursanız, bu harika oldu.

1980'lerde, bazı ürün çizimlerini bilgisayara düzenlenebilir hale getirmek için bilgisayara götürebilirseniz, bu harika olurdu.

Her ikisi de tercüman tabanlı bir dille yapılabilir. Bilgisayarlar daha fazla veri tutabildiğinden, karmaşıklık derleyici gerektiriyordu çünkü CPU'lar Moore'un ham veri karıştırma performansında 1977'den 1987'ye kadar olan yasasının gerisinde kalmıştı.

Ancak, beklentilerin daha fazla talep edildiği 1980'lerin sonuna kadar, 1970'lerde kurulan diller (nadir durumlarda Assembler ve / veya FPU panoları gibi özel donanımlar tarafından tamamlandı), birkaç istisna dışında şirketlerdeki tüm ciddi, ticari işleri yaptı. Cobol ve Fortran hala anabilgisayarlarda bilet oldu. Sadece şirketler bunu karşılayabilirdi ve ciddi şirketler kurum içi BASIC programlarıyla yapabilecekleri ciddi çalışmaları yaptılar ve bir süre için bu yeterliydi.

Kelime işlemciler veya diyagram çiziciler gibi genel kullanım için bağımsız yazılım paketleri, işletim sistemleri uygun fiyatlı bilgisayarlarda derleyiciler için hedefler olarak olgunlaştığında ve "şirket boyutunda" dokümanları ve verileri tutabilen depolama ortaya çıktığında bu sırada ortaya çıktı.

Pascal burada büyük bir rakipti. Önceden, bunların neredeyse tamamı Assembler'de yazılmış. Sonunda C Unix'ten geldi ve PC'lerde kullanılmaya başladı.


0

Commmodore günlerinde oyunun 64 kısmı Gunship BASIC'te yazılmıştı. Kodu bile düzenleyebilirsiniz, böylece helikopteriniz her inişinizde donatılabilir.


Bazı (ticari) oyunların Temel'de tamamen yazıldığını biliyorum, ancak oyunları bir nedenden ötürü dışladım: Oyunlar, ne kadar eğlenceli olursa olsun, onları ne yaparsanız yapın. "Özellik seti" tamamen tasarımcıya bağlıyken ve bakım bir sorun olmadığı zaman sınırlamalarla yaşamak daha kolaydır.
user281377

0

BBC BASIC , 1981 yılında İngiltere'de piyasaya sürülen BBC Micro'dan kaynaklandı. Acorn’in ARM tabanlı RISC işletim sistemi bilgisayarlarında uygulandığı gibi, beşinci versiyona kadar, dünyanın en hızlı yorumlanan BASIC'i olarak kabul edildi. Sözdizimi, CASE ve WHILE gibi yapısal anahtar kelimeler ve işlevler ve prosedürler de dahil olmak üzere, zaman içinde gelişmiştir. (Hatta başlangıçta 6502 ve daha sonra RISC işletim sistemi sürümlerinde ARM için bir montajcı bile içeriyordu .)

Birçok ticari masaüstü uygulaması, büyük olasılıkla büyük ölçüde, kooperatif WIMP sisteminin kullandığı SWI çağrılarına kolay erişim sağladığından dolayı yazılmıştır. Bunu kullanarak yazılmış bazı arcade oyunları bile yeterince hızlıydı - R-Tipi bir klon olan Nevryon , özellikle kaynağına baktığım bir tanesi.


Aslında hem Acorn Elektronu (BBC'nin küçük versiyonu) hem de Acorn Arşimet'leri (ve aynı BASIC'i kullanan bir Cambridge Z88) vardı; ve evet, bu bilgisayarlardaki BASIC diğer ev bilgisayarlarından biraz daha iyiydi. Ancak BASIC, satır içi Assembler'ı kullanma olasılığını da içerdiğinden, kaynak koduna bir göz atarsanız, saf BASIC programlarını karışık programlardan ayırmak zor olabilir.
user281377

Oh, hızlı bir bakış gerçekten ikisi arasında ayırt etmek için gereken tek şey. Çok farklı görünümlü. Bir assembler içermesine rağmen, assembly dili kaynak kodunu dağıtmak yaygın değildi. Genellikle bunun yerine birleştirilmiş ikili kod eklenirdi.
Dan Ellis

0

Eski xBase veritabanı kodlama dilleri ( dBase II , dBase III + , Clipper, vb. Gibi) zamanın çeşitli standart olmayan BASIC'leri ile yakından ilişkiliydi.

Tam olarak BASIC ticari işlerde kullanılmıyor, ancak yeterince yakın.


Steve314: Bu xBase dilleri, ana bilgisayar BASIC'in çok ötesindeydi. Clipper'da çok fazla kod yazdım ve 80'lerin BASIC ev bilgisayarında eksik olan fonksiyonları, yerel değişkenleri, döngü ifadelerini ve diğer birçok şeyi hatırlıyorum. Yannis: QuickBasic 1985 yılında ortaya çıktı.
user281377

@ user281377 - 1981'de BBC Basic yapılandırıldı ve hala satır numaralarına ihtiyaç duyulmasına rağmen prosedürleri vardı. ANSI standardındaki basic (1984) blok yapıları, sub(parametreler ve yerel değişkenlerle bir fonksiyon / prosedür) ve daha fazlasını içermekte ve satır numaralarını isteğe bağlı kılmaktadır. 1985 yılında Borland Turbo Basic IIRC'nin en standart Temel özelliklerine sahipti. Atari ST'de GFA Basic'i adil bir bit kullandım - ayrıca yapılandırılmış, prosedürel, satır numarası yok. 80'lerde yapılandırılmış, usule ilişkin temel bilgiler vardı.
Steve314

@ user281377 - xBase, veri tabanı işleme ve veri giriş formları açısından belirgin avantajlar sağladı, Temelde bilmediğim hiçbir şeyi yapmadı, ancak daha sonra STOS'un sprite görüntülemek ve oyun çubukları okumak için bariz avantajları olduğunu kolayca fark edebilirsiniz.
Steve314

@ Steve314: İyi özelliklere sahip olan BASIC lehçelerinin olduğunu biliyorum, ama özellikle diğer BASIC'leri soruyorum . GOTO ve GOSUB'un sahip olduğu tek şey senindi. Her değişkenin global olduğu ve tek boyutlu bir dizinin olabileceği kadar veri yapısı vardı. Clipper gerçekten gelişmiş bir xBASE lehçesiydi; dürüst olmak gerekirse, Clipper’ın gelişmiş özelliklerinden dBASE III’de kaç tane kullanılabildiğini hatırlayamıyorum, ama en azından uygun halter döngülerine sahipti.
user281377

1
@ user281377 Cevabın orjinal sürümü Visual Basic’ten (QuickBasic’i nereden aldın?) bahsetti, bu da çığlık
attığım

-2

Çoğu mikrosta sadece temel (ROM) veya assembler geliştirme araçları vardı. Hız kritik olmayan programlar için BASIC, birçok ticari uygulamada ve birçok şirket içi projede kullanıldı. CP / M geldiğinde bile , tek gerçek geliştirmeler daha büyük projeleri yönetme ve Microsoft'un temel derleyicisini (BASCOM) kullanma becerisiydi. Erken mikro gelişim ile ilgili kendi tecrübelerim şuydu:

~ 1980 - Microsoft ROM, Nascom 2'de küçük bir montajcı olan temel . Ticari uygulama geliştirme bir KDV (satış vergisi) iade programı ve bir süreç kontrol programı (her ikisi de BASIC) içeriyordu .

198? - Hala BASIC kullanıyordum, fakat şimdi de Pascal (BLS - Borland Pascal'ın öncüsü ) vardı.

1980'lerin ortalarında - PC'ler baskın hale geldi ve ilk C derleyicileri göründü ( Hisoft ve Mix). BASIC düşüşe geçiyor (daha sonra Visual Basic ile MS tarafından tabiki zombi biçiminde yeniden canlandırılıyor ). GW-BASIC , kurum içi bir geliştirme aracı olarak çok popülerdi. BASIC'te hala çok sayıda ticari paket (muhasebe, stok kontrolü vb.) Yazılmıştır.

1980'lerin sonunda - C ana gelişim dili haline gelir (MSC 5 1986'da yayımlandıktan sonra?). Microsoft ve Borland önümüzdeki birkaç yıl boyunca egemen ...


1
Bu soruya nasıl cevap veriyor?
tatarcık

'evet, temel 70'lerin ve 80'lerin başında ticari gelişim için yaygın olarak kullanıldı' diyerek soruyu yanıtlıyor. Açıkça görülen eksikliklerin giderilmesiyle ilgili olarak, programcıların bu eksiklikleri o zaman görmediklerini unutmayın. Temel, Turing tamamlandı, böylece akıllı programcılar ihtiyaç duydukları her şeyi yapabildiler (temel kısıtlamalar elbette, hız, bellek, depolama vb., Ancak bu kısıtlamalar o zamanlar tüm gelişmelere uygulandı). Neden bu kadar çok oy kullanmıyor, sadece soruyu cevaplamaya çalışıyordu.

Bahsettiğiniz bu iki program, bunlar birkaç müşteriye mi satıldı (şirket içi bir geliştirme değil) ? Bunlarla ilgili daha fazla şey öğrenebileceğiniz referansları paylaşabilir misiniz?
tatarcık

Ne yazık ki pek çok uygulama (benim de bahsettiğimler de dahil) zaman sistlerinde kayboldu (o sırada dağıtılacak interweb ve hatta BBS'ler yok). Bunların durdurulduğuna dair kasetleri kaybettim ama bunlar: 1) Oyun değil, 2) bedava değil, 3) önemsiz değil ve 4) görev kritik. Birçok müşteriye satıldıklarını söyleyemem, contoal uygulaması belirli müşteriler içindi, KDV uygulaması birkaç kez yeniden satıldı. Hala aşağı oylar hakkında elenmiş (nit toplayıcılar ya da shoud derim ki gnat toplayıcılar :-)).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.