2010-04-09 45 views
5

Tôi đã tìm kiếm một chút cho một ngôn ngữ độc lập khác nền tảng như Java.
Có P.I khác không. ngôn ngữ?Ngôn ngữ lập trình nền tảng

Cảm ơn

+0

Mọi ngôn ngữ kịch bản phải độc lập với nền tảng. –

+2

@Martijn Chúc mừng bạn bắt đầu quá trẻ. Chúc bạn mọi điều tốt đẹp nhất. –

+0

@Christy: Cảm ơn bạn! Tôi đã lập trình được ba năm rồi. –

Trả lời

14

Nền tảng độc lập không phải là thuật ngữ được xác định hoàn toàn tốt. Nó có thể có nghĩa là những thứ khác nhau cho những người khác nhau. Ví dụ, một số người đã nói rằng C là PI, những người khác sẽ nói rằng nó không phải là. Đôi khi, mọi người gặp rất nhiều rắc rối để làm cho mã C hoạt động với cấu hình (1) để nó có thể biên dịch trên nhiều nền tảng khác nhau. Điều đó có nghĩa rằng người ta có thể viết nền tảng độc lập-C, nhưng không phải tất cả C là nền tảng độc lập?

Có lẽ Java (+ phần mềm khác chạy trên JVM) được coi là PI vì chúng xác định nền tảng và nó tùy thuộc vào các máy khác nhau để triển khai nền tảng đó. Nhưng chúng không phải lúc nào cũng làm đúng - ví dụ, một số JVM (đặc biệt là những cái đầu) có lỗi mà những người khác (trên các nền tảng khác) không có. Và tất nhiên bạn có thể viết java không thuần túy liên kết đến mã nguồn gốc - chắc chắn không phải nền tảng độc lập.

Một số câu trả lời đã gợi ý rằng ngôn ngữ kịch bản là nền tảng độc lập. Nói với những người viết javascript và muốn nó hoạt động trên IE6, IE7, FF, Chrome, Safari, v.v.

Vì vậy, bạn thực sự muốn nói nhiều hơn về ý nghĩa của "Nền tảng độc lập" hoặc tại sao bạn hỏi.

+1

Đúng. Nền tảng độc lập không có gì để làm với ngôn ngữ chính nó, nhưng ** triển khai ** của nó. Thực hiện bất kỳ ngôn ngữ nào "không độc lập với nền tảng" và triển khai ngôn ngữ đó trên mọi nền tảng trên thế giới. Nó bây giờ là nền tảng độc lập. – Pacerier

+0

Java không thuần khiết? Cái gì thế? – Ungeheuer

2

Ruby, Lisp, Scheme, Scala, Clojure, Python, Perl, PHP, C# (thông qua Mono) ...

Thành thực mà nói, danh sách này có thể tiếp tục tăng trưởng. Sẽ dễ dàng hơn để thu hẹp định nghĩa của bạn về nền tảng độc lập hoặc yêu cầu ngôn ngữ phụ thuộc vào nền tảng nào.

2

Có thể dễ dàng hơn trong việc liệt kê các ngôn ngữ phụ thuộc vào nền tảng.

+0

Không thực sự, vì các ngôn ngữ được hỗ trợ kém phổ biến hơn ... XD – YoYoYonnY

3

Phụ thuộc vào những gì bạn có ý nghĩa với nền tảng độc lập:

  • compileable trên bất kỳ nền tảng với các mã nguồn giống nhau: Hầu như bất kỳ ngôn ngữ
  • Sao chép trên một nền tảng khác nhau và chạy immedatly: Mọi ngôn ngữ Scripting và Java và. NET cho các nền tảng có khung (JRE và .NET/mono).
+1

-1 vì: a) hầu như mọi ngôn ngữ sẽ biên dịch trên nền tảng bất kỳ với cùng mã nguồn? bạn đang dùa? b) Mono không thực hiện đầy đủ .NET (vì .NET chứa các tính năng đặc trưng của Windows như System.Windows.Forms) nên nó gây nhầm lẫn để mô tả nó như là một giải pháp .NET đa nền tảng. Nếu bạn đã nói C# (ngôn ngữ) thay vì .NET (nền tảng) bạn sẽ ổn ... – mikera

2

Perl, php, scheme, lisp, LOLCODE. Hầu hết các ngôn ngữ diễn giải đều thực sự.

1

Java là nền tảng độc lập vì nó chạy trên Máy ảo Java (jvm). Có những ngôn ngữ khác chạy trên jvm, tất cả chúng đều là PI. Scala là một ví dụ.

0

Gần như mọi ngôn ngữ đều có nền tảng độc lập, nhờ vào các nhà cung cấp hoặc cộng đồng.

C/C++ (Tăng, QT, v.v.), C#/Java, Vala, Python/Ruby/Perl, PHP, v.v., tất cả các ngôn ngữ này là nền tảng độc lập, khác biệt duy nhất là một số được biên dịch lại nền tảng theo dõi, một số nền tảng đang chạy trên một khuôn khổ và những người khác là ngôn ngữ diễn giải.

1

Có rất nhiều p.i. ngôn ngữ. Bạn muốn đạt được những gì? Chỉ muốn học một ngôn ngữ khác? Hay bạn có một dự án cụ thể trong tâm trí?

Một số ví dụ:
C/C++, C#, Java, Ruby, Python, Perl, PHP, Scheme, Lisp

Một số liên kết hữu ích:
http://en.wikipedia.org/wiki/Lists_of_programming_languages
http://en.wikipedia.org/wiki/Comparison_of_programming_languages_(basic_instructions)
http://en.wikipedia.org/wiki/Comparison_of_programming_languages

0

Khá nhiều ngôn ngữ có thể là PI nếu ai đó viết một lớp để nó chạy trên đó tóm tắt phần cứng cơ bản.

Ngược lại, mỗi nền tảng yêu cầu người nào đó viết một lớp như vậy trước khi ngôn ngữ 'PI' có thể chạy trên đó.

1

Nếu bạn muốn trình biên dịch thành mã độc lập (như Java VM cho ngôn ngữ Java), bạn có thể tìm CIL/MSIL (cho C# và khác .Net) và LLVM (máy ảo cấp thấp). có thể tìm trình biên dịch cho C và Haskell).

1

Đề xuất của tôi là Scala. Bạn có thể sử dụng tất cả các API Java trên JVM và bạn có một ngôn ngữ súc tích, mạnh mẽ hơn và súc tích hơn.

+0

+1 cho Scala. Ngoài ra Clojure, Groovy là các ngôn ngữ JVM di động tuyệt vời – mikera

Các vấn đề liên quan