Làm thế nào các lập trình viên làm việc trở lại khi một máy tính rất đắt tiền, hiếm, lớn như một căn phòng?


19

Tôi cho rằng họ không thể ngồi trước máy tính cả ngày như chúng ta làm hôm nay. Vậy họ đã viết chương trình của họ như thế nào? Trên một mảnh giấy và gõ nó sau khi máy tính có sẵn? Làm thế nào mà họ làm thử nghiệm của họ?


9
Chà ... vì một điều họ thực sự đã xem lại mã của mình, trước khi gửi nó cho trình biên dịch. Không có niềm vui để mất thời gian quý giá vào dấu chấm phẩy bị bỏ lỡ.
Mchl

Câu trả lời:


36

Vào khoảng năm 1974, bạn sẽ ngồi vào một chiếc bàn tiện lợi và viết chương trình của bạn ra giấy dài. Bạn sẽ kiểm tra nó bằng cách đi qua nó trong đầu bằng dữ liệu kiểm tra. Khi bạn hài lòng rằng chương trình của bạn là chính xác, bạn sẽ đến phòng thẻ đục lỗ và sao chép chương trình của bạn vào thẻ đục lỗ, một dòng 80 ký tự cho mỗi thẻ. Bạn cũng sẽ bấm thẻ cho bất kỳ dữ liệu nào mà chương trình của bạn có thể cần. Sau đó, bạn cũng sẽ đấm một vài thẻ khó hiểu trong Ngôn ngữ kiểm soát công việc (JCL) để cho máy tính biết cách biên dịch và chạy chương trình của bạn, và thiết bị đầu vào / đầu ra nào sẽ sử dụng. Sau đó, bạn sẽ đưa thẻ của mình đến 'Cửa sổ IO', nơi bạn đưa chúng cho một nhân viên bán hàng.

Khi đến lượt của bạn, nhân viên bán hàng sẽ nạp thẻ của bạn vào phễu và nhấn nút để báo cho máy tính bắt đầu đọc chúng. Đầu ra của chương trình của bạn thường sẽ đi đến một máy in dòng hoặc máy vẽ trống. Khi chương trình của bạn đã hoàn thành, nhân viên bán hàng sẽ thu thập thẻ của bạn và đầu ra bản sao cứng của bạn và đặt chúng vào một lỗ chim bồ câu nơi bạn có thể nhặt chúng. Bạn sẽ chọn đầu ra, xem lại các kết quả và lặp lại quy trình. Nó sẽ mất bất cứ nơi nào từ 20 phút đến 24 giờ cho một chu kỳ hoàn chỉnh. Bạn có thể tưởng tượng rằng bạn không hài lòng khi bạn thấy rằng đầu ra duy nhất là một thông báo được in từ trình biên dịch cho bạn biết rằng chương trình của bạn có lỗi cú pháp.

Bạn cũng có thể có quyền truy cập vào máy tính thông qua teletype, vì vậy bạn thực sự có thể có một phiên tương tác với một máy tính từ xa. Tuy nhiên, gõ trên teletype rất đau đớn về thể chất (phím rất cứng và to), vì vậy bạn vẫn thường viết và kiểm tra chương trình của mình trên giấy trước.

Đến năm 1976, các hệ thống UNIX và máy tính mini như PDP 11-70 đã trở nên phổ biến hơn. Bạn thường làm việc trong một căn phòng có đầy đủ các thiết bị đầu cuối video với màn hình 25x80 ký tự. Chúng được kết nối với máy tính thông qua các dòng nối tiếp. Thô lỗ, nhưng không quá khác biệt khi làm việc tại một dấu nhắc lệnh ngày hôm nay. Hầu hết các biên tập viên sau đó đều khá nhảm nhí. Vi là một cải tiến đáng kinh ngạc.


7
Ngoài ra đánh số thẻ đục lỗ là một ý tưởng rất tốt cho các trường hợp như làm rơi gói thẻ.
sharptooth

2
Có một câu chuyện nổi tiếng về việc một số ông chủ đưa cho trợ lý của mình một khay thẻ đục lỗ chứa một bộ số ngẫu nhiên. Người trợ lý làm rơi khay, và thẻ đi khắp sàn. Không biết phải làm gì khác, người trợ lý nhặt các thẻ và dành vài giờ để sắp xếp chúng theo thứ tự số, điều này tất nhiên làm hỏng sự ngẫu nhiên của chúng.
Charles E. Grant

3
@Louis Rhys: Liên kết này sẽ giúp? vi.wikipedia.org/wiki/Punched_card
sharptooth

1
Những ngày xưa tươi đẹp. Khi keypunch là một tài nguyên được chia sẻ. Và chúng tôi có rất ít nhãn dán chấm đỏ, chúng tôi có thể đặt lên bộ bài của mình để cho thấy rằng đó là ưu tiên cao và sẽ được đưa vào phễu thẻ trước.
S.Lott

6
Thậm chí không quên về cách quản lý thực thi điều này. Bộ phận của bạn đã được lập hóa đơn cho thời gian trên máy tính lớn.
Ẩn danh

3

Tôi đã học lập trình trong PL / 1 năm 1975 (trên IBM 370/168 ), khi còn là một thiếu niên (tôi sinh năm 1959). Tôi có đặc quyền có một người cha làm việc tại IBM France. Ông chủ của ông, M. Dornbush, đã viết một cuốn sách (bằng tiếng Pháp) về lập trình trong PL / 1.

Vào thời điểm đó, một chương trình (được thực hiện bởi một người đang học lập trình) là một gói gồm vài trăm thẻ đục lỗ. Câu trả lời của Charles E.Grant mô tả quá trình: bạn đã viết chương trình của mình trên giấy trước và bạn đã kiểm tra nó khá cẩn thận. Sau đó, bạn đấm các thẻ (trên máy móc khóa IBM29 ) và cuối cùng bạn đặt bộ bài vào đầu đọc thẻ đục lỗ. Lưu ý rằng tại thời điểm đó các chương trình nguồn khá nhỏ (một chương trình gồm vài nghìn câu lệnh - nghĩa là các thẻ đục lỗ - là một chương trình rất lớn).

Khi còn là một thiếu niên, tôi đã bị ấn tượng bởi khả năng của trình biên dịch kiểm tra PL / 1, đặc biệt là đề xuất sửa lỗi chính tả.

Trong những năm tiếp theo, tôi chơi với một máy tính CAB / 500 cũ và một máy tính IBM / 1620 tại bảo tàng khoa học Palais de la Découverte ở Paris (cả hai máy tính đều đủ tuổi để ngồi trong bảo tàng). CAB / 500 được sản xuất vào những năm 1960 và cha tôi đã viết trình biên dịch PAF của nó (một loại ngôn ngữ BASIC) khi tôi còn là một đứa trẻ sơ sinh hoặc một đứa trẻ mới biết đi (1958-1962).

Ngày nay, tôi vẫn đang làm những thứ ( MELT ) liên quan đến trình biên dịch, và một trong số ít người có thể tuyên bố rằng ông đã thấy cha mình viết trình biên dịch!

Điều thú vị với PAF trên CAB / 500 là trình chỉnh sửa tương tác của nó (với băng tty & đục lỗ vật lý) có khả năng hoàn thành (trên từ khóa). Nó hơi giống với PC gốc của IBM, bằng cách nào đó là "máy tính cá nhân".

Điều thú vị với IBM / 1620 là bạn phải khởi động lại nó bằng cách nhập một vài chữ số trên bàn phím để tải màn hình và trình biên dịch Fortran.

Lưu ý rằng vào những năm 1950, một số máy tính thậm chí không có đầu đọc thẻ (AFAIK, nó là tùy chọn trên IBM650 & IBM7094), nhưng tôi chưa bao giờ nhìn thấy chúng.

Cũng lưu ý rằng việc truy cập vào máy tính vào giữa những năm 1970 là một đặc quyền rất lớn (vì chúng là những thiết bị đắt tiền). Có lẽ tương đương ngày nay có thể là để có quyền truy cập vào các máy sản xuất silicon hoặc sức mạnh tính toán ở quy mô trung tâm dữ liệu.


2

Nó phụ thuộc vào việc bạn muốn đi bao xa.

"Lập trình" sớm nhất đã sử dụng các thẻ đột xuất trông giống như thế này (Đó là cobol)trong đó họ đã viết ra mã của mình với rất ít sự tương tác của bất cứ thứ gì đặc biệt là điện và sau đó cho họ (khi họ thực sự có cơ hội) vào một máy tính vào tòa nhà để mã chạy một lúc và nhổ ra một bản in ra từ một hình thức nào đó . Thường thì có rất nhiều người khác muốn sử dụng cùng một máy tính, vì vậy bạn phải đợi bất cứ nơi nào trong vài ngày (nếu nó thực sự bận rộn) cho kết quả của bạn, điều đó thường sẽ không hoàn toàn vô dụng (bạn nghĩ rằng nhận được một lỗi cú pháp bây giờ có thể gây bực bội. Hãy tưởng tượng nếu bạn phải viết lại hoàn toàn một phần mã của bạn và sau đó đợi một ngày để biên dịch nó). Họ đã không phải kiểm tra đầu vào gần như nhiều, hoặc thực hiện kiểm tra khả năng sử dụng hoặc bất kỳ thử nghiệm quan trọng nào khác kể từ đó, bởi vì các máy tính quá khan hiếm, chúng '

Khi PDP và tương đương trở nên phổ biến hơn, một lập trình viên (đặc biệt là trong môi trường đại học) sẽ viết mã của họ ra giấy, và sau đó đặt thời gian với PDP để nhập mã của họ và chạy nó vài lần. Họ đã không nhận được nhiều thời gian trừ khi họ làm việc vào những giờ nhỏ của buổi sáng, vì vậy những người thức suốt đêm chỉ để lấy mã của họ để chạy là không phổ biến, và thời gian có hạn trên PDP "thật" (hoặc tương đương) dẫn đến một số nhóm xây dựng bản sao của riêng họ để có thêm một chút thời gian.


1

Tôi sẽ nói rằng trở lại trong những ngày đó, thực sự sử dụng một chương trình máy tính có thể dễ dàng hơn một chút so với viết ngày nay. Cho rằng ngày nay IDE thân thiện với người dùng hơn nhiều so với giao diện người dùng của các chương trình máy tính hồi đó, ngay cả khi chúng có các thiết bị đầu cuối nối tiếp từ xa. Hầu hết các chương trình đã sử dụng các chuỗi hoặc lệnh chính không có giấy tờ mật mã.

Trải nghiệm duy nhất của tôi với các hệ thống máy tính cổ là máy in màu Kodak 2610 Photo cũ. Nó khởi động từ TTY nối tiếp bằng đầu đọc sọc quang. Trong thời gian làm việc, tôi chỉ phải khởi động lại nó một lần sau khi thất bại.

Điều khiển lệnh được thực hiện thông qua một tt vt100 nối tiếp, nhưng tất cả cấu hình đã được lưu và khôi phục bằng cách sử dụng một tty cơ học có thể đọc và viết các sọc giấy.


-1

Tôi nhớ mẹ tôi nói với tôi rằng bà đang lập trình ở trường đại học (Circa 1969-1970) Bà nói rằng năm đầu tiên họ sử dụng thẻ đục lỗ, điều đó thật đau đớn. Năm thứ 2 họ có PDP-8, đó là một máy tính tuyệt vời và tôi nghĩ rằng họ thực sự có một thiết bị đầu cuối, hoặc ít nhất là băng giấy.

Tôi nghĩ rằng cô ấy đã làm việc trong fortran và lisp.


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.