Muốn bắt đầu phát triển cho Ubuntu (và hầu hết các bản phân phối Linux nói chung), điều này có phù hợp không? Con trăn hay Vala? [đóng cửa]


14

Tôi tốt nghiệp ngành khoa học máy tính và học các ngôn ngữ như C, C ++, C # và Java. Mặc dù tôi có nhiều kinh nghiệm hơn với Java. Tôi muốn phát triển cho Linux và tôi muốn phát triển cho Gnome, tôi bối rối giữa việc chọn một từ Python và Vala.

Sau khi xem qua một số tài liệu về Vala trên các trang của Gnome, tôi thấy nó quen thuộc hơn so với Python, về mặt cú pháp hoàn toàn khác so với hầu hết các ngôn ngữ tôi đã học trong khi tốt nghiệp. Trong khi học đường cong ở Vala dường như nhỏ hơn đối với tôi. Vì vậy, ngôn ngữ nào tôi nên chọn để bắt đầu phát triển, có hỗ trợ tốt hơn trong nhiều bản phân phối. Một IDE được đề xuất cho ngôn ngữ được đề xuất sẽ được đánh giá cao.

Cảm ơn.


1
Một cái gì đó không ai khác trong chủ đề này đã đề xuất: bạn nên học Python vì nó khác với những gì bạn đã biết. Nó sẽ đưa bạn đến một lối suy nghĩ khác với những gì bạn đã học khi lập trình bài tập lớp chỉ dành riêng cho các ngôn ngữ giống như C. Ngoài ra, cú pháp không phải là điều đó khác nhau. Hãy thử thay thế {bằng :và sau đó xóa tất cả }trong một số mã Java và nó có thể bắt đầu trông giống Python hơn rất nhiều.
Ryan C. Thompson

Câu trả lời:


18

Khác với lập luận cũ về ngôn ngữ lập trình nào tốt hơn, ngôn ngữ mà tôi sẽ không tham gia (mặc dù Python là thứ tuyệt vời nhất kể từ bánh mì cắt lát), tôi nói cả hai đều phù hợp như nhau để viết Ứng dụng cho máy tính để bàn Gnome.

Pygtk, các ràng buộc GTK của Python, đã được sử dụng để tạo các ứng dụng như PiTiVi , Deluge , emesene , Exaile , JokosherWingIDE .

Tôi không thể tìm thấy danh sách các ứng dụng được viết bằng Vala (mặc dù tôi biết về Shotwell ). Nhưng vì nó được thiết kế rất nhiều để trở thành ngôn ngữ cho định mệnh Gnome, nên bạn có thể chắc chắn rằng mình sẽ không thất vọng vì tích hợp GTK / GObject của nó.

Hãy thử cả hai và sử dụng những gì bạn thích nhất. Cả hai đều là công cụ tuyệt vời để tạo Ứng dụng GTK. Bạn cũng có thể muốn xem một số mã Valamột số mã Python .


6

Tôi muốn giới thiệu Vala. Bạn dường như thích các ngôn ngữ hướng đối tượng và Vala là hướng đối tượng theo thiết kế. Python cũng có các khả năng OOP, nhưng chúng không được tích hợp vào các phần khác - đó là lý do Ruby được tạo ra.

Python được coi là dễ học và dễ sử dụng hơn, nhưng đó là một ngôn ngữ rất nguyên bản, với logic và triết lý riêng; Tôi nghĩ Vala sẽ dễ học với bạn hơn vì nó rất giống với C # và Java.

Sự lựa chọn cũng phụ thuộc vào ứng dụng bạn sẽ viết. Python tốt cho việc tạo kịch bản và tạo mẫu nhanh, nhưng các ràng buộc GTK của nó hiện kém và rất chậm. Bản thân ngôn ngữ này chậm hơn khoảng 40 lần so với C trong các điểm chuẩn khác nhau. Mặt khác, Vala là một bộ tiền xử lý C, vì vậy các chương trình được viết trong đó chạy rất nhanh và được thiết kế để sử dụng trong Gnome.


1
Điều gì 'nghèo' về các ràng buộc GTK cho Python? Ngoài ra, tôi không nghĩ Ruby được tạo ra như một phản ứng với Python! Ngoài ra, tôi đồng ý với câu trả lời của bạn.
dv3500ea

Các ngôn ngữ được giải thích tất nhiên là chậm hơn, đó là một sự đánh đổi trong thiết kế. Để viết mã python nhanh, bạn viết một triển khai python đang hoạt động, lập hồ sơ các phần cần tối ưu hóa và viết các mô-đun python cho các phần đó bằng ngôn ngữ được biên dịch như C.
Egil

@ dv3500ea: thực sự, " Tôi muốn một ngôn ngữ kịch bản mạnh hơn Perl và hướng đối tượng hơn Python. " Không phải tôi nhất thiết phải đồng ý, tôi không thấy OOP được tích hợp với Python như thế nào.
André Paramés

1
Trong khi bản thân Python chậm, tốc độ của nó hầu như không quan trọng trong hầu hết các trường hợp. Phần thực sự chậm của GUI sẽ chuyển sang đồ họa thực tế, vẫn là tất cả C.
Brendan Long

5

Tôi sẽ đề nghị bạn bắt đầu với Python vì việc tạo ứng dụng PyGTK thực sự dễ dàng. Cuốn sách miễn phí này là một tài nguyên tuyệt vời để phát triển ứng dụng Gnome với Python.

Vala cũng rất tuyệt nhưng bạn sẽ thấy thoải mái hơn với Python khi mới bắt đầu.

Sau này, khi bạn đã làm quen với triết lý phát triển ứng dụng Unix, bạn có thể tạo các phần của ứng dụng bằng python hoặc vala hoặc Javascript khi bạn cảm thấy cần thiết.

Tôi muốn nói, hãy bắt đầu với PyGTK (PyGI) để có được cảm giác về nền tảng và sau đó học Vala và Javascript. Javascript sẽ rất LỚN trên máy tính để bàn Gnome. Ý tôi là LỚN.

Các ràng buộc cho GTK, chúng giống nhau cho tất cả các ứng dụng bây giờ. Bạn sẽ sử dụng các ràng buộc C giống nhau từ bất kỳ ngôn ngữ nào bằng cách sử dụng Intjectpection .


Tôi đang mong đợi JavaScript chiếm lấy Gnome hoặc bất kỳ môi trường máy tính để bàn nào (mà nó đã có bằng cách để lại ấn tượng lớn cho Gnome Shell).
Kushal

1

Python có rất nhiều tài liệu / sách hay. Đối với Vala tôi không biết.


0

Tôi muốn đề xuất wxPython (wxWidgets) cùng với Boa Con constructor hoặc Aptana Studio 3 (PyDev). Python là một ngôn ngữ tuyệt vời cho bất cứ ai sử dụng (ngay cả trẻ em - xem "Snake Wrangling for Kids"). Bằng cách mã hóa bằng Python / wxPython, bạn sẽ viết mã tích hợp đẹp với Linux nhưng cũng có thể được chuyển với nỗ lực tầm thường qua Windows và OS / X.


0

Sử dụng bất cứ điều gì bạn thấy thoải mái nhất khi lập trình. Nếu bạn sẽ quyên góp mã (tức là viết phần mềm miễn phí), bạn cũng có thể thích nó. Như những người khác đã nói, cả hai ngôn ngữ đều tuyệt vời để phát triển.


Rõ ràng viết phần mềm miễn phí là điều sẽ thay đổi mọi thứ mãi mãi. :-)
Kushal

0

vala có lẽ là số 3 (hoặc 4 nếu bạn đếm gtkmm) ngôn ngữ có tài liệu và ràng buộc GTK tốt. nó tạo ra mã trung gian trong c, mà bạn có thể thay đổi hoặc nghiên cứu để xem nó đã được thực hiện như thế nào, hầu hết vala chỉ là các hàm bao quanh GObject và GLib. Mã Vala chạy gần như nhanh như C và nên dễ dàng từ bất kỳ ai đến từ c / c # / java

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.