Cтраница 2
Программисты сами составляют для БИ такой словарь. Он очень похож на обычный словарь иностранных слов: имя оператора на промежуточном языке расшифровывается последовательностью команд на языке БИ. Словарная статья в таком словаре называется макроопределением. [16]
Программисты используют отладчики для тонкой шлифовки программ. Отладчик позволяет им находить мелкие, но очень глубоко скрытые ошибки. Активно пользуются отладчиками и хакеры. С их помощью они изучают устройство программ и находят в них места, в которые можно тести несанкционированные изменения и каким-то образом испортить программу к собственному удовольствию. [17]
Программист, начинающий работать на PDP-11, вряд ли столкнется с этой ЭВМ в чистом виде, без прикрас. Обычно есть терминал, через который осуществляется связь с вычислительной машиной. Имеются устройства ( как правило, это диски или ленты), на которых может постоянно храниться информация. В этом случае устройства памяти обычно находятся в машинном зале, вне поля зрения программиста. [18]
Программист, пишущий на языке ассемблера, обращается с памятью ЭВМ не так, как программист, использующий язык программирования высокого уровня. В последнем случае программист обращается к памяти с помощью имен переменных и оперирует этими переменными, применяя операторы используемого им языка программирования. С точки зрения программиста, пишущего на языке ассемблера, память - это последовательность байтов, на которые он может ссылаться с помощью адресов. Программисту, пользующемуся языком ассемблера, нужно быть очень внимательным, чтобы не путать содержимого адреса с самым адресом. [19]
Регистры микропроцессора 8088. [20] |
Программисты, имеющие опыт работы с микропроцессорами 8080 и 8085, должны заметить, что АН - единственный регистр микропроцессора 8088, не имеющий аналога в этих микропроцессорах. [21]
Программист должен определять ширину поля w, достаточную для помещения в поле знака ( если он минус), десятичной точки, мантиссы, Е и показателя степени, состоящего из двух цифр со знаком. [22]
Программист присваивает структурам имена в операторе DECLARE. В структуре могут быть еще и подструктуры. Номера уровней тоже присваиваются программистом. Номер уровня структуры появляется перед идентификатором структуры. Между номером и идентификатором стоит по крайней мере один пробел. Описатели идентификаторов внутри структуры присваиваются по общему правилу - они следуют за именем идентификатора. Для обработки сложных данных часто употребляются комбинации структур и массивов. [23]
Программисты тоже знают, что в программе нет никакого сердца. Имеются лишь программы более высокого уровня. Но все, что они делают, сводится к инструкциям типа если то-то и то-то, следует перейти к такой-то и такой-то подпрограмме. И если мы посмотрим на подпрограммы низшего уровня, которые фактически выполняют весь труд, то увидим бесчувственные связи-циклы и последовательности тривиальных операций, лишь выполняющие то, что им приказано. Интеллект в такой системе оказывается столь же неосязаемым, как смысл изолированного слова в обиходной речи, если даже все вновь и вновь повторять его с глубокомысленным видом. [24]
Программист должен каким-то образом сообщить машине свои несовершенные знания относительно того, как следует вести себя в этих сложных ситуациях. Серия языков программирования IPL и была разработана, чтобы облегчить создание программ для решения задач, использующих характерные для поведения человека методы отсечения плохих вариантов - так называемые эвристики. Эти языки должны были служить инструментом для изучения эвристических методов решения задач. [25]
Программист имеет в своем распоряжении символы двух типов: региональные и локальные. Региональные символы используются при программировании обычным образом. Цифра 9 рассматривается как региональный символ. Локальный символ имеет одно и то же значение лишь в пределах данного IPL-выражения. Одни и те же локальные символы могут иметь различные значения в разных частях программы и в разных списковых структурах. [26]
Программист может организовать группы этих процедур з модули с целью проектирования и документирования, но язык сам по себе не поддерживает модульность. [27]
Программисты, имеющие опыт работы с 8 - и 16-разрядными МП, могут обнаружить, что им приходится работать с гораздо более сложными аппаратными и программными средствами, иметь дело с многопроцессорной архитектурой, многозадачным / многопользовательским программным обеспечением, системами управления памятью, сопроцессорами, конвейеризацией и кэшпамятью. Применение 32-разрядных шин и повышение тактовых частот затрудняет применение аппаратно-ориентированных средств разработки ЭВМ. [28]
Программист, использующий при проектировании и кодировании рассмотренные в этой главе базовые структуры, выигрывает втройне: программа становится понятней, повышается ее надежность и облегчается ее сопровождение. При овладении структурным подходом становится возможным программировать почти без ошибок. Необходимость в детальных блок-схемах для объяснения программ уменьшается или вообще отпадает. Сокращается время на документирование, так как сами программы становятся документами. [29]
Программисты оценили диалоговый характер общения с ПЭВМ, при котором исчезли ограничения, свойственные крупным системам коллективного пользования, и появились важные новые возможности - свободное использование комбинаций графики и текста, наличие собственного архива файлов и резко возросшая номенклатура устройств ввода-вывода информации. Свидетельством того, что программисты признали ПЭВМ, является тот очевидный факт, что всего за несколько лет на них реализован практически полный набор средств программирования; более того, продуктивность ПЭВМ как инструмента программиста подтверждается появлением новых языков программирования и значительным усовершенствованием уже известных языков. [30]