9 điểm bởi GN⁺ 2024-05-03 | 4 bình luận | Chia sẻ qua WhatsApp
  • BASIC là một ngôn ngữ dễ học, dễ dùng ra mắt năm 1964 và đã góp phần dẫn dắt sự phổ biến của Apple, TRS-80, IBM, máy tính Commodore PC.

BASIC là gì?

  • Về truyền thống, BASIC là ngôn ngữ lập trình theo kiểu thông dịch, thực thi theo từng dòng.
  • Với các lệnh như GOTO có thể di chuyển giữa các dòng nên người mới bắt đầu dễ tạo vòng lặp.
  • Ngày nay hầu hết ngôn ngữ dùng các mô hình khác như hàm hay hướng đối tượng, nhưng cú pháp đơn giản và từ khóa tiếng Anh của BASIC khiến nó rất được ưa thích và dễ dùng đối với người mới.

Hành trình dẫn tới BASIC

  • Trước khi có BASIC, Fortran, Algol, COBOL và các ngôn ngữ tương tự khá phức tạp chủ yếu được dùng cho chuyên gia.
  • Kemeny và Kurtz nhận ra nhu cầu cần có một ngôn ngữ thân thiện để cả người am hiểu chưa chuyên sâu cũng có thể dùng máy tính.
  • Qua DARSIMSCO (Dartmouth Simplified Code), DOPE (Dartmouth Oversimplified Programming Experiment), việc phát triển BASIC bắt đầu vào năm 1963.
  • Kemeny đã dùng kinh phí hỗ trợ của NSF để đưa máy GE-225 vào Dartmouth College và xây dựng hệ thống chia sẻ thời gian đa dụng đầu tiên.
  • Kemeny, Kurtz và các sinh viên năm nhất đã tạo ra hệ thống chia sẻ thời gian, mở quyền truy cập máy tính cho toàn trường Dartmouth.
  • Nhờ tính đơn giản nhưng mạnh mẽ, BASIC nhanh chóng nhận được sự ưa thích của sinh viên và giảng viên.

BASIC bứt phá vào máy tính cá nhân

  • Được mua theo gói hợp đồng với máy GE-225, một hệ điều hành chia sẻ thời gian cho GE cũng được phát triển.
  • Nhờ BASIC chạy trên hệ điều hành này, các trường đại học, trường trung học và người dùng cá nhân trên toàn quốc có thể kết nối tới mainframe để lập trình.
  • Năm 1975, Paul Allen và Bill Gates áp dụng BASIC cho Altair 8800 và các máy tính cá nhân khác, qua đó thành lập Microsoft.
  • Năm 1976, Steve Wozniak trực tiếp phát triển trình thông dịch BASIC cho Apple I với tài nguyên tối thiểu.
  • Việc này đã trở thành Integer BASIC của Apple II vào năm sau và sau đó là Applesoft BASIC, đóng vai trò then chốt trong suốt thời gian tồn tại của Apple II.
  • Vào cuối thập niên 1970 đến đầu 1980, BASIC tiếp tục giữ vai trò chủ chốt trên các máy tính gia đình nổi tiếng như Atari 800, TRS-80, Commodore VIC-20, C64, TI-99/4A, BBC Micro, IBM PC, khi được tích hợp trong ROM hoặc cung cấp dưới dạng môi trường lập trình dễ tiếp cận.
  • Các tạp chí máy tính thời kỳ đầu như Compute! cũng từng đăng mã BASIC có thể nhập từng dòng.

BASIC ngày nay

  • Ngày nay, BASIC vẫn còn phổ biến trong cộng đồng retrocomputing, nhưng gần như không còn được dùng như một ngôn ngữ thực dụng.
  • Tuy vậy, nó vẫn tiếp tục tiến hóa nên chưa biến mất hẳn.
  • Có nhiều biến thể BASIC cho nhiều nền tảng, nhưng phiên bản của Microsoft là phổ biến nhất.
  • Sau GW-BASIC và QuickBasic là Visual Basic, VBA, MS Small Basic.
  • Visual Basic ra mắt năm 1991 phổ biến trong phát triển ứng dụng Windows, còn VBA được dùng rộng rãi cho tự động hóa MS Office.
  • MS Small Basic ra mắt năm 2008 được sử dụng cho dạy lập trình cho người mới.
  • Một mặt khác, các ngôn ngữ hiện đại như Python hay JavaScript đang thay thế vai trò của BASIC.
  • Chúng được ưa thích trong các khóa học lập trình mới bắt đầu hoặc phát triển ứng dụng nhanh nhờ ưu tiên tính đơn giản, khả năng đọc và tính tiện dụng.

Ý kiến của GN⁺

  • Đáng chú ý là BASIC được thiết kế theo thời đại teleprinter, dựa trên số dòng để chỉnh sửa, chèn/xóa chương trình—điều mà thẻ đục lỗ không thể thực hiện.
  • BASIC vẫn duy trì sức sống nhờ tiếp tục phát triển sang Visual Basic... Mặt khác, các ngôn ngữ có cú pháp thân thiện như Python đang đảm nhận vai trò của BASIC. Nói cách khác, có thể xem đây là tinh thần tiếp nối của BASIC.
  • Ở giai đoạn đầu của máy tính cá nhân, BASIC nhúng sẵn trong ROM đóng vai trò quyết định để người dùng học và khai thác máy tính. Nhưng khi môi trường GUI trở nên phổ biến, BASIC dựa trên command line dần mất đi sức hút một cách tự nhiên.
  • Ngày nay các ngôn ngữ lập trình giáo dục chủ yếu là Scratch, Python. Chúng giúp học lập trình dễ và thú vị như BASIC, nhưng xét về mức độ ứng dụng thực tế thì mạnh hơn BASIC.

4 bình luận

 
tominam2 2024-05-03

Những ký ức rất xa xưa khi chèn giai điệu vào BASIC để làm nhạc đệm và luyện hát...

 
xguru 2024-05-03

Tôi bắt đầu học máy tính từ GW-BASIC nên vẫn có chút hoài niệm về BASIC. Lúc đầu học câu lệnh For, tôi vẫn còn nhớ việc từng in ra hình kim tự tháp bằng *. Visual Basic thì tôi cũng đã dùng khá lâu, và VBA cũng đã dùng nhiều.

Thực ra, tôi nghĩ BASIC vẫn là một lựa chọn ổn để học vì dù chưa quen máy tính lắm, bạn vẫn có thể bảo nó làm việc. Mặc dù bắt đầu với Python là tốt, nhưng có lẽ vì tôi không thân thuộc lắm nên thôi, haha.

 
godrm 2024-05-03

Những kỷ niệm về việc vẽ sao bằng BASIC lại ùa về rồi, haha.

 
GN⁺ 2024-05-03
Bình luận trên Hacker News
  • Một người bình luận từng làm kiểm toán ban đêm ở khách sạn khi còn là sinh viên, và đã tự động hóa hệ thống quản lý phòng khách sạn bằng BASIC, giúp hiệu suất công việc tăng đáng kể. Khi đó không có ngôn ngữ tốt hơn, nhưng BASIC vẫn đủ để xử lý công việc.
  • BASIC là ngôn ngữ rất hữu ích trên các thiết bị có RAM cực kỳ hạn chế, được thiết kế nhằm tối thiểu hóa không gian chương trình ngay cả so với mã máy. Có người kể rằng nhờ BASIC, họ đã tạo được một chương trình hữu ích trên chiếc máy tính chỉ có 3KB RAM — điều đó sẽ không thể vừa vặn trong RAM nếu không có BASIC — và vì thế sinh ra sự kính trọng mới dành cho BASIC.
  • Trong các tạp chí cũ, thường xuất hiện các listing chương trình BASIC để người đọc tự nhập, lưu và chạy. BASIC dùng nhiều từ khóa tiếng Anh nên rất phù hợp với kiểu này. Ở Hà Lan từng có nỗ lực BASICODE nhằm tạo một phương ngữ chuẩn để các máy khác nhau có thể giải thích hoặc chuyển sang phiên bản BASIC riêng của chúng. Đài radio khuya từng phát cả âm thanh để nạp băng; người nghe sẽ ghi âm sau đó dùng chương trình chuyển đổi để chạy trên C64, ZX Spectrum, MSX, Amstrad CPC, v.v.
  • Hầu hết mọi người thường nghĩ tới MS BASIC, nhưng BASIC Dartmouth gốc đã tích hợp các primitive của ma trận. Nó hỗ trợ mọi thứ từ đọc/ghi/nhập ma trận đến nghịch đảo, chuyển vị, ma trận đơn vị, ma trận không, và ma trận hằng. BASIC Wang 2200, một phiên bản BASIC Dartmouth mở rộng, còn bổ sung các chức năng mạnh mẽ cho ma trận như tìm kiếm, sắp xếp, hợp nhất. Tuy nhiên vẫn có những giới hạn: tên biến bị giới hạn một ký tự hoặc một ký tự kèm chữ số, nhãn GOTO/GOSUB chỉ từ 0 đến 255, độ dài chuỗi chỉ 64 ký tự, v.v.
  • Không thể đánh giá thấp tác động của BASIC đối với sự bùng nổ của máy tính cá nhân. Nó khiến lập trình trở nên khả thi trên vô số máy tính gia đình và mở đầu cho vô số sự nghiệp.
  • Với một người trong số những người bình luận, đó là QBASIC đã đưa anh ấy tiếp cận lập trình khi mới 11 tuổi. Anh ấy kể vì không muốn lãng phí giấy khi dùng lệnh PRINT, nên đã đọc kỹ tài liệu giúp đỡ để tìm cách in ra màn hình. Anh ấy đọc thấy hướng dẫn nói nên dùng nhãn, nhưng không hiểu cú pháp GOTO nên quản lý dải số trên thẻ mục lục; có lần viết nhầm O thành 0 và mất cả ngày chỉ để gỡ lỗi. Ý tưởng rằng đổi .BAS thành .EXE rồi chạy bằng một cú nhấp chuột cũng từng khiến anh ấy rất băn khoăn.
  • SQL cũng kỷ niệm 50 năm hôm nay, nhưng lại được dùng rộng rãi hơn nhiều so với các ngôn ngữ cùng thời.
  • Có một bộ phim tài liệu tuyệt vời về sự ra đời của BASIC tại Dartmouth trên YouTube. Nó cũng đã được bàn trong một tập podcast ngắn.
  • Với một số người, BASIC vẫn là một ngôn ngữ hơi cấm kỵ. Một người từng học Pascal thời thơ ấu và được thầy giáo nói rằng học BASIC sẽ hình thành thói quen xấu nên đừng học BASIC. Chính vì nó bị coi là cấm đoán mà khiến mọi người thấy hấp dẫn; họ đã bí mật học cùng bạn bè, vừa thấy có gì đó sai mà vẫn thấy vui. BASIC vì vậy trở thành ngôn ngữ bậc cao thứ hai mà họ học.
  • Cuốn sách 'A People's History of Computing in the United States' có vẻ thổi phồng hơn tựa đề, và chỉ kể lịch sử của BASIC Dartmouth cùng văn hóa của nó. Nhưng điều thú vị là triết lý rằng bất cứ ai cũng có thể lập trình và việc những người đam mê xây dựng một nền văn hóa tạo ra phần mềm phù hợp với nhu cầu của chính mình. Văn hóa BASIC cũng lan truyền theo những cách bất ngờ, ví dụ như công ty Pillsbury Dough từng cho phép các trường học ở khu vực Trung Tây sử dụng máy mainframe lớn của họ theo hình thức chia sẻ thời gian vì một lý do khá kỳ lạ.