А вот антихоливар
Aug. 6th, 2009 01:51 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
ру-жаба:
В рамках проекта по сбору информации с метеорологических сенсоров, пишу софт. Каждую из метеорологических станций планируется оснастить локальным сервером, который будет прослушивать COMы и считывать то, что есть сказать тому или иному прибору. Локальный сервер будет накапливать наблюдение и пересылать его центральному серверу. Центральный сервер - JBoss, локальные - самописные
чудаки додумались реализовать сетевой стэк сервера на жабе, за что и отгребают уже который месяц :)
В первом случае меня немного парит то, что удаленные метеорологические станции используют жабоприложение. Понимаю, что это чисто от моего незнания жабы и от того, что я такого рода приложения всегда стараюсь делать как можно менее модульными и менее зависимыми от чего-бы то ни было, потому что проблем типа "что-то не работает на компе находящемся за 1000 км" хватит и так, дополнительные проблемы "а не сломалось ли чего в настройках JRE" не нужны.
А вот во втором мне кажется, что народ банально накосячил с архитектурой, потому как я не верю, что от языка тут что-то глобально зависит. Ну не считая принципиальных ограничений типа "прогу на дельфи на мосчном юникс сервере не запустишь" и "нету реализации виртуальной машины для такой платформы".
Т.е. вообще говоря, выбор языка это в большинстве случаев вопрос из разряда "есть ли у нас на нем вменяемые программисты". А выбирают обычно из каких-то сектантских соображений.
В рамках проекта по сбору информации с метеорологических сенсоров, пишу софт. Каждую из метеорологических станций планируется оснастить локальным сервером, который будет прослушивать COMы и считывать то, что есть сказать тому или иному прибору. Локальный сервер будет накапливать наблюдение и пересылать его центральному серверу. Центральный сервер - JBoss, локальные - самописные
чудаки додумались реализовать сетевой стэк сервера на жабе, за что и отгребают уже который месяц :)
В первом случае меня немного парит то, что удаленные метеорологические станции используют жабоприложение. Понимаю, что это чисто от моего незнания жабы и от того, что я такого рода приложения всегда стараюсь делать как можно менее модульными и менее зависимыми от чего-бы то ни было, потому что проблем типа "что-то не работает на компе находящемся за 1000 км" хватит и так, дополнительные проблемы "а не сломалось ли чего в настройках JRE" не нужны.
А вот во втором мне кажется, что народ банально накосячил с архитектурой, потому как я не верю, что от языка тут что-то глобально зависит. Ну не считая принципиальных ограничений типа "прогу на дельфи на мосчном юникс сервере не запустишь" и "нету реализации виртуальной машины для такой платформы".
Т.е. вообще говоря, выбор языка это в большинстве случаев вопрос из разряда "есть ли у нас на нем вменяемые программисты". А выбирают обычно из каких-то сектантских соображений.
no subject
Date: 2009-08-06 11:10 am (UTC)no subject
Date: 2009-08-06 11:21 am (UTC)Но простые разработки давно закончились.
Сейчас нормальный проект - гуй, БД, сервер, сервис сбора данных, веб-морда и еще с десяток вспомогательных утилит. И вспомогательные системы - автообновление, бэкапы, проверка кошерности сети.
И это еще простой проект. В сложном еще три разных веб-сервиса, две сторонних проги, прикрученные через COM и веб-сервисы, каждая тоже с БД и веб-сервисами, три вида гуев, взаимодействие с HID-устройствами и доступ по GPRS с j2me-проги на сотовом телефоне :)
no subject
Date: 2009-08-06 11:42 am (UTC)no subject
Date: 2009-08-06 11:44 am (UTC)А что за настройки, которые могут сломаться?
Единственные, что я знаю -- в реестре "актуальная" версия. Помнится, поставил я себе 4 JDK/JRE одновременно и пытался колупать -- тогда да, сломалось. Само собой ничего не случалось нигде.
no subject
Date: 2009-08-06 11:47 am (UTC)no subject
Date: 2009-08-06 11:52 am (UTC)no subject
Date: 2009-08-06 07:41 pm (UTC)Хотя если иметь в виду вредителей -- то да.
no subject
Date: 2009-08-06 11:54 am (UTC)no subject
Date: 2009-08-06 12:04 pm (UTC)Я вот обжегшись на молоке, дую на воду - если есть вероятность, что психи притащат прогу и она поставит свою JRE, поломав мою, или там мою будет нельзя поставить из-за того что у психов нарушится гарантия на какой-нибудь написанный неадекватами на жабе клиент-банк - ну его впень, я лучше независимую ни от чего прогу сделаю.
no subject
Date: 2009-08-06 12:10 pm (UTC)no subject
Date: 2009-08-06 12:25 pm (UTC)Это тоже не всегда просто. Т.е. в винде еще довольно просто, а вот в юниксах - то ядро не то, то libc не тот, то еще куча пакетов не той версии. С Java может быть даже проще обеспечить запускабельность.
no subject
Date: 2009-08-06 02:53 pm (UTC)no subject
Date: 2009-08-06 04:47 pm (UTC)Имеем на клиентах nt4. Хотим заменить гнидогондоидный ichat на что-нибудь работающее и надёжное. Что? -- очевидно, жаббер. Сисадмин заебался вусмерть, пока нашёл неглючный и понятный юзерам клиент, умеющий nt4. Это оказался какой-то древний билд миранды, следующие работать не хотят или недостаточно публично выложены.
И буквально сегодня наблюдал, как наш сисадмин ебётся вовсю: если на nt4 не поставить office xp, то не будет правильно работать локаль в миранде (будет слать сообщения не в той кодировке), а если вместо ie5 стоит ie6, то смайлики становятся не анимированными.
Хуй его знает, как в юниксах, но тут диагностировать такое _конструктивными_ средствами -- ну практически нереально. В юниксах с открытым ядром, дебажными версиями библиотек и каким-нибудь strace/ltrace/gdb -- можно подойти к вопросу конструктивно. (предполагаю, что неконструктивные меры вида "потрясти бубном" одинаковы как под юниксами, так и под виндой, и предполагаю, что при сравнимой сложности конструктивные меры лучше неконструктивных)
no subject
Date: 2009-08-06 04:54 pm (UTC)Я даже за деньги это делать не стану, зачем мне тратить недели на сидение в windbg и вылавливание зависимостей от баговых версий comctl32 какого-нибудь, если за это время я сделаю 10 фич для клиентов с нормальными ОС и получу гораздо больше результата.
И под юниксом то же самое никто делать не станет на самом деле - скажут "у вас ядро устарело, идите нахер".
Но при надобности и под виндой дебаг доступен.
no subject
Date: 2009-08-06 07:48 pm (UTC)Это примерно как линукс ядро 2.0.14.
> В юниксах с открытым ядром, дебажными версиями библиотек
Как правило, открыто ядро не в юниксах, а в линуксах. Юниксы наоборот, после 1990 сорцы не дают.
И не вижу разницы между дебажными версиями от MSDN и Ubuntu.
no subject
Date: 2009-08-07 04:24 am (UTC)дебажная версия от msdn не включает в себя исходники ядра/библиотек.
no subject
Date: 2009-08-06 12:12 pm (UTC)Да иногда банально зависит от компилятора, не то что от языка. Я однажды был немало удивлен, сменив в одном проекте компилятор - платформа причем клон x86, все на plain C, никаких SSE и прочей экзотики - и получив разницу в производительности на четыре порядка. Причем это была чистая случайность - ну вот, просто на определенном куске кода у gcc рвало крышу и он генерил бред. Так что никогда не угадаешь - можно сделать все правильно и наступить на какие-нибудь идиотские грабли, а можно написать TCP/IP на питоне и он будет даже приемлемо работать. Just because. Это, конечно, не повод писать TCP/IP на питоне :)
no subject
Date: 2009-08-06 02:41 pm (UTC)no subject
Date: 2009-08-06 02:42 pm (UTC)