LINUX.ORG.RU

Window/Linux выбрать Perl или Java


0

0

Нужно написать графическое приложение для Windows,
что-то похожее на простую базу данных для бухгалтеров.
В Linux делал все через Apache/mod_perl и Tomcat/Java.
На чем в Windows "попытаться" написать?
Java ставиться проще и с графикой лучше дружит, но душа к ней
не лежит...


А разве Appache и mod_perl под вендой не работают?

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

Вот если бы PerlGTK можно было поставить:
GTKsetup.exe, Perlsetup.exe ... :)
Посмотрел на ActivePerl:
- огромные объемы нужно скачать;
- со CPAN не дружит;
- денежку просят.

WinLin
() автор топика

уточни тогда, что за графическое приложение? я вобще-то про web-интерфейс подумал, потому что про Apache было..

А дальше - java с графикой дружит? Это как понять?

Если надо обычный интерфейс, попробуй что-то из OpenOffice - calc например. Там же и настольная база есть. Может она сразу все сделает.

nicebytes
()

Я понял так что надо написать GUI, не web-интерфейс. На Java/SWING такие вещи пишутся легко и быстро. Душа зря не лежит, когда поймешь прелесть SWING, душа будет довольна :)

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

если говорить об "обычном", то есть не web интерфейсе с таблицей, то таблица и нужна. Зачем java то?

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

Из того что пробовал:
- Perl лучше всех, но с Windows одни проблемы;
- Java не нравится синтаксис - System.out.println.fff.fff.ffff.fff.fff;
- Python не пробовал.
Как у него дела с переносимыми графическими библиотеками,
запуском в Windows, скоростью работы;
- Openoffice - макросы на бейсике.
Настольная база в Openoffice есть, только пользоваться ей невозможно.

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

А вот вы попробуйте, уверен, что понравится, особенно писать GUI на PyGtk:) С переносимостью проблем нет, в смысле не встречал и не слышал. Конечно, если нужен enterprise, то тут только java.

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

>но а второе решение: c# + xml база?

Имхо бред полный. Ибо тормоза жуткие и не расширяемо, SQL базу всегда можно на сервер поставить.

krum
()

PyQt/PyGTK + sqlite, с последующей возможностью выноса базы на сервер. Либо Java/Swing + HypersonicSQL, также с возможностью потом утащить базу на сервер.

На первом проще писать, второе пошустрее работает (особенно если взять java 1.6).

Опять же, нет никакой сложности в том, чтобы сделать один большой jar, который запускает сначала tomcat с твоей аппликухой на localhost, а потом - браузер, ведущий на главную страницу вебинтерфейса.

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

поясните, плз о каких жутких тормозах речь?

внутри работающей программы любой объект будет в виде DataSet в памяти, неважно откуда он взялся - что fill'ом из SQL, что Read файл XML->Deserialize.

файл в мегабайт читается и десериализуется за пару десятков мс. Я даже сжатие XML делаю при serialize/deserialize.

для небольших баз, до десятка мегабайт (или примерно до 20-30 тысяч записей) все нормально работает на пентиуме от 1 Мгц и выше.

между SQL/XML экспорт тоже не составляет проблемы.

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

А как вы сможете вынести xml базу на сервер? А не проще и быстрее тогда тот же db4o? Оверхеда будет явно меньше.

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

программно это сделать несложно (не говоря об интегрированных средах).

1) читаем / десериализуем XML в dataset 2) создаем подключение к SQL, базу и затем update().

это процедура выполняется только при загрузке-выгрузке данных и сам движок не затрагивает.

но.. я даже на web приложениях без SQL сервера обхожусь, ибо так проще и быстрее работает. раньше на Win платформе для этих целей использовал Access через ole, с .net это все выкинулось.

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

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

Хм, а чем XML лучше тогда db4o? Просто его пробовал, понравилось, всё просто и очевидно. При вашей схеме другие пользователи увидят изменения только после синхронизации, что не есть хорошо.

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

> Хм, а чем XML лучше тогда db4o?

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

> другие пользователи увидят изменения только после синхронизации

не понял ничего.
есть форма, где данные редактируются, после чего они записываются в файл. какая синхронизация?

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

> - огромные объемы нужно скачать;
> - со CPAN не дружит;
> - денежку просят.

Да как бы нет. Огромные объемы это 16 метров? Со SPAN дружит, бесплатно.

psy-janizary
()

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

Почему не Delphi? Она для таких программ и создана.
Почему именно выбор между Java и Perl? (особенно если по венду)

psy-janizary
()

Java без вопросов. Особенно с нормальной средой разработки например Intellij Idea никакой перл (да тем более под виндой!!!) и рядом не прилег. Делфи не перспективно ввиду java. А то что не нравится синтаксис, это вы зря, он гораздо более минималистичный и упорядоченный чем в перл. Java - прекрасно масштабируемый, быстрый, многопоточный язык программирования, уверенно зарекомендовавший себя в энтерпрайз-приложениях. Да, немного громоздкий, но при нормальной среде разработки это все абсолютно не важно. При правильном обращении среда будет писать за вас большую часть кода!!(Есть и обратная сторона - если вы собрались девелопить в блокноте или каком-нибудь ультра-едите, то конечно за джаву вам можно даже не браться, это практически бесполезно...) Java - кроссплатформенна, поэтому C# тоже не конкурент. Да, вот что. Если не осилите жаву, настоятельно рекомендуется все же отложить перл и взять Python. Уверяю, день потраченный на изучение не пройдет даром! Тем более питон гораздо ближе к жаве чем перл, т.ч. легче будет перелезть опять же на жаву

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

> - Java не нравится синтаксис - System.out.println.fff.fff.ffff.fff.fff;

Ужасная проблема :) Во всех нормальных IDE есть макросы, например в NetBeans пишешь "Sout", а получается строка System.outp.println(""); с курсором установленным внутри кавычек.

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

Можно сделать класс со статической функцией:

static void println(String str) { System.out.println(str); }

статически ее импортировать и везде где понадобится что-нибудь напечатать достаточно будет писать просто println("blah!");

Только непонятно, зачем в GUI приложении печатать в консоль, да еще в таком количестве что количество символов в операторе печати становится критичным параметром при выборе языка. Если это для отладки, то используй отладчики, благо во всех Java IDE они имеются, и печатать вообще ничего не придется.

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

К тому же в Java 5.0 появился статический импорт, то есть import static System.out.println; а затем уже просто вызываешь println("blabla");

А про то, что другие пользователи не сразу увидят, я имел в виду то, что если работа идёт на напрямую с SQL, то результат изменения базы будет видеон только после синхронизации текущей XML базы на компе пользователя с SQL базой.

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

> Java - кроссплатформенна, поэтому C# тоже не конкурент.

очень вам java нравицца :)

c# с java здесь несравнимо, тк есть Net/Mono где мультиязыковая поддержка. питон для Net вот популярен.

imho, .Net вполне конкурентный по кроссплатформенности с java: PC и PDA - уже немало. про Mono я пока молчу, недавно начал заниматься. но уже впечатляет.

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

А вот есть ли Моно под 16-ти процессорный сервер на AIX? Тут на форуме был разработчик, делал систему обработки изображений на Java, они выпускают коробочную версию, которая без проблем встала на ту машину. Про многоязыковость бруд полный, под java уже есть давно тот же python. Называется jython. Ещй есть JRuby. А так же Scala - насколько я понял, аналог nemerle для java. Не спорю, .net идеален для win платформы, нужно было написать простую игрушку с directx и c#, заняло 2,5 дня. Просто каждый инструмент под свою задачу, в enterprise лучше всех java, которая к тому же сейчас opensource.

krum
()

>Нужно написать графическое приложение для Windows,

>что-то похожее на простую базу данных для бухгалтеров.

Если _быстро_ и просто и чисто под Windows не для энтерпрайз,то я решал посредством Delphi(Время деньги).

Если в бухгалтерии компы будут держать джаву то можно и её, оссобенно если нужно будет сопровождать своё ПО,только это из пушки по воробьям по-моему.

Кстати открыл для себя недавно Win32::GUI в Perl(к сожалению не кроссплатформенно). Так что можно и в Perl.

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

А кто будет ЧИТАТЬ эту кодопомойку, которую за меня напишет шибко умная IDE? На фиг, на фиг жабу и всех, кто на ней быдлокодерствует.

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

Много пишу на Java, пользуюсь шибко умными IDE. Кодопомойки не видел ни разу. Что я делаю не так?

А еще я много пишу на C++. Кодопомойку на C++ вижу регулярно, причем пишется она не шибко умными IDE, а людьми.

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

> Много пишу на Java, пользуюсь шибко умными IDE. Кодопомойки не видел ни разу. Что я делаю не так?

Не обладаешь достаточным опытом/кругозором?

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

> Не обладаешь достаточным опытом/кругозором?

Программированием профессионально занимаюсь около 10 лет, за это время что только не разрабатывал - от компиляторов до приложений 3D графики, от встраиваемых систем до mission critical приложений, знаю с десяток языков программирования. Что-то мне подсказывает что опыта и кругузора у меня вполне достаточно. А чем может похвастаться тот java-фоб который выдал пассаж про "былокодеров"?

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

> Что-то мне подсказывает что опыта и кругузора у меня вполне достаточно.

Я верю, что ты крут. Но если ты не видел кривого кода на Java, то для данной темы твой кругозор недостаточен.

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

> А вот есть ли Моно под 16-ти процессорный сервер на AIX?

вообще-то я отвечал на тезис товарисча коникса: "C# не конкурент тк java кроссплатформенна".

java это java-платформа, а c# - Net платформа - возражения есть? - возражений нет. обе на WM, только уровни немного отличаются. WM javы чуть ниже по уровню.

что, может net/mono уже не кроссплатформенно?

а разница между c# и java как языками и средствами разработки на IDE вообще мизерная.

я уж молчу про java# чтоб никого наX случайно непослать :)


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

Не верю, что ты не видел кодопомойки на Java. На Java всегда любой код - write-only кодопомойка. Писать то да, легко, с умной IDE, сама все подставит, так что на многословность Java можно наплевать. Но потом читать это же, даже с умной IDE, возюкая мышакой поверх всех вызовов дабы на типы посмотреть - увольте, пусть этим быдлокодеры занимаются. Я лучше литературный код на Хаскелле почитаю.

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

Ты сможешь написать на Java не-кривой код? Например, полиморфный quicksort строчек максимум в 5, чтоб алгоритм с первого взгяда, за 5-10 секунд понять можно было.

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

> Кривой код можно написать на любом языке программирования. Java не исключение.

Разве с этим кто-то спорит? Просто у Java есть один недостаток, способствующий криости кода - невыразительнность/многословность. У других языков - свои недостатки. Но говорить "Много пишу на Java ... Кодопомойки не видел ни разу ... А еще я много пишу на C++. Кодопомойку на C++ вижу регулярно" - это, ИМХО, нечестно.

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

красота не всегда нам доступна.

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

когда приходится разбираться/искать баги в чужом (или своем хорошо забытом) коде тогда IDE с интелисенсом и прочим здорово помогает.

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

Интелисенс помогает писать. А читать поможет только моск. Мне мой моск жалко, он слишком маленький, в него столько строк кода не влезет, сколько рожают жабабыдлокодеры на каждый малейший чих.

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

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

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

>А почему именно perl? Python осваивается очень быстро, благо синтаксис просто.

Только синтаксисом и красив.

Хотя для view db вполне может подойти

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

>>Python осваивается очень быстро, благо синтаксис просто.

>Только синтаксисом и красив.

А плох чем?

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

> Но говорить "Много пишу на Java ... Кодопомойки не видел ни разу ... А еще я много пишу на C++. Кодопомойку на C++ вижу регулярно" - это, ИМХО, нечестно.

Про java говорилось применительно к коду генерируемом IDE. Если он не нравится, никто не заставляет его генерировать.

Про многословность Java не соглашусь. Тот кто говорит про многословность Java видимо никогда не видел Eiffel :) Пресловутый System.out вполне оправдан, это сделано для того чтобы легким движением руки можно было подменить поток out на любой другой. Вообще в библиотеке Java статические методы используются не часто, поэтому как правило нет необходимости писать длинные выражения.

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

Кто не считает Java многословной, тот никогда не видел Haskell. Да и даже простого Питона с list comprehensions тоже не видел наверняка.

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

>Ты сможешь написать на Java не-кривой код? Например, полиморфный quicksort строчек максимум в 5, чтоб алгоритм с первого взгяда, за 5-10 секунд понять можно было.

Возможно это один алгоритм из очень не многих, который удобно записывается на Хаскелле, не спорю. Но только не надо, пожалуйста, говорить, что хаскелл это практический (-ный) язык программирования (тут я имею в виду ту практичность и гибкость, которую дает жава). Хотя бы в тех же гуях, о коих речь шла в корневом посте.. Ну не станете же вы писать их на хаскелле, ни в жизнь не поверю. Хотя признаю, что Хаскелл прекрасный концептуальный академический язык.

>Интелисенс помогает писать. А читать поможет только моск. Мне мой моск жалко, он слишком маленький, в него столько строк кода не влезет, сколько рожают жабабыдлокодеры на каждый малейший чих.

Странная логика, мягко говоря. Сами указываете на недоразвитость своего мозка, и обвиняете в этом джава-программистов (извините, не удержался). Поверьте, Ваше мнение очень предвзято и маргинально.

>А кто будет ЧИТАТЬ эту кодопомойку, которую за меня напишет шибко умная IDE? На фиг, на фиг жабу и всех, кто на ней быдлокодерствует.

Ей богу, смешно. Сами думаю толком то не видели, о чем речь... Генерация конструкторов, геттеров и сеттеров, автокомплит (в т.ч. умный), генерация блоков. Да один только превосходный РЕФАКТОРИНГ чего стоит. Так что не смешите мои тапки и в сад!! Или может вы еще скажете что лучше уж на PHP чем на Java'е, я ничуть не удивлюсь такому раскладу )))

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

Я гуй и на Java писать не стану. Я его на XML пишу. Вот еще, использовать для гуйни языки общего назначения.

А моск у тебя тоже недоразвитый. Ну и кого моска не хватит на даже средних размеров жабскую кодопомойку. Я отказываюсь читать код, если логическая единица не помещается в 10 строк, и я правильно делаю. Потому то я и не жабакодер. Пусть пухломозглые жабакодеры кодерят за свои маленькие копеечки, меняться с ними я не стану.

И, да, кстати, мне наплевать на конструкторы, геттеры, сеттеры. Век бы их не видеть. И на быдлорефакторинг, кстати, мне тоже наплевать. Так зачем мне тогда эти ваши IDE?

И, кстати, чудак, скажи мне честно, без выпендрёжа - тебе что, реально по приколу читать код, засранный геттерами-сеттерами? Даже тот мелочный и простенький синтаксический сахар вокруг этой ботвы, который C# даёт - и тот жизнь в разы облегчает!

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

>И, да, кстати, мне наплевать на конструкторы, геттеры, сеттеры. Век бы их не видеть. И на быдлорефакторинг, кстати, мне тоже наплевать.

Довольно смелое утверждение, показывающее что в больших проектах вы толком не учавствовали

>И, кстати, чудак, скажи мне честно, без выпендрёжа - тебе что, реально по приколу читать код, засранный геттерами-сеттерами? Даже тот мелочный и простенький синтаксический сахар вокруг этой ботвы, который C# даёт - и тот жизнь в разы облегчает!

Я не считаю, что геттеры и сеттеры делают код "засранным". Это во первых инкапсуляция данных (основы ооп), а во-вторых геттеры и сеттеры лежат в основе многих вещей, без них в жаве (по крайней мере в J2EE) никуда. Это и Java-бины, и всякие EL (тот, что в JSTL), и всякие Value-objects. Так что ничего страшного в них нет, не понимаю, что вам в них так не нравится...

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