Библиотека сайта rus-linux.net
Введение в мир программирования
Базовый текст: Programming from the Ground Up (автор: Jonathan Bartlett).
Перевод базового текста на русский язык, общая редакция и дополнения: Царьков В. Б.
Copyright (C) 2003 by Jonathan Bartlett
Copyright (C) 2011, 2012 Vladimir B. Tsarkov
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found at http://www.gnu.org/licenses/fdl.html. In addition, you granted full rights to use the code examples for any purpose without even having to credit the authors. All trademarks are property of their respective owners.
Разрешается копирование, распространение и/или модификация данного
документа согласно условиям GNU Free Documentation License (лицензии
на свободную документацию GNU) версии 1.1 или любой более поздней версии,
опубликованной Фондом Свободного программного обеспечения (Free Software Foundation);
без Неизменных Разделов, Текстов на Передней и Задней Обложках.
Копия лицензии находится по адресу
http://www.gnu.org/licenses/fdl.html.
Также вам разрешается в любых целях использовать примеры кода из книги,
без упоминания их авторов.
Все торговые марки принадлежат их владельцам.
Предисловие автора-переводчика
Свободная лицензия на документацию, согласно которой распространяется текст книги Programming from the Ground Up, позволила создать произведение, которое вы сейчас читаете.
Я не утверждаю, что у меня, а также все тех, кто так или иначе помогал в работе над материалом книги, получилось идеальное ``Введение в мир программирования''. Можно лишь сказать, что в рамках данной публикации удалось осветить некоторые темы, которым редко уделяется внимание в современной технической литературе.
Цель книги в том, чтобы помочь понять как осуществляется программирование компьютерной техники. В первых нескольких главах основное внимание уделяется вопросам, знакомство с которыми позволяет читателю повысить уровень своей теоретической подготовленности к управлению ЭВМ. Остальные главы в большей степени ориентированы на практическую работу, в частности, с использованием языка ассемблера. Учитывая общую направленность книги, в ней можно найти наглядные примеры программ на самых разных языках для решения самых разных задач.
Важно отметить, что все предалагемые примеры программ ориентированы на среду GNU/Linux (хотя, разумеется, с некоторыми поправками, они могут быть использованы и в другом окружении).
Электронная версия текста (на английском языке), послужившего отправной точкой для создания книги, которую вы сейчас читаете, доступна в Интернет по адресу http://savannah.nongnu.org/projects/pgubook.
Сегодня в книжных магазинах очень тяжело найти литературу, где в доходчивой форме объяснялись бы методы низкоуровневого программирования современной вычислительной техники. Надеемся, что наша работа поможет восполнить недостаток информации об этих методах (в контексте задач программирования персональных компьютеров).
Кто-то скажет, что низкоуровневое программирование - это пережиток прошлого, ведь на данный момент есть всяческие C++ и Python. Однако, как это ни странно, практика показывает, что невозможно стать грамотным пользователем ЭВМ, а уж тем более, хорошим программистом, если не научиться хотя бы некоторым методам применения языка ассемблера и, таким образом, понять логику работы вычислительной техники.
Ещё одним достоинством книги, которую вы читаете, является наличие в ней подробных сведений о том, как компьютер представляет информацию с помощью чисел.
С уважением,
Владимир Борисович Царьков
История внесения изменений (History)
Наша работа основана на версии 1.0 книги под названием Programming From the Ground Up.12/17/2002 - Version 0.5 - Initial posting of book under GNU FDL
07/18/2003 - Version 0.6 - Added ASCII appendix, finished the discussion of the CPU in the Memory chapter, reworked exercises into a new format, corrected several errors. Thanks to Harald Korneliussen for the many suggestions and the ASCII table.
01/11/2004 - Version 0.7 - Added C translation appendix, added the beginnings of an appendix of x86 instructions, added the beginnings of a GDB appendix, finished out the files chapter, finished out the counting chapter, added a records chapter, created a source file of common linux definitions, corrected several errors, and lots of other fixes
01/22/2004 - Version 0.8 - Finished GDB appendix, mostly finished w/ appendix of x86 instructions, added section on planning programs, added lots of review questions, and got everything to a completed, initial draft state.
01/29/2004 - Version 0.9 - Lots of editting of all chapters. Made code more consistent and made explanations clearer. Added some illustrations.
01/31/2004 - Version 1.0 - Rewrote chapter 9. Added full index. Lots of minor corrections.
22/12/2011 - Version 1.0.1ru - Осуществлены перевод и доработка первой главы книги. Улучшен стиль изложения, добавлены важные комментарии по обсуждаемым вопросам. - Vladimir B. Tsarkov (vbt).
16/02/2012 - Version 1.1ru - Самостоятельно написана подавляющая часть второй главы. Изменено предисловие к книге. - vbt