Сергей-4030: Все сообщения за 6 Октября 2006 года

 
ПнВтСрЧтПтСбВс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Сергей-4030

исключающий третье
★★
Инициативность законодателей потрясает. Вот тут читать. У нас контора на ушах стоит. :( Самое противное, в Java 1.3 этот баг фиксить не собираются, хотя и декларировали в приведенной ссылке. 1.3.1_18 - нет фикса, вот так вот, не верь глазам своим. А на 1.4 мы переходить сейчас не можем. Жопа. У вас там ничего подобного не планируется?
 

Сергей-4030

исключающий третье
★★
foogoo> По сравнению с проблемой 2038-го на UNIX, это мелочи :)

Да, но до 2038 года еще есть время, а вот до марта следующего года времени уже нет. :(
 

Сергей-4030

исключающий третье
★★
Татарин> Так вот, на правах эксперта :) авторитетно заявляю: какие же мелочи Вас волнуют!

Мелочи? Ну, что сказать, вот сейчас посмотрел размер текущего бранча, папка SRC - 81 мегабайт чистоджавовского кода. Причем могу вас уверить - весьма качественного. Так что... того... этого... мы б смогли написать обработку DST, чессло. ;) Проблема тут вовсе не в сложности/простоте написания обработки DST. Проблема в том, что JVM не поддерживает. А в системе, кроме нашего кода, много кода третьих производителей, который сплошь и рядом без исходников (т.е. влиять на проблему можно только сменой JVM) - а если и в исходниках, то это не очень просто - делать изменения такого масштаба. Да и в нашей - переписывать "календарную" арифметику - утомишься, ибо одна из главнейших функция нашего софта - расписания, учет времени.

PS Просто перебилдить систему - занимает минут сорок. Базы данных пользователей - многогигабайтные. Есть проблемы, уверяю вас. ;)
 

Сергей-4030

исключающий третье
★★
foogoo>>> По сравнению с проблемой 2038-го на UNIX, это мелочи :)
Сергей-4030>> Да, но до 2038 года еще есть время, а вот до марта следующего года времени уже нет. :(
foogoo> Любая проблема 20XX - источник дополнительного заработка для программиста и возможность выбить больше денег из заказчика. Почему тебя это расстраивает? :)

Я не на контракте. Чем меньше проблем, тем спокойней моей заднице.
 

Сергей-4030

исключающий третье
★★
DaddyM> По сравнению с тем что в какойто там весии Джавы вдруг кончилась лицензия - это все полная фигня. А как в свое время разводили на использование Джавы и то и се и халява и переносимость и эффективность - в итоге практически все оказалось враньем.

??? Что именно оказалось враньем?! Переносимость? Что значит - вранье? Даже перекомпилировать не надо - все работает. Переносимости С до переносимости Джавы - как до Китая ползком, по сравнению с Джавой Си совершенно не переносим. Не говоря уж о том, что он совершенно непереносим - в смысле, ужасен. ;) Эффективность? Да того же Балансера спросите.

ЗЫ Или за Джаву деньги берут? Помилуйте - и JRE бесплатно, и J2EE и сервера приложений бесплатные есть. Извините, никакого вранья.
 

Сергей-4030

исключающий третье
★★
foogoo> Ещё у Индии симпатичная временная зона, в пику колониалистскому Гринвичу :D

Плевать на все зоны. Правила нужны. Пусть хоть каждый день переносят DST, но по правилам.
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> ??? Что именно оказалось враньем?! Переносимость? Что значит - вранье? Даже перекомпилировать не надо - все работает.
DaddyM> Угу, если программа совместима с реализацией VM, а уж про третьи фирмы я молчу.

Чего? Программа должна быть "совместима" с байт-кодом, ничего больше. Если вы где-то видели некачественную JVM - ну и что? Что из этого следует?

Сергей-4030>> Переносимости С до переносимости Джавы - как до Китая ползком, по сравнению с Джавой Си совершенно не переносим. Не говоря уж о том, что он совершенно непереносим - в смысле, ужасен. ;)
DaddyM> Это ты его готовить не умеешь :) Скорее всего на Си и правда проще написать плохопереносимую программу, но образцовые дистрибутивы ставятся вообще без единой правки на достаточно экзотические вещи.

Да худо-бедно пописывал на С и С++ лет этак шесть, в том числе - коробочные игрушки. Видал. ;) "Образцовые дистрибутивы" - это какие? Вот мой маленький домашний серверок (фото и всякие такие вещи) без одного исправления, прямо в байт-коде хоть под Windows выполняется, хоть под Linux. А вы так умеете на С? ;)

Сергей-4030>> Эффективность? Да того же Балансера спросите.
DaddyM> Угу - и при запуске каждый раз ждать пока проверятся и перезагрузятся пакеджи третьих фирм.

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

Сергей-4030>> ЗЫ Или за Джаву деньги берут? Помилуйте - и JRE бесплатно, и J2EE и сервера приложений бесплатные есть. Извините, никакого вранья.
DaddyM> А сколько денег к примеру нам стоило объяснить паре миллионов пользователей что хрустальный тампакс в полночь превратился в тыкву? Причем это серверный софт.

Не въехал, слишком сложно. Что вы хотите сказать?

PS Помнится, Балансер замечательный пример приводил - сервер, написанный на Java, живет, а попытки переделать на C++ (не писать с листа, заметьте, а только портировать) - упираются в кирдык. Кроме того, вы хотите спорить с тем, что фактический стандарт на сервера приложений - это Java? Пользуется буквально везде и всюду, любыми сколько-нибудь серьезными фирмами. А вот С++ - занял почетное место ассемблера.
 

Сергей-4030

исключающий третье
★★
foogoo> Я ещё ни разу не "держал в руках" хорошей джавской программы, а смотреть как у писюка память кончается со скоростью звука, особенно под каким-нибудь КолдФьюжином, это просто ножом по сердцу...

Ну, посмотрите хотя бы на Эклипс. ;) А если пройдетесь по middle-tier, то вы там как раз "неджавских" программ если и увидите, то только в виде большого исключения.
 

Сергей-4030

исключающий третье
★★
Татарин>>> Так вот, на правах эксперта :) авторитетно заявляю: какие же мелочи Вас волнуют!
Сергей-4030>> Мелочи?
Татарин> Мелочи.
Татарин> Представьте все ТО ЖЕ САМОЕ, но с учетом Бразилии с Родезией и на весь период от 1936-го по 2006-й год. :)
Татарин> Кстати, даже забавно, что американцы напоролись на свой же пупоцентризм. Время смены дат - какая фигня, казалось бы... ;) :D

Вы, извините, съезжаете на почве антиамериканизма. ;) Еще раз - проблема НЕ имплементировать библиотеку поддержки. Чтобы вам было понятнее (уж извините, но придется так) - допустим, в операционку встроена функция умножения длинных чисел. Эта функция используется в вашей программе в трех тысячах мест (ну, не догадались вы написать обертку для этого действия, не думали, что будет меняться). В вашей программе также используются чужие бинарные библиотеки (к ним исходных кодов вовсе нет/разбираться с ними муторно), которые тоже используют эту функцию ОС. И вот - постановлением правительства длинное умножение теперь по-другому считается. Поставщик ОС делает апдейт только следующей версии (с которой ваша программа не тестировалась как надо). Понимаете теперь?

PS Вы точно "на правах эксперта"? ;) Вы можете себе представить, что это - 81 мегабайт только кода? Согласитесь, ваш проект, для которого вы писали, был несколько скромнее. ;)
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> Чего? Программа должна быть "совместима" с байт-кодом, ничего больше. Если вы где-то видели некачественную JVM - ну и что? Что из этого следует?
DaddyM> Чем тебе байткоды помогут рулить аппаратурой то или системой?

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

Сергей-4030>> Да худо-бедно пописывал на С и С++ лет этак шесть, в том числе - коробочные игрушки. Видал. ;) "Образцовые дистрибутивы" - это какие? Вот мой маленький домашний серверок (фото и всякие такие вещи) без одного исправления, прямо в байт-коде хоть под Windows выполняется, хоть под Linux. А вы так умеете на С? ;)
DaddyM> Ну я так умею на OCaml, вещи немного более компактной и быстрой так раза в два,три :)

Не вдаваясь в holywars (а там тоже есть что сказать против OCaml), замечу, что присутствие на рынке разработки OCaml'а, по большому счету, не видать и не слыхать. А Java - практически весь разрабатываемый сейчас middle-tier.

Сергей-4030>> Не въехал, слишком сложно. Что вы хотите сказать?
DaddyM> многа букв... :) То что в один прекрасный момент несколько миллионов работающих программ работать отказались.

В какой именно момент? Не помню. :(

Сергей-4030>> PS Помнится, Балансер замечательный пример приводил - сервер, написанный на Java, живет, а попытки переделать на C++ (не писать с листа, заметьте, а только портировать) - упираются в кирдык. Кроме того, вы хотите спорить с тем, что фактический стандарт на сервера приложений - это Java? Пользуется буквально везде и всюду, любыми сколько-нибудь серьезными фирмами. А вот С++ - занял почетное место ассемблера.
DaddyM> Да упаси боже спорить с рынком - это как ... против ветра :) Кстати C++ очень долго был вообще нихрена не переносимый, это так. И основная претензия к Джаве как языку у меня именно ее похожесть на ++. Но это я ретроград :)

Ээээ, в конце концов синтаксис - дело десятое. OK, не десятое, первое. Но это первое место он делит с платформой и существующими решениями под Джава (прежде всего J2EE).
 

Сергей-4030

исключающий третье
★★
Кстати, про быстроту OCaml - факты, пожалуйста, в студию. ;) Прямо так-таки на любых задачах в 2-3 раза? А то знаете, ассемблер в некоторых тестах тоже дает ого-го какое быстродействие. А в приличных проектах - просто сливает языкам высокого уровня.
 

Сергей-4030

исключающий третье
★★
Татарин> Вопрос следующий: какого фига в ТАКОМ (связанном с расписанием и временем, да еще и большом, "на века") проекте не предусмотрели такой тривиальной вещи?

Какой тривиальной вещи? Где она тривиальна? Еще раз - вы вообще все операции обертываете, чтобы если что не так - заменить своей реализацией? У вас свой собственный wrapper над файлом, скажем? (У нас, кстати, File "обернут" ;) )
А что делать с решениями третьих фирм? Их тоже обязать пользоваться вашими обертками? А если они про вас никогда не слыхали?

Татарин> Когда Вы мне скажете, где он был, я спрошу: почему в схожих местах Германии или Франции архитектор догадывается о таймзонах, а тут - не догадался?

Потому, что проблема была ясна ДО начала работы. И потому, что проблемы с версиями на навешиваются.

Татарин> Суть моей шутки (смеяться; "лопата") состояла в том, что с таким подходом в Бразилии имели бы катастрофу-2000 по два раза в год. :)

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

Сергей-4030>> PS Вы точно "на правах эксперта"? ;)
Татарин> Точно. :) Что касается таймзон - угу, угу. :)

Ээээ. ;)

Сергей-4030>> Вы можете себе представить, что это - 81 мегабайт только кода? Согласитесь, ваш проект, для которого вы писали, был несколько скромнее. ;)
Татарин> Могу представить. Да, соглашусь. Где-то на порядок (десятичный, код - С#).
Татарин> Что это меняет по сути?

По сути это меняет очень много. На порядок больший проект - на два-три порядка сложнее, требует много большей организации.
 

Сергей-4030

исключающий третье
★★
foogoo> Ты пробовал напускать на свой проект "волшебный", по словам очевидцев, тулл рефакторинга из Эклипса, может поможет?

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

ЗЫ Проект не "мой", а "наш". :) Разработчиков куча.
 

Сергей-4030

исключающий третье
★★
Mishka> Татарину.
Mishka> А ты смотрел в лине в /usr/share/zoneinfo и man 5 tzfile? Там вроде почти все есть и работает для всего.
Mishka> Сергей, а java разве совсем операционкой не пользуется? Если пользуется, то в лине все просто — надо поправить или файл /etc/localtime или тот файл, на который она ссылается (тут зависит от линя — у некоторых туда копируется, у других идет мягкая ссылка в /usr/share/zoneinfo) — опять man 5 tzfile. Как на виндах бороться — не знаю.

Пользуется, в каком-то смысле. Скажем, текущее время запрашивается у операционки. А вот когда нужно запросить что-то вроде "сколько часов пройдет между 0:00 03/11/2007 и 0:00 03/12/2007 - тут операционка не помогает. А самое поганое - нужно, чтобы функция знала, что до 2006 года - такие-то правила, а после - другие. :(
В Java есть такой абстрактый класс - TimeZone и его Сановская имплементация - без исходника. :( Вот в нем-то и проблема.
 

Сергей-4030

исключающий третье
★★
Татарин> В серьезных проектах врапперы почти на все. Слишком большие вложения, чтобы оставлять себе возможность дял пролета.

"Почти"? Так уже пятый постинг говорю - вот на это не было.

Сергей-4030>> А что делать с решениями третьих фирм? Их тоже обязать пользоваться вашими обертками? А если они про вас никогда не слыхали?
Татарин> Опять же вопрос к архитектору и тем, кто принимал решения.

Какие же именно?! То есть, надо было задать задачку "третьим фирмам" - мы хотим, если через несколько лет вдруг изменятся правила DST (на тот момент и мыслей по этому поводу не было), то ваша программа мало того, что должна работать корректно, она еще и должна работать корректно на JVM, которая не поддерживает корректную работу. Знаете, куда вас пошлют?


Сергей-4030>> По сути это меняет очень много. На порядок больший проект - на два-три порядка сложнее, требует много большей организации.
Татарин> Вот именно... а ее - много бОльшей - не случилось.

Вы не можете судить. Работа сейчас ведется - над объемами, сильно превышающими размеры ваших решений. Насколько я понимаю, вы профессиональный физик? Извините, не могу тогда поверить, что вы так же профессионально разбираетесь в организации производства ПО. Или вы физик-любитель?
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> В Java есть такой абстрактый класс - TimeZone и его Сановская имплементация - без исходника. :( Вот в нем-то и проблема.
foogoo> "Этот стон у нас песней зовётся..." (с) классик
foogoo> Как встретишь джавского программиста, все одни и те же разговоры о не кошерности некоторых джавамашин. Про особенности работы гуя на ПЦ и сане... Все равно, что если б Ц-програмер рассуждал про то, что делловские компы хорошие, а хулит-паккардавские кривые...
foogoo> Просто как в советские времена была Ява явская и неявская... :D

Как это... многа букв. Что именно вы имеете в виду? Вы знаете, что переход с одной версии JVM на другую - это практически везде еще одна итерация? Как и, допустим, переход на следующую версию ОС. Знаете почему? ;)
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> В Java есть такой абстрактый класс - TimeZone и его Сановская имплементация - без исходника. :( Вот в нем-то и проблема.
DaddyM> Именно поэтому для своих проектов никогда не возьму программу или среду без исходников. Так что для меня Джава это в первую очередь недоделанная открытая библиотека классов. Сами открытые VM уже вроде нормальные.

А какие у вас проекты? ;) Btw, скажем, Оракл дал вам свои исходники, сто программистов и пятьсот других специалистов под вашим началом сделали систему, поставили в двадцать организаций, каждая платит вам триста тыщ в месяц за поддержку. И вдруг - проблема DST, не решенная в Оракле. И что, вы тут же зафиксите Оракл (исходники же есть!) и раздадите клиентам поправленный вами Оракл? А представляете, что будет дальше?


DaddyM> А OCaml копилируется в С - так что все равно всех уделает если надо :)

Ага. А вообще все, что есть компилируется в ассемблер.
 

Сергей-4030

исключающий третье
★★
Mishka> переносимость достигается только за счет культуры писания, а сам С здесь не подмога.

Золотые слова. Чем С переносимее Бейсика или Фортрана? Да если на то пошло, можно сказать, что макроассемблер, BASM какой-нибудь - язык вполне переносимый. :lol:
 

Сергей-4030

исключающий третье
★★
В любом случае - это все полумеры, разница может быть "тактическая", но принципиальной - нет. Принципиальная разница - это когда программа следует строгим правилам установки, а если правила пытается нарушить, то ей отлуп. Отлуп от ОС, обязательный, а не от добровольного контроля той же программы инсталляции.
 

Сергей-4030

исключающий третье
★★
Mishka>>> переносимость достигается только за счет культуры писания, а сам С здесь не подмога.
Сергей-4030>> Золотые слова. Чем С переносимее Бейсика или Фортрана? Да если на то пошло, можно сказать, что макроассемблер, BASM какой-нибудь - язык вполне переносимый. :lol:
foogoo> Далась вам эта переносимость. Если джавская программа не работает на маке точно так же как на сане, и третьим способом на ПЦ, то абсолютно наплевать на то, что перекомпилировать не нужно. Не работает значит - не работает. Через год юзверь купит другую программу у другого программиста, который писал её под другую версию джавы и привет - одновременно вашу и новую программу не запустишь.

Опять не понял. А если написанная на С не работает - тогда лучше? Почему "не запустишь"? Запустить две разных JVM - ничего проще быть не может.
 

Сергей-4030

исключающий третье
★★
Mishka>>>>> переносимость достигается только за счет культуры писания, а сам С здесь не подмога.
Сергей-4030>> Сергей-4030>> Золотые слова. Чем С переносимее Бейсика или Фортрана? Да если на то пошло, можно сказать, что макроассемблер, BASM какой-нибудь - язык вполне переносимый. :lol:
foogoo> foogoo>> Далась вам эта переносимость. Если джавская программа не работает на маке точно так же как на сане, и третьим способом на ПЦ, то абсолютно наплевать на то, что перекомпилировать не нужно. Не работает значит - не работает. Через год юзверь купит другую программу у другого программиста, который писал её под другую версию джавы и привет - одновременно вашу и новую программу не запустишь.
Сергей-4030>> Опять не понял. А если написанная на С не работает - тогда лучше? Почему "не запустишь"? Запустить две разных JVM - ничего проще быть не может.
foogoo> Потом три джава машины запустить, потом четыре... :D

Эээ... ну, если сильно надо - можно. В чем проблема? Большинство прикладных программ, кстати, запустится легко на "следующей" JVM, не надо и огород городить. Главная проблема - сервера приложений.
 

Сергей-4030

исключающий третье
★★
Серокой> Это моё предположение, что влияет. А на ЭЛТ этого нет, там же нет "родного" разрешения.

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

Сергей-4030

исключающий третье
★★
Ведмедь> Случайно наткнулся на http://b-online.ru/articles/a_20753.shtml... Нешто решились прирезать игорный бизнес? Это хорошо - если действительно так...

А кому он мешает? :) Я имею в виду не бизнесмены - они, понятно, могут мешать светлому будущему, тут сомнений нет. ;) Но сами казино, игорные автоматы - кому от них хуже?
 

Сергей-4030

исключающий третье
★★
Ведмедь> Козел - ладно. А дети с пенсионерами - тоже козлы?

Так это... не играй!
 

Сергей-4030

исключающий третье
★★
Abaddon> Глупость наказуема. Но вот то что все эти деньги идут мимо государства - однозначно плохо. Так что закрывать нафиг.

Ага. Если б мимо не шли - "государство" смогло бы купить не только Челси, но и Манчестер.

ЗЫ Государство - это родственник ваш, что вы так о нем печетесь?
 

Сергей-4030

исключающий третье
★★
Ведмедь>>> Случайно наткнулся на http://b-online.ru/articles/a_20753.shtml... Нешто решились прирезать игорный бизнес? Это хорошо - если действительно так...
Сергей-4030>> А кому он мешает? :) Я имею в виду не бизнесмены - они, понятно, могут мешать светлому будущему, тут сомнений нет. ;) Но сами казино, игорные автоматы - кому от них хуже?
BrAB> гм. хороший вопрос. а вы не могли бы ответить кому он помешал в США? или в вашем городе в каждом магазине стоит однорукий бандит?

Нет, не стоит. Если б стоял - мне бы не мешал. Но в принципе, если захотеть, то найти можно.
 

Сергей-4030

исключающий третье
★★
DaddyM>> Я в Информиксе и работал :P
Mishka> Ладно, тогда давай поговорим за исходники eHealth. :P
DaddyM>> Дразнишься значит, так и запишем :) В гольф играть не умею :)
Mishka> Знаешь, в гольф научится играть на начальном уровне (достаточном для переговоров) не трудно. Я даже с нашими маркетологами ходил пробовать (в нынешней компании и лига есть, где куча девелоперов и саппорта играют), только я не люблю его.
Mishka> Здесь ходила шутка:
Mishka> workers play bowling.
Mishka> middle management plays tennis.
Mishka> top management plays golf.
Mishka> Conclusion: higher position — smaller balls.
Mishka> :)

Зато звенят звончее. ;)
 

Сергей-4030

исключающий третье
★★
Татарин> Решение о том, чтобы использовать продукты третьих фирм без оглядки на их функциональность. Это если о таймзонах вообще кто-то думал.
Татарин> Или решение не думать о таймзонах.

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

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru