Я выпускник факультета компьютерных наук и изучал такие языки, как C, C ++, C # и Java. Хотя у меня больше опыта с Java. Я хочу разрабатывать для Linux, и я бы предпочел разрабатывать для GNOME, я запутался в выборе между Python и Vala.
Изучив некоторую документацию по Vala на страницах GNOME Live, она кажется мне более знакомой по сравнению с Python, который синтаксически отличается от большинства языков, которые я выучил во время выпуска. Хотя кривая обучения в Вала мне кажется меньшей. Итак, какой язык выбрать для начала разработки, который лучше поддерживается в различных дистрибутивах. Рекомендуется IDE для предложенного языка.
Благодарю.
{
на:
и затем удалить все}
в некотором Java-коде, и это может начать выглядеть намного больше как Python.Ответы:
Помимо старого аргумента о том, какой язык программирования лучше, с которым я не буду разбираться (даже несмотря на то, что Python - лучшая вещь со времен нарезанного хлеба), я бы сказал, что оба одинаково хорошо подходят для написания приложений для рабочего стола Gnome.
Pygtk, привязки Python GTK, использовались для создания приложений, таких как PiTiVi , Deluge , emesene , Exaile , Jokosher и WingIDE .
Я не могу найти список приложений, написанных на Vala (хотя я знаю о Shotwell ). Но так как он очень спроектирован как язык для destkop Gnome, вы можете быть уверены, что не будете разочарованы его интеграцией GTK / GObject.
Попробуйте оба и используйте то, что вам больше нравится. Оба они являются отличными инструментами для создания приложений GTK. Вы также можете захотеть взглянуть на некоторый код Вала и некоторый код Python .
источник
Я бы порекомендовал Вала. Похоже, вы предпочитаете объектно-ориентированные языки, а Vala - объектно-ориентированный дизайн. Python также имеет возможности ООП, но они не настолько интегрированы в другие части - вот почему был создан Ruby.
Считается, что Python легче изучать и использовать, но это очень оригинальный язык со своей логикой и философией; Я думаю, что вам будет легче учить Vala, потому что он очень похож на C # и Java.
Выбор также зависит от того, какие приложения вы собираетесь писать. Python хорош для сценариев и быстрого создания прототипов, но его привязки GTK в настоящее время плохие и очень медленные. Сам язык примерно в 40 раз медленнее, чем С в различных тестах. Vala, с другой стороны, является препроцессором C, поэтому программы, написанные на нем, работают очень быстро, и он предназначен для использования в GNOME.
источник
Я бы посоветовал вам начать с Python, поскольку создавать приложения PyGTK очень просто. Эта бесплатная книга - отличный ресурс для разработки приложений Gnome с помощью Python.
Vala тоже великолепна, но вам будет удобнее с Python для начинающих.
Позже, когда вы познакомитесь с философией разработки приложений для Unix, вы сможете создавать части своего приложения на python, vala или Javascript по своему усмотрению .
Я бы сказал, начните с PyGTK (PyGI), чтобы почувствовать платформу, а затем изучите Vala и Javascript. Javascript будет ОГРОМНЫМ на рабочем столе Gnome. Я имею в виду ОГРОМНОЕ.
Привязка для GTK, теперь они одинаковы для всех приложений. Вы будете использовать те же привязки C на любом языке, используя Gobject Introspection .
источник
Python имеет много хорошей документации / книг. Для Вала я не знаю.
источник
Я бы предложил wxPython (wxWidgets) вместе с Boa Constructor или Aptana Studio 3 (PyDev). Python - фантастический язык для всех (даже для детей - см. «Змеиная драка для детей»). Кодируя в Python / wxPython, вы будете писать код, который прекрасно интегрируется с Linux, но может быть легко перенесен на Windows и OS / X.
источник
Используйте все, что вам удобнее в программировании. Если вы собираетесь пожертвовать код (то есть писать бесплатное программное обеспечение), вы можете также наслаждаться им. Как уже говорили другие, оба языка отлично подходят для развития.
источник
vala, вероятно, номер 3 (или 4, если считать gtkmm) языков с хорошими привязками GTK и документацией. он генерирует промежуточный код в c, который вы можете изменить или изучить, чтобы увидеть, как это делается, большая часть vala - это просто обертки вокруг GObject и GLib. Vala-код работает почти так же быстро, как C, и должен быть легким для любого, кто приходит из c / c # / java
источник