Сам все время писал на венде, но временами по работе приходится сталкиваться с прогерами пишущими под линукс, а также с прогерами, которые до этого писали под никсы и лишь недавно перешли на винду. Сложилось впечатление, что кол-го говнокода у линуксойдов вразы больше чем у виндовых прогеров. Причем в большенстве своем линуксойды вообще не способны писать на плюсах. Пишущи на плюсах, выдают жудкий спагети код в сишном стиле с прикрученными не к месту классами, с методами на сотни строк и отсутсвием сколь-либо вминяемой структурированности кода и архитектуры. Можно сказать что просто совпадение, но я наблюдал такую ситуация во всех компаниях где встречал линуксойдов — среднее качество кода, выдаваемое линуксойдом, заметно хуже чем у прогера, писавщего большую часть жизни под винду.
Как у других с этим, есть ли похожие наблюдления? Действительно ли написание кода под линукс приводит к развитию плохого стиля кодирования?
Здравствуйте, midl, Вы писали:
M>Сам все время писал на венде, но временами по работе приходится сталкиваться с прогерами пишущими под линукс, а также с прогерами, которые до этого писали под никсы и лишь недавно перешли на винду. Сложилось впечатление, что кол-го говнокода у линуксойдов вразы больше чем у виндовых прогеров. Причем в большенстве своем линуксойды вообще не способны писать на плюсах. Пишущи на плюсах, выдают жудкий спагети код в сишном стиле с прикрученными не к месту классами, с методами на сотни строк и отсутсвием сколь-либо вминяемой структурированности кода и архитектуры. Можно сказать что просто совпадение, но я наблюдал такую ситуация во всех компаниях где встречал линуксойдов — среднее качество кода, выдаваемое линуксойдом, заметно хуже чем у прогера, писавщего большую часть жизни под винду. M>Как у других с этим, есть ли похожие наблюдления? Действительно ли написание кода под линукс приводит к развитию плохого стиля кодирования?
Все относительно.
Наблюдение про размер классов и методов не подтверждаю.
Пришедший с Винды программист норовит написать одну очень большую программу, вместо того, чтобы написать несколько взаимодействующих мелких.
Видел двоих людей, которые, имея опыт программирования на С под линукс, писали программы под винду и iOS. Везде получалось так — ядро, написанное как им нравится, плюс небольшой интерфейсный слой, изолюрующий ядро от ОС.
Единственный известный мне виндовый программер, пытавшийся написать программу для линукса, долго изучал GTK, но с требованием сделать две версии — с интерфейсом командной строки и GUI — он не справился.
Здравствуйте, midl, Вы писали:
M>Пишущи на плюсах, выдают жудкий спагети код в сишном стиле с прикрученными не к месту классами, с методами на сотни строк и отсутсвием сколь-либо вминяемой структурированности кода и архитектуры. Можно сказать что просто совпадение, но я наблюдал такую ситуация во всех компаниях где встречал линуксойдов — среднее качество кода, выдаваемое линуксойдом, заметно хуже чем у прогера, писавщего большую часть жизни под винду.
В силу того, что для чистки кода нужны инструменты, получается следующиее
1. нормальных инструментов для с++ нет
2. нормальный инструментов для лялиха нет
В итоге наблюдается закономерный хаос особенно в случае с лялиховыми проектами. Есть деятели который утверждают "мы сразу пишем вменяемо". Обычно такое проходит в небольших проектах когда работать приходится только со своим кодом, т.е. фактически одна команда работает этим кодом. Когда к фиксам подключается большое кол.во людей, хаос наступает быстрее, чем вменяемо-пишущие успевают заметить.
Здравствуйте, alpha21264, Вы писали:
A>Все относительно. A>Наблюдение про размер классов и методов не подтверждаю. A>Пришедший с Винды программист норовит написать одну очень большую программу, вместо того, чтобы написать несколько взаимодействующих мелких. A>
Луноход который приходит на винду начинает писать целую пачку взаимодействующих программ вместо одно и в конечном итоге сам же запутывается в этом взаимодействии.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, alpha21264, Вы писали:
A>>Все относительно. A>>Наблюдение про размер классов и методов не подтверждаю. A>>Пришедший с Винды программист норовит написать одну очень большую программу, вместо того, чтобы написать несколько взаимодействующих мелких. A>>
I>Луноход который приходит на винду начинает писать целую пачку взаимодействующих программ вместо одно и в конечном итоге сам же запутывается в этом взаимодействии.
Ну типа да. Только не запутывается.
Но поскольку запуск процесса в Винде дОрог, то случается всякие эффекты.
Например кто-то тут жаловался, что make в Винде как-то долго работает.
Ну а че ты хотел? Система-то не родная
Здравствуйте, Ikemefula, Вы писали:
I>В силу того, что для чистки кода нужны инструменты, получается следующиее I>1. нормальных инструментов для с++ нет I>2. нормальный инструментов для лялиха нет
Ну не надо размахивать своими комплексами.
Понимание того, что такое "нормально", у каждого своё.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Ikemefula, Вы писали:
I>>Здравствуйте, alpha21264, Вы писали:
A>>>Все относительно. A>>>Наблюдение про размер классов и методов не подтверждаю. A>>>Пришедший с Винды программист норовит написать одну очень большую программу, вместо того, чтобы написать несколько взаимодействующих мелких. A>>>
I>>Луноход который приходит на винду начинает писать целую пачку взаимодействующих программ вместо одно и в конечном итоге сам же запутывается в этом взаимодействии.
A>Ну типа да. Только не запутывается.
Запутывается.
A>Но поскольку запуск процесса в Винде дОрог, то случается всякие эффекты.
Ну да, начинаются сказки: "Это не я виноват, это винда такая"
A>Например кто-то тут жаловался, что make в Винде как-то долго работает.
Правильно. При переходе на другую систему нужно использовать родной инструент, а не тащить за сообой привычный хлам.
A>Ну а че ты хотел? Система-то не родная
Здравствуйте, alpha21264, Вы писали:
I>>В силу того, что для чистки кода нужны инструменты, получается следующиее I>>1. нормальных инструментов для с++ нет I>>2. нормальный инструментов для лялиха нет
A>Ну не надо размахивать своими комплексами. A>Понимание того, что такое "нормально", у каждого своё.
Это мягко говоря заблуждение. Инструмент или соответствует уровню решаемых задач или нет. Поскольку код низкоуровневый, то инструменты намного более важны, чем для менджед, а реально получается наоборот — инструменты почти ничего не умеют
Здравствуйте, midl, Вы писали:
M>Как у других с этим, есть ли похожие наблюдления? Действительно ли написание кода под линукс приводит к развитию плохого стиля кодирования?
* Там, где виндузятнику нужно 10000 строк и иерархия классов, линуксоид напишет 1000 строк простого кода
* Все виндовсные драйвера сделаны напильником из DDK-ных экзамплов
* Все виндовсные программы сделаны из примеров, скачанных из интернета
* Виндовсные программеры способны писать только на Visual Basic'е. Чтобы им было менее обидно, Микрософт изобрел C# — Бейсик с синтаксисом, напоминающим C++
* Виндовсные программеры путают право и лево, а особо выдающиеся — верх и низ. Поэтому виндовсная гуйня программируется в абсолютных размерах и координатах, в то время как гуйня на любой другой системе — в терминах взаимного расположения элементов, а размеры и координаты рассчитываются автоматически
* В локализованных Windows нет англоязычной расшифровки кодов ошибок, потому что никто из виндузятников не читает на иностранных языках, и даже алфавита не знают
* 80% того, что есть в Windows, украдено из UNIX, где оно появилось 20 лет назад
* Остальные 20% того, что есть в Windows, украдено из предшественника UNIX'а MULTICS, написанного 40 лет назад, и кое-чего по-мелочи украдено из прочих, столь же древних, разработок
* Виндовсные программеры гордятся знанием технологий, которые всем прочим известны как минимум 20 лет, пусть и под другими именами
* Любая виндовсная технология выходит из моды через 5 лет после ее появления — как раз столько времени надо самым продвинутым виндовсным программерам, чтобы запомнить самые красивые ключевые слова (остальные в 5 лет не укладываются)
* В разработке пользовательского интерфейса Windows участвовали специалисты по работе с пациентами, страдающими синдомом Дауна.
* Как показали исследования британских ученых, если операционная система грузится слишком быстро, не все пользователи осознают, что она загрузилась, и начинают перезагружать ее снова и снова. В Windows эта проблема решена на уровне операционной системы
* ...
* ..
* .
Здравствуйте, Ikemefula, Вы писали:
I>Это мягко говоря заблуждение. Инструмент или соответствует уровню решаемых задач или нет. Поскольку код низкоуровневый, то инструменты намного более важны, чем для менджед, а реально получается наоборот — инструменты почти ничего не умеют
Глупость от повторения умнее не становится. Ваш КО. Аргументы будут? Ну хоть какие-то?
Здравствуйте, midl, Вы писали:
M>Сам все время писал на венде, но временами по работе приходится сталкиваться с прогерами пишущими под линукс, а также с прогерами, которые до этого писали под никсы и лишь недавно перешли на винду. Сложилось впечатление, что кол-го говнокода у линуксойдов вразы больше чем у виндовых прогеров. Причем в большенстве своем линуксойды вообще не способны писать на плюсах. Пишущи на плюсах, выдают жудкий спагети код в сишном стиле с прикрученными не к месту классами, с методами на сотни строк и отсутсвием сколь-либо вминяемой структурированности кода и архитектуры. Можно сказать что просто совпадение, но я наблюдал такую ситуация во всех компаниях где встречал линуксойдов — среднее качество кода, выдаваемое линуксойдом, заметно хуже чем у прогера, писавщего большую часть жизни под винду.
Лично у меня прямо противоположное наблюдение
M>Как у других с этим, есть ли похожие наблюдления? Действительно ли написание кода под линукс приводит к развитию плохого стиля кодирования?
Ну соответственно последний вопрос уже не имеют смысла.
Здравствуйте, alpha21264, Вы писали:
I>>1. нормальных инструментов для с++ нет
A>Ну не надо размахивать своими комплексами. A>Понимание того, что такое "нормально", у каждого своё.
Начать можно с того, что под линухом вполне нормально писать программы не на C++.
Здравствуйте, Pzz, Вы писали:
Pzz>* 80% того, что есть в Windows, украдено из UNIX, где оно появилось 20 лет назад Pzz>* Остальные 20% того, что есть в Windows, украдено из предшественника UNIX'а MULTICS, написанного 40 лет назад, и кое-чего по-мелочи украдено из прочих, столь же древних, разработок
Здравствуйте, Mazay, Вы писали:
M>А есть ли под виндой аналог Valgrind'a?
Есть VCC: A Verifier for Concurrent C. Вроде как вовсю используется самим Мелкософтом для разработки драйверов в Windows7. И вроде как именно благодаря VCC Семёрка весьма и весьма надёжна.
Здравствуйте, koodeer, Вы писали:
Pzz>>* 80% того, что есть в Windows, украдено из UNIX, где оно появилось 20 лет назад Pzz>>* Остальные 20% того, что есть в Windows, украдено из предшественника UNIX'а MULTICS, написанного 40 лет назад, и кое-чего по-мелочи украдено из прочих, столь же древних, разработок
K>Итого 146%?
Здравствуйте, koodeer, Вы писали:
M>>А есть ли под виндой аналог Valgrind'a? K>Есть VCC: A Verifier for Concurrent C. Вроде как вовсю используется самим Мелкософтом для разработки драйверов в Windows7. И вроде как именно благодаря VCC Семёрка весьма и весьма надёжна.
Это статический верификатор, а Valgrind — динамический.
Аналогом Valgrind'а является Purify, но она дорогая и менее мощная.
Здравствуйте, Ikemefula, Вы писали:
I>В силу того, что для чистки кода нужны инструменты, получается следующиее I>1. нормальных инструментов для с++ нет
Qtcreator, vim, emacs.
I>2. нормальный инструментов для лялиха нет
Есть, причём о некоторых из них Винде даже мечтать нельзя: perf, oprofile (профилирование ВСЕЙ системы), valgrind. Синэргетика, однако.