Хотите начать разработку для Ubuntu (и большинства дистрибутивов Linux в целом), что подходит? Питон или Вала? [закрыто]


14

Я выпускник факультета компьютерных наук и изучал такие языки, как C, C ++, C # и Java. Хотя у меня больше опыта с Java. Я хочу разрабатывать для Linux, и я бы предпочел разрабатывать для GNOME, я запутался в выборе между Python и Vala.

Изучив некоторую документацию по Vala на страницах GNOME Live, она кажется мне более знакомой по сравнению с Python, который синтаксически отличается от большинства языков, которые я выучил во время выпуска. Хотя кривая обучения в Вала мне кажется меньшей. Итак, какой язык выбрать для начала разработки, который лучше поддерживается в различных дистрибутивах. Рекомендуется IDE для предложенного языка.

Благодарю.


1
Что-то еще никто в этой теме не предложил: вы должны изучать Python, потому что он отличается от того, что вы уже знаете. Это откроет вам другой способ мышления, чем тот, который вы изучали при программировании назначений классов исключительно на C-подобных языках. Кроме того , синтаксис не что отличается. Попробуйте заменить {на :и затем удалить все }в некотором Java-коде, и это может начать выглядеть намного больше как Python.
Райан К. Томпсон,

Ответы:


18

Помимо старого аргумента о том, какой язык программирования лучше, с которым я не буду разбираться (даже несмотря на то, что Python - лучшая вещь со времен нарезанного хлеба), я бы сказал, что оба одинаково хорошо подходят для написания приложений для рабочего стола Gnome.

Pygtk, привязки Python GTK, использовались для создания приложений, таких как PiTiVi , Deluge , emesene , Exaile , Jokosher и WingIDE .

Я не могу найти список приложений, написанных на Vala (хотя я знаю о Shotwell ). Но так как он очень спроектирован как язык для destkop Gnome, вы можете быть уверены, что не будете разочарованы его интеграцией GTK / GObject.

Попробуйте оба и используйте то, что вам больше нравится. Оба они являются отличными инструментами для создания приложений GTK. Вы также можете захотеть взглянуть на некоторый код Вала и некоторый код Python .


6

Я бы порекомендовал Вала. Похоже, вы предпочитаете объектно-ориентированные языки, а Vala - объектно-ориентированный дизайн. Python также имеет возможности ООП, но они не настолько интегрированы в другие части - вот почему был создан Ruby.

Считается, что Python легче изучать и использовать, но это очень оригинальный язык со своей логикой и философией; Я думаю, что вам будет легче учить Vala, потому что он очень похож на C # и Java.

Выбор также зависит от того, какие приложения вы собираетесь писать. Python хорош для сценариев и быстрого создания прототипов, но его привязки GTK в настоящее время плохие и очень медленные. Сам язык примерно в 40 раз медленнее, чем С в различных тестах. Vala, с другой стороны, является препроцессором C, поэтому программы, написанные на нем, работают очень быстро, и он предназначен для использования в GNOME.


1
Что плохого в привязках GTK для Python? Кроме того, я не думаю, что Ruby был создан как реакция на Python! Кроме того, я согласен с вашим ответом.
dv3500ea

Интерпретируемые языки, конечно, медленнее, что является компромиссом дизайна. Чтобы написать быстрый код Python, вы пишете работающую реализацию Python, профилируете части, которые нуждаются в оптимизации, и пишете модули Python для этих частей на скомпилированном языке, таком как C.
Egil

@ dv3500ea: на самом деле, « я хотел язык сценариев, который был бы более мощным, чем Perl, и более объектно-ориентированным, чем Python». Не то чтобы я с этим согласен, я не понимаю, как ООП не интегрируется с Python.
Андре Парамес

1
Хотя сам Python медленный, его скорость вряд ли имеет значение в большинстве случаев. Очень медленная часть графического интерфейса - это графика, которая до сих пор полностью соответствует C.
Брендан Лонг,

5

Я бы посоветовал вам начать с Python, поскольку создавать приложения PyGTK очень просто. Эта бесплатная книга - отличный ресурс для разработки приложений Gnome с помощью Python.

Vala тоже великолепна, но вам будет удобнее с Python для начинающих.

Позже, когда вы познакомитесь с философией разработки приложений для Unix, вы сможете создавать части своего приложения на python, vala или Javascript по своему усмотрению .

Я бы сказал, начните с PyGTK (PyGI), чтобы почувствовать платформу, а затем изучите Vala и Javascript. Javascript будет ОГРОМНЫМ на рабочем столе Gnome. Я имею в виду ОГРОМНОЕ.

Привязка для GTK, теперь они одинаковы для всех приложений. Вы будете использовать те же привязки C на любом языке, используя Gobject Introspection .


Я с нетерпением жду, чтобы JavaScript захватил Gnome или любую рабочую среду (что у него уже есть, оставив огромное впечатление на Gnome Shell).
Кушал

1

Python имеет много хорошей документации / книг. Для Вала я не знаю.


0

Я бы предложил wxPython (wxWidgets) вместе с Boa Constructor или Aptana Studio 3 (PyDev). Python - фантастический язык для всех (даже для детей - см. «Змеиная драка для детей»). Кодируя в Python / wxPython, вы будете писать код, который прекрасно интегрируется с Linux, но может быть легко перенесен на Windows и OS / X.


0

Используйте все, что вам удобнее в программировании. Если вы собираетесь пожертвовать код (то есть писать бесплатное программное обеспечение), вы можете также наслаждаться им. Как уже говорили другие, оба языка отлично подходят для развития.


Очевидно, что написание свободного программного обеспечения - это то, что изменит все навсегда. :-)
Кушал

0

vala, вероятно, номер 3 (или 4, если считать gtkmm) языков с хорошими привязками GTK и документацией. он генерирует промежуточный код в c, который вы можете изменить или изучить, чтобы увидеть, как это делается, большая часть vala - это просто обертки вокруг GObject и GLib. Vala-код работает почти так же быстро, как C, и должен быть легким для любого, кто приходит из c / c # / java

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.