Có ngôn ngữ nào trở nên phổ biến cho một cái gì đó ngoài mục đích của nó không?


70

Lấy kịch bản này:

  • Một lập trình viên tạo ra một ngôn ngữ để giải quyết một số vấn đề.

  • Sau đó, ông phát hành ngôn ngữ này để giúp người khác giải quyết các vấn đề như nó.

  • Một lập trình viên khác phát hiện ra nó thực sự tốt hơn nhiều đối với một số loại vấn đề khác nhau.

  • Nhờ ứng dụng mới này, ngôn ngữ sau đó trở nên phổ biến cho ứng dụng đó.

Có bất kỳ trường hợp này thực sự xảy ra?

Nói cách khác, mục đích dự định của một ngôn ngữ có liên quan gì đến cách nó thực sự được sử dụng hay liệu nó có trở nên phổ biến không? Điều quan trọng nữa là một ngôn ngữ mục đích được quảng cáo?


4
Ví dụ HTML của bạn dường như không thực sự phù hợp với những gì bạn đang tìm kiếm, các tài liệu kỹ thuật có quá khác biệt so với bất kỳ tài liệu nào khác không? Mục đích cốt lõi của HTML vẫn giống như năm 1989, để cung cấp các phương tiện dễ dàng cho các tài liệu tham chiếu lẫn nhau. IMHO HTML hoàn toàn trái ngược với những gì bạn đang thực sự tìm kiếm.
yannis

5
Xem xét danh sách dài các câu trả lời; có lẽ câu hỏi ngược lại thú vị hơn: ngôn ngữ (phổ biến) nào chỉ được sử dụng cho mục đích của nó?
Jaap

@Yannis: Điểm tốt. Đó không phải là ví dụ tốt nhất, và thực sự có thể được tranh luận theo một trong hai cách. Chỉnh sửa để loại bỏ.
Jon Purdy

@Jaap: Mình cũng nghĩ như vậy!
leonbloy

2
Tôi có thể sai trong vấn đề này nhưng tôi khá chắc chắn rằng hầu hết các ngôn ngữ không được sử dụng cho mục đích mà người tạo ra chúng dự định. Tôi nghĩ lý do lớn cho điều này là vì người ngoài không biết nó được sử dụng cho mục đích gì để giúp họ cởi mở hơn về tiềm năng của ngôn ngữ.
Kenneth

Câu trả lời:


118

Lisp . McCarthy ban đầu chỉ định Lisp trong một bài báo để chỉ ra rằng một vài ký hiệu đơn giản là đủ để xây dựng một ngôn ngữ hoàn chỉnh. Ông đã rất ngạc nhiên khi thấy rằng Lisp có thể được thực thi bằng mã máy (Steve Russel đã thực hiện trình thông dịch Lisp đầu tiên). Lisp được sử dụng rộng rãi cho lập trình AI.


70
+1, Lisp không có ý định trở thành ngôn ngữ lập trình! Tôi không nghĩ bạn có thể đứng đầu điều đó.
Kilian Foth

7
OTOH, người ta có thể lập luận rằng LISP được thiết kế để sử dụng ở ranh giới giữa lập trình và toán học, và nó vẫn ở đó.
MSalters

1
Tôi tin rằng McCarthy đã sử dụng Lisp làm ví dụ trong các lớp học của mình và dự định viết một trình biên dịch cho nó, nhưng một ngày nào đó đã đề cập đến việc mã hóa chức năng eval sẽ thực hiện một trình thông dịch nhưng tất nhiên 'không ai thực sự muốn làm điều đó'
Steven A. Lowe

Những người bạn Lisper của tôi nói với tôi rằng nó không còn được sử dụng trong AI nữa, nhưng nó vẫn có ứng dụng ở mọi nơi .
greyfade

111

Java ban đầu được dành cho lập trình hệ thống nhúng. Từ Wikipedia "Java ban đầu được thiết kế cho truyền hình tương tác" . Nhưng nó đã trở nên cực kỳ phổ biến cho ứng dụng và lập trình Web.


4
Huh. Không thể tin rằng tôi đã không nghĩ về điều này. Có thể nói đó là ví dụ kinh điển ... mặc dù điều đó không có nghĩa là tôi sẽ không ngạc nhiên.
Jon Purdy

Mặc dù, Java có thực sự được phát hành cho công việc nhúng (trước khi nhúng java, mà xuất hiện sau khi quảng cáo cho web) không?
Marcin

Yếu tố thiết kế quan trọng trong thiết kế Java là khả năng chạy mã không tin cậy.

13
câu chuyện thậm chí còn tồi tệ hơn: A) nó được dành cho các hệ thống nhúng. B) nhưng không bao giờ nhìn thấy ánh sáng cho đến khi nó có thể được nhúng vào các trang web. C) nó đã không nhận được bất kỳ sự tôn trọng nào cho đến khi được sử dụng cho các ứng dụng web 'enterprisey' và D) cuối cùng nó đã được nhúng trong nhiều HĐH điện thoại; nhưng không phải là một bộ điều khiển phần cứng, thay vào đó là một nền tảng GUI.
Javier

Đã có một dự án đưa nó vào các hộp set-top trong hơn 10 năm nay - tra cứu OCAP hoặc tru-2way
Bill K

32

Lua được thiết kế chủ yếu là ngôn ngữ cấu hình và cuối cùng đã tìm ra một phân khúc thích hợp làm ngôn ngữ kịch bản phổ biến nhất cho các trò chơi (vì nó nhỏ, nhanh, mạnh, di động, dễ dàng mở rộng và nhúng, với cú pháp thân thiện với người dùng). Trò chơi phổ biến nhất để sử dụng nó, World of Warcraft, thậm chí không thực sự sử dụng nó để cấu hình, thay vào đó sử dụng XML.


... và bây giờ với LuaJIT, nó ngày càng được sử dụng nhiều hơn trong các ứng dụng xử lý thời gian thực
Javier


@lukas: "Không thực sự" cái gì ? Lưu ý rằng tiền thân của nó, SOL và DEL, thậm chí không có luồng điều khiển, chúng hoàn toàn là ngôn ngữ cấu hình. Lua là phần mở rộng của các ngôn ngữ cấu hình để bao gồm hỗ trợ lập trình.
Bùn

"Lua được thiết kế chủ yếu như ngôn ngữ cấu hình" Tôi sẽ nói như một ngôn ngữ lập trình.
Lukasz Madon

7
Có lẽ tôi nên nói "mục đích dự định" chứ không phải "được thiết kế chủ yếu như". Các mục đích sử dụng là sử dụng Lua nơi SOL và DEL đang được sử dụng. Đây là những ngôn ngữ cấu hình mà người dùng bắt đầu yêu cầu các tính năng lập trình. Lua được tạo ra để đáp ứng nhu cầu đó. Như chính các tác giả đã tuyên bố , "Việc áp dụng rộng rãi Lua trong các trò chơi là một điều ngạc nhiên đối với chúng tôi. Chúng tôi không có sự phát triển trò chơi như là một mục tiêu cho Lua." Đó chính xác là những gì OP đang tìm kiếm, phải không?
Bùn

32

Ý định ban đầu của Larry Wall về perl là vì " ngôn ngữ kịch bản lệnh Unix có mục đích chung để giúp xử lý báo cáo dễ dàng hơn " và trang man mô tả ngôn ngữ này là:

Perl là một ngôn ngữ được giải thích được tối ưu hóa để quét các tệp văn bản tùy ý, trích xuất thông tin từ các tệp văn bản đó và in báo cáo dựa trên thông tin đó.

Và tất nhiên, trang man cũng cho chúng ta biết Perl là viết tắt của Ngôn ngữ báo cáo và trích xuất thực tế (tên thật là sai chính tả của tên gốc Pearl , đã thay đổi khi Wall phát hiện ra ngôn ngữ PEARL đã tồn tại ).

Perl đã đi một chặng đường dài kể từ đó, vì đó là ngôn ngữ mà các vị thần rèn vũ trụ .

nhập mô tả hình ảnh ở đây


23
Người ta phải sửa rằng: Người nghe rác rưởi bệnh hoạn
Richard

3
Có nhiều hơn một cách để không viết tắt! Very Perly

Bất kỳ từ viết tắt nào cho Perl thực sự là một từ viết tắt.
CanSpice

1
@DarkTemplar Cách tôi diễn giải là perl đã len lỏi vào mọi nơi. Từ những khởi đầu khiêm tốn, perl đã trở thành một ngôn ngữ web rất phổ biến, một ngôn ngữ kịch bản cực kỳ phổ biến, một ngôn ngữ đa mục đích phổ biến, cú pháp biểu thức chính quy của nó trở thành một thứ gì đó dứt khoát, sinh ra một ngôn ngữ khác (php), v.v. cũng tham khảo lisp, đó là câu trả lời được chấp nhận cho câu hỏi, vì vậy tôi nghĩ đó là một mô tả thú vị (mặc dù không chính xác) về mối quan hệ của hai ngôn ngữ (một là ngôn ngữ mơ mộng, một ngôn ngữ khác mà mọi người thực sự sử dụng).
yannis

1
@DarkTemplar Yeap. Nó nằm trong top 10 trong chỉ số TIOBE . Tất nhiên, bạn không quá coi trọng chỉ số TIOBE, nó khá tương đối và chủ quan. Nhưng vẫn là một dấu hiệu tốt về sự phổ biến ngôn ngữ.
yannis

28

Tôi đoán rằng JavaScript cũng phù hợp với câu hỏi này vì tôi không nghĩ rằng Brendan Eich, trở lại thời Netscape, đã từng tưởng tượng rằng các phiên bản LiveScript trong tương lai của mình sẽ được sử dụng để tạo ra các ứng dụng web được gọi là "ứng dụng" ngày nay.

JavaScript đã chuyển từ xác thực hình thức đơn giản và chuyển đổi hình ảnh sang một công cụ mạnh mẽ có thể cạnh tranh với các ứng dụng ngoại tuyến, cả về chức năng và vẻ đẹp.

Thật không may, mặc dù tôi nghĩ rằng nhiều người vẫn coi nó như một món đồ chơi.


31
Điều thú vị là nó đang hướng tới việc trở thành ngôn ngữ lắp ráp của web. Nói cách khác, những ngôn ngữ khác được biên soạn và thực hiện. Tôi không tin Brendan Eich mong đợi điều đó .

3
có một cái gì đó để thêm: Nó không chỉ là một ngôn ngữ kịch bản phía máy khách. Nhiều dự án như node.js hoặc tê giác sử dụng javascript làm ngôn ngữ phía máy chủ
gion_13

Chỉ tò mò, nhưng "ngôn ngữ kịch bản phía máy khách" so với "ngôn ngữ phía máy chủ" là gì?
Dark Templar

@DarkTemplar. Một ngôn ngữ kịch bản phía máy chủ được chạy trên máy chủ và đầu ra của nó được gửi đến trình duyệt. Một ngôn ngữ kịch bản phía máy khách được gửi đến trình duyệt nguyên trạng và chạy ở đó. (Tất nhiên, ngôn ngữ phía máy chủ có thể được sử dụng để xuất ngôn ngữ phía máy khách, nếu bạn muốn.) Ngôn ngữ duy nhất chạy trong hầu hết các trình duyệt là javascript.
TRiG

19

Erlang. Nó đã được phát minh từ lâu trong các phòng thí nghiệm của Ericsson để phát triển các ứng dụng điện thoại, có lẽ là cho các dòng thiết bị chuyển mạch và truy cập của họ. Bây giờ nó đã phát triển thành một ngôn ngữ năng động có mục đích chung đầy hứa hẹn với một khái niệm thú vị về sự tương tranh.

Sẽ rất thú vị nếu trong tương lai sẽ có nhiều ngôn ngữ từ thế giới viễn thông chuyển sang thế giới CNTT và phát triển từ đó, các ngôn ngữ được thiết kế ban đầu để mô hình hóa và xác minh các giao thức.


Và đó có phải là một trong những nguồn cảm hứng cho node.js không?
dodgy_coder

Đừng nghĩ rằng điều này đủ điều kiện. Lý do Erlang được phát minh ra cho điện thoại là vì họ cần một ngôn ngữ tương tranh động chung. Nó vẫn là vậy.
Alan Baljeu


14

PHP ban đầu có nghĩa là Trang chủ cá nhân , nhưng ngày nay cũng được sử dụng cho một vài ứng dụng web lớn hơn một chút.


18
Tất nhiên, người dùng PHP lớn nhất, Facebook, theo nhiều cách vẫn còn trong thị trường trang chủ cá nhân.
Jaap

3
"PHP / FI được tạo ra bởi Rasmus Lerdorf vào năm 1995, ban đầu là một tập lệnh Perl đơn giản để theo dõi truy cập vào sơ yếu lý lịch trực tuyến của anh ấy." Nó đi một chặng đường dài, em yêu.
nickf

Mặc dù PHP vẫn là ngôn ngữ Web rất nhiều, nhưng nó đã trải qua một chút đảo ngược vai trò: PHP có nghĩa là được nhúng dưới dạng các đoạn nhỏ trong HTML, trong khi nhiều dự án hiện tạo ra các chuỗi HTML trong PHP. Họ vẫn cần một <?phpthẻ ở đầu tập tin!
Warbo

14

Tôi khá chắc chắn rằng VBScript không có nghĩa là để viết phần mềm độc hại, mặc dù đó là một cách sử dụng cực kỳ phổ biến cho nó.


1
Đó là một chút khắc nghiệt không bạn nghĩ. Java và C đã có phần mềm độc hại.
Jeremy

@JChild: Đã vài năm trôi qua kể từ bình luận của bạn. Tuy nhiên, ngay cả khi đó, bảo vệ VB là một điều rất kỳ lạ.
Magus

@Magus Nó thậm chí không phải là VB. Đó là VBScript. Bạn biết đấy, các tập tin với phần mở rộng .vbs. Những cái mà bạn tự động giả định là virus khi bạn nhìn thấy chúng.
dùng16764

13

Ban đầu được thiết kế như một phương pháp làm cho mã trở nên chung chung hơn, Lập trình mẫu Meta trong C ++ được phát hiện là đã hoàn tất và cho đến ngày nay được sử dụng để cải thiện đáng kể ngôn ngữ C ++ thông qua các thư viện như boost.


8
... và khiến các lập trình viên C ++ rơi nước mắt với thời gian xây dựng quá dài ;-)
quant_dev

8
và thông báo lỗi khủng khiếp.
DeadMG

11

BASIC là một trường hợp nổi tiếng khác. Tên của nó ( Mã hướng dẫn biểu tượng đa năng cho người mới bắt đầu ) gợi ý về nguồn gốc của nó như là một ngôn ngữ của người học, nhưng nó đã phát triển khá nhiều kể từ đó.


24
heh - microsoft thay thế "người mới bắt đầu" bằng "kinh doanh" và bị hút hàng triệu người
Steven A. Lowe

11

VHDLVerilog (còn gọi là VerilogHDL) ban đầu được dự định để mô tả các thành phần và mạch kỹ thuật số. Chúng được sử dụng như một dạng tài liệu và mô phỏng hành vi của các thành phần. Sau đó, Synopsys và các công ty khác đã phát triển công nghệ có thể dịch (một tập hợp con) các mô tả này thành một danh sách các cổng, có thể lần lượt được sử dụng để sản xuất phần cứng thực.

VHDL và Verilog được gọi là Ngôn ngữ mô tả phần cứng (HDL) vì lý do lịch sử. Ngày nay chúng thực sự được sử dụng làm ngôn ngữ thiết kế phần cứng (cùng từ viết tắt).


Phát triển theo mô hình thực tế, đẹp mắt
Jaap

@Mark Có, VHDL là mạch tích hợp tốc độ rất cao, ngôn ngữ mô tả phần cứng. Verilog là một ngôn ngữ hoàn toàn khác. Verilog đôi khi còn được gọi là Verilog HDL. vi.wikipedia.org/wiki/Verilog
Philippe

2
QHDL rất giống với VHDL và được sử dụng để mô tả các mạch cho máy tính lượng tử. Tôi không thể tưởng tượng một ngôn ngữ khởi hành khá xa nguồn gốc của nó.
Đánh dấu gian hàng

@Mark Wow, đó là "QHDL" thú vị! Google cho thấy rất nhiều tiếng ồn. Bạn đã có một tài liệu tham khảo?
Philippe

1
Tôi đã tìm hiểu về nó tại phiên "Tính toán lượng tử cho lập trình viên" xuất sắc của Paul Blacks tại hội nghị ACCU 2011. Các slide của anh ấy có tại accu.org/content/conf2011/ Khăn
Mark booth

10

ML bắt đầu như một ngôn ngữ để phát triển và viết kịch bản cho một người hoạt động theo định lý. Đó là "ngôn ngữ meta" của định lý.


Ổn thỏa. Điều đáng chú ý là lý do đây là một câu trả lời hợp lệ là vì ứng dụng chính của nó hiện là trình biên dịch và các công cụ ngôn ngữ khác (ít nhất là theo như tôi biết).
Jon Purdy

6
+1, nhưng nói rằng ML trở nên "rất phổ biến" là một phần khó khăn
nikie

Có lẽ, nhưng ngoài những người dùng trực tiếp ngày nay, nó ảnh hưởng đến mọi ngôn ngữ được gõ sau nó.
Ryan Culpepper

7

C
Ban đầu nó được phát triển để sử dụng với hệ điều hành Unix. Nhưng Ngôn ngữ trở nên phổ biến ngay cả Dennis Ritchie cũng ngạc nhiên.
Trong cuốn sách nổi tiếng của ông ngôn ngữ lập trình C . Ritchie tuyên bố "nó đã lan rộng vượt xa nguồn gốc của nó là ngôn ngữ của hệ điều hành UNIX." và anh đã ngạc nhiên như thế nào khi nó trở thành ngôn ngữ phổ biến để phát triển ứng dụng.


11
Chà, ban đầu nó được thiết kế để phát triển các hệ thống và ứng dụng cấp thấp theo kiểu đa nền tảng. Nó vẫn phù hợp với các mục tiêu ban đầu của nó mặc dù mức độ phổ biến của nó, vì vậy nó không phù hợp.
Jon Purdy

3
@Jon Vâng, nó rất phù hợp, vì nó đã vượt qua mục đích của nó bằng cách trở thành cách dễ nhất để tự bắn vào chân mình.
yannis

1
@Yannis: Haha, đúng rồi. Nhưng tôi đang hỏi về những ngôn ngữ có mục đích chính thay đổi hoàn toàn, không phải những ngôn ngữ đơn giản phát triển để bao gồm nhiều mục đích hơn.
Jon Purdy

Tôi sẽ nói thêm rằng C trở nên phổ biến như một trong những ngôn ngữ chính cho các cuộc thi mã bị xáo trộn.
Peter G.

Không phải nó được thiết kế để thực hiện hệ điều hành sao?
Nikko

3

C ++ ban đầu được thiết kế như là C C với các lớp học để tạo điều kiện cho lập trình hướng đối tượng trong C ++.

Các mẫu sau đó được cung cấp trong phiên bản mới hơn để cho phép thực hiện các lớp container được gõ mạnh. Sau đó, người ta chỉ nhận thấy rằng các mẫu này thực sự tạo thành một ngôn ngữ lập trình thời gian biên dịch hoàn chỉnh Turing.

Kết quả là, nhiều ứng dụng hiện nay sử dụng C ++ không phải là ngôn ngữ lập trình hướng đối tượng mà là ngôn ngữ lập trình hướng thuật toán , chủ yếu dựa vào đa hình thời gian biên dịch và siêu lập trình.


7
Nhưng C ++ được thiết kế cho mục đích chung và được sử dụng làm ngôn ngữ cho mục đích chung.
BenjaminB

@ Ubiquité Tôi không nghĩ C ++ thực sự được thiết kế như một ngôn ngữ có mục đích chung. Hay đúng hơn, nó được thiết kế để được sử dụng cho các mục đích khác nhau (nhưng trong lập trình hệ thống cụ thể). Nhưng nó không được thiết kế để hoạt động với nhiều mô hình .
Konrad Rudolph

Trên thực tế, bản chất đa mô hình vốn có trong thiết kế của nó, đơn giản là nhờ việc đưa các tính năng OO vào C trong khi vẫn giữ được khả năng sử dụng các tính năng thủ tục hơn khi thích hợp.
Jon Purdy

@Jon OK, tôi sẽ thừa nhận điều đó. Tuy nhiên, lập trình chung và siêu lập trình mẫu không nằm trong số các tính năng này. Và ngày nay, C ++ là một trong những ngôn ngữ duy nhất (và được cho là chính) hỗ trợ các tính năng này.
Konrad Rudolph

Rất đúng. Hell, hỗ trợ cho chương trình chung và constsự hai lý do quan trọng nhất mà tôi sử dụng C ++.
Jon Purdy

2

ADA - ban đầu được thiết kế theo hợp đồng DoD cho hệ thống điện tử hàng không. Mặc dù vẫn được sử dụng trong ứng dụng đó, nhưng nó cũng phổ biến ví dụ cho kho trung gian kinh doanh thời gian thực.


5
Nó được xây dựng như một ngôn ngữ có mục đích chung. DoD muốn có một ngôn ngữ có thể sử dụng cho mọi thứ, để giảm lượng ngôn ngữ khác nhau được sử dụng.
BenjaminB

Điều đó khá vui nhộn. Ada là một ngôn ngữ được tạo ra rõ ràng với mục tiêu giảm số lượng ngôn ngữ khác nhau ngoài kia. Theo số liệu đó ("được thiết kế với một mục đích, được sử dụng cho mục đích khác") Ada nên được bình chọn lên đầu danh sách với Lisp, một ngôn ngữ chống ngôn ngữ khác.
Jared Updike

2

"mục đích dự định của một ngôn ngữ có liên quan gì đến cách nó thực sự được sử dụng hay liệu nó có trở nên phổ biến không?"

Tôi không nghĩ mục đích dự định của một ngôn ngữ có liên quan nhiều đến việc sử dụng và phổ biến thực tế của nó: Có một số ngôn ngữ tuyệt vời được thiết kế từ đầu để đổi mới, linh hoạt và linh hoạt, nhưng chưa bao giờ được sử dụng rộng rãi hoặc phổ biến ngoại trừ thị trường dọc rất chuyên biệt - ví dụ Eiffel. OTOH, Basic, Pascal, C, v.v ... thống trị cảnh quan trong nhiều năm mặc dù chúng được thiết kế ban đầu cho các mục đích cụ thể, hạn chế.

Các cân nhắc về tiếp thị / tài chính và hỗ trợ của IMO luôn đóng vai trò chính trong việc truyền bá và mở rộng một số ngôn ngữ nhất định. Ví dụ: Borland đưa ra TurboPascal và các gói, thị trường và hỗ trợ nó. MS đưa ra C # và các gói, thị trường và hỗ trợ nó. Do đó, các ngôn ngữ này trở nên phổ biến, các ngành công cụ của bên thứ ba mọc lên và ngày càng có nhiều nhà phát triển và doanh nghiệp nhảy vào nhóm.

Nhưng trong vài năm gần đây, các ngôn ngữ và công cụ mã nguồn mở đang thay đổi tính năng động và giờ đây các ngôn ngữ trở nên phổ biến dựa trên 'công đức' hơn là tiếp thị - ví dụ như Ruby, Python và Perl. Nhưng đó không phải là vì 'ý định' của các nhà phát minh nhiều như ngôn ngữ được xây dựng trong tiềm năng mở rộng và sử dụng nhanh chóng.


2

Tôi không nghĩ rằng có một ngôn ngữ phổ biến chưa được sử dụng lại từ mục đích ban đầu của nó. Ngay cả C ban đầu được viết để tạo ra một hệ điều hành di động (unix).

Bất kỳ nỗ lực nào để viết một ngôn ngữ lập trình thực sự chung chung không có mục tiêu cụ thể trong tâm trí có lẽ sẽ thất bại thảm hại do thiếu sự kiềm chế và tập trung.


postcript - có mặt khắp nơi (trong hầu hết mọi máy tính và máy in), nhưng chỉ được sử dụng để in đồ họa. Mặc dù, người ta có thể lập luận rằng nó đã được sử dụng lại khi được sử dụng trong pdf.
13ren

1

Tôi đã nghe nói Ruby được thiết kế như một ngôn ngữ để viết thơ, hóa ra bạn cũng có thể viết mã khá đẹp!

Tôi sẽ nói thẳng với bạn. Tôi muốn bạn khóc Rơi nước mắt. Để thút thít ngọt ngào. Cuốn sách này là một hướng dẫn sâu sắc cho Ruby. Điều đó có nghĩa là mã đẹp đến nỗi nước mắt phải rơi. Điều đó có nghĩa là những câu chuyện hào hùng và những sự thật ảm đạm khiến bạn thức dậy vào sáng hôm sau trong vòng tay của cuốn sách này.


2
Nghe có vẻ thú vị. Nguồn nào?
Anto

Liên kết Ruby đưa bạn đến một cuốn sách được viết để dạy Ruby một cách nghệ thuật. Câu trả lời của tôi là một trò đùa liên quan đến cuốn sách khẳng định viết Ruby giống như thơ. Trong thực tế, người ta có thể nói rằng Ruby được thiết kế để trở thành một ngôn ngữ lập trình có mục đích chung nhưng nó đã truyền cảm hứng cho (một số) mọi người xem mã Ruby là thơ.
Tinco
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.