Теоретический минимум для программиста - Магия слов и чиселmusic: Hans Zimmer — . Удивительно, но каждый день используя продукты и технологии, созданные другими программистами на основании развитых областей знания, они даже не догадываются о том, как они устроены. Построенные на теории массового обслуживания и стандарте GSM сети мобильной связи; PHP- скрипты, исполняющиеся на удаленных серверах и передающие свою выдачу через Ethernet по TCP/IP на компьютеры с NDIS- драйверами; процессоры, переупорядочивающие и спекулятивно исполняющие наборы инструкций для того, чтобы скомпенсировать вызванную ограничениями полупроводниковой электроники и скоростью света остановку роста тактовой частоты; рассчитанные на ЭВМ корпуса самолетов и автомобилей, лекарства и структуры ДНК; компьютерные игры, ради крохотного блика в которых пишутся мегабайты заполненных интегралами Френеля статей; электронные фильмы и книги; алгоритмы NLP и Tree. Net, вызывающие нам из огромных баз данных поисковую выдачу — вот то, что окружает нас каждый день благодаря программистам, благодаря оригинальным подходам и фундаментальным знаниям, благодаря продуманной и отточенной десятилетиями методологии разработки и управления сложностью ПО. Я и мои единомышленники взяли на себя труд составить теоретический минимум для программиста на основании наиболее ярких отраслей IT, вошедших даже в программы нормальных университетов, на основании собеседований и постоянно пригождающихся на практике знаний. Часть из пунктов этого минимума можно изучить за 5 минут по википедии, часть же потребует серьезного труда на протяжении нескольких месяцев, но это именно то, что обязательно следует знать и чем следует свободно владеть. В комментариях приветствуются исправления и дополнения. C++, стандарт, Comeau, 1. Требования к Интернет-соединению для онлайн-игр. Вопросы по теме: драйвер. Где скачать драйверы и программу для модема YOTA? Assembly.jpg (715 Kb) Подетальная схема приводов 3908L Бесплатная загрузка и средства безопасности. Популярные Hardware drivers загрузки. Не спорю, это необходимо, но не всегда удобно: клиенты занимают место в памяти и зависимы от качества интернет-соединения. Dlink DIR-320 / Atheros AR242x 802.11abg Р Установите драйвер модема на компьютер, согласно инструкции Вашего модема. Автор: alemtin 06.03 11:28 Norton. Драйверы для подключения телефонов и других мобильных устройств LG. Главная » Поддержка » Драйверы » Проводная оптическая мышь A4Tech K5-52D. TBS, Страустрап/D& E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy- and- swap/exception- safety, правило пяти, Александреску/Абрахамс- Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик- Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECSКомпиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, . Это не бага, это фича. Системное изложение программы по практически любому из пунктов заняло бы места не меньше, чем оглавления пухлых талмудов, поэтому лучше как раз названия этих талмудов и приводить. Как же тогда работать с этим списком? Следует брать хорошие книжки по тематике и читать их до тех пор, пока все упомянутые слова не встретятся в процессе чтения. Авторы и в страшном сне не могли предположить, что кто- то решит, что устройство Даффа посчитают по глубине и объему чем- то равным полуторатысячестраничному Священному Стандарту. Однако этот критерий вполне рабочий — можно перечитать сотню книг по C++ для начинающих, и ни разу не встретить упоминания о нем, но если читать действительно полезные книги и статьи (для тем, подобных C++, такие книги существуют и перечислены), то все слова довольно быстро встречаются. Смысл программы, обусловленный ее размером, именно в том, чтобы дать возможность оценить, достаточное ли количество книг по теме прочитано. Весьма значительное количество критики теормин встречает и со стороны людей, считающих себя программистами, которые полагают, что все это знать невозможно, изучать слишком долго, а в некоторой абстрактной узкой практике большая часть не используется. Эти люди, к сожалению, просто не понимают, в чем разница между эрудицией/памятью и знаниями. Ценность для программиста имеет не запоминание точного формата какого- нибудь из пакетов NBNS, а овладение подходами, которые использовались при разработке, другими словами не способность воспроизвести, а способность воссоздать или опознать, в том числе в другой области. Именно способность человека к анализу и синтезу (которая все же не берется из ниоткуда, а достигается активным познавательным трудом) отличает его от гугла, который даже в очень отдаленной перспективе не научится решать даже div. Именно на развитие этой способности и направлен теоретический минимум, который в процессе работы обязательно придется дополнять domain- specific знаниями, будь то особенности игровой физики, разработка оперденей на Java или создание реальных микросхем. В отдельный абзац стоит выделить вопрос от тех, кто сомневается в своих способностях освоить теормин, либо полагает, что способность его применять будет редко востребована и ослабнет. В целом, теорминимум в большинстве пунктов несколько уступает учебным программам факультетов CS нормальных университетов, так что за 5 лет его освоить вполне возможно, даже совмещая с работой. Конкретно в геймдеве активно используются (по разным подсчетам в обсуждениях) от 1/3 до 2/3 перечисленных пунктов. Недостающую активность можно восполнять, к примеру, консультируя других на Stack Overflow. Отдельную категорию людей, высказывающуюся в стиле «я такого не знаю, я такое запрещаю» составляют те, кто полагает, что цель программиста заключается не в улучшении мира, а в зарабатывании денег. Им этот теоретический минимум действительно не нужен, а следует поискать самоучители по тому, как правильно и со знанием всех тонкостей воровать, обманывать и заставлять работать вместо себя других.«Нас и тут неплохо кормят». Этот аргумент встречает свое опровержение во втором по активности обсуждении статьи у metaclass: Все, что должен знать программист, чтобы его после 4. Помойку, Где Бомжи. Действительно, в возрасте около 4. Потеря способности писать код в сочетании с неспособностью из- за отсутствия тренировок к анализу/синтезу — гарантированный путь именно туда. Некоторые люди сохраняют способность оперировать нормальной цикломатической сложностью и в старости, однако лишь за счет превышающих норму показателей в молодости. Проверить, входите ли вы в зону риска, можно на Top. Coder. Кроме того, хочу поблагодарить тех, кто помогал исправлять досадные ошибки в этом теормине, особенно своих коллег, которые не только владеют его большей частью, но и внесли наиболее ценные замечания по его дополнению. Некоторые полезные ссылки: Книги, которые стоит читать в ITМатрица Компетентности Программиста. Список Баткина. MIT Open. Course. Ware. Курсы Интернет- университета. UPD2 (2. 01. 1. 0. Огромное спасибо Vissi за перевод статьи на английский язык. UPD3 (2. 01. 1. 1. Питер Норвиг. Научитесь программировать за десять лет. Matt Might. What every computer science major should know. От физики к программированию. Зачем нужно знать всякие низкоуровневые вещи. Ну и наконец, откуда вообще вырос этот теормин: ACM Computer Science Curriculum. Last update: 2. 01.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
July 2017
Categories |