Почти. Без пояснений и понимания контекста создания их всё-таки трудно воспринимать. Рекомендую «чёрные книги» Fabien Sanglard'а, он детально разбирал движки.
В то время умения «немного программировать» хватало для того что бы делать что то крутое и прорывное.
Из чего делаю вывод, что вы в то время не программировали и с профессиональными программистами того времени не знакомы (либо считаете таковым оператора лентопротяжного механизма из институтского вычцентра).
Сейчас идея без реализации в «по тысяче пакетов на каждый чих» и как следствия кучи влитого бабла на фиг никому не упала.
Ох. Не, чёт на этом уровне абсурда (как-то странно читать такие откровения и получать неплохую зарплату почти вот именно за то, чтобы без тысячи пакетов) я уже не Копенгаген. Благодарю за потраченное на меня время, но достаточно, пожалуй.
Не понимаю, к чему этот пример. Давайте другой: лет 30..40 назад мой знакомый программировал на Байконуре и развивался как программист. Правда, не на BASIC. Сейчас работает программистом, преподаёт в универе, степень, всё-такое.
Правильный вывод: да, если человек не программист, его программирование никому особо не требуется что тогда, что сейчас.
A: Но именно как продукт это фигня. Которую мог написать и один человек умеющий немного программировать.
B: А написали какие-то невнятные инженеры, не умеющие программировать вообще.
A: Такого не говорил. Писали хорошие инженеры. Для того времени хорошие.
Ну т.е. для того времени хорошие инженеры — это люди, умеющие немного программировать. Ведь так? Я верно процитировал?
Вы как-то густо замесили в одно тесто несколько разных тем. Точно не путаете количественную сложность с качественной? То, что 20М ойтишнегов накосодолбили по десять фреймворков и по тысяче пакетов на каждый чих, делает ли этот чих сложным (НЕ ПРИМИТИВНЫМ)?
дум Кармака по сравнению с каким не будь Ведьмаком 3 это полный примитив
Из чего вывод, что вы не видели исходники Кармака и Ромеро, но мнение имеете. Почему бы честно сразу не признаться в этом? Исходники Ведьмака, уверен, вы тоже не видели по очевидной причине, но тоже мнение имеете.
PS. Простите великодушно, очень стараюсь не это самое, но от «каким не будь» глаз всё-таки задёргался (три ошибки слишком уж): каким-нибудь.
Знаете в 10 тыс строк все же полегче разбираться чем в 26.55 миллионах
Почему в 10 тыс? Давайте ради совсем уж накала страсти возьмём 1 строчку — ту самую первую, что Линус написал.
Только вот разобраться… С IDE полный швах (отберите у современного программиста IDE, дайте ему в руки vim без плагинов или FAR), литературы не так много (Роберт Лав ещё не написал), нет StackOverflow и в целом интернета с его тысячами статей и чудесным LWN, нет на руках мощных компьютеров (и ещё в начале 2000-х сборка Gentoo после правок занимала времени «пойду погуляю»). Всё это здорово мобилизировало мозг, а работу с тем же миллионом строк превращало не в современную удобную прогулку читателя, но в натуральную работу. Смоделировать очень просто: берёте слабый ноут (аналог Celeron 500MHz), не берёте VS / QtC / CLion / etc, берёте исходник Linux 2001 года, уезжаете в деревню без интернета на месяц (подшивку Dr. Dobb's и текстовый архив comp.lang.c можно). Через месяц возвращаетесь и рассказываете, как легко и просто вам было написать драйвер, например. Ну или не рассказываете, но с восхищением понимаете, насколько вот именно теперь и в самом деле легко и просто работать с кодом.
Видел я исходники старых программ. Это реально фигня по современным меркам. Да решения иногда очень крутые. Но именно как продукт это фигня. Которую мог написать и один человек умеющий немного программировать.
А написали какие-то невнятные инженеры, не умеющие программировать вообще, но на Хабре всех научат, да? :D Исходник Кармака и Ромеро видели?
Любопытно, что вопреки вашему мнению эти «не продукты» вовсю продавались, работали, активно использовались, управляли самолётами и железными дорогами, считали погоду, прыгали спрайтами в приставках, в космос летали (да, навяз на зубах пример, но это невдолбенный комплекс программного обеспечения, работавший в реалтайме в сетях) и т.д.
Я уж не говорю про объем и разнообразность информации. Раньше большинство программистов решали не такой широкий круг задач, а сами задачи были довольно примитивны. Поэтому программист мог себе позволить быть человеком-оркестром некоторое время, решая кучу разных задач, все были full-stack. Сейчас от тебя сразу требуется выбрать себе специализацию и качаться только в этом направлении, нет теперь такой свободы и потому ошибиться в выборе очень легко.
Вы точно понимаете, что большинство используемого сейчас софта (не сайтов) написано / ядрозаложено вот именно в ту эпоху «раньше» при решении «примитивных задач»? Нет, безусловно, если очертить круг задач задачами «CRUD для склада», то теперь стало сложнее — надо ещё и морду красивше сделать, резиновее. Только программирование несколько шире, мягко говоря, чем этот круг — операционные системы, базы данных, языки программирования, браузеры, CAD'ы, банковский софт (бжчки, да по сию пору половина планеты обслуживается софтом на COBOL), бухмонстры вроде 1С (привет, 1991-й год), геймдев, военка и промышленность, космос и авиация, наука и транспорт, нефтянка (с милыми вахтами эникейщиков на вышках) и газянка, госорганы (даже ГАИ заказы делала частникам) и зарождающийся бизнес. Да овердофига всего.
Ну или я не понимаю, что для вас «раньше» и как вы эту точку оцениваете. Возможно, вам и в самом деле в 2011 году было тяжело. Только в 2006-м внезапно тоже было очень много софта. И в 2001-м году. И даже в 1996-м году. И, не поверите, даже в каком-нибудь 1981-м тоже.
Это хорошо, когда вы программируете пару лет. А когда 15?
Программирую больше 15 лет (во всяком случае, за это мне зарплату платят столько лет после школы). Сейчас вот дочитываю учебник по Go, хоть Go мне ни сейчас не нужен, ни в ближайшем будущем. После него дочитаю Фаулера про NoSQL, в метро начал, да не закончил. Потом хочу хотя бы полистать свежее издание про Client-Side Data Storage. Затем, если планы не изменятся, познакомлюсь со Swift 2. А какие с этим должны быть проблемы? С возрастом человек перестаёт читать или кодить в своё удовольствие?
Разве человек, который занимается, допустим более 5 лет на Java, может не знать синтаксиса языка?
Может. Для этого достаточно просидеть в маленьких конторках на должности "программист всего", писать левой лапой код "лишь бы работало", быть вдалеке от группы настоящих специалистов (минус помощь коллег, минус code review, минус пинки тимлидов, минус ласковый троллинг "Вась, стыдно такого не знать", минус мотивация карьерой и премиями), решать однообразные задачи в каком-нибудь банке, быть не разработчиком, но совмещать с PM'ством. Наконец, просто не париться глубоким знанием синтаксиса и на любом языке писать на Фортране. Откройте вкусную вакансию на hh, например, и насладитесь вариативностью невежества.
Знаю я парочку разных программистов, которые быстро пишут, а потом в пять раз больше времени тратят на отладку и фикс багов.… При этом оба знают язык идеально. Суть вам ясна, надеюсь.
Идеально знает язык, но при этом в пять раз больше времени тратит на отладку и фикс багов? Я понял, ага. :)
Скажите пожалуйста, сколько появилось за последние пять лет новых фреймворков и СМС, а сколько их безвозвратно умерло?
Во фронтенде? Много. Там каждый год всё перепионеривают зачем-то. Разве что jQuery живее всех живых. В бекенде? Хм… Умерших не припомню. Новых тоже особо нет. Идёт мерное развитие давно известных языков и фреймворков. Есть некоторый движняк в NoSQL, но тоже больше уже вширь, чем вперёд.
Пока проект дошел от идеи до запуска, то уже технология и не нужна никому. И что тогда?
Гениального зубрилу-разработчика отправлять на свалку истории?
С каких пор знание матчасти стало признаком гения? При нормальном найме проверка таких знаний — всего лишь входной билет на дальнейшее собеседование.
Ведь с новой технологией, на которой теперь нужно разрабатывать новый проект, он не знаком.
Нормальный специалист знаком. Даже с уровня честного middle разработчик тратит некоторую долю рабочего и личного времени на то, чтобы осматривать и пробовать новинки индустрии. Если не тратит… ну, он ниочинь.
Повторюсь, что знание синтаксиса — это ничто!… Я, кстати, дипломированный программист.
Если дипломированный программист утверждает, что знание синтаксиса — ничто, значит… времена и нравы.
Программисты пишут программы. Программы — набор инструкций на языках X, Y и Z. Чтобы из правильных мыслей в голове сделать правильную программу, программист должен выстроить правильные конструкции языков X, Y и Z. Правильные конструкции выстраиваются на основе 1) знаний синтаксиса языка, 2) стандартных библиотек языка и 3) подводных камней языка (в этом месте часто хромает оптимизация по времени и ресурсам). В современных условиях рынка всё это должно делаться быстро. Пока хороший человек будет в справочниках рыться, нормальный специалист уже код на review отправит, да ещё и с тестами.
Не говоря уж о том, что как-то странно нанимать питониста, не знающего синтаксис Python, джависта, не знающего синтаксис Java, и т.д.
И толковые профессора учили, что ценность специалиста не в том, что он все в голове держит, а в том, что он знает, как пользоваться справочниками.
У человека, который не может удержать в памяти синтаксис несколько языков программирования, должны быть проблемы с памятью, что точно отразиться на общем качестве его работы. Конечно, до спецификаций редкий пингвин долетает, да и в каком-нибудь C++ всегда есть хитрые места, но.
При чем, многие при собеседовании таких специалистов допускают роковую ошибку. Они начинают гонять спеца по знанию программы, синтаксиса, паттернов и т.д. А это ерунда. Нужно проверять, как думает разработчик.Это какая-то модная штука сейчас появилась, видимо — не проверять программистов на знание языков программирования. И в самом деле, зачем? Если функцию какую не знает, так быстренько в туториале подсмотрит, да и ляпнет в код, а то и свою за вечер напишет. И ещё одну. И ещё. Всё равно следующий за ним программист с примерно таким же знанием языков будет тоже уметь мыслить, а не годный код писать. Потому переделает Авгиевы конюшни на Авгиевы конюшни v2. А там и v3 не за горами. До v4 такая команда доберётся тогда, когда наниматель / заказчик впервые запустит на своём железе софтинушку, а та медленнее ТЗ раза в два-три, если не на порядок, после чего заполыхают попы, а набранные любители [витать в облаках вместо курения матчасти] срочно повышают квалификацию, узнавания, что не все конструкции, функции и библиотеки языков одинаково полезны.
Наконец, осматривающий весь этот итоговый бардак senior (который таки знает языки от и до) сделает фейспалм и предложит переписать проект с нуля, что всегда дешевле, чем допиливание десятков тысяч строк кода за нанятыми по методике «лишь бы человек хороший был».
PS. Предлагаю ещё не проверять RDBMS DBA на SQL и фронтендеров на HTML/CSS/JS. Ну, чтобы наверняка dream team собрать.
Ох. Не, чёт на этом уровне абсурда (как-то странно читать такие откровения и получать неплохую зарплату почти вот именно за то, чтобы без тысячи пакетов) я уже не Копенгаген. Благодарю за потраченное на меня время, но достаточно, пожалуй.
Правильный вывод: да, если человек не программист, его программирование никому особо не требуется что тогда, что сейчас.
B: А написали какие-то невнятные инженеры, не умеющие программировать вообще.
A: Такого не говорил. Писали хорошие инженеры. Для того времени хорошие.
Ну т.е. для того времени хорошие инженеры — это люди, умеющие немного программировать. Ведь так? Я верно процитировал?
Вы как-то густо замесили в одно тесто несколько разных тем. Точно не путаете количественную сложность с качественной? То, что 20М ойтишнегов накосодолбили по десять фреймворков и по тысяче пакетов на каждый чих, делает ли этот чих сложным (НЕ ПРИМИТИВНЫМ)?
Из чего вывод, что вы не видели исходники Кармака и Ромеро, но мнение имеете. Почему бы честно сразу не признаться в этом? Исходники Ведьмака, уверен, вы тоже не видели по очевидной причине, но тоже мнение имеете.
PS. Простите великодушно, очень стараюсь не это самое, но от «каким не будь» глаз всё-таки задёргался (три ошибки слишком уж): каким-нибудь.
Только вот разобраться… С IDE полный швах (отберите у современного программиста IDE, дайте ему в руки vim без плагинов или FAR), литературы не так много (Роберт Лав ещё не написал), нет StackOverflow и в целом интернета с его тысячами статей и чудесным LWN, нет на руках мощных компьютеров (и ещё в начале 2000-х сборка Gentoo после правок занимала времени «пойду погуляю»). Всё это здорово мобилизировало мозг, а работу с тем же миллионом строк превращало не в современную удобную прогулку читателя, но в натуральную работу. Смоделировать очень просто: берёте слабый ноут (аналог Celeron 500MHz), не берёте VS / QtC / CLion / etc, берёте исходник Linux 2001 года, уезжаете в деревню без интернета на месяц (подшивку Dr. Dobb's и текстовый архив comp.lang.c можно). Через месяц возвращаетесь и рассказываете, как легко и просто вам было написать драйвер, например. Ну или не рассказываете, но с восхищением понимаете, насколько вот именно теперь и в самом деле легко и просто работать с кодом.
А написали какие-то невнятные инженеры, не умеющие программировать вообще, но на Хабре всех научат, да? :D Исходник Кармака и Ромеро видели?
Любопытно, что вопреки вашему мнению эти «не продукты» вовсю продавались, работали, активно использовались, управляли самолётами и железными дорогами, считали погоду, прыгали спрайтами в приставках, в космос летали (да, навяз на зубах пример, но это невдолбенный комплекс программного обеспечения, работавший в реалтайме в сетях) и т.д.
Вы точно понимаете, что большинство используемого сейчас софта (не сайтов) написано / ядрозаложено вот именно в ту эпоху «раньше» при решении «примитивных задач»? Нет, безусловно, если очертить круг задач задачами «CRUD для склада», то теперь стало сложнее — надо ещё и морду красивше сделать, резиновее. Только программирование несколько шире, мягко говоря, чем этот круг — операционные системы, базы данных, языки программирования, браузеры, CAD'ы, банковский софт (бжчки, да по сию пору половина планеты обслуживается софтом на COBOL), бухмонстры вроде 1С (привет, 1991-й год), геймдев, военка и промышленность, космос и авиация, наука и транспорт, нефтянка (с милыми вахтами эникейщиков на вышках) и газянка, госорганы (даже ГАИ заказы делала частникам) и зарождающийся бизнес. Да овердофига всего.
Ну или я не понимаю, что для вас «раньше» и как вы эту точку оцениваете. Возможно, вам и в самом деле в 2011 году было тяжело. Только в 2006-м внезапно тоже было очень много софта. И в 2001-м году. И даже в 1996-м году. И, не поверите, даже в каком-нибудь 1981-м тоже.
Программирую больше 15 лет (во всяком случае, за это мне зарплату платят столько лет после школы). Сейчас вот дочитываю учебник по Go, хоть Go мне ни сейчас не нужен, ни в ближайшем будущем. После него дочитаю Фаулера про NoSQL, в метро начал, да не закончил. Потом хочу хотя бы полистать свежее издание про Client-Side Data Storage. Затем, если планы не изменятся, познакомлюсь со Swift 2. А какие с этим должны быть проблемы? С возрастом человек перестаёт читать или кодить в своё удовольствие?
Может. Для этого достаточно просидеть в маленьких конторках на должности "программист всего", писать левой лапой код "лишь бы работало", быть вдалеке от группы настоящих специалистов (минус помощь коллег, минус code review, минус пинки тимлидов, минус ласковый троллинг "Вась, стыдно такого не знать", минус мотивация карьерой и премиями), решать однообразные задачи в каком-нибудь банке, быть не разработчиком, но совмещать с PM'ством. Наконец, просто не париться глубоким знанием синтаксиса и на любом языке писать на Фортране. Откройте вкусную вакансию на hh, например, и насладитесь вариативностью невежества.
Идеально знает язык, но при этом в пять раз больше времени тратит на отладку и фикс багов? Я понял, ага. :)
Во фронтенде? Много. Там каждый год всё перепионеривают зачем-то. Разве что jQuery живее всех живых. В бекенде? Хм… Умерших не припомню. Новых тоже особо нет. Идёт мерное развитие давно известных языков и фреймворков. Есть некоторый движняк в NoSQL, но тоже больше уже вширь, чем вперёд.
Тогда нанимать того, кто умеет выбирать технологии, а не тащит в проект какие-нибудь alpha-RC-я-сделяль © Петя, 2-й курс.
С каких пор знание матчасти стало признаком гения? При нормальном найме проверка таких знаний — всего лишь входной билет на дальнейшее собеседование.
Нормальный специалист знаком. Даже с уровня честного middle разработчик тратит некоторую долю рабочего и личного времени на то, чтобы осматривать и пробовать новинки индустрии. Если не тратит… ну, он ниочинь.
Если дипломированный программист утверждает, что знание синтаксиса — ничто, значит… времена и нравы.
Программисты пишут программы. Программы — набор инструкций на языках X, Y и Z. Чтобы из правильных мыслей в голове сделать правильную программу, программист должен выстроить правильные конструкции языков X, Y и Z. Правильные конструкции выстраиваются на основе 1) знаний синтаксиса языка, 2) стандартных библиотек языка и 3) подводных камней языка (в этом месте часто хромает оптимизация по времени и ресурсам). В современных условиях рынка всё это должно делаться быстро. Пока хороший человек будет в справочниках рыться, нормальный специалист уже код на review отправит, да ещё и с тестами.
Не говоря уж о том, что как-то странно нанимать питониста, не знающего синтаксис Python, джависта, не знающего синтаксис Java, и т.д.
У человека, который не может удержать в памяти синтаксис несколько языков программирования, должны быть проблемы с памятью, что точно отразиться на общем качестве его работы. Конечно, до спецификаций редкий пингвин долетает, да и в каком-нибудь C++ всегда есть хитрые места, но.
Наконец, осматривающий весь этот итоговый бардак senior (который таки знает языки от и до) сделает фейспалм и предложит переписать проект с нуля, что всегда дешевле, чем допиливание десятков тысяч строк кода за нанятыми по методике «лишь бы человек хороший был».
PS. Предлагаю ещё не проверять RDBMS DBA на SQL и фронтендеров на HTML/CSS/JS. Ну, чтобы наверняка dream team собрать.