Просто наткнулся на это и задумался, есть ли у кого-нибудь способ доказать или опровергнуть это утверждение:
Что-то иметь в виду ... что такое период полураспада знаний в области высоких технологий? Это соответствует закону Мура: половина всего, что вы знаете, устареет через 18-24 месяца.
ИСТОЧНИК: В рамках ответа Крейга Трейдера на этот вопрос: « Какую единственную наиболее эффективную вещь вы сделали, чтобы улучшить свои навыки программирования? »
Statement = (True or False)
Да.Ответы:
Это утверждение относится только к эфемерным технологиям, которые вы должны изучать только по мере необходимости. Тем не менее, вы многому научитесь за свою карьеру.
Основополагающие принципы и методы программирования вечны.
источник
Ерунда
Люди, которые говорят такие вещи, просто пытаются быть сенсационными, иначе они учатся не тем вещам.
источник
Лучший (худший?) Тест, который я могу придумать, это просто вспомнить год. Сколько знаний в области программирования, которые вы используете каждый день, были изучены в предыдущие 18 - 24 месяца? Кроме того, сколько было изобретено в предыдущие 18-24 месяца? Принцип кажется мне весьма подозрительным, так как большинство знаний в области программирования и технических знаний, которые я использую ежедневно, были получены в течение 5-10 лет.
Теперь, если вы разрабатываете что-то вроде платформы для мобильного телефона, возможно, это другая игра в мяч.
источник
По моему опыту, существует огромный разрыв между медиа / публичным имиджем того, какая технология представляет собой Новое Новое, и тем, что на самом деле используется в реальном мире.
Возьмите что-то вроде Visual C ++ / MFC в пространство приложений для настольных компьютеров. Хотя это может показаться старым и устаревшим, и, возможно, это не то, чему новый программист должен сейчас учиться для разработки десктопов, в нем по-прежнему написано огромное количество реальных проектов и заданий, которые поддерживаются - и вероятно, будет сохраняться в течение многих лет и десятилетий. Я собирался привести COBOL в качестве примера, но это будет говорить теоретически - я лично очень хорошо знаю пример VC ++ / MFC.
По сути, дело не в том, что технологии становятся бесполезными и неиспользованными, когда они становятся «устаревшими», а в том, что они больше не рассматриваются как самый современный способ ведения дел и запуска новых проектов. Но вывод из эксплуатации больших программных систем реального мира, которые не сломаны и не нуждаются в исправлении, происходит намного медленнее. Многие из проектов Visual C ++ / MFC, над которыми я работал (начатые в начале 1990-х годов), все еще очень живы, и в них задействовано много программистов (как в обслуживании, так и в новых разработках), и, похоже, никуда не денутся в любое время скоро. На самом деле, я уверен, что большинство из тех, о которых я думаю, будет еще в 2020 году и дольше.
Конечно, это даже не главная проблема. Основная проблема заключается в том, что многие концепции похожи или связаны, и вы не «начинаете с нуля», изучая какую-то новую технологию. Например: как только вы поймете языки разметки и то, о чем они, очень легко выучить новые. Так что не так уж важно, что JSON - это новая вещь, и все, что вы использовали годами, это XML. Это просто вопрос изучения нового синтаксиса - в отличие от того, чтобы быть не программистом, который ничего не знает о том, что такое языки разметки, или о внутренних концепциях, лежащих в основе данных, которые они представляют, и т. Д.
TL; DR: 1) Существует множество «устаревших» технологий, которые используются, но, поскольку это не сексуально новая вещь, вы не слышите об этом много - но это далеко не бесполезно для тех, кто работает с ней. , 2) Концепции программирования строятся друг на друге и развиваются. Мало что действительно нужно изучать с нуля и забыть старое.
источник
Все зависит от того, что вы сосредоточены на изучении, запоминании и в целом наполнении вашего мозга. Детали могут быстро устареть, но принципы должны длиться гораздо дольше.
Примеры из вещей, в которые я был глубоко вовлечен в последнее время:
Те вещи, которые я выучил жирным шрифтом, будут длиться намного дольше, чем вещи на левой стороне. Если вы хотите избежать ошибок устаревания в программировании, сфокусируйтесь на принципах .
источник
Роберт Харви прибил это , но, подумав об этом, я вынужден бросить краткость на ветер и ответить.
Я должен добавить отказ от ответственности, я не копался в Perl On Rails в тот момент, когда это было объявлено. У меня было ощущение, что оно хорошо работает для очень ограниченного использования, для которого оно было разработано, и сделало заметку об этом для дальнейшего использования.
Я также не поддался более чем 50 перестановкам в стандартной библиотеке C в течение последних двух десятилетий, я хотел бы ссылаться на них, но теперь они, как представляется, сталкиваются с существенными проблемами.
Когда выходит что-то новое, возьмите его и посмотрите. Если вы говорите «Ик», бросьте его. Если вы говорите «вау», улучшите его. Если вы не можете обдумать такое решение, выберите мозг людей, которые могут.
Судите все по техническим качествам в одиночку . Стоит вашего времени, что означает, что это экономит ваше время, когда вы получаете одобрение от большинства ваших коллег.
Теперь я отвечу на ваш вопрос напрямую:
Вы должны будете сообщить нам об этом через 18 - 24 месяца. Компании платят значительные суммы, чтобы люди говорили о том, насколько хорош их продукт. Мы должны пройти через не только начинающие компании, но и зарекомендовавших себя гигантов, которые выделяют значительные суммы денег на:
Конечно, вы могли бы формировать свои собственные решения на основе предыдущего опыта и своих испытаний с чем-то новым. Делая это, избегайте работодателей, у которых есть менеджеры, которые раздают заповеди, основанные на их читателе RSS.
Однако у меня есть эта удивительная новая библиотека для строительства мостов, которая достаточно умна, чтобы переключаться между Бруклином и Лондоном в зависимости от вашего региона. Это будет огромный, ты хочешь попасть на первом этаже?
Мой ответ действительно намеренно сардонический и, возможно, антибулевский, но на самом деле? В целях обработки исключений мой ответ является ложным .
Если вы думаете, что что-то технически исправно - примите это, иначе это обычный бизнес. C - мой основной язык, он работает так же хорошо, как и два десятилетия назад, в то время как мне платят вдвое больше, чем мне почти два десятилетия назад.
Я восхищаюсь вашей лаконичной формой и цитатами, но это, похоже, эксперимент по прорыву .
Отлично сработано :)
источник
Это зависит от того, что вы тратите на изучение. Я изучил Bourne shell и C программирование в 1980 году. Я до сих пор использую его каждый день. С другой стороны, время, которое я потратил на изучение структур меню Compuserve, является полной потерей, и оно не было действительно очень полезным даже в то время. Тогда есть промежуточные вещи, такие как разводка кабеля RS-232 и последовательные протоколы: сегодня бесполезны, но необходимы примерно десять лет моей жизни. Выберите технологии, которые вы уделяете много времени тщательно.
источник
Принцип верен. Фактическая стоимость - насколько мне известно - гораздо больше.
Я вспоминаю презентацию Pragmatic Programmer, где они говорили о семи годах, но я не могу найти ее сейчас, поэтому значение может быть немного другим.
Подумайте, как изменились технологии: пятнадцать лет назад Интернет был совершенно новым, и мы все пытались писать веб-страницы - возможно, даже с таблицами - и анимированные GIF. Семь лет назад AJAX взлетел. Сегодня некоторые люди пишут Doom-подобные игры для мобильных телефонов.
Лучше всего изучать общие вещи, которые могут быть применимы к следующей технологии, вместо того чтобы сказать: «Беги! Я знаю только Visual Basic!» (или эквивалент через 15 лет).
источник
Я не думаю, что это точно.
Когда-то это было ближе к истине - давно у вас не было иного выбора, кроме как программировать на относительно низком уровне абстракции, что означало знание огромного количества деталей, которые больше не актуальны на новой платформе.
Однако со временем все больше и больше программ делается на все более и более высоких уровнях абстракции. Более высокий уровень абстракции более или менее напрямую приводит к меньшей озабоченности деталями, которые могут измениться и быстро устареть.
Очевидно, что есть люди, которые работают над такими вещами, как драйверы устройств или крошечные встроенные системы, которым все еще приходится работать на низком уровне абстракции. За пределами таких областей, однако, есть относительно мало оправданий для таких вещей. Да, много людей делают узнать много мелочи они не нужны, но если вы действительно используете такие вещи в вашем коде много, шансы очень хорошо , что вы просто не делаете очень хорошие решения. Большинство таких вещей можно (и что более важно, следует) вообще избегать.
источник
Возможно, правда, возможно, нет; однако, даже если фактические знания устаревают вскоре после их изучения, концепции и идеи, лежащие в их основе, могут быть полезны гораздо дольше.
источник
Если бы это было так только 5.39x10 -6 из Мифический человеко-месяц будет актуален и сегодня. Поскольку есть очень немного ключевых принципов, которые Фред Брукс детализирует, которые значительно датированы или оказались в корне неверными.
источник
Многое из ваших знаний останется актуальным во время теста времени (хотя может потребоваться некоторое обновление со временем), особенно основных принципов, таких как структуры данных и т. Д.
Конечно, если вы знаете язык программирования X и Y, изучение языка Z будет проще, чем если бы вы не знали ни X, ни Y, поэтому вы можете использовать свои предыдущие знания для адаптации новых знаний.
Стоит также отметить, что многие навыки, которые были актуальны десятилетия назад, все еще актуальны сегодня, даже конкретные технологии, такие как C (начало 1970 года, все еще актуальны сегодня).
Вполне возможно, что половина того, что вы знаете, через какое-то время устареет, и, вероятно, больше, чем половина, но каждые 18-24 месяца звучат довольно экстремально.
источник
Отдельные факты не имеют большого значения. Вы берете их, понимаете их, применяете их только на мгновение.
Но это учит вас процессу обработки фактов или, по крайней мере, обработке определенного набора фактов. Я изучил много математики в школе, которую я никогда не использовал. Тем не менее я учился и тренировал математическое мышление.
Я работал веб-программистом в Ruby on Rails. И хотя я сейчас не пишу веб-сайты, это сильно повлияло на мой образ мышления и сделало меня лучшим программистом на C ++. (Например, больше STL).
Подобное идет для изучения Ракетки. Я никогда не писал больших программ, но это дало мне новую точку зрения для применения в некотором проблемном пространстве.
Это просто тренировка ума ...
источник
Я думаю, что вы можете легко опровергнуть утверждение, играя с объектом, который вы в «половине всего, что вы знаете».
Существует определенное распределение знаний, некоторые из которых устаревают (независимо от уровня.) Таким образом, если данный человек содержит знания только из половины этого спектра, которая останется через 18-24 месяца, они нарушают утверждение.
источник
Вот лучшая версия предложения: половина всего, что вы узнали сегодня (или на этой неделе, или в этом месяце, или в этом году), устареет через год или два. Это правда - вы узнаете, как сделать что-то в 5-й версии инструмента, и когда выйдет 6, он сделает это автоматически, или вы узнаете, как сделать что-то на языке, который не завоевал популярность, поэтому вы никогда не будете использовать его снова. Но вторая половина того, что вы изучаете каждый день, остается с вами и растет, и это делает разработчика с 20-летним опытом лучше, чем двухлетний.
источник
Здесь есть частичка правды или актуальности, но я думаю, что она представлена неточно.
Лучший способ представить это было бы
или
Это может зависеть от того, в какой сфере вы работаете, но я знаю, что я постоянно работаю над новыми технологиями. Кажется, что у каждого проекта есть огромный кусок нового материала, который мне нужно изучить - новые фреймворки и шаблоны, новые подходы к слегка измененным задачам или просто новые инструменты, которые (предположительно!) Лучше, чем те, которые мы использовали ранее.
Если в каждом шестимесячном проекте требуется только 12,5% новых знаний, то в течение двух лет полные 50% используемых знаний будут «новыми».
Сказав это, это не очень многозначительно или точно.
источник
О Боже, такой замечательный ответ здравого смысла выше. Хорошо сделано.
Проще говоря, если это модный тренд или тенденция, если вы хороший программист, вы прочитаете об этом, а затем вернетесь к тому, что вы обычно делаете или работаете.
Если нет ничего важного для того, что вы делаете, или новых практик, которые имеют смысл для вас.
Просто потому, что что-то новое, несколько новое или несколько старое, не делает его обязательным решением для чего-либо.
У меня есть простая фраза, все это на обложке.
«Если это работает, используйте это»
Это означает, что если эта новая технология удивительно крутая, но не та, которая делает вашу работу более продуктивной, более качественной или менее подверженной ошибкам, или решает технические проблемы, такие как мобильные или клиент-серверные решения. Чем лучше это прочитать, то игнорировать, пока у вас не появится практическое применение.
Я видел и читал больше людей, которые тратили время, пытаясь найти новую горячую вещь, а затем использовать новую горячую вещь. Который обычно заканчивается полной тратой времени и денег.
Важно всегда учиться, практиковаться и совершенствовать свое мастерство и навыки.
Однако вы должны узнать, что полезно или что дает вам различные перспективы для решения проблем, которые у вас обычно есть.
Но помимо этого следует вернуться к основам того, чтобы быть отличным программистом.
Я придерживаюсь лучших практик здравого смысла, которые мы все учимся на нашем опыте. Не тратьте время на то, что просто круто.
Потому что, если честно, круто это не круто.
источник
Я слышал эту фразу, приписываемую инженерным областям, а не программированию. В частности, я слышал: «Когда вы получите степень бакалавра в области машиностроения, ваши первые два года обучения будут основаны на старых технологиях». (Или что-то в этом роде.)
Я не думаю, что это относится к программированию вообще. Единственный возможный способ, которым я мог видеть это, связан с тем, когда функции устарели или удалены из языка программирования / библиотеки / чего-либо еще.
источник
Средняя технологическая платформа существует где-то между 10 и 25 годами, поэтому мне это кажется маловероятным, даже если вы полностью игнорируете тот факт, что знание шаблонов сохраняется благодаря технологиям. Если вы работаете на какой-либо крупной платформе, вы можете рассчитывать на то, что этот стек будет популярен по крайней мере 5 или 6 лет, прежде чем он начнет исчезать. Я знаю программистов, которые 30 лет кодировали в RPG, используя практически идентичные аппаратные и программные инструменты.
источник