Бажаючи розпочати розробку для Ubuntu (і більшості дистрибутивів Linux взагалі), який підходить? Пітон чи Вала? [зачинено]


14

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

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

Спасибі.


1
Щось ще ніхто в цій темі не запропонував: ви повинні вивчити Python, оскільки він відрізняється від того, що ви вже знаєте. Це підведе вас до іншого способу мислення, ніж того, що ви дізналися при програмуванні завдань класу виключно на мовах, подібних до С. Крім того , синтаксис НЕ що відрізняється. Спробуйте замінити {з :подальшим видаленням всіх }в деяких Java - коду, і він може почати виглядати набагато більше схоже на Python.
Райан К. Томпсон,

Відповіді:


18

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

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

Не можу знайти список програм, написаних у Валі (хоча я знаю про Шотвелл ). Але оскільки він дуже розроблений як мова для Gnome destkop, ви можете бути впевнені, що вас не розчарує його інтеграція GTK / GObject.

Спробуйте їх обидва і використовуйте те, що вам найбільше подобається. Вони обидва чудові інструменти для створення додатків GTK. Ви також можете ознайомитися з деяким кодом Vala та деяким кодом Python .


6

Я б рекомендував Валу. Ви, здається, віддаєте перевагу об'єктно-орієнтованим мовам, а Вала - об'єктно-орієнтований дизайн. Python також має можливості OOP, але вони не так інтегровані в інші частини - саме тому Ruby був створений.

Python вважається легшим у вивченні та використанні, але це дуже оригінальна мова, зі своєю логікою та філософією; Я думаю, що Валі буде легше навчитися тобі, оскільки це дуже схоже на C # та Java.

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


1
Що "поганого" щодо прив'язки GTK для Python? Крім того, я не думаю, що Рубі був створений як реакція на Python! Крім того, я згоден з вашою відповіддю.
dv3500ea

Інтерпретовані мови, звичайно, повільніші, тобто компромісний дизайн. Щоб писати швидкий код python, ви пишете робочу реалізацію python, профілюєте частини, які потребують оптимізації, і пишете модулі python для цієї частини на мові, складеній на зразок C.
Egil

@ dv3500ea: власне, " я хотів, щоб мова сценаріїв була потужнішою за Perl і більш орієнтована на об'єкти, ніж Python ". Не те, що я обов'язково погоджуюся, я не бачу, як OOP не інтегрується з Python.
Андре Парамеш

1
Хоча сам Python повільний, у більшості випадків його швидкість навряд чи має значення. Дійсно повільна частина графічного інтерфейсу переходить до фактичної графіки, яка все ще є C.
Брендан Лонг

5

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

Вала теж чудова, але вам буде зручніше з початківцями Python.

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

Я б сказав, почніть з PyGTK (PyGI), щоб відчути платформу, а потім вивчіть Vala та Javascript. Javascript стане ВЕЛИЧЕЗНИМ на робочому столі Gnome. Я маю на увазі ВЕЛИЧЕЗНА.

Прив’язка для GTK, вони однакові для всіх програм зараз. За допомогою Introspection Gobject ви будете використовувати однакові прив'язки C з будь-якої мови .


Я з нетерпінням чекаю, щоб 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.