Статьи

Написать великий код

Написание отличного кода, который не только функционален и не содержит ошибок, но также использует все аспекты своей среды для эффективной работы — это то, к чему все мы стремимся. Рэндалл Хайд надеется облегчить этот путь, начав с первой книги в серии из четырех статей под названием « Напиши великий код», «Понимание машины» .

Хайд берет тему, которая продолжает лежать в основе всех разработок, основ компьютерной архитектуры. В этом случае Hyde преимущественно говорит с теми, кто работает на платформах x86, хотя основные принципы переносятся на Power PC и другие. До этой серии можно было бы начать программирование с помощью учебных курсов, практических руководств и методик проб и ошибок.

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

До того, как всемирная паутина стала центральным элементом профессионального развития, программисты прошли традиционный путь изучения процедурного языка, возможно, в университете или методом проб и ошибок самостоятельно, например C. Однако с конца 1990-х годов многие Первым вкусом кода разработчика был Perl, PHP или Python.

В некоторых случаях отсутствие функциональных строительных блоков программирования и взаимодействия кода с аппаратными элементами процессора, памяти и многого другого может стать невидимым препятствием для написания великолепного кода. По моему опыту, Code Complete была книгой, подобной усилиям Хайда, которая вывела меня на новый уровень размышлений о коде до его написания. Книга Хайда бросает мне вызов на совершенно новом уровне.

По словам Рэндалла Хайда, именно это новое поколение разработчиков стремится достичь его книга — «Потому что это группа программистов, которые, вероятно, никогда не видели этот материал где-либо еще», — сказал он SitePoint.

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

«Тома I, III и IV будут применимы к тем, кто хотел придерживаться [Perl, PHP и т. П.]. Том II будет мало интересен — поскольку в нем рассказывается о том, как компиляторы генерируют код, который недоступен для скриптовых / интерпретируемых языков », — добавил Хайд.

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

«В книге используются примеры на C, Pascal, Assembly и Basic, но кто-то, знакомый с * любым * императивным языком, поймет, что происходит», — сказал Хайд.

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

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

Прощальный комментарий от Хайда: «Независимо от того, какое языковое средство использует программист, понимание того, как машина представляет данные, выполняет код и обрабатывает ввод-вывод, имеет решающее значение для тех, кто хочет писать отличный код».