Chắc chắn rồi. Trước khi những điều Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple xảy ra, đã có một cỗ máy nhỏ thú vị được gọi là IBM 5100 . Nó có BASIC trong ROM , ổ băng cassette lớn (hoặc hai), bộ nhớ 8 KB. một màn hình 24 dòng và một máy in, tất cả chỉ với 10.000 USD - một đơn đặt hàng lớn hơn so với chiếc mini thông thường của bạn. Ban đầu được xây dựng cho các nhà khoa học ( APL trong ROM cũng là một lựa chọn), nhưng sau đó một vài loại kế toán đã phát hiện ra nó và bắt đầu một cơn sốt: mọi doanh nghiệp nhỏ đều muốn có một. Với phần mềm tùy chỉnh, tất nhiên. 5110 theo đó, với các ổ đĩa băng được thay thế bằng 8 "đĩa mềm.
Bất kỳ phần mềm thương mại? Galoons .
Bạn có thể nói sổ cái chung, bảng lương, tài khoản phải trả, tài khoản phải thu, kiểm soát hàng tồn kho và hóa đơn không? Tôi đã ở đó, làm điều đó - trong BASIC. Hóa đơn tiện ích, hàng tồn kho xe mới và đã qua sử dụng, xe chở rác và lịch trình giao đồ uống? Yup - CƠ BẢN. Muốn theo dõi quặng sắt từ các mỏ trên tàu lên tàu ... BASIC. Mọi thứ không được nâng lên có khả năng được thực hiện trong BASIC. Ý tôi là về mặt thương mại. (Vì RPG II không được tính ;-).
Làm thế nào một người làm việc xung quanh những hạn chế?
Chà, điều đầu tiên bạn làm là gửi khách hàng trở lại IBM để có thêm bộ nhớ, bởi vì ai có thể viết bất cứ điều gì nghiêm trọng trong 8 KB? Bạn chỉ cần có để có 16. Và hai ổ đĩa băng, nếu có thể, vì lý thuyết automata sang một bên, kết hợp sắp xếp trên một băng duy nhất là, tốt, một chút chậm.
Ồ, xin lỗi - bạn có nghĩa là những hạn chế của BASIC.
Chà, bạn phải quản lý tài nguyên của mình khá cẩn thận - những thứ như số dòng - bởi vì bạn không muốn dùng hết chúng; nỗi đau thực sự ở phía sau phải đánh số lại toàn bộ một phần, và nhập lại tất cả, mà không vô tình làm mất một hoặc hai dòng mã.
Không - đùa thôi. Chúng tôi thực sự không có vấn đề đó cho đến khi micro --- er, các máy tính gia đình xuất hiện, với một trình thông dịch BASIC không thể tự đánh số lại.
Chúng tôi cũng đã sử dụng mô-đun - nơi bạn đã gọi một chương trình mới, chạy nó cho đến khi nó thoát và quay lại chương trình gọi. Một gosub trên steroid (vì bạn có nhiều bộ nhớ hơn để sử dụng), nhưng chậm hơn (vì phải mất một thời gian để máy tìm chương trình trên băng, và tải nó vào, sau đó tua lại và tìm chương trình gốc và tải nó trở lại...). Rất giống như một ngã ba và thực hiện, nhưng không có ngã ba, chỉ tốt hơn vì toàn bộ không gian bộ nhớ đã được chia sẻ.
Sử dụng nghiêm ngặt của công ước cũng giúp - bạn biết đấy, như "Bạn luôn luôn phải nhắm mục tiêu một GOSUB tại một dòng chú thích rằng nói gì thói quen này không, và bạn NÊN làm tương tự cho một GOTO khi có thể Stuff như thế Oh, và.. Có cấu trúc lập trình , một lát sau - "theo quy ước" một lần nữa.
Một số thậm chí đã đi một chút đến cực đoan: OAOO , YAGNI , TSTTCPW , ghép nối, tái cấu trúc không thương tiếc, loại công cụ đó. Không phải bởi những cái tên đó, tất nhiên. (Xem thêm: Giáo hội ;-)
Những ngày vinh quang.
Were those BASIC dialects only used to teach aspiring programmes bad style
Hừm ... Bây giờ nó là phong cách tồi tệ nhưng nó đã không trở lại.