Перейти к содержимому
Калькуляторы

Не бойтесь чёрных лебедей

11 часов назад, Sergey Gilfanov сказал:

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

А научиться без него писать - можно только после того, как тебе довольно много по рукам настучат на Code Review.

Школа 21 у нас и 42 во франции - приходят молодые ребята, вполне адекватные в плане кодописания, притом их там кажется за пол года всего выдрачивают.
У них там как раз обучение так построено, что они пишут свой код, а потом сами же его развивают и поддерживают. При этом ревьювят друг друга. А чтобы всякое говно на автомате отсекать там линтеры и чекеры на прекоммит/препуш хуках в гите, те говнокод просто не пушится в репу и его даже на ревью отдать нельзя.

 

По сравнению с тем что приходит с опытом 3+ года из всяких госов это просто глоток свежего воздуха.

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

 

В общем можно и без школы21 обойтись, достаточно начать пытаться решать баги и слать пулрегвесты в опенсорц проектах, только проекты нужно правильно выбрать, а то в некоторых регвесты висят годами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

11 часов назад, Ivan_83 сказал:

Школа 21 у нас и 42 во франции - приходят молодые ребята, вполне адекватные в плане кодописания,

...

По сравнению с тем что приходит с опытом 3+ года из всяких госов это просто глоток свежего воздуха.

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

28 минут назад, Sergey Gilfanov сказал:

многие думают, что системы существуют только на стадии написания. Хотя системы, вообще-то, пишут для того, чтобы их эксплуатировать.

 

28 минут назад, Sergey Gilfanov сказал:

местами не известно, для чего оно тут вообще написано?

Это опять-таки утрата школы и ее требований. В «клятых советах», ещё будучи студентом, пробовал вступить на путь профессионального программиста. Дальше тестового задания дело не пошло. Руководитель разработки, Зам начальника ИЦ по программированию, извёл своими требованиями усовершенствований и тотального документирования. Теперь я понимаю, что так и надо, что его требования были совершенно оправданы, но тогда это казалось старперским маразмом (хотя было ему не больше 35-ти). При этом он сопровождал свои требования наставлениями о том, что Вы сюда пришли не свой творческий гений проявлять, а программы создавать. Вот это все показалось тогда неудовлетворенными амбициями, отставанием от новых практик ( только появились персоналки и там был Паскаль, а до этого была сплошная ЕС-ка с ограниченными достаточно языками) и попыткой отыграться на молодежи, поскольку сомнений в том, что он достаточно большой профессионал на ЕС, в общем-то не было. Я просто случайно видел, как он писал код на ассемблере для ЕС практически из головы (перед ним был один листочек бумаги с отдельными ключевыми местами, а набивал он при этом чуть ли не 10-ти пальцевым методом.) Причём это было естественно, что -то системное.

Причем недавно я погуглил о нем, оказалось, что об ту пору он получил уже какую-то правительственную премию, а сейчас является главой какой-то фирмы, которая занимается программированием.

Но разве ж молодежи что внушишь? Тем более в эпоху перемен? :)

Это был один из этапов того, как я не стал программистом.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 минут назад, frol13 сказал:

 

Это опять-таки утрата школы и ее требований. В «клятых советах», ещё будучи студентом, пробовал вступить на путь профессионального программиста.

Это универсальное свойство мысли, вытащенной из голов в независимое существование.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Sergey Gilfanov сказал:

А потом оно все утерялось. Вот с нашими программными поделками то же самое происходит,

Не тот случай. Требовалось непрерывно комментить в самом исходном коде. Чуть ли не каждую строчку. Каждая функция в заголовке содержало полное описание того, что она делает и описание всех переменных. Там комментов было больше кода. Описание терялось только вместе с исходником. А без исходника как жить? Разбирать декомпилированный код? Это уже взлом системы, а не эксплуатация. Такое может прокатить только при небольших объёмах кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, Sergey Gilfanov сказал:

а про завод. Там в начале все было. И документация и проект и требования. А потом оно все утерялось.

Я в таких историях участвовал многократно и на заводах в отношении выпускаемой продукции и на стройках при реконструкции объектов.

А насчёт комментов в коде-после первого пионерского опыта привык их вставлять почти на автомате ( когда ещё писал код). То, что это работает, имел возможность убедиться, посетив как-то прежнее место работы, где остались «плоды моего творчества». Там я писал длиннющую и нуднющую программу формирования какого-то сводного отчета, и в качестве хоть какой-то смысловой составляющей писал комменты на английском.   Коллега, которому потом поручили ее переделать, ругался потом, что комменты не на русском и переводил их со словарём.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 часов назад, frol13 сказал:

Там комментов было больше кода.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, Sergey Gilfanov сказал:

"Код, которому нужно столько комментариев - плохой код.

Соотношение на самом деле диктуется сложностью кода и объемом структурной единицы.

Если алгоритм нестандартный и сложный, надо будет каждую строчку комментить. Если функция или п/п маленькая, там все равно будет много комментов из-за описательного заголовка.

Согласен-должна быть разумная достаточность, но здесь лучше переборщить, чем недодать.

Я несколько месяцев назад в экселе кучку формул понаваял (они там довольно громоздкие) и впопыхах закомментил по минимуму. Недавно смотрел на них несколько часов как баран на новые ворота.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, frol13 сказал:

Соотношение на самом деле диктуется сложностью кода и объемом структурной единицы.

Если алгоритм нестандартный и сложный, надо будет каждую строчку комментить. Если функция или п/п маленькая, там все равно будет много комментов из-за описательного заголовка.

Согласен-должна быть разумная достаточность, но здесь лучше переборщить, чем недодать.

Современные традиции имеют проблемы с комментариями. В духе "через некоторое время комментарии перестают соответствовать коду, потому что код правят, а комментарии - нет". Что, якобы, является большой проблемой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

13 часов назад, Sergey Gilfanov сказал:

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

Ты же сам знаешь что тут ответов больше одного.

- приходят, смотрят и уходят в места по лучше

- приходят и загнивают в этом болоте

- приходят и приносят с собой практики и улучшения

и вариации изложенного.

 

 

12 часов назад, frol13 сказал:

Причем недавно я погуглил о нем, оказалось, что об ту пору он получил уже какую-то правительственную премию, а сейчас является главой какой-то фирмы, которая занимается программированием.

Но разве ж молодежи что внушишь? Тем более в эпоху перемен? :)

Забавно как ты на это смотришь :)

Критерий успеха, по твоему, это стать начальником и получить шильдики от государства.

Завести контору - может только умный и крутой чувак.

Так вот оба пункта ошибочны.

Почитай ebanoe.it так какие только дебилы свои шлюпки не спускают в плавание. Самые простые варианты я тут описывал - IT сутенёрство, когда сучек-програмистов/админов сдаёшь клиентам за бабки, вообще мозгов не надо иметь для такого. Зато дыректор, бальшой чилавек, на жипе.

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

 

 

5 часов назад, Sergey Gilfanov сказал:

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

У той же школы 21 требование что функция не более 25 строк. При этом, поскольку они друг друга ревьювят то люди которые пишут странный код быстро начнут подозревать что с их образом мышления что то не так.

Я бы к этому добавил ограничение в 1500 строк на модуль или даже 1000.

 

Потом ты забываешь что есть CVS, где все шаги записаны. В том же гит легко посмотреть кто какую строчку менял и в каком коммите. А в коммите обычно написано зачем. А часто там ещё прикрепляется ссылка на ревью, где было всё обсуждение и ссылка на багтрекер, откуда задача пошла.

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

 

Мне приходится заглядывать во множество опенсорс проектов и везде по разному организована разработка. Обычно чем больше разработчиков тем более бюрократизированно, хотя не всегда, но именно чаще. Потому что когда народу много то без организации процесса все только мешаются друг другу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 часов назад, Ivan_83 сказал:

Забавно как ты на это смотришь :)

Критерий успеха, по твоему, это стать начальником и получить шильдики от государства.

Завести контору - может только умный и крутой чувак.

Так вот оба пункта ошибочны.

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

Да кстати, как нынешнее сообщество программистов относится к книге Кнута «Искусство программирования»?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, frol13 сказал:

Да кстати, как нынешнее сообщество программистов относится к книге Кнута «Искусство программирования»?

Примерно так же, как строитель загородных халуп к Ле Корбюзье "Vers Une Architecture". Тут уже дали совет про легендарный итальянский сайт, почитайте пару страницы - вопросы спадут как листья осенью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

45 минут назад, jffulcrum сказал:

Тут уже дали совет про легендарный итальянский сайт, почитайте пару страницы - вопросы спадут как листья осенью.

Да я как-то читал там что-то. Тоска-печаль там сплошная.:(

Про книгу Кнута-не скажу, что каждый тогдашний программист ее прочёл, но слышал-как минимум. Даже я, никогда не считавший себя чем-то подобным, открывал пару раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, frol13 сказал:

Да я как-то читал там что-то. Тоска-печаль там сплошная.:(

Тогда откуда вопросы? Им там не до "искусств". Самое веселое, что настроения там все больше коммунистические, достаточно актуальное посмотреть: https://ebanoe.it/2020/03/14/spongers-on-galleys/ . Будто деяния о борьбе рабочих в РИ читаю...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, jffulcrum сказал:

настроения там все больше коммунистические,

Ну коммунизмом там и не пахнет. Работать меньше, получать больше-вполне нормальное желание, чисто капиталистическое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 часов назад, frol13 сказал:

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

Зочем!?

Что это показывает? (кроме навыков секретаря-машиниста, потому как качество кода вы явно не оценивали, только скорость набора)

 

8 часов назад, frol13 сказал:

Да кстати, как нынешнее сообщество программистов относится к книге Кнута «Искусство программирования»?

Без понятия.

ИМХО книги уходят в прошлое, ибо формат сам по себе подразумевал много мусора ради объёма и красивого вида, при этом крайне унылую навигацию.

 

4 часа назад, frol13 сказал:

Про книгу Кнута-не скажу, что каждый тогдашний программист ее прочёл, но слышал-как минимум. Даже я, никогда не считавший себя чем-то подобным, открывал пару раз.

Раньше было много времени, мало инета и коммунити почти не было ни в каких видах, кроме фриковых фидо эх и каких то не менее фриковых форумов. По крайней мере сейчас это всё выглядит крайне фриково на фоне гитхаба и стаковерфлоу.

 

 

2 часа назад, jffulcrum сказал:

Тогда откуда вопросы? Им там не до "искусств". Самое веселое, что настроения там все больше коммунистические, достаточно актуальное посмотреть: https://ebanoe.it/2020/03/14/spongers-on-galleys/ . Будто деяния о борьбе рабочих в РИ читаю...

Там полторы основных темы:

- говноконтора кинула на бабки и ваще не адекватна

- не идите вайтишники, потому это грусть, мрак и печаль и бабы не дают

- кто то отморозил херню  - ха-ха

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@frol13 Ну так строителю загородных халуп и не нужно понимание, и даже тупо знание идей Ле Корбюзье. Ему нужно максимум пара пособий: "Сто паттернов укладки газобетона" и "Методические рекомендации по расчету фундаментов для средней полосы. Издательство "СовПохСтрой", Москва, 1961 г.". Нынешним программистам Кнут - до того же места.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

21 час назад, Ivan_83 сказал:

Потом ты забываешь что есть CVS, где все шаги записаны. В том же гит легко посмотреть кто какую строчку менял и в каком коммите. А в коммите обычно написано зачем. А часто там ещё прикрепляется ссылка на ревью, где было всё обсуждение и ссылка на багтрекер, откуда задача пошла.

Я тут недавно всего 8-летний проект с SVN на Git переводил. Мне не совсем не понравилось. Там совсем немного, но достаточно дурных граблей разложено, чтобы огорчиться. В результате некоторую часть истории таки пришлось убить. А в коммитах  написана ссылка на задачу XYZ12345... В системе отслеживания задач/бакгтеркер, которая давно умерла. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@jffulcrum , насчёт пособий строителю-это ещё много будет-особенно пособие по расчету. Кстати, тогдашние пособия 60-х годов были довольно толковыми. Некоторыми книгами тех лет народ до сих пор пользуется. «ПохСтрой» попозже появился. Сейчас же доходит до того, что всю информацию черпают из различных видосов. Мы с одним товарищем на одну тему общались-я ему ссылки на научные статьи, а он мне-на видосы с ютуба. У меня, говорит, с чтением не очень...А у меня со смотрением...Не совпадаем:) Также и с @Ivan_83 - редко очень совпадаем.

Насчет того, до какого места что  нынешним программистам-просто у меня другое их понимание, кто они такие. Раньше их у нас была 1 группа из 10 на потоке, их там усиленно пичкали всякой умностью высокой степени абстракции- дискретная математика, теория программирования, теория компиляторов, операционных систем и прочая. А остальные больше напирали на всякую инженерную науку с участием физики и техники. Такая степень абстрагирования и отстранения от физических основ были и есть как-то не по мне. Опять же, жесткая заданность правил ( а без этого нет искусственного языка) по большому счету, делают это занятие достаточно скучным.

Но это по мне. Теперь, с одной стороны, понятие о программировании нивелировалось в массовом порядке, но это с одной стороны. А с другой - в нашем вузе стали вместо программистов готовить по специальности «прикладная математика» -это те, кто может алгоритмизировать задачу, при этом кодить-дело вторичное и неинтересное. И выпускающая Кафедра у них «высшая математика», а не «вычислительная математика», как раньше. Но это уже из области Корбюзье.:) (И даже не Посохина).

P.S. А код все подряд писали в прикладных, а некоторые-и в системных целях и достаточно круто. Но никто, по-моему, программистом себя не называл.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 часов назад, Sergey Gilfanov сказал:

Я тут недавно всего 8-летний проект с SVN на Git переводил. Мне не совсем не понравилось. Там совсем немного, но достаточно дурных граблей разложено, чтобы огорчиться. В результате некоторую часть истории таки пришлось убить.

У FreeBSD есть зеркало на гитхабе, притом что разработка пока в SVN.

Они научились его правильно готовить, видимо :)

 

15 часов назад, frol13 сказал:

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

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

15 часов назад, frol13 сказал:

А код все подряд писали в прикладных, а некоторые-и в системных целях и достаточно круто. Но никто, по-моему, программистом себя не называл.:)

Может тут разделение: если за это платят то программист :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

37 минут назад, Ivan_83 сказал:

У FreeBSD есть зеркало на гитхабе, притом что разработка пока в SVN.

  Ага. Приблизительно вот так. По ссылке не FreeBSD, правда, а gcc и компания.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Ivan_83 сказал:

Может тут разделение: если за это платят то программист :)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 часов назад, frol13 сказал:

на программиста не учился и таковым себя не числит

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, vodz сказал:

В те времена не было толкового отбора из масс, в программисты попадали почти случайно...

А сейчас отбор прям супер пупер? Качество кода стало просто ужасным. Раньше программист был ограничен ресурсами и был в состоянии обозреть не только свой код но и понимать как он будет исполняться на железе.

 

Нынешний программист, по большей части, стал "переборщиком вариантов" не работает так - напишем так, зачем читать документацию и вникать в суть!?! Бери чужие "грабли" и бейся пока шишка не превратится в мозоль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, vodz сказал:

Вылизывали бессистемно, с кучей ограничений полученных решений

Хотелось бы посмотреть, как можно бессистемно написать системный монитор в кодах, уместив в 16К то, что у других было в 24. Без средств мнемоники и отладки. Система в этом была и достаточно жёсткая. Вопрос в том, совпадает ли она с нынешней системой высокоуровневых языков с развитыми средами написания и отладки. Скорее, это разные совершенно подходы-как ручное изготовление и штамповка. Индустрия требует штамповки. Но и ее качество, как я понял, падает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.