Tại sao BASIC sử dụng số dòng?


95

Tại sao các BASIC cũ (và có thể các ngôn ngữ khác) sử dụng số dòng làm một phần của mã nguồn?

Ý tôi là, những vấn đề nào đã làm nó (cố gắng) giải quyết?


27
Nếu bạn đã thực hiện một số nỗ lực nghiên cứu nghiêm túc, đừng chôn thông tin về nó bên trong các bình luận, hãy chỉnh sửa câu hỏi của bạn cho phù hợp. Hơn nữa, Google đã đưa tôi trực tiếp tại đây: stackoverflow.com/questions/541421/ và ở đây stackoverflow.com/questions/2435488/ Kẻ
Doc Brown

13
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì câu trả lời đã có trên stackoverflow .
Andres F.

6
Applesoft BASIC là ngôn ngữ lập trình đầu tiên tôi học được. Tôi nhớ đã nghe rằng Pascal không có số dòng và sẽ như "Nhưng làm thế nào để tôi thực hiện GOTO mà không có số dòng? Làm thế nào để nó hoạt động ??"
Jens Schauder

14
Thật buồn cười, lần trước tôi đã kiểm tra, chúng tôi đã đánh giá xem câu hỏi có thuộc chủ đề dựa trên nội dung của nó không chứ không phải nội dung của các trang web khác (và có lẽ là câu trả lời nằm ở đó).
MatthewRock

Câu trả lời:


130

BASIC cần được đưa vào bối cảnh với các ngôn ngữ đương đại của nó: fortran sớm, cobol và lắp ráp.

Quay lại khi tôi đang lắp ráp 6502 mà không có nhãn, điều này có nghĩa là khi bạn thấy rằng bạn cần thêm một hướng dẫn ở đâu đó ở giữa mã được đóng gói chặt chẽ (sau này tôi đã thêm NOP ) bạn cần phải thực hiện và làm lại tất cả các bước nhảy địa chỉ. Điều này đã tốn thời gian.

Fortran là một hệ thống dựa trên số được đánh số trước BASIC. Trong Fortran, các cột 1-5 là số dòng được sử dụng cho các mục tiêu để phân nhánh. Điều quan trọng với Fortran là các trình biên dịch có xu hướng thông minh hơn một chút so với trình thông dịch BASIC và thêm một vài hướng dẫn chỉ là vấn đề đấm một số thẻ và đặt chúng vào đúng vị trí.

BASIC, mặt khác phải giữ tất cả các hướng dẫn của nó được ra lệnh. Không có nhiều khái niệm về "sự tiếp nối của dòng trước". Thay vào đó, trong Applesoft BASIC (một trong những phương ngữ được sử dụng rộng rãi mà tôi quen thuộc và có thể tìm thấy thông tin trên) mỗi dòng trong bộ nhớ được biểu diễn dưới dạng:

NN NN   TT TT   AA BB CC DD .. .. 00

Nó có hai byte cho địa chỉ của dòng tiếp theo ( NN NN). Hai byte cho số dòng của dòng này ( TT TT) và sau đó là danh sách các mã thông báo ( AA BB CC DD .. ..) theo sau là dấu cuối dòng ( 00). (Đây là từ trang 84-88 của Inside the Apple // e )

Một điểm quan trọng để nhận ra khi nhìn vào biểu diễn bộ nhớ đó là các dòng có thể được lưu trữ trong bộ nhớ không theo thứ tự. Cấu trúc của bộ nhớ là danh sách được liên kết với con trỏ 'dòng tiếp theo' trong cấu trúc. Điều này giúp dễ dàng thêm các dòng mới giữa hai dòng - nhưng bạn phải đánh số từng dòng để nó hoạt động chính xác.

Nhiều khi làm việc với BASIC, bạn thực sự đã làm việc trong BASIC. Cụ thể, một chuỗi đã cho là số dòng và hướng dẫn BASIC hoặc lệnh cho trình thông dịch cơ bản đến RUNhoặc LIST. Điều này giúp dễ dàng phân biệt mã với các lệnh - tất cả mã bắt đầu bằng số.

Hai mẩu thông tin này xác định lý do tại sao các số được sử dụng - bạn có thể nhận được rất nhiều thông tin trong 16 bit. Nhãn dựa trên chuỗi sẽ tốn nhiều không gian hơn và khó đặt hàng hơn. Các số dễ làm việc, dễ hiểu và dễ trình bày hơn.

Các phương ngữ BASIC mà bạn không có trong trình thông dịch mọi lúc có thể loại bỏ mọi dòng được đánh số và thay vào đó chỉ cần đánh số các dòng là mục tiêu nhánh. Trong hiệu lực, nhãn.


3
Hấp dẫn, tôi đã quên về Mini Assembler. Điều đó mang lại những kỷ niệm .
Blrfl

3
@Blrfl Nếu bộ nhớ phục vụ ... ] CALL -936 * F666 G $ ... Yep, FP cơ bản để bắt đầu.

3
Không, đó trình soạn thảo dòng. Các lệnh được xác định bằng cách không có số dòng. Các câu lệnh được đi trước bởi các số dòng để chỉ ra rằng chúng là các câu lệnh và để chỉ ra rằng chúng đã đi và / hoặc dòng nào chúng ghi đè lên. Đó là phần soạn thảo dòng tích hợp của BASIC, nó không phải là một công cụ hoặc môi trường riêng biệt.
RBarryYoung

3
@RBarryYoung ] PRINT "FOO"được điều hành bởi trình thông dịch BASIC ngay lập tức. Đó là một tuyên bố. Nếu bạn muốn chạy nó sau, bạn sẽ làm ] 10 PRINT "FOO"và sau đó ] RUN. Trong môi trường AppleSoft BASIC, mọi câu lệnh BASIC có thể được chạy ngay lập tức hoặc bị trì hoãn - chỉ có một vài lệnh được cung cấp bởi DOS không phải là câu lệnh BASIC hợp lệ. Sự khác biệt giữa một tuyên bố bây giờ và một tuyên bố sau đó là số dòng. Bạn cũng có thể sửa đổi một câu lệnh bị trì hoãn bằng cách nhập lại số dòng tương ứng. Bạn cũng có thể đặt nhiều câu lệnh trên một dòng::

4
Như đã lưu ý trong bài viết Wikipedia ( en.wikipedia.org/wiki/Dartmouth_BASIC ) " DTSS (Hệ thống chia sẻ thời gian của Dartmouth) đã triển khai giao diện ... dòng lệnh tương tác sớm. ... Bất kỳ dòng nào bắt đầu bằng số dòng, đã được thêm vào chương trình, thay thế bất kỳ dòng được lưu trữ trước đó bằng cùng một số, bất kỳ thứ gì khác được coi là lệnh DTSS và được thực thi ngay lập tức. ... Phương pháp chỉnh sửa này là cần thiết do sử dụng máy in từ xa làm đơn vị đầu cuối cho hệ thống Timeshared của Dartmouth. "
RBarryYoung

50

Trên máy vi tính sớm, chỉnh sửa dựa trên dòng. Bạn không thể tự do di chuyển xung quanh trong mã nguồn và chỉnh sửa. Bạn có một dòng duy nhất ở cuối màn hình nơi bạn có thể nhập lệnh và nhập mã. Phần còn lại của màn hình là danh sách mã chỉ đọc và đầu ra lệnh. Nếu bạn muốn chỉnh sửa dòng 90 trong chương trình bạn đã viết " EDIT 90" và nội dung của dòng 90đã vào bộ đệm chỉnh sửa một dòng. Khi bạn đã chỉnh sửa dòng bạn nhấn enter và danh sách chương trình đã được cập nhật. Vì vậy, bạn cần số dòng để có thể chỉnh sửa chương trình.

Khi trình chỉnh sửa mã trở nên nâng cao hơn và cho phép bạn di chuyển con trỏ xung quanh trong danh sách mã, bạn không cần số dòng nữa.


38
Chỉnh sửa một dòng? Sang trọng! Các BASIC đầu tiên tôi sử dụng khiến bạn nhập lại toàn bộ dòng. Mà thực sự bị hút khi bạn phải đánh số lại một chương trình con.
TMN

48
Màn? Màn hình nào? Trong Cơ bản đầu tiên của tôi, "màn hình" là một cuộn giấy.
ddyer

18
@ddyer: Tôi từng mơ có một cuộn giấy! Tất cả những gì chúng tôi có là một loạt các điện cực. Vào buổi tối khi công việc được cho là hoàn thành, chúng tôi sẽ phải sắp xếp liên tiếp và quan sát ai bị điện giật, để xem chương trình có hoạt động chính xác không. ... - Nghiêm túc mà nói, tôi rất ngạc nhiên khi mọi người thực sự xoay sở để viết các chương trình làm việc trở lại trong những ngày đó.
rẽ trái

26
Điện lực! Máu xa xỉ. Chúng tôi thường đục các lệnh của chúng tôi bằng đá granit
Michael Durrant

10
@TMN & ddyer OK, cả hai bạn đều biết nơi này đang hướng tới, phải không ...? ;-D ==> Dilbert.com/strip/1992-09-08 ==> imss.xkcd.com/comics/real_programmers.png
Baard Kopperud

45

Nếu bạn đang nghĩ về phương ngữ BASIC của máy vi tính gia đình 8 bit của thập niên 80, thì những máy tính đó không có trình soạn thảo văn bản (trừ khi bạn mua một số ứng dụng xử lý văn bản). Không có cách nào để có toàn bộ mã nguồn chương trình BASIC "mở trong trình chỉnh sửa", giống như bạn sẽ có khi lập trình ngày hôm nay. Lập trình viên thậm chí sẽ không nghĩ về chương trình như một tệp mã nguồn, hoặc văn bản, thực sự.

Vấn đề mẫu

Vì vậy, giả sử bạn có một chương trình đơn giản không có số dòng trong đầu:

FOR I=1 TO 42
PRINT I
NEXT I

Bạn khởi động máy tính của bạn. Bạn có một dấu nhắc "sẵn sàng" hoặc đại loại như thế và con trỏ ngồi ở dòng tiếp theo. Điều này giống như môi trường REPL ngày nay của các ngôn ngữ kịch bản khác nhau, mặc dù không thực sự dựa trên dòng, giống như dựa trên màn hình. Vì vậy, không hoàn toàn giống như REPL của ngày hôm nay, nhưng gần gũi.

Bây giờ nếu bạn bắt đầu tham gia chương trình, bạn có thể gặp lỗi sau dòng đầu tiên, bởi vì trình thông dịch BASIC cố gắng thực thi ngay lập tức (và quên) nó, và nó không có nghĩa gì nếu không có NEXT để kết thúc vòng lặp. Đây không phải là trình soạn thảo văn bản nơi bạn chỉnh sửa văn bản, đây là nơi bạn đưa ra lệnh cho máy tính!

Giải pháp một phần

Vì vậy, bạn cần một số cách để nói, đây là dòng chương trình, lưu trữ nó! Bạn có thể có một lệnh đặc biệt hoặc chỉ là một biểu tượng cho biết rằng, đây là dòng chương trình, lưu trữ nó. Hãy tưởng tượng điều này:

#FOR I=1 TO 42
#PRINT I
#NEXT I

Ok, bây giờ trình thông dịch BASIC tưởng tượng của chúng tôi đã lưu trữ chương trình và bạn có thể chạy nó. Nhưng bây giờ bạn muốn chỉnh sửa dòng IN. Bạn làm nó như thế nào? Bạn không ở trong trình soạn thảo văn bản, bạn không thể di chuyển con trỏ đến dòng và chỉnh sửa nó. Hoặc bạn muốn thêm một dòng khác như LET COUNT=COUNT+1trong vòng lặp. Làm thế nào để bạn chỉ ra nơi dòng mới nên được chèn?

Giải pháp làm việc

Số dòng giải quyết điều này một cách rất dễ dàng, nếu khá klunky. Nếu bạn nhập một dòng chương trình với một số đã tồn tại, dòng cũ sẽ được thay thế. Bây giờ môi trường REPL dựa trên màn hình trở nên hữu ích, bởi vì bạn chỉ cần di chuyển con trỏ đến danh sách chương trình trên màn hình, chỉnh sửa dòng trên màn hình và nhấn ENTER để lưu trữ. Điều này có vẻ như bạn đang chỉnh sửa dòng, trong thực tế, bạn đang chỉnh sửa văn bản trên màn hình và sau đó thay thế toàn bộ dòng bằng dòng mới từ màn hình. Ngoài ra, chèn các dòng mới trở nên dễ dàng nếu bạn để các số không sử dụng ở giữa. Để lam sang tỏ:

10 FOR I=1 TO 42
20 PRINT I
30 NEXT I

Sau khi nhập lại dòng 20 với các thay đổi và thêm dòng mới, nó có thể là

5 LET COUNT=0
10 FOR I=1 TO 42
20 PRINT "Index", I
25 LET COUNT=COUNT+1
30 NEXT I

Nhiều vấn đề chúng tôi vừa giải quyết

Có lợi ích (hoặc lời nguyền, vì nó cho phép mã spaghetti BASIC nổi tiếng) có thể sử dụng số dòng làm cấu trúc ngôn ngữ, ít nhất là mục tiêu của các lệnh GOTOAND GOSUB. Điều này có thể được thay thế bằng nhãn, nhưng sử dụng số dòng đơn giản hơn nhiều để thực hiện trong trình thông dịch BASIC, đây vẫn là phần thưởng nhất định trong máy tính gia đình 8 bit thông thường của thập niên 80.

Quan trọng hơn, từ góc độ trải nghiệm người dùng, số dòng thực sự là một giao diện hoàn toàn dễ dàng nhưng hoàn chỉnh để chỉnh sửa mã. Chỉ cần gõ một dòng bắt đầu bằng một số để chèn mã mới. Sử dụng LIST 100-200để hiển thị các dòng 100-200. Để chỉnh sửa một dòng, liệt kê nó trên màn hình, chỉnh sửa văn bản trên màn hình và nhập lại dòng. Để xóa một dòng, chỉnh sửa nó thành trống, chỉ đơn giản là cung cấp số dòng không có gì sau nó. Một đoạn để mô tả điều này. So sánh việc cố gắng mô tả việc sử dụng các trình soạn thảo văn bản cũ như edlin của DOS, hoặc ed hoặc ex của Unix: bạn cần một đoạn (chỉ một cường điệu nhẹ) chỉ để giải thích cách người dùng có thể thoát chúng, khi bắt đầu vô tình!

Phần kết luận

Các câu trả lời khác giải thích làm thế nào số dòng đến. Tôi đang cố gắng trình bày ở đây, tại sao các số dòng vẫn tồn tại miễn là chúng làm như thế nào, chúng tiếp tục giải quyết vấn đề trong thế giới thực như thế nào: Chúng đưa ra một cách để lập trình thực tế mà không cần một trình soạn thảo thực sự, theo một cách rất đơn giản. Khi các trình soạn thảo văn bản toàn màn hình phù hợp, dễ sử dụng trở thành cách chính để chỉnh sửa mã, cả hai giới hạn phần cứng đều biến mất và khi quán tính của những người thích nghi với những điều mới được khắc phục, thì phương ngữ BASIC dựa trên số dòng khá nhanh chóng biến mất khi sử dụng, bởi vì vấn đề khả năng sử dụng cốt lõi mà họ đã giải quyết không còn là vấn đề nữa.


4
Bạn đóng đinh nó. Có một màn hình nhiều dòng thay vì chỉ in một tty hoặc một dòng giúp dễ dàng hơn, nhưng không có khái niệm tệp nguồn, nó vẫn được định hướng theo dòng.
JDługosz

Mặc dù thực tế, hệ thống là một kiến ​​trúc 8 bit không thực sự là yếu tố hạn chế. Bây giờ, thực tế là hệ thống cho biết có thể chỉ có vài kilobyte RAM và một số kilobyte ROM, và thậm chí có thể không có bộ nhớ vĩnh viễn (nếu máy ghi băng casette của bạn bị hỏng) ...
một CVn

Thật khó để tưởng tượng mã hóa mà không có trình soạn thảo văn bản
phuclv

@ LưuViênPhúc Vâng, có rất nhiều trình giả lập để chạy "hàng thật", chẳng hạn như hầu hết mọi máy tính gia đình 8 bit, hoặc MSDOS và GWBASIC của nó với dosbox. Ví dụ, bạn có thể lấy một trong nhiều trình giả lập C64 và sau đó Google tìm Hướng dẫn sử dụng của mình dưới dạng PDF :-)
hyde

1
@phuclv - Khó có thể tưởng tượng mã hóa mà không có trình soạn thảo văn bản bây giờ. Vào thời điểm đó, thật khó để tưởng tượng sự bất tiện khi phải sử dụng trình soạn thảo văn bản, lưu nó và biên dịch nó trước khi nó có thể chạy ... và đó thực sự là những gì xảy ra bên cạnh thế giới PC; Pascal và C. Cả hai ngôn ngữ được biên dịch, cả hai đều có thể chỉnh sửa tự do với trình soạn thảo văn bản, cả hai đều chắc chắn không phải là môi trường lập trình trong chính chúng (BASIC vừa là môi trường lập trình vừa là môi trường thời gian chạy). Pascal là ngôn ngữ tiếp theo của tôi, và theo nhiều cách khá tự do. Chắc chắn mạnh mẽ hơn. Nhưng theo những cách khác, một chút ít ly kỳ.
DavidO

17

Trong thời đại và thời đại khi Basic được phát triển, thiết bị I / O tốt nhất hiện có là một loại teletype. Chỉnh sửa một chương trình được thực hiện bằng cách in (trên giấy) một danh sách toàn bộ chương trình, hoặc phần thú vị của chương trình, sau đó nhập các dòng thay thế bằng số dòng.

Đó cũng là lý do tại sao việc đánh số dòng mặc định là 10, vì vậy sẽ có các số không được sử dụng giữa các dòng hiện có.


1
Trên thực tế, đầu đọc thẻ (kèm theo keypunches) và máy in dòng là thiết bị I / O tốt hơn so với thiết bị teleprinter, nhưng teleprinters rẻ hơn rất nhiều.
supercat

Đánh số dòng bằng 10 là một tiêu chuẩn thực tế, không phải là một yêu cầu khắt khe. Và nhiều BASIC đã có renlệnh '', để đánh số lại. Một điển hình gọi là ren 10, 10(ghi số lại bắt đầu từ mười, incrementing bởi mười - hành vi mặc định nếu người ta chỉ đánh máy ren. Các gotogosubthen (linenumber). Các lệnh sẽ được tự động cập nhật Nhưng điều này là chắc chắn không có sẵn trong những điều cơ bản đầu tiên Nhưng IIRC, đã có sẵn trong Apple. Integer Basic, Applesoft FP basic, TI Basic / Extended Basic, MS Basic / GW Basic, v.v.
DavidO

13

"Số dòng" có nghĩa là một vài điều khác nhau.

Trước hết, hãy nhớ rằng khái niệm "đường" không tồn tại mãi mãi. Nhiều ngôn ngữ lập trình trong thời đại này đã sử dụng thẻ đục lỗ và có số thứ tự (thường là trong một vài cột cuối cùng của thẻ) đã giúp bạn khôi phục bộ bài của mình theo đúng thứ tự nếu bạn đánh rơi nó, hoặc điều gì đó khủng khiếp đã xảy ra trong đầu đọc thẻ. Có máy móc để làm điều này tự động.

Số dòng để sử dụng làm mục tiêu của GOTObáo cáo là một khái niệm hoàn toàn khác. Trong FORTRAN IV, chúng là tùy chọn và đi trước câu lệnh (trong các cột 1-5). Ngoài việc dễ thực hiện hơn nhãn dạng tự do, còn có khái niệm về GOTO được tính toán và gán , cho phép bạn chuyển sang số dòng tùy ý. Đây là thứ mà hầu hết các ngôn ngữ lập trình hiện đại không có (mặc dù các switchcâu lệnh đã gần), nhưng là một mẹo quen thuộc đối với các lập trình viên.

BASIC có nguồn gốc từ FORTRAN, và dự định đơn giản hơn để thực hiện và hiểu, do đó, buộc mọi "dòng" phải có số dòng (cả để giải trình tự và làm mục tiêu của GOTO/ GOSUBtuyên bố) có lẽ là một quyết định thiết kế được đưa ra vì lý do đó.


2
Ah, tính toán và chỉ định gotos. Ký ức về các mảng của các biến nhãn trong PL / 1, lặp qua một mảng để tìm một kết quả khớp và sau đó sử dụng chỉ số đó khớp với chỉ mục của mảng làm chỉ số trong mảng các biến nhãn để thực hiện một goto. Hoặc Cobol thay đổi gotos. Và không sử dụng số dòng! BBC cơ bản đã có một tuyên bố renumber rất hữu ích.
Khởi động

GCC cho phép các GOTO được tính toán như một phần mở rộng (mặc dù không phải với số dòng trực tiếp) - bạn có thể làm những thứ nhưgoto array_of_labels[some_computation()];
miễn phí vào

Nhỏ: FORTRAN yêu cầu nhãn cho các mục tiêu của GOTO(hoặc ASSIGN) và số nguyên gốc aka số học aka ba chiều IF, và (hiếm khi được sử dụng) trả lại thay thế CALLvà sắp xếp các mục tiêu (có thể phân định mục tiêu) DOvà các FORMATcâu lệnh. Trên các báo cáo khác, họ là tùy chọn.
dave_thndry_085

Một số BASIC (ví dụ, Atari) thậm chí cho phép các biểu thức số tùy ý được sử dụng trong các câu lệnh GOTO. Vì vậy, với một quy ước đánh số dòng thích hợp, bạn có thể viết GOTO 1000+N*100để mô phỏng một switchcâu lệnh.
dan04

6

Tôi bắt đầu lập trình trong COBOL, sử dụng số dòng trong các cột 1-6 của mỗi dòng. Bởi vì không có IDE trong những năm 1970, mọi thứ được thực hiện thông qua thẻ đục lỗ và số dòng được sử dụng để xác định dòng nào trong nguồn ban đầu sẽ được thay thế và dòng nào mới được thêm vào. Chúng tôi đã sử dụng để tăng số dòng lên 100 để cung cấp cho chúng tôi chỗ để thêm nhiều dòng hơn.


14
COBOL đã không sử dụng các số dòng đó. Chúng hoàn toàn là một tiện ích, vì vậy khi một số học giả nghèo bỏ bộ bài của mình xuống, và thẻ đi khắp nơi, anh ta có thể tập hợp chúng lại và chạy chúng qua bộ sắp xếp thẻ để đưa chúng trở lại đúng thứ tự. Bạn KHÔNG được yêu cầu bấm số dòng vào thẻ. (Sinh viên thì không. Cửa hàng sản xuất đã làm.)
John R. Strohm 10/2/2016

5

BASIC xuất hiện muộn hơn FORTRAN, trong kỷ nguyên thiết bị đầu cuối. Nó có môi trường đọc-exe-print-loop tương tác nhiều hơn một cỗ bài.

Tôi đã học lập trình, trong BASIC, trên màn hình một dòng chứa 24 ký tự. Số dòng là một cách tự nhiên để xác định nơi bạn muốn một dòng đi, cho dù chỉnh sửa một hoặc chèn giữa những người khác.

Tôi thực sự không thể tưởng tượng bạn sẽ làm điều đó như thế nào.


2
điều này dường như không cung cấp bất cứ điều gì đáng kể qua các điểm được thực hiện và giải thích trong 4 câu trả lời trước
gnat

2
Điều đó làm cho nó xấu? Tôi nghĩ Jaques đã không thực sự đề cập đến bản chất của chỉnh sửa một dòng đối với việc chèn các dòng và theo dõi tinh thần mã.
JDługosz

1
@jameslarge Tôi có bỏ lỡ điểm đó trong đoạn bắt đầu bằng "Nhiều lần khi làm việc với BASIC ..." không? Tôi cũng ngần ngại gọi BASIC là hệ điều hành. Đó là DOS. Và DOS không cần BASIC, đó chỉ là những gì bạn có hầu hết thời gian để làm việc.

2
@Ian trong khi đó là sự thật, nó được thiết kế cho một hệ thống sử dụng teletypes cho io (Hệ thống chia sẻ thời gian của Dartmouth).
Jules

3
@MichaelT, Rất tiếc! Tôi sẽ rút lại một nửa nhận xét của mình, nhưng tôi sẽ đứng bên cạnh về BASIC là HĐH trên một số máy tính. Tôi đang nghĩ; Apple] [, TI 99/4, IBM 5100, HP 9830a, Compucolor 8001, TRS-80 Model 1, Comodore Vic20, Sinclair ZX80 và các sản phẩm khác. Tất cả đã khởi động vào BASIC từ ROM. Một số có hệ điều hành tùy chọn có thể được tải từ một casette âm thanh hoặc, từ đĩa mềm nếu bạn trả thêm $$ cho ổ đĩa mềm.
Solomon chậm

1

Một điểm chưa ai nhắc đến là người mới bắt đầu dễ dàng suy luận về luồng chương trình nơi các mục tiêu chi nhánh rõ ràng. Vì vậy, thay vì phải khớp các câu lệnh BEGIN / END (có thể lồng nhau) (hoặc bất kỳ dấu phân cách khối nào được sử dụng), thì rõ ràng là dòng điều khiển đi qua. Điều này có lẽ hữu ích với đối tượng mục tiêu của BASIC (rốt cuộc đó là Mã hướng dẫn tượng trưng cho mọi mục đích của người mới bắt đầu ).


1

Hệ thống chia sẻ thời gian Dartmouth sử dụng giao diện teletype. Do đó, nó sử dụng một giao diện dựa trên lệnh. Ban đầu, số dòng chỉ được sử dụng như một phương tiện để chỉnh sửa chương trình. Bạn có thể chèn, thay thế hoặc xóa bằng cách sử dụng số dòng. Có vẻ như phiên bản đầu không sử dụng số dòng cho câu lệnh goto, nhưng đây là phần bổ sung sau cho ngôn ngữ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.