[посоветуйте язык] для несложных прог с визуальным интерфейсом

aleo2

Понадобилось написать прогу, внешне похожую на простенькую детскую игру (типа уравновесить весы навешивая грузики на разном от основы расстоянии - плюс еще некоторые дополнительные небольшие накрутки подобного же вида но отслеживающую некоторые характеристики хода (время, варианты предварительного выбора и т.п.) и предназначенную для научных исследований. Завязки на инет не нужно, завязка на винду, увы, нужна...
В принципе понимаю, что такое несложно и недорого заказать, но поскольку большой спешки нет, то решил сначала сам помучиться и вспомнить очень древние и слабые навыки программирования (более 10 назад учился на ТурбоПаскале, а прогал на ФоксПро и т.п. чтобы в дальнейшем самому делать подобные проги для текущей исследовательской необходимости
Подскажите, плз, на каком языке удобнее решить обе эти задачи, т.е. и соответствующие несложные проги делать и не слишком серьезно напрячь свои небольшие интеллектуальные запасы! Си со всеми своими плюсами пугает уже давно... Когда то пробовал (лазил по интерфейсу...) Дельфи и VBA. Может выбрать из них (и тогда какой вариант - например, VBA.net или VBA 2010) или может какой другой несложный, но хоть чуть перспективный язык?
ПС: задачи стать крутым прогером точно не стоит!

kill-still

каким образом перспективность языка повлияет на твои задачи?
З.Ы. ты наверно имеешь в виду всё-таки VB, а не VBA? Обоих в топку.
З.З.Ы. Бери шарп или делфи(только XE, а не 7-ку, бля).

Dasar

(типа уравновесить весы навешивая грузики на разном от основы расстоянии - плюс еще некоторые дополнительные небольшие накрутки подобного же вида)
графический интерфейс для задачи нужен или нет?

kill-still

ты хочешь предложить язык, который не умеет рисовать через винапи? :)

Dasar

ты хочешь предложить язык, который не умеет рисовать через винапи? :)
какие-то программы можно писать, например, на питоне, но без визуального редактора затрахаешься gui-рисовать

okis

шарп
Тоже порекомендовал бы C#.NET, если очень нравится бейсик, то можно и VB.NET.

aleo2

1) да, имел в виду Visual Basic
2) какой из этих двух языков ("шарп" и дельфи) проще и приятнее в овладении?
ПС: "перспективность" связана с тем, что не хочется учить откровенно отсталую вещь, да и вдруг задачи чуть усложнятся

aleo2

графический интерфейс для задачи нужен или нет?
мне кажется, что нужен - как для пользователя (он должен "перетаскивать мышкой" и т.п. так и для создания проги (совершенно не хотелось бы все объекты только командами прописывать)
ПС: если можно намекните, почему программисты чаще всего очень негативно относятся к Visual Basic - даже для дилетантски-прогерского уровня

Dasar

"перспективность" связана с тем, что не хочется учить откровенно отсталую вещь,
дельфи тогда вычеркивай.
либо C#, он по круче, но требует чуть большего вхождения, либо vb.net, он попроще, но требует и меньшего вхождения.
опять же для математика(технаря, физика и т.д.) лучше c#, для гуманитария лучше vb.net

Dasar

ПС: если можно намекните, почему программисты чаще всего очень негативно относятся к Visual Basic - даже для дилетантски-прогерского уровня
vb.net сделан под быстрое освоение, поэтому в нем меньше четкости, меньше логичности и т.д. что сильно мешает, когда окунаешься в язык поглубже. также это накладывает и отпечаток на стиль программирования - он тоже получается достаточно "рыхлый".

aleo2

ок, спасибо! А чем vb 2010 и vb.net отличаются? по годам вроде .нет более древний

okis

vb 2010 и vb.net отличаются?
vb 2010 — нет такого. Есть продукт компании microsoft visual studio 2010, в которой, в частности, можно программировать на vb.net. Сам язык, действительно, меняется от версии к версии студии.
Некоторые программисты не воспринимают vb серьёзно как язык программирования, т.к. он был создан для не-программистов, специально похожим на естественный язык, соответственно, не очень кратким, со специальными ограничениями (та же расстановка табов ну и какой компилятор vb.net есть, кроме микрософтовского (хотя разных бейсиков написано сотни)?
По поводу исходного вопроса: чтобы освоить основы программирования, можно воспользоваться, например, следующим сайтом (тут не про gui и не про vb).

yroslavasako

Ставь какой-нибудь Eric или PythonMonkey и осваивай связку PyQt, Python и IDE для их интеграции

Dasar

тебе нужен либо Visual Basic 2010 Express, либо Visual C# 2010 Express
брать с http://www.microsoft.com/visualstudio/en-us/products/2010-ed..., они бесплатные

Serab

опять же для математика(технаря, физика и т.д.) лучше c#, для гуманитария лучше vb.net
:crazy: ссылку на источник, пожалуйста!

Dasar

ну и какой компилятор vb.net есть, кроме микрософтовского?
mono, также как и для c#

Dasar

ссылку на источник, пожалуйста!

Serab

убогий юмор

okis

завязка на винду, увы, нужна
Что это значит, кстати? Что программа должна работать под windows, не должна работать не под windows, или что-то иное?

kill-still

дельфи тогда вычеркивай.
вот когда в 7ой яве сделают проперти и напишут свою VCl, тогда можно будет вычеркнуть.
а пока что попрошу не трогать. :)

Dasar

Что программа должна работать под windows,
скорее всего: должна работать под windows и выглядеть при этом естественно (не сильно отличаясь визуально и эргономически от других приложений)

sergey_m

завязка на винду, увы, нужна...
Пиши на Java, будешь писать на своём компе, на любимой ОС, а результат будет работать и под виндой.

Dasar

вот когда в 7ой яве сделают проперти и напишут свою VCl, тогда можно будет вычеркнуть.
а пока что попрошу не трогать. :)
я сравниваю по коммьюнити, даже если в россии сравнить rsdn.ru и delphikingdom.com, то второй лишь малая часть от rsdn. на stackoverflow delphi тоже мало.

okis

Такое возможно не только на java. Есть, по крайней мере, Mono и Qt из мейнстрима, для питона, как пишут, тоже есть gui, судя по всему, кроссплатформенный.

Dasar

Пиши на Java, будешь писать на своём компе, на любимой ОС, а результат будет работать и под виндой.
визуальщина на Java под windows - это что-то страшное

pilot

для питона, как пишут, тоже есть gui, судя по всему, кроссплатформенный
Обожемой, что же это за гуй? wxWidgets, QT или Tkinter?

kill-still

delphikingdom.com
нашёл блин, где смотреть. :)
полумёртвый сайт убогенький времён 7ой делфи.
там конечно много старой и полезной информации, но сейчас лучше пользоваться vingrad.ru или sources.ru .

sergey_m

хз, может там какие-то дополнительные телодвижения нужны.
Перед глазами пример: нужно было сделать программу, с максимальным охватом аудитории, как пользовательской, так и девелоперской, то есть чтобы пользовались люди на разных платформах, и чтобы участвовали в разработке люди с разных платформ. Сделали на Java, вроде получился вин. А программы есть пара конкурентов: на флеше, на C++ и ещё на чём-то, вроде кроссплатформенные тоже, но вина не вышло.

aleo2

скорее всего: должна работать под windows и выглядеть при этом естественно (не сильно отличаясь визуально и эргономически от других приложений)
да, точнее и не скажешь :)
так как часто упоминается Python - в чем его специфика? Джаву всегда считал заточенную под нет (или нет?)
Ну и хороший визуальный редактор обязателен - писать все руками слишком староват, да и качестве менее критично, чем затраченное время) Я так понимаю, что под си это все есть, а для питона и джавы уже спорно?

FRider

так как часто упоминается Python - в чем его специфика?
он просто охуенен :D

Dasar

Я так понимаю, что под си это все есть, а для питона и джавы уже спорно?
под c#, vb.net, дельфи есть. под все остальное: си, питон, java спорно

tokuchu

TCL/Tk или ещё Racket :grin:

tokuchu

Кстати, Flash-тролли ещё не появлялись? :)

okis

Джаву всегда считал заточенную под нет (или нет?)
java — general-purpose language. как и питон.
Я так понимаю, что под си это все есть, а для питона и джавы уже спорно?
гуи рисуется в qt designer, далее можно генерировать для него C, либо python-код. Это если использовать PyQt. В Яве известный мне ui называется swing, для него дизайнер есть в эклипсе; возможно, есть и другие.

Dasar

java — general-purpose language. как и питон.
ассемблер тоже general-purpose language. и вообще все тьюринг-полные языки эквивалентны.

okis

ему труднее обучиться, чем яве или питону, ну и прогать gui на нём труднее (это если вернуться к исходному вопросу треда).

Dasar

я к тому, что смотреть на сам язык и его general-purpose бессмысленно.
необходимо смотреть на framework-и, библиотеки, наработки, готовые приложения в той или иной нише.
например, дельфи тоже general-purpose, но серверное приложение или веб-приложение едва ли на нем получится удачное
и java - да, это в основном тяжелые серверные приложения (часто корпоративные).
gui, аплеты и т.д. - это скорее исключение

pilot

под все остальное: си, питон, java спорно
Чо-чо для питона спорно?
Отключаясь от троллинг-мода: для питона есть нативно выглядящие гуи, я лично писал лет 5 назад на wxWidgets. Есть PyQT.
Вот про визуальный редактор не скажу. Есть WingIDE, PyCharm — я про них только читал, не пользовался.
Специфика питона в том что он высокоуровневый — программы короче, синтаксис проще, мысли записывать легче. Мусора, такого как в Java, нет.

okis

и java - да, это в основном тяжелые серверные приложения (часто корпоративные)
с другой стороны, научной визуализации много написано на java.

Dasar

Чо-чо для питона спорно?
давай десяток визуальных приложений под винду на питоне

Dasar

с другой стороны, научной визуализации много написано на java.
ниша специфичная - узкая, умная и без денег

elenangel

я бы порекомендовал взять готовую игру, при необходимости допилить. Numpty Physics

yroslavasako

ассемблер тоже general-purpose language. и вообще все тьюринг-полные языки эквивалентны.
Это смотря что считать эквивалентностью. А если судить по колмогоровской сложности?

elenangel

десяток не назову, но назову, например, painter MyPaint

Dasar

Это смотря что считать эквивалентностью. А если судить по колмогоровской сложности?
это уже лучше, но появляется вопрос что измерять и на каких задачах?
можно например измерить мощность самого языка на general задачах, но это будет отличаться от мощности языка на специфических задачах.
например, до недавнего времени не смотря на то, что вообще c# лучше чем vb.net по колмогоровской сложности, на задачах стыковки с com-ом (например, с офисом) c# был хуже по тому же измерению.
или python компактнее, чем c#, но для gui: wpf+c# будет компактнее, чем python + winapi и т.д.

Dasar

так же бывает, что какие-то удачные либы здорово роняют сложность описание определенного набора задач.
в c# после появления linq упало сложность описания обработки последовательностей.
надстройки над ним: dlinq, plinq, rx уронили сложность описания получения данных с базы, распараллеливание кода и обработку событий

0000

(Python или Lua) + wxWidgets = wxPython или wxLua
Первые два скриптовые языки с минимальным уровнем вхождения, второе - библиотека для построения GUI + еще кое-что.
А всякие шарпы и прочее, по-моему из разряда: чтобы научиться ездить на велосипеде, надо научиться ездить на машине и вот сперва правила дорожного движения почитай.

evgen5555

Дельфи все равно быстрее будет - понатыкать компонент, и готово.

0000

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

Dasar

А всякие шарпы и прочее, по-моему из разряда: чтобы научиться ездить на велосипеде, надо научиться ездить на машине и вот сперва правила дорожного движения почитай.
это для того, чтобы мышкой пару кнопок перетащить?

serega1604

>визуальщина на Java под windows - это что-то страшное
из того что ты видел полторы страшных программы на Java не следует, что остальные выглядят так же.

Dasar

из того что ты видел полторы страшных программы на Java не следует, что остальные выглядят так же.
я верю, что красивую прогу можно написать хоть на аде, но речь-то не об этом..
речь о том, что будет, если большинство "характеристик" оставить по умолчанию

serega1604

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

Dasar

речь как раз о том, что для явы есть тулкиты, выглядящие нативно.
для ады тоже есть, и что?

serega1604

это значит, что если программы на аде у тебя выглядят в винде страшно это значит лишь что все остальные у тебя тоже выглядят страшно.

sergey_m

и java - да, это в основном тяжелые серверные приложения (часто корпоративные).
Это как раз то, что на ней не надо делать.

serega1604

>Это как раз то, что на ней не надо делать.
вопрос в том, на чем же ещё это делать, если не на ней?

Dasar

Это как раз то, что на ней не надо делать.
twitter же на днях радовался что они поиск на нее перенесли?...
конечно, это может больше заслуга lucene, чем самой java-ы, но все-таки

okis

Это как раз то, что на ней не надо делать.
Тем не менее делают. Solr, hadoop.

0000

это для того, чтобы мышкой пару кнопок перетащить?
Визуальный интерфейс накликать мышкой проблем нет. Проблемы начинаются, когда надо вписать что-то в обработчики и как то их связать.
Если сравнить программу на wxLua и C#, то первая будет проще. Да, возможности wxLua ограничены, зато можно быстро обучиться и быстро готовить макеты.

kill-still

луа ещё хуже чем VB по строгости. :smirk:

serega1604

>Если сравнить программу на wxLua и C#, то первая будет проще. Да, возможности wxLua ограничены, зато можно быстро обучиться и быстро готовить макеты.
а когда захочется чего-либо необычного для луа - придется либо очень глубоко разбираться, либо переписывать на другом ЯП.

kokoc88

. Да, возможности wxLua ограничены, зато можно быстро обучиться и быстро готовить макеты.
Почитай пост автора: игра для научных исследований. Вспомни, как и с какой скоростью lua работает с математикой.

Dasar

согласен с предыдущими ораторами, lua хорош как скриптинг поверх движка, когда всё сложное сбрасывается в движок, а связывание остается на долю lua, что требует двух программистов: один пилит движок под задачу на полноценном языке, а другой пилит саму задачу на lua, что явно не вариант ТС

0000

, чем плох нестрогий язык?
, а когда захочется водить машину можно пойти в автошколу.
, в первом сообщении автора темы не увидел того, что он будет проводить огромные рассчеты. Насколько я понял требуется пара формул и несколько значений. Любой язык это дело без проблем потянет.

Dasar

русское lua-коммьюнити кстати есть? да и английское кстати?

0000

, английское есть, но нафига козе боян? Это ж скриптовый язык.
С wxWidgets по докам есть проблема, да. На 2.9 (последний) не всю документацию обновили.
P.S. Я не призываю все программировать на Lua или других скриптовых языках. Я просто противник использования монстров типа Студий, когда можно воспользоваться небольшой альтернативой.

kokoc88

Насколько я понял требуется пара формул и несколько значений. Любой язык это дело без проблем потянет.
Я просил вспомнить, не только о скорости, но и как. Ты давно с математикой в lua работал, ничего странного и необычного не заметил?

Dasar

английское есть, но нафига козе боян? Это ж скриптовый язык.
от того, что он скриптовый - больше телепатии в нем не появится
чтоб было кому задавать вопросы (и на них при этом отвечали): я вот сделать вот так, а она меня не поняла, что делать?

kill-still

ну хотя бы тем, что пока оно не зайдёт в ту ветку, где ошибка типизации(если конечно зайдёт во время тестирования программистом то оно не упадёт. типизированный же просто не скомпилится даже. к тому же помимо технических нюансов приучает к плохому стилю. синтаксис у него ещё больше вырви глаз, чем у VB, или у абапа.
з.ы. а под него вообще есть отладчик-то?

serega1604

>чтоб было кому задавать вопросы (и на них при этом отвечали): я вот сделать вот так, а она меня не поняла, что делать?
есть форум, там не быстро, но отвечают.

serega1604

>а когда захочется водить машину можно пойти в автошколу.
если стоит выбор между белазом и самокатом, то можно оглядется и выбрать мопед.
я вообще к чему: мне приходилось писать и поддерживать приложения на wxLua, видимо из-за низкого порога вхождения на выходе получается ад и содомия, поэтому иногда стоит оглядеться и выбрать что-нибудь иное.

sergey_m

вопрос в том, на чем же ещё это делать, если не на ней?
На языках, где расход памяти можно контролировать.

Тем не менее делают.
Не всё, что на свете делается, оказывается удачным.

Marinavo_0507

На языках, где расход памяти можно контролировать.
Когда я последний раз смотрел, java-машине просто в параметрах указывался объём памяти

kill-still

с тех пор ничего не изменилось.
можно ещё насильственно сборщик мусора запускать.

Papazyan

На языках, где расход памяти можно контролировать.
Не, может в приложениях с огромным объемом данных джава сосет, но если нужно чего-то не сильно торопясь обрабатывать, она офигенна, благодаря куче ентерпрайз либ.

Papazyan

Я вот Apache Camel заценил, отличненько так - чтобы захуярить XML из JMS канала в стороннее приложение преобразовав его в csv для удобства, пришлось всего лишь микроскопический класс на джаве написать, остальное настройки.

FRider

тока иногда закапываешься в настройках и начинается своеобразное "программирование на хмл". Хотя может это просто моя такая личная особенность - ну не нравицо мне ботать 100500 настроек

Papazyan

К чести апача у них 90% функциональности в статьях на сайте описано.

okis

Кстати да, на secr-2010 какой-то мужик рассказывал, называя это configuration-driven development. По-моему это ерунда какая-то, а не development.

Papazyan

Почему ерунда? Так наверно говорили когда-то любители винапи тем, кто стал использовать библиотеки компонент.

kill-still

хибернейт и всё остальное тогда тоже тогда ерунда? :)

okis

То, что разработка программы сводится к написанию конфиг файлов означает, что решается стандартная задача стандартными методами. А это уже задача консультанта, а не программиста. То, что это перемешано с программированием в бизнес-технологиях — не моё изобретение.
С хибернейт аналогично, если не думать о производительности и думать в контексте хибернейт, то получится, наверное стандартное решение, иначе он только увеличивает сложность (т.к. разработчику приходится осмысливать, как абстракции хибернейт транслируются на операции субд).

kill-still

ну, в программировании довольно часто приходится решать стандартные задачи стандартными методами. и немного автоматизировать этот процесс иногда позволяет уменьшить количество рутины. хотя конечно в итоге это выливается в необходимость "много знать и уметь".

FRider

как всегда, идет поиск золотой середины. Ерунда получается, когда перегибы. Конфигдривендевелопмент - перегиб, если этим занимается разработчик и занимает существенную часть в процессе разработки. Вопрос конечно, что считать существенной.
А насчет хибернейта - он хорош, пока не с чем сравнить(говорю именно об удобстве использования, не о производительности). Или сравнить с заведомо уебищным решением типа захардкоженного скл либо датасетов от МС.
Если его сравнить с ОРМ джанги или аппенжина то он мощно посасет.

yroslavasako

Ерунда получается, когда перегибы. Конфигдривендевелопмент - перегиб, если этим занимается разработчик и занимает существенную часть в процессе разработки.
Конфиг конфигу рознь. Вот, например, xml - это +10 к мозгоёбству. А вот nginx куда более человечен. А sbt, который конфижится через DSL над скалой, вообще подарок уставшим программистам.

serega1604

>А вот nginx куда более человечен.
ничуть, точно такое же мозгоебство.

pilot

Здесь запрещено обижать nginx :mad:

rosali

js уже посоветовали? ;)

Dasar

всё в браузере?
хранение в local storage?
разворачивание через html-файл?

rosali

ага ^_^ это такой новый чарующий мир ;)
под формулировки
> для несложных прог с визуальным интерфейсом
> внешне похожую на простенькую детскую игру
прям вот идеально подходит.

Dasar

прям вот идеально подходит.
в теории - да, но на практике сейчас:
язык неудобный,
половина фич в beta (необходимых для задачи
нестыковки в различных реализациях,
не устоялась методология по разработке приложений внутри браузера,
и т.д.

Bird_V

Понадобилось написать прогу, внешне похожую на простенькую детскую игру (типа уравновесить весы навешивая грузики на разном от основы расстоянии - плюс еще некоторые дополнительные небольшие накрутки подобного же вида но отслеживающую некоторые характеристики хода (время, варианты предварительного выбора и т.п.) и предназначенную для научных исследований. Завязки на инет не нужно, завязка на винду, увы, нужна...
В принципе понимаю, что такое несложно и недорого заказать, но поскольку большой спешки нет, то решил сначала сам помучиться и вспомнить очень древние и слабые навыки программирования (более 10 назад учился на ТурбоПаскале, а прогал на ФоксПро и т.п. чтобы в дальнейшем самому делать подобные проги для текущей исследовательской необходимости
Подскажите, плз, на каком языке удобнее решить обе эти задачи, т.е. и соответствующие несложные проги делать и не слишком серьезно напрячь свои небольшие интеллектуальные запасы! Си со всеми своими плюсами пугает уже давно... Когда то пробовал (лазил по интерфейсу...) Дельфи и VBA. Может выбрать из них (и тогда какой вариант - например, VBA.net или VBA 2010) или может какой другой несложный, но хоть чуть перспективный язык?
ПС: задачи стать крутым прогером точно не стоит!
HiAsm идеально подходит для поставленной задачи.
Оставить комментарий
Имя или ник:
Комментарий: