LINUX.ORG.RU
ФорумTalks

Какой ЯП выбрать?


0

0

В связи с появлением немного свободного времени требуется помощь в сабже.
Колеблюсь между python, Ruby, erlang. Условия:

  • вызов из этого ЯП функций c++ (Qt) и наоборот. (То есть, чтоб я смог, например, из проекта на Qt, вызвать процедуру или, например, унаследовать класс изучаемого языка).(Про PyQt знаю.)
  • Каковы примерны скорости работы Python vs Ruby vs Erlang vs c++ на однопоточных/многопоточных числодробилках.?
  • Каковы IDE Вы используете для этих языков? (emacs не предлагать)


зы.Знаю C, C++, Qt, с#.

★★★★

Последнее исправление: ymuv (всего исправлений: 2)

>вызов из этого ЯП функций c++ (Qt) и наоборот.

Про PyQt знаю.


Объясни смысл.

Python vs Ruby vs Erlang


Вот тут как напишешь, с такой скоростью работать и будет.

mopsene ★★★
()
Ответ на: комментарий от mopsene

>Объясни смысл.
Есть проект, например, на Qt. Есть написанная на python/Ruby/erlang процедура. Чтоб с проекта можно было вызвать это процедуру. То есть, чтоб использовать файлы python/Ruby/erlang как заголовочные.
//типа#include <pythonprocedure>....int some_func(int a){ return pyython_proc(a);}
//или #include <pythonclass> class my:public PythClass{...};
Наоборот также, но проект написан на python/Ruby/erlang и вызывает с/с++ процедуры.

Вот тут как напишешь, с такой скоростью работать и будет.

При условии что одинаковый, различается только особенностями языка.

ymuv ★★★★
() автор топика

> python, Ruby, erlang
Для практического использования --- 1-ый, вроде, самый адекватный из трех.

emacs не предлагать

Ну, тогда, мне кажется, выбор очевиден =)

kermzyxer
()
Ответ на: комментарий от kermzyxer

>Ну, тогда, мне кажется, выбор очевиден =)
vim?
Тоже не предлагать. Я пока в бсд понял как там отредактировать файл, как закрыть, а только потом как сохранить, я бы скорее управился с >, >> и grep, чтоб установить nano. (про ее я тогда не знал)

ymuv ★★★★
() автор топика

и наоборот

Тебе этого не нужно. На с или с++ пишешь критичные к производительности вещи, все остальное на любом динамическом клее.

baverman ★★★
()
Ответ на: комментарий от ymuv

> Я пока в бсд понял как там отредактировать файл, как закрыть, а только потом как сохранить, я бы скорее управился с >, >> и grep, чтоб установить nano.
Гы =) Так может, стоило разобраться? Тутор прочитать --- 15мин максимум.

kermzyxer
()
Ответ на: комментарий от kermzyxer

Так я читал тутор, чтоб сделать это.

ymuv ★★★★
() автор топика
Ответ на: комментарий от baverman

Мне например, удобно создать проект Qt, форму (или несколько), написать обработчик при нажатии на клавишу (Go to slot->On clicked()). В PyQt4 это нужно делать вручную, что не всегда удобно, если кнопок больше 2 (ИМХО).

ymuv ★★★★
() автор топика
Ответ на: комментарий от ymuv

В PyQt4 это нужно делать вручную

Насколько вручную? С pyqt не знаком. Просто есть грань, когда писать обработчик на с++ тяжелее, чем руками связать слот с сигналом на питоне. Мне кажется, она пересекается достаточно часто и легко.

Но соглашусь, это несколько напрягает, поэтому для pygtk сделал интеграцию в своем редакторе — можно одним нажатием вставить метод, который будет привязан к сигналу, описанному в glade-файле.

Наверняка подобная штука есть в qt-ориентированных средах, например eric.

baverman ★★★
()
Ответ на: комментарий от baverman

Просмотрев книгу, я понял что там можно либо создавать форму вручную, то есть кодом, или импортировать *.ui файл, который преобразовывается в *.py файл. А дальше уже ручками, делать привязку слота к сигналу. (Возможно не до конца дочитал).

ymuv ★★★★
() автор топика
Ответ на: комментарий от ymuv

Просмотрев книгу

Очень негодный вариант, когда дело доходит до инфраструктурных заморочек. Лучше поспрашай местных pyqtистов, кто как автоматизирует эту проблему — добавь новую тему в Development.

baverman ★★★
()
Ответ на: комментарий от baverman

Если до обеда не ответят, напишу в девелопмент.

ymuv ★★★★
() автор топика

Python. Eclipse (если уж не емакс).

buddhist ★★★★★
()

Python. Pycharm/PyDev (если не emacs)

nCdy
()

Ну так и используй то, что знаешь. Либо то, что более удобно.

Для числодробилок Python и Ruby точно не лучшие, я бы посоветовал C или C++ для однопоточных и CUDA или OpenCL для многопоточных.

IDE - emacs :) Если он не нравится - vim :) Можно Eclipse или Netbeans, но их редактору по удобству далеко и до вима, и до емакса, зато он - как все традиционные IDE.

Deleted
()

Только Монти Пайтон

с его летающим цирком.

Bad_ptr ★★★★★
()

К эрлангу есть только дополнение для эклипса, но оно чудовищно глюкавое и недопиленое. Все три непосредственно не подходят для числодробления (особенно эрланг), но для питона есть расширения. У эрланга с гуями всё совсем плохо (технолгия напрямую негуевая, чо), а у питона с qt все гораздо лучше, чем у руби. Вывод - питон.

stevejobs ★★★★☆
()
Ответ на: комментарий от ymuv

>Есть проект, например, на Qt. Есть написанная на python/Ruby/erlang процедура. Чтоб с проекта можно было вызвать это процедуру.

Qross?

Deleted
()

вызов из этого ЯП функций c++ (Qt) и наоборот.

Тут тебе никто не помощник. Даже из C++ функции C++ вызываются через раз, при большом везении.

Miguel ★★★★★
()
Ответ на: комментарий от ymuv

Задачи нет, сейчас цель: выучить язык, хотя бы на среднем уровне.

Так кто мешает выучить несколько?

Miguel ★★★★★
()
Ответ на: комментарий от ymuv

В PyQt4 это нужно делать вручную, что не всегда удобно, если кнопок больше 2 (ИМХО).

Ты просто ниасилил pyqt. Как ни странно, для pyqt формы тоже можно готовить в дизайнере.

Reset ★★★★★
()
Ответ на: комментарий от Reset

Про формы в дизайнере я знаю. Но можно ли сделать как в Qt-Creator. По кнопке->go to slot, создается метод, уже привязанный к сигналу. А, насколько я понял, в PyQt привязку нужно делать руками. Или я ошибаюсь?

ymuv ★★★★
() автор топика
Ответ на: комментарий от ymuv

Для стандартных виджетов соединение слота с сигналом можно делать в дизайнере. Для нестандартных писать руками connect.

Reset ★★★★★
()
Ответ на: комментарий от ymuv

В дизайнере выбираешь объект, который должен послать сигнал и соединяешь его с объектом, который должен принять сигнал. Соответствующий connect возникает в .ui файле, далее код можно сгенерить как для c++ так и для питона.

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.