Điều gì tạo nên một ngôn ngữ lập trình chết? [đóng cửa]


18

Hãy tưởng tượng bạn đã được bầu làm nhân viên điều hành của cơ quan quản lý của IEEE hoặc somesuch và bạn phải phát âm một ngôn ngữ lập trình là đã chết. Những dấu hiệu bạn sẽ tìm kiếm? Có ngôn ngữ zombie nào ngoài kia không biết họ đã chết?


7
Bạn định nghĩa ngôn ngữ là gì? FORTRAN I và Fortran 95 có cùng ngôn ngữ không? Lisp 1.5 và Lisp hay Scheme thường gặp? Có phải chúng ít khác nhau hơn, nói, Algol và Pascal?
David Thornley

Đó là một câu hỏi hay mà tôi không thể trả lời chính xác. Những người trả lời câu hỏi dường như hiểu nó là một ngôn ngữ nguyên tử (nghĩa là B không phải là C), vì vậy tôi sẽ hướng đến cái nhìn sâu sắc của họ.
Peter Turner

@Peter Boughton, ít nhất bạn đã có được tài liệu tham khảo Megadeth chưa?
Peter Turner

1
@Peter (không phải tôi) megadeth.com/discography.php?era_id=4 Bạn không thể có Holy Wars mà không bị trừng phạt. Bài hát khá tuyệt vời, đó thực sự là về The Punisher.
Peter Turner

1
@Peter Turner, bài hát đó cũng là về một chuyến lưu diễn Megadeth đang diễn ra ở Ireland và Murdye đã thấy một cuộc bạo loạn Tin lành / Công giáo khổng lồ. Ông nói chi tiết điều này trong cuốn tự truyện gần đây đã xuất hiện.
Jesse C. Choper

Câu trả lời:


34

Ngôn ngữ máy tính không bao giờ chết; họ chỉ chuyển từ quá mức sang sử dụng. Ai đó sẽ luôn khám phá lại một ngôn ngữ cũ và học nó, chỉ vì niềm vui của nó.

Phụ lục: Những người thích ngôn ngữ cũ đôi khi viết một ngôn ngữ mới lấy cảm hứng từ nó. Vì vậy, ngay cả khi ngôn ngữ gốc đã chết theo thuật ngữ của một số người, tinh thần của nó vẫn tiếp tục tồn tại trong hậu duệ của nó. Một số ví dụ bao gồm:

  1. B và BCPL lấy cảm hứng từ C
  2. Biểu tượng lấy cảm hứng từ SNOBOL
  3. Algol lấy cảm hứng từ quá nhiều ngôn ngữ

CÔ GÁI! Đề cập thứ hai trong bao nhiêu ngày. Chỉ mới ngày hôm qua (hoặc là hôm nay) là lần đầu tiên đề cập đến Algol mà tôi đã thấy trên bất kỳ trang web StackExchange nào , mặc dù một tìm kiếm không có nhiều.
Đánh dấu C

Đồng ý, nhưng chỉ trái ngược với lập trình viên.stackexchange.com/questions/9521/ (Câu trả lời của Mild Fuzz) bằng cách sử dụng so sánh với ngôn ngữ học. Bạn đang nói rằng trừ khi chúng ta đốt tài liệu và mã nguồn của mình, không có thứ gọi là tuyệt chủng ngôn ngữ lập trình - nhưng một ngôn ngữ phải được công bố là bánh mì nướng trước khi bạn có thể cạo sạch những thứ bị cháy ra và ăn nó.
Peter Turner

2
Ngay cả C "còn nợ một khoản nợ đáng kể đối với Algol 68", cf Dennis M. Ritchie (tháng 1 năm 1993): Các tín đồ của Algol sẽ tán thành. " . "Sự phát triển của ngôn ngữ C". cm.bell-labs.com/cm/cs/who/dmr/chist.html . Truy cập ngày 1 tháng 1 năm 2008
NevilleDNZ

2
Một ngôn ngữ có thể bị chết nếu không có phần cứng bạn có thể chạy nó (và không có trình giả lập nào có thể được viết vì không còn thông số kỹ thuật nào).
quant_dev

42

Trong ngôn ngữ học, một ngôn ngữ chết được định nghĩa là một ngôn ngữ không có người bản ngữ hoặc thông thạo. Tôi nghĩ định nghĩa này dịch khá tốt trong lĩnh vực lập trình. Ngôn ngữ lập trình chết là ngôn ngữ mà không lập trình viên nào sử dụng làm ngôn ngữ chính hoặc không có hệ thống nào hỗ trợ nguyên bản.


Không có hệ thống, bạn có nghĩa là không có máy tính được phát triển tích cực (như Hàng hóa) hoặc không có hệ điều hành được phát triển tích cực (như DOS) hoặc cả hai?
Peter Turner

Có lẽ một hệ thống không còn được hỗ trợ tích cực bởi nhà sản xuất?
Fuzz nhẹ

9
Ngôn ngữ chết là ngôn ngữ không có khả năng thay đổi. Việc thiếu một lượng đáng kể các loa thông tục là điều kiện tiên quyết cho điều đó, nhưng nói chung, cái chết thường biểu thị sự bất biến, ít nhất là theo sự hiểu biết của tôi.
Tim Post

@TimPost đó là một định nghĩa tuyệt vời. Chỉ cần nghĩ rằng tiếng Latin đã được sử dụng trong nhiều năm như ngôn ngữ chính trong khoa học sau khi nó tồn tại lâu hoặc trong thế giới ngân hàng, các máy tính lớn cũ vẫn sử dụng các chương trình được viết bằng ngôn ngữ lập trình cổ, vẫn cần được duy trì - đó là các chương trình.
Legolas

@TimPost: Tôi không nghĩ đó là trường hợp theo định nghĩa, nhưng là kết quả của ngôn ngữ không được sử dụng. Tôi sẽ không gọi một ngôn ngữ chết nếu nó được sử dụng nhưng không thay đổi, nhưng điều đó rất hiếm khi xảy ra.
Revierpost

22

Một ngôn ngữ đã chết khi không ai có thể thực hiện một dự án xanh trong đó. Giống như ngôn ngữ của con người đã chết không hoàn toàn không liên quan (vì chúng ta nghiên cứu lịch sử), ngôn ngữ lập trình chết không hoàn toàn không liên quan (vì chúng ta duy trì tất cả mã lịch sử tồi tệ đó).


2
Vậy, Tcl đã chết? Kịch bản hàng loạt đã chết? Có vẻ như tôi khá nổi tiếng, mặc dù tôi chưa bao giờ thực hiện bất kỳ điều gì mới bằng cách sử dụng ...
Billy ONeal

3
@Billy: Các tập lệnh hàng loạt rất tuyệt vời cho mã rất nhanh và bẩn mà không mất nhiều dòng, bởi vì trình thông dịch chỉ ở đó. Theo như TCL, tôi biết rất ít về nó mà tôi không thể bình luận một cách thông minh.
dsimcha

@dsimcha: Có thể là như vậy, nhưng tôi đã thấy các tập lệnh hàng loạt với hàng chục ngàn dòng. Không phải thứ gì đó tôi sẽ bắt đầu một dự án mới, nhưng chắc chắn không chết. Bắt đầu các dự án mới là một thanh quá cao để đáp ứng; hầu hết các dự án phần mềm không phải là dự án greenfield.
Billy ONeal

1
@Billy: Nhưng quan điểm của tôi là bạn sẽ bắt đầu một dự án mới với các tập lệnh bó, ngay cả khi dự án được cho là nhỏ.
dsimcha

@dsimcha: Ơ .. không, tôi sẽ không làm thế. Đọc bình luận trước của tôi một lần nữa.
Billy ONeal

5

Nếu tôi là nhân viên điều tra của IEEE, tôi sẽ tìm những dấu hiệu tương tự mà các nhà ngôn ngữ học sử dụng để xác định liệu một ngôn ngữ tự nhiên có bị chết / chết không, viz.

  1. Có bao nhiêu lập trình viên vẫn sử dụng ngôn ngữ?
  2. Độ tuổi trung bình của người dùng là bao nhiêu?
  3. Bao nhiêu phần trăm thế hệ lập trình viên trẻ nhất có được sự lưu loát với ngôn ngữ này?

Dựa trên những tiêu chí này, tôi đoán rằng COBOL là moribund. Mặc dù 220 bazilion LỘC viết bằng COBOL, theo này bài viết năm 2006 tại CW, tuổi trung bình của các lập trình viên COBOL đã có được hơn 50 bằng bây giờ. Mặc dù tôi không thể tìm thấy số liệu thống kê chính xác, nhưng tôi đoán rằng lập trình viên Java trung bình ở độ tuổi 20 của anh ấy / cô ấy, bằng cách so sánh. Những người xin lỗi của COBOL chỉ ra rằng một số LỘC 5B vẫn được viết bằng COBOL hàng năm, nhưng tôi không nghĩ đây là một biện pháp đáng tin cậy: tôi có thể viết lại 10 dòng của COBOL trong 1 dòng Perl hoặc một vài lần nhấn phím trong J-- COBOL là một ngôn ngữ khá dài dòng.


2
IBM hỗ trợ đầy đủ và phát triển môi trường COBOL.

3

Một ngôn ngữ lập trình không chết miễn là bạn có thể tìm thấy một số loại đặc tả của nó, từ đó bạn có thể tạo một trình biên dịch hoặc trình thông dịch có thể chạy các chương trình trên máy tính làm việc.


2
Nhưng còn chất lượng cuộc sống thì sao?
JeffO

5
trong ngôn ngữ học, những gì bạn đang mô tả là một ngôn ngữ tuyệt chủng, một ngôn ngữ không thể phục hồi vì chúng ta không còn đủ thông tin để học lại nó. Một ngôn ngữ chết không quá nghiêm trọng.
Fuzz nhẹ

2
  • Gần đây có bao nhiêu cuốn sách đã được xuất bản về ngôn ngữ này?
  • Có bao nhiêu cuộc trò chuyện (IRC, e-mail, blog) đã được tạo ra về ngôn ngữ này gần đây?
  • Có bao nhiêu lập trình viên tự nhận mình là người bản xứ của ngôn ngữ này?

Như ai đó đã chỉ ra, luôn có một giáo phái, kể cả các nhà sử học hay những kẻ điên rồ, sẽ ra ngoài và nghiên cứu các ngôn ngữ chết cho địa ngục của nó. Ngôn ngữ chết dễ dàng hơn để tìm thấy bằng cách nâng thanh này.


Trường hợp ở điểm Delphi, trong đó tôi là người bản địa. Nó có một số cuộc trò chuyện tích cực và rất nhiều cuộc trò chuyện lịch sử, nhưng vẫn có liên quan. Nó đã tuân thủ, bạn có thể đưa ra đánh giá của riêng bạn về sự mỉa mai. Nhưng những cuốn sách bị mất tích một cách tò mò trên lối đi tome dày đặc ở Barnes và Noble giữa C và Erlang. Họ tồn tại, Tiến sĩ Bob và Marco Cantu vẫn đang thực hành thủ công của họ, nhưng việc phân phối sách dường như chủ yếu theo định hướng web và quy ước.
Peter Turner

2
Delphi chưa bao giờ có nhiều sách, thậm chí trở lại khi nó rất nổi tiếng.
GrandmasterB

1

Ý kiến ​​người dân xác định sự chết chóc

  1. Người đàn ông bước vào một khu vực công nghệ cao, táo bạo mới.
  2. Con người bắt đầu nói về các tính năng thú vị trong COBOL.
  3. Mọi người bắt đầu lùi lại, cho bạn một bến rộng hơn và rộng hơn.
  4. Mọi người đang cười nhạo
  5. Con người biết rằng COBOL có vẻ khá chết hả?

ps Tôi bị cám dỗ sử dụng 'phụ nữ' hoặc người 'thay vì đàn ông nhưng tôi không muốn ám chỉ rằng giới tính [nữ] có liên quan đến nó, đã bị cám dỗ sử dụng' người 'nhưng nghe có vẻ kỳ lạ với lịch sử "đàn ông" của chúng tôi bước vào một quán bar "kiểu đùa. Dù sao thì, ít nhất là tôi đang nghĩ về những thứ đó.


1

Đối với tôi, có một sự khác biệt cho dù một ủy ban đã quyết định một cái gì đó đã chết hay một cái gì đó đã chết đối với tôi.

Ví dụ, Forth per se đã chết đối với tôi: không có nhiều dự án Forth hiện tại tôi có thể học hỏi, không có nhiều danh sách gửi thư hoặc diễn đàn mà tôi có thể yêu cầu trợ giúp và không có quá nhiều thư viện.

Mặt khác, ngôn ngữ giống Forth, Factor dường như sống động hơn rất nhiều. Tôi sẽ không gọi nó là chết mặc dù nó không tối nghĩa hơn Forth.

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.