Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин
День 1436. #Карьера
Читайте Академические Статьи по ИТ
Вы читаете документацию и учебные пособия, чтобы стать лучше, как программист, но, если вы хотите быть лучшим, читайте академические исследования.
Как часто вам приходится копаться в академических статьях по ИТ, чтобы улучшить свои навыки программирования?
Учебники могут помочь вам писать код прямо сейчас, но именно академические статьи могут помочь понять, откуда взялось программирование и куда оно движется. Каждая функция программирования, от нулевого указателя (он же ошибка на миллиард долларов) до ООП (через Smalltalk), была построена на основе исследований, которые уходят корнями в 1960е (и ранее). Будущие инновации будут основываться на сегодняшних исследованиях.
Например, книга Трейси Киддера «Душа новой машины» рассказывает о гонке за разработку 32-битного микрокомпьютера в конце 70-х. Охватывает как инженерную культуру того времени, так и проблемы и концепции, с которыми боролись инженеры. Это было до появления массовых процессоров и стандартных компонентов материнских плат, поэтому многое из того, что сегодня мы считаем само собой разумеющимся, все ещё находилось в разработке.
Знание истории вычислительных концепций, которые вы используете каждый день, открывает понимание того, как они работают на практическом уровне. Используемые вами инструменты, от баз данных до языков программирования, созданы на основе научных исследований. Понимание истоков вещей, с которыми вы работаете, открывает множество знаний, которые вы не получите, просто используя их каждый день, потому что вы не понимаете, почему была выбрана такая реализация, а не другая.
В 2013 году Брет Виктор выступил с докладом «Будущее программирования». Он был одет как инженер из 70-х: белая рубашка на все пуговицы, ручки в кармашке, брюки цвета хаки. Он использовал проектор, поправлял слайды, погружая всех в дату выступления - 1973 год. Он говорил обо всех великих вещах, которые встряхнут информатику. И это всё то, с чем аудитория до сих пор работает, например, переход от последовательного выполнения к моделям параллелизма.
Когда вы видите эти проблемы в их изначальном контексте, например, читаете исследовательские работы, в которых пытались их решить, вы можете лучше понять, где вы сейчас находитесь. Это может привести ко всякого рода прозрениям: «Объекты именно такие, благодаря Smalltalk из 80х. И именно поэтому большие системы такие, поэтому Java и C# такие.»
Вы также можете найти новые способы решения проблем, читая современные исследования. Если ваша работа связана с созданием вариаций одного и того же CRUD-приложения в новых доменах, то, возможно, исследовательские работы вам и не помогут. Но если вы пытаетесь решить уникальные проблемы вашей отрасли, некоторые исследования в этих проблемных областях могут помочь вам их преодолеть.
Существование исследований, конечно, не означает, что ваши проблемы решатся автоматически. Иногда статья даёт вам только часть решения. Нужно находить нити в академической работе и сплетать их вместе, чтобы решить вашу проблему. Возможно, вы и сами смогли бы решить проблему. Но представьте себе объём работы по исследованию. Нет необходимости переделывать работу, если она уже была сделана.
Что почитать?
1. В 1996 году Филипп Лапланте написал книгу «Великие статьи по компьютерным наукам», которая на данный момент может быть немного устаревшей.
2. Более свежая книга Гарри Льюиса «Идеи, которые создали будущее» опубликована в 2021.
3. Репозиторий Papers We Love содержит документы и ссылки на документы, организованные по темам. Его создатели приветствуют новые пулл-реквесты с академическими статьями, которые вам нравятся.
Если вы открыли одну из статей из репозитория, ужаснулись и тут же закрыли, вам может помочь одна из презентаций команды Papers We Love, в которых они рассказывают, как понимать научные статьи: от полной фрустрации при первом просмотре до нахождения пути для понимания.
Источник: https://stackoverflow.blog/2022/12/30/you-should-be-reading-academic-computer-science-papers/