Здравствуйте, Аноним, Вы писали:
А>>Т.е. проблема не в правилах, а в дисциплине их применения.
А>И тем не менее, постоянно плодятся горы говно-кода. Знаю о некоем проекте. Кошмар страшенный, кода — уже за миллион(ы?) строк перевалило. Считают себя немерянными профессионалами, на уровне незыблемых истин — запрет использования СТЛ (дада, они до сих пор уверены, что компиляторы С++ — плохие и с шаблонами все плохо),..
А что с продуктом? Качество-то хорошее? Развите идёт? Поддержка там, нове версии...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Константин Л., Вы писали:
КЛ>это все понятно. Просто надо знать меру. Если стоит выбор м/у написанием 2 методов на 20 строк каждый, которые принимают по 10 параметров, я напишу 1, кот принимает 5 параметров. Если он конечно останется тамким же general, как те 2.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
P>Это еще не самый худший вариант. Все goto в одну точку показывают, условной компиляции почти нет...
P>Простите, не удержался. Иногда с подобными ужасами приходится сталкиваться. Причем речь идет о системах, работающих в режимш 24 — 7.
Мне вот приходилось иметь дело с кодом, транслированным напрямую из фортрана. Там (в этом коде, а не в программах на фортране вообще) стандарт — функции по 5000 строк, с чудовищно хитрыми ветвлениями, циклами и тучей goto (разбросанным по всем этим 5000 строк). Вижуал при попытке скомпилировать и соптимизировать это чудо становится раком Этакий стресс-тест для компиляторов
Of course, the code must be complete enough to compile and link.
Re[7]: [папа STL] Alexander Stepanov "Notes on Programming"
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Мне вот приходилось иметь дело с кодом, транслированным напрямую из фортрана. Там (в этом коде, а не в программах на фортране вообще) стандарт — функции по 5000 строк, с чудовищно хитрыми ветвлениями, циклами и тучей goto (разбросанным по всем этим 5000 строк). Вижуал при попытке скомпилировать и соптимизировать это чудо становится раком Этакий стресс-тест для компиляторов
Ну как же, как же... Еще даже транслятор был лет 10 назад — forc назывался или как-то так. Пробовали мы его. После нескольких попыток (с ним и без него) переписать Фортрановский код на С, пришли к выводу, что лучше оставить код на Фортране как есть. Легче оказалось прикрутить Сишные функции к Фортрану (в среде MS DOS, MSC 6.0, MS Fortran 5.0). Решение оказалось прпроческим — переход с MS DOS на Windows прошел практически незаметно.
Re[8]: [папа STL] Alexander Stepanov "Notes on Programming"
P>Ну как же, как же... Еще даже транслятор был лет 10 назад — forc назывался или как-то так. Пробовали мы его. После нескольких попыток (с ним и без него) переписать Фортрановский код на С, пришли к выводу, что лучше оставить код на Фортране как есть. Легче оказалось прикрутить Сишные функции к Фортрану (в среде MS DOS, MSC 6.0, MS Fortran 5.0). Решение оказалось прпроческим — переход с MS DOS на Windows прошел практически незаметно.
ИМХО:
Переписывать такой код — это вообще занятие не для слабонервных. В описанном мною случае исходный код на фортране существовал много лет, был он основательно "отстоявшимся" во всех понятиях этого слова Т.е. лучше его не трогать, вроде работает, а разобраться как или найти ошибку в нем — уже довольно сложно. Лично для меня просто нереально — что там за алгоритм исходный был, как его десятилетиями все кому не лень модифицировали и почему — уже не узнать в этом хитром переплетении ифов-циклов-неочевидных-готу-в-любую-точку в этих 5000 и более строк. Проще взять и заново все написать. Но зачем, если уже есть работающее решение?
Те люди на С++ переходили в 95-96 году, решили пользоваться ООП, мол старый код уже невозможно было нормально дальше развивать и поддерживать из-за его размеров — типа тут-то С++ и ООП им должен был помочь. Но блин, как же они помогут, если взять утилиту f2c и все это старое барахло банально перетащить в новый код, слегка поменяв лишь синтаксис?
Другое дело, что если оставить фортранный код, то одновременно нужен и компилятор фортрана, и С++.
Of course, the code must be complete enough to compile and link.
Re[5]: То есть они уже разорились?
От:
Аноним
Дата:
07.02.07 08:38
Оценка:
E>А что с продуктом? Качество-то хорошее? Развите идёт? Поддержка там, нове версии...
Странно, что ты про качество спрашиваешь. Ты сообщение мое читал? Вот это вот:
"Все течет, падает, жрет память гигами, работает медленно, как будто на жаве или питоне писали. "
о качестве не говорит?
Развитие — да идет, этакий регресс — убожище их становится все хуже и хуже. Естественно, выходят новые версии.
.
Здравствуйте, Аноним, Вы писали:
E>>А что с продуктом? Качество-то хорошее? Развите идёт? Поддержка там, нове версии...
А>Странно, что ты про качество спрашиваешь. Ты сообщение мое читал? Вот это вот:
А>
А>"Все течет, падает, жрет память гигами, работает медленно, как будто на жаве или питоне писали. "
А>о качестве не говорит?
А>Развитие — да идет, этакий регресс — убожище их становится все хуже и хуже. Естественно, выходят новые версии. А>.
И судя по всему, ты в этом принимаешь активное участие
Re[7]: То есть они уже разорились?
От:
Аноним
Дата:
07.02.07 09:46
Оценка:
B>И судя по всему, ты в этом принимаешь активное участие
Не пояснишь, с чего ты это взял? Что и как у них я знаю, так как вынужден был пользоваться их "продуктом".
Re[4]: [папа STL] Alexander Stepanov "Notes on Programming"
Шахтер пишет:
> Разумеется, следование данному правилу (как и остальным) нельзя доводить > до абсурда. > Но писать вот такие функции...
> unsigned short > IsakmpSaCls::ProcessMainMode(isakmp_hdr *hdr, IsakmpSaCls **delSa, > ERROR_CODE &error) > {
Спасибо, Шахтер, очень обнадеживающий пост.
Обнадеживает то, что ты не один такой (в смысле меня
обнадеживает , что я не один такой на свете),
что тебя понимают, что есть люди которые думают так же как ты...
Здравствуйте, Аноним, Вы писали:
B>>И судя по всему, ты в этом принимаешь активное участие
А>Не пояснишь, с чего ты это взял? Что и как у них я знаю, так как вынужден был пользоваться их "продуктом".
Просто предположил.
Для простого пользователя ты знаешь слишком много подробностей
типа того что они "недавно решили использовать ворнинг -Weff++"...
Но если это не так, то уж прости...
Ничего плохого не имел ввиду.
На практике много с чем приходится сталкиваться
и далеко не всегда есть возможность как-то повлиять на ситуацию...
Re[9]: То есть они уже разорились?
От:
Аноним
Дата:
07.02.07 10:44
Оценка:
Здравствуйте, bkat, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
B>>>И судя по всему, ты в этом принимаешь активное участие
А>>Не пояснишь, с чего ты это взял? Что и как у них я знаю, так как вынужден был пользоваться их "продуктом".
B>Просто предположил. B>Для простого пользователя ты знаешь слишком много подробностей B>типа того что они "недавно решили использовать ворнинг -Weff++"...
Код доступен в исходниках — потому знаю про то, что внутри (приходилось и с ними знакомиться).
Так же регулярно читал что пишут в их форум. Про -Weff++ — это просто, начиная с некоторой версии поперли горы ворнингов. Потом они пропали и появился код, их давящий, но не меняющий сути дела
B>Но если это не так, то уж прости... B>Ничего плохого не имел ввиду.
Ок.
B>На практике много с чем приходится сталкиваться B>и далеко не всегда есть возможность как-то повлиять на ситуацию...
Возможности повлиять в моем случае — нет.
А вообще я развел флейм просто потому, что как сказал Анатолий Широков — наболело
Но все, заканчиваю с нытьем, к тому же — оффтоп
Re[9]: [папа STL] Alexander Stepanov "Notes on Programming"
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>ИМХО:
L_L>Переписывать такой код — это вообще занятие не для слабонервных. В описанном мною случае исходный код на фортране существовал много лет, был он основательно "отстоявшимся" во всех понятиях этого слова
Аналогично. Фортрановский код писался в течение полутора десятков лет, начиналось все на чем-то типа ЕС-1020.
L_L>Т.е. лучше его не трогать, вроде работает, а разобраться как или найти ошибку в нем — уже довольно сложно. Лично для меня просто нереально — что там за алгоритм исходный был, как его десятилетиями все кому не лень модифицировали и почему — уже не узнать в этом хитром переплетении ифов-циклов-неочевидных-готу-в-любую-точку в этих 5000 и более строк. Проще взять и заново все написать. Но зачем, если уже есть работающее решение?
По исходникам на Фортране узнать, что за алгоритм используется, можно только если в коде присутствуют комментарии, содержащие ссылки на соответствующие статьи и/или монографии. Однако, кто будет набивать это на перфокартах?
На С переписали только некоторые вещи: что-то низкоуровневое, сортировку поменяли с пузырька на быструю (там после каждой итерации увесистый массив получался, который сортировать требовалось), графики построили. А основной код как работал, так и работает (по слухам, до сих пор) на Фортране.
L_L>Те люди на С++ переходили в 95-96 году, решили пользоваться ООП, мол старый код уже невозможно было нормально дальше развивать и поддерживать из-за его размеров — типа тут-то С++ и ООП им должен был помочь.
Об ООП они не слишком лестно отзывались — "докторскую кто-то сделал себе".
L_L>..Но блин, как же они помогут, если взять утилиту f2c и все это старое барахло банально перетащить в новый код, слегка поменяв лишь синтаксис?
Делать продукт из того кода не планировалось. Все это хозяйство писалось математиками для их собственных нужд. Я им только немного помог. f2c мы пробовали, но нам показалось, что он создает проблем больше, чем решает. Поэтому Фортрановский код, проверенный временем , и оставили.
L_L>Другое дело, что если оставить фортранный код, то одновременно нужен и компилятор фортрана, и С++.
MS Fortran и MS C были отлично совместимы друг с другом. Я только написал несколько h-файлов для С и несколько подпрограмм interface для Фортрана. Проект собирался nmake-ом.
А>"Все течет, падает, жрет память гигами, работает медленно, как будто на жаве или питоне писали. "
А>о качестве не говорит? А>Развитие — да идет, этакий регресс — убожище их становится все хуже и хуже. Естественно, выходят новые версии.
Ну мало ли что там и как. Знаешь анекдот про мышек т кактус?
В целом это дело, я так понял покупают? Или это какой-то oprn source? А>.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Мне вот приходилось иметь дело с кодом, транслированным напрямую из фортрана. Там (в этом коде, а не в программах на фортране вообще) стандарт — функции по 5000 строк, с чудовищно хитрыми ветвлениями, циклами и тучей goto (разбросанным по всем этим 5000 строк). Вижуал при попытке скомпилировать и соптимизировать это чудо становится раком Этакий стресс-тест для компиляторов
Мой опыт, подсказывает мне, что очень трудно породить код автоматически так, чтобы он не стал стресс-тестом для компиляторов
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Privalov, Вы писали:
P>Ну как же, как же... Еще даже транслятор был лет 10 назад — forc назывался или как-то так. Пробовали мы его. После нескольких попыток (с ним и без него) переписать Фортрановский код на С, пришли к выводу, что лучше оставить код на Фортране как есть. Легче оказалось прикрутить Сишные функции к Фортрану (в среде MS DOS, MSC 6.0, MS Fortran 5.0). Решение оказалось прпроческим — переход с MS DOS на Windows прошел практически незаметно.
ИМХО, в области вычматов FORTRAN по переносимости далеко впереди планеты всей. Давно и надолго
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[4]: [папа STL] Alexander Stepanov "Notes on Programming"
Здравствуйте, Шахтер, Вы писали:
Ш>Здравствуйте, Константин Л., Вы писали:
КЛ>>Здравствуйте, Шахтер, Вы писали:
КЛ>>[]
КЛ>>+1
КЛ>>Но вот 20 строк не всегда получается. Имхо это иногда даже вредно.
Ш>Разумеется, следование данному правилу (как и остальным) нельзя доводить до абсурда. Ш>Но писать вот такие функции...
Ш>
Ш>unsigned short
Ш>IsakmpSaCls::ProcessMainMode(isakmp_hdr *hdr, IsakmpSaCls **delSa,
Ш> ERROR_CODE &error)
Ш>
Нормальная функция, у нас во всех всём проекте такие... Привык уже наверное... И это еще в принципе всё понятно что написано...
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[7]: То есть они уже разорились?
От:
Аноним
Дата:
07.02.07 12:45
Оценка:
E>Ну мало ли что там и как. Знаешь анекдот про мышек т кактус? E>В целом это дело, я так понял покупают? Или это какой-то oprn source? А>>.
+1 за анекдот. 100% попадание
И да, это опен сорс. По определенным причинам — альтернатив нет.