แน่ใจ ก่อนที่ Altair / MITS / SWTPC / คิม / ซินแคล / สัตว์เลี้ยง / RadioScrap / OSI / สิ่งที่แอปเปิ้ลที่เกิดขึ้นมีเครื่องเล็ก ๆ น้อย ๆ ที่น่ายินดีที่รู้จักในฐานะIBM 5100 มันมี BASIC ในROM , เทปคาสเซ็ตขนาดใหญ่ (หรือสอง), หน่วยความจำ 8 KB หน้าจอ 24 บรรทัดและเครื่องพิมพ์ทั้งหมดนี้มีราคา 10,000 เหรียญสหรัฐซึ่งเป็นขนาดที่ถูกกว่ามินิทั่วไปของคุณ เดิมทีสร้างขึ้นสำหรับนักวิทยาศาสตร์ ( APLใน ROM ก็เป็นอีกทางเลือกหนึ่ง) แต่จากนั้นบัญชีบางประเภทก็ค้นพบมันและเริ่มเกิดความบ้าคลั่ง: ทุกธุรกิจขนาดเล็กต้องการ ด้วยซอฟต์แวร์ที่กำหนดเองแน่นอน 5110 ตามนั้นด้วยเทปไดรฟ์แทนที่ด้วย 8 "floppies
ซอฟต์แวร์เชิงพาณิชย์ใด ๆ Galoons
คุณสามารถพูดบัญชีแยกประเภททั่วไปบัญชีเงินเดือนบัญชีเจ้าหนี้บัญชีควบคุมสินค้าคงคลังและออกใบแจ้งหนี้ได้หรือไม่? ฉันเคยไปที่นั่นมาแล้ว - ที่เบสิก ค่าสาธารณูปโภครายการรถยนต์ใหม่และใช้แล้วรถกระบะรถบรรทุกขยะและกำหนดการส่งมอบเครื่องดื่ม? Yup - พื้นฐาน ต้องการติดตามแร่เหล็กจากเหมืองบนรถไฟสู่เรือ ... พื้นฐาน ทุกอย่างที่ไม่ได้ยกพื้นนั้นน่าจะเสร็จในภาษาเบสิก ฉันหมายถึงในเชิงพาณิชย์ (เนื่องจากRPG IIไม่นับ ;-)
คนเราทำงานด้วยข้อ จำกัด อย่างไร?
สิ่งแรกที่คุณทำคือส่งลูกค้ากลับไปที่ IBM เพื่อเพิ่มหน่วยความจำเพราะใครสามารถเขียนอะไรที่จริงจังใน 8 KB? คุณเพียงแค่ต้องมี 16 และเทปไดรฟ์สองตัวถ้าเป็นไปได้เนื่องจากทฤษฎีออโตมาตะกันตัดการจัดเรียงบนเทปเดี่ยวก็ดี
โอ้ขอโทษ - คุณหมายถึงข้อ จำกัด ของ BASIC
คุณต้องจัดการทรัพยากรของคุณอย่างระมัดระวัง - สิ่งต่าง ๆ เช่นหมายเลขบรรทัด - เพราะคุณไม่ต้องการให้หมด ความเจ็บปวดที่แท้จริงในด้านหลังจะต้องจัดเรียงหมายเลขใหม่ทั้งหมดและพิมพ์มันทั้งหมดกลับเข้ามาโดยไม่ได้ตั้งใจที่จะสูญเสียรหัสหนึ่งหรือสองบรรทัด
Nah - แค่ล้อเล่น เราไม่ได้มีปัญหานั้นจริง ๆ จนกระทั่งไมโครคอมพิวเตอร์ในบ้านปรากฏตัวพร้อมล่ามพื้นฐานที่ไม่สามารถจัดลำดับใหม่ด้วยตัวเอง
นอกจากนี้เรายังใช้โมดูลที่คุณเรียกว่าโปรแกรมใหม่รันมันจนกว่ามันจะออกและกลับไปที่โปรแกรมการโทร gosub บนสเตียรอยด์ (เพราะคุณมีหน่วยความจำมากกว่าที่จะใช้) แต่วิธีนี้ช้ากว่า (เพราะใช้เวลาสักครู่หนึ่งก่อนที่เครื่องจะค้นหาโปรแกรมบนเทปและโหลดเข้าไปแล้วย้อนกลับและค้นหาโปรแกรมต้นฉบับและโหลดโปรแกรมนั้น กลับ...). จำนวนมากเช่น fork และ exec แต่ไม่มี fork จะดีกว่าเพราะพื้นที่หน่วยความจำทั้งหมดถูกแบ่งใช้
การใช้การประชุมอย่างเข้มงวดช่วยคุณรู้เช่น "คุณต้องกำหนดเป้าหมาย GOSUB เสมอที่บรรทัดความคิดเห็นที่บอกว่าสิ่งนี้กิจวัตรประจำวันและคุณควรทำเช่นเดียวกันสำหรับ GOTO เมื่อเป็นไปได้สิ่งนั้นโอ้และมีโครงสร้าง การเขียนโปรแกรมในภายหลัง - "ตามแบบแผน" อีกครั้ง
บางคนถึงกับตกต่ำเล็กน้อย : OAOO , YAGNI , TSTTCPW , จับคู่, refactorอย่างไร้ความปราณี ไม่ใช่โดยชื่อเหล่านั้นแน่นอน (ดูเพิ่มเติมที่: ปัญญาจารย์ ;-)
วันแห่งความรุ่งโรจน์
Were those BASIC dialects only used to teach aspiring programmes bad style
หืม ... มันเป็นสไตล์ที่ไม่ดีในตอนนี้แต่ตอนนี้ไม่ได้กลับมาแล้ว