Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование введение в профессию

Андрей Викторович Столяров: сайт автора

краудфандинговый проект

Программирование: введение в профессию. Том 1: азы программирования

Аннотация

Первый том серии «Программирование: введение в профессию» включает две основные части.

В первую часть книги вошли избранные сведения из истории вычислительной техники, обсуждение некоторых областей математики, непосредственно используемых программистами (таких как алгебра логики, комбинаторика, позиционные системы счисления), математических основ программирования (теория вычислимости и теория алгоритмов), принципы построения и функционирования вычислительных систем, начальные сведения о работе с командной строкой ОС Unix.

Вторая часть посвящена начальным навыкам составления компьютерных программ на примере Free Pascal под ОС Unix. Материал ориентирован на изучение в будущем языка Си, так что, в частности, много внимания уделено работе с адресами и указателями, построению списков и других динамических структур данных; в то же время многие возможности Паскаля из рассмотрения исключены. Даются сведения о правилах оформления текстов программ, о тестировании и отладке.

Публикация в бумажном варианте

Опубликовано издательством МАКС Пресс (Москва) в 2016 году. ISBN 978-5-317-05222-5.

Электронная версия

Электронная версия, идентичная печатному изданию, доступна здесь: http://www.stolyarov.info/books/pdf/progintro_vol1.pdf

Статус бумажной версии

Книга распространялась среди донэйторов проекта и поступала в свободную продажу. В настоящее время часть тиража, предназначавшаяся к продаже, закончилась.

Архив примеров программ

Архив, содержащий примеры программ из первого и второго тома, можно скачать здесь: http://www.stolyarov.info/books/extra/progintro_vol1_2_examples.tgz

Напоминаем, что раскрыть этот архив можно командой

Дополнительная информация

Восстановление исходных режимов терминала

У тех, кто попытается воспользоваться модулем CRT, рано или поздно возникнет вопрос, ну почему же невозможно из программы на Паскале перед завершением работы восстановить режим терминала в его исходном виде. Надо сказать, что это действительно неудобно. Но, хотя в самом FreePascal никакого специального средства для этого не предусмотрено, восстановить терминал всё же можно — вот так:

Это выдаст на терминал стандартную Esc-последовательность, сбрасывающую все режимы в состояние по умолчанию.

Датчик псевдослучайных чисел

При программировании игр обычно требуется внести в происходящее некое разнообразие; этого можно добиться с помощью случайных или псевдослучайных чисел. В Паскале для генерации псевдослучайных чисел предусмотрена процедура Randomize и функция Random . Вызов Randomize обычно вставляется куда-то в самое начало главной программы (нужно, чтобы эта процедура была вызвана один раз, причём раньше первого обращения к функции Random ):

Далее функция Random , если её вызвать без параметров, вернёт (псевдо)случайное число типа real на полуинтервале от 0 до 1 (включая ноль, но не включая единицу), а если нужно случайное целое число, то можно вызвать функцию с целочисленным параметром, и она вернёт случайное число типа longint от 0 до N , не включая N (где N — значение параметра). Например:

Здесь переменная x получит псевдослучайное значение от 0.00 до 1.00 (не включая 1.00), а переменная k — значение от 1 до 500.

Андрей Викторович Столяров: сайт автора

краудфандинговый проект

Проект создания новой книги

Программирование: введение в профессию. Том 1: азы программирования. Вышел 23 марта 2016 г.

Программирование: введение в профессию. Том 2: низкоуровневое программирование. Вышел 5 июля 2016 г.

Программирование: введение в профессию. Том 3: системы и сети. Вышел 26 июля 2017 г.

Программирование: введение в профессию. Том 4: парадигмы. Вышел 27 марта 2020 г.

Благодаря усилиям донэйторов все четыре тома книги благополучно изданы в бумаге, а их электронные версии размещены в открытом доступе на этом сайте. Планируется продолжение проекта; следите за новостями.

Нравится проект? Поддержи автора!

Краудфа́ндинг (народное финансирование, от англ. сrowd funding, сrowd — «толпа», funding — «финансирование») — это коллективное сотрудничество людей (доноров), которые добровольно объединяют свои деньги или другие ресурсы вместе, как правило через Интернет, чтобы поддержать усилия других людей или организаций (реципиентов) [http://ru.wikipedia.org/wiki/Краудфандинг]

О проекте

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

Профессия программиста — одна из самых востребованных, дефицитных и высокооплачиваемых, но никакое образование — даже в самых лучших ВУЗах — не делает человека программистом. Практически все профессионалы сходятся во мнении, что их программированию никто не учил и пришлось научиться самому. Но и самообучение оказывается проблематично в условиях, когда большинство существующих платформ устанавливает высокий барьер вхождения, исключающий программирование на любительском уровне. [СТАТЬЯ ПОЛНОСТЬЮ >>>]

Текст этой статьи позже лёг в основу второго («методического») предисловия, вошедшего в первый том. Сейчас, пожалуй, как раз эти три предисловия вместе — «философское», «методическое» и «напутственное» — дают наиболее адекватное представление об идейной основе и целях проекта.

Исходное описание планов по содержанию книги выглядело так:

Согласно авторскому замыслу, книга должна охватить этапы изучения программирования в объёме «продвинутой» школьной информатики (в той её части, которая непосредственно касается программирования) и первых двух курсов ВМК МГУ, с учётом использования операционной среды ОС Unix. В книгу войдёт (в сильно переработанном виде) материал, ранее использованный в книгах Операционная среда ОС UNIX для изучающих программирование, Программирование на языке ассемблера NASM для ОС Unix, Введение в операционные системы и Введение в язык Си++, что составит, по ощущениям, около половины объёма будущей книги. С нуля придётся написать, во-первых, главу, посвящённую математическим основам программирования — теории алгоритмов и её связи с теорией вычислимости; во-вторых, полностью с нуля будет создана часть, посвящённая начальному освоению программирования на примере языка Паскаль, а также сравнительно небольшая, но необходимая часть, посвящённая языку Си. Если хватит сил, стоит снабдить книгу также частями, посвящёнными Лиспу и Прологу.

Для пояснения сказанного был даже сделан некий план-проспект будущей книги, с которым по-прежнему можно ознакомиться, хотя нынешняя реальность от него довольно сильно отличается. Когда все семь основных частей, из которых должна была состоять книга, были с горем пополам завершены — некоторые путём переработки существующих текстов, некоторые «с нуля» — оказалось, что объём полученной рукописи уже существенно превышает разумный объём для одной физической книги, при этом охвачен ещё не весь материал, который хотелось бы охватить, а некоторые из имеющихся частей всё ещё пребывают в слишком сыром виде. Логичным выходом из сложившейся ситуации стало решение превратить книгу в трёхтомник, а позже, уже в процессе работы над вторым томом, стало ясно, что планировавшихся к включению в него материал, как водится, «не лезет», и планируемых томов естественным образом стало на один больше.

Первые два тома, вышедшие к июлю 2016 г., по своему совокупному объёму превысили изначально ожидавшийся объём всей книги и содержат все наиболее интересные части, написанные с нуля: вводную часть, содержащую всевозможные предварительные сведения; часть, посвящённую начальным навыкам программирования на примере Паскаля; и часть, посвящённую программированию на Си. Кроме того, во второй том вошёл (в изрядно переработанном варианте) материал одной из моих наиболее популярных старых книжек — Программирование на языке ассемблера NASM для ОС Unix.

Оставшиеся три части из семи изначально планировавшихся предполагалось «сделать» из существующих текстов путём не слишком значительной переработки. С появлением в планах третьего и четвёртого томов концепция, естественно, изменилась. Третий том, изданный летом 2017 г., посвящён устройству и возможностям операционной системы, включая взаимодействие процессов через компьютерные сети, а также параллельное программирование, при этом примерно 85% его содержания пришлось написать с нуля.

Четвёртый том, если до него дойдёт дело, будет целиком отдан программированию высокого уровня, начиная с ООП и языка Си++, заканчивая «альтернативными» парадигмами и экзотическими языками, такими как Лисп, Пролог, Хоуп и т.п.; в этот же том планируется включить главу о создании графических интерфейсов на основе какой-то из подходящих библиотек (скорее всего Qt, но пока что это не окончательно) и о скриптовом программировании (Tcl + Tcl/Tk). Из всего этого великолепия к настоящему времени существует (и выдержал три переиздания) только текст о языке Си++, что составляет не более трети объёма планируемого четвёртого тома. Более подробно о планах будущее рассказывается на отдельной странице .

Читать еще:  Онлайн школа программирования

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

Финансовый вопрос

Первоначальный анонс краудфандингового проекта содержал следующий текст:

Сотрудничество с издателями по их правилам означало бы, что книга, если она когда-нибудь появится, будет доступна исключительно в бумажном виде, либо, что ещё хуже, кто-нибудь из торговцев воздухом типа литреса или ещё кого начнёт продавать её электронный вариант за вполне реальные деньги (хотя за биты и байты платить можно разве что даже не ксерокопиями, а электронными сканами денег — такой обмен был бы справедливым). В таком случае книгу лучше вообще не писать; среди всех возможных результатов своей деятельности я совершенно не расположен видеть обогащение этих паразитов, причём обогащение за счёт моих читателей.

С другой стороны, бумажный вариант — наряду с вариантом электронным, который должен быть доступен, что называется, по определению бесплатно — всё же желательно тоже сделать. А ещё есть такой момент, что проект оказывается достаточно масштабным, по предварительным оценкам написание книги потребует около 500 часов, плюс-минус полсотни. К получению «адекватной оплаты» за потраченное время я не стремлюсь — это заведомо невозможно, для этого нужно заниматься не тем, что хочется делать самому, а тем, чего хочет очередной заказчик. Просто чтобы выделить такой объём рабочего времени, мне нужно временно (на период работы над книгой) перестать заниматься подработками, а жить на что-то всё-таки надо.

Исходный финансовый план проекта предполагал, что деньги пойдут на две основные цели: частичную компенсацию рабочего времени автора (600р/час) и издание бумажной версии книги; затраты рабочего времени ожидались порядка 500 часов, стоимость издания оценивалась в 280 тыс. рублей, 20 тыс. оставлялось на непредвиденные расходы; общий бюджет проекта, таким образом, оценивался в 600 000 рублей.

В действительности только на подготовку первых трёх томов ушло свыше 950 часов, а общие монетарные расходы (издание, корректура, дизайн обложки, рассылка обещанных экземпляров донэйторам) в настоящий момент приближаются к 400 тысячам, при том что тираж вышедших томов составил всего 300 экземпляров, а не 1000, как это исходно планировалось. Проект сейчас находится в глубоком финансовом «минусе» (upd: уже нет). Грядущие монетарные расходы на четвёртый том ожидаются порядка 150 тысяч; ну а времени потребуется ещё по меньшей мере 300-400 часов (и это, скорее всего, слишком скромная оценка), так что общий бюджет проекта с учётом издания всех четырёх томов должен составить приблизительно 1300000 рублей. Подробно финансовый план проекта изложен на отдельной странице.

Финальный финансовый отчёт вскоре будет опубликован, следите за новостями.

Как поддержать проект

Оказать поддержку проекту можно тремя основными способами: купив уже изданные тома в бумажном виде, пожертвовав деньги на дальнейшее развитие проекта и, наконец, рассказав о проекте кому-нибудь ещё.

Все три вышедших к настоящему моменту тома могут быть заказаны на этом сайте как в единичных экземплярах, так и мелким оптом (от пяти экземпляров каждого тома); заказ может быть выслан почтой в любую точку России. К сожалению, в настоящее время у нас отсутствует возможность работы с зарубежными заказчиками; за это приносим свои извинения.

  • Финансовая поддержка проекта

С благодарностью принимаются любые суммы от одного рубля. Ваши пожертвования вы можете перевести на на указанный номер счёта в Сбербанке (для клиентов Сбербанка из Москвы сам перевод бесплатный, если делать его из «Сбербанк Онл@йн» или из банкомата). О сделанном пожертвовании просьба сообщить по электронной почте с указанием, как (под каким именем) вы хотите быть упомянуты в списке доноров; пожертвования, по которым в течение двух дней не пришло электронного письма, будут обозначены в списке как анонимные. Реквизиты и прочие подробности здесь: [ВНЕСЕНИЕ ПОЖЕРТВОВАНИЙ >>>]

  • Word of mouth (a.k.a. сарафанное радио)

Было бы прекрасно, если о проекте узнает как можно больше людей, имеющих отношение к IT и профильному образованию, но только при условии разборчивости в средствах распространения информации [РАСПРОСТРАНЕНИЕ ИНФОРМАЦИИ О ПРОЕКТЕ >>>]

Что взамен

Как это обычно делается в краудфандинговых проектах, для всех, кто пожертвует более-менее заметные суммы (начиная от 300 рублей), предусмотрены определённые (как нематериальные, так и осязаемые) вознаграждения в знак признательности за поддержку проекта [«ПЛЮШКИ» ДЛЯ ДОНОРОВ >>>]

Программирование: введение в профессию. Т. 1. Азы программирования. Столяров А.В.

Книга А.В. Столярова охватывает этапы изучения программирования в объёме «продвинутой» школьной информатики (в той её части, которая непосредственно касается программирования) и первых двух курсов ВМК МГУ с учётом использования операционной среды ОС Unix. В первую часть книги вошли избранные сведения из истории вычислительной техники, обсуждение некоторых областей математики, непосредственно используемых программистами (таких как алгебра логики, комбинаторика, позиционные системы счисления), математических основ программирования (теория вычислимости и теория алгоритмов), принципы построения и функционирования вычислительных систем, начальные сведения о работе с командной строкой ОС Unix. Вторая часть посвящена начальным навыкам составления компьютерных программ на примере Free Pascal под ОС Unix. Материал ориентирован на изучение в будущем языка Си, так что, в частности, много внимания уделено работе с адресами и указателями, построению списков и других динамических структур данных; в то же время многие возможности Паскаля из рассмотрения исключены. Даются сведения о правилах оформления текстов программ, о тестировании и отладке. Для школьников, студентов, преподавателей и всех, кто интересуется программированием.

Содержание
Предисловие первое, философское 8
Предисловие второе, методическое 12
Можно ли выучить программиста 13
Самообучение — это тоже не так просто 14
Выход есть, или «Почему Unix» 15
Причина первая — математическая 16
Причина вторая — психологическая 17
Причина третья — эргономическая 19
Причина четвёртая — педагогическая 19
Язык определяет мышление 21
Как испортить хорошую идею и как её спасти 26
Предисловие третье, напутственное 28
Предисловие к первому тому 32
1. Предварительные сведения 34
1.1. Что такое компьютер: немного истории 34
1.2. История ОС Unix 48
1.3. Как компьютер работает 52
1.3.1. Процессор, память, шина 52
1.3.2. Принципы работы центрального процессора 54
1.3.3. Внешние устройства 56
1.3.4. Иерархия запоминающих устройств 57
1.3.5. Резюме 59
1.4. Как правильно использовать компьютер 60
1.4.1. Операционные системы и виды пользовательского интерфейса 60
1.4.2. Unix на домашней машине 70
1.4.3. Первый сеанс в компьютерном классе 73
1.4.4. Дерево каталогов. Работа с файлами 75
1.4.5. Шаблоны имён файлов 77
1.4.6. История команд и автодописывание имён файлов 78
1.4.7. Управление выполнением задач 79
1.4.8. Выполнение в фоновом режиме 84
1.4.9. Перенаправление потоков ввода-вывода 85
1.4.10. Редакторы текстов 87
1.4.11. Права доступа к файлам 92
1.4.12. Электронная документация 94
1.4.13. Командные файлы в Bourne Shell 96
1.4.14. Переменные окружения 99
1.4.15. Протоколирование сеанса работы 101
1.4.16. Графическая подсистема в ОС Unix 101
1.5. Теперь немного математики 106
1.5.1. Элементы комбинаторики 106
1.5.2. Позиционные системы счисления 122
1.5.3. Двоичная логика 131
1.5.4. Виды бесконечности 136
1.5.5. Алгоритмы и вычислимость 141
1.5.6. Алгоритм и его свойства 151
1.5.7. Последовательность действий тут ни при чём 158
1.6. Программы и данные 162
1.6.1. Об измерении количества информации 162
1.6.2. Машинное представление целых чисел 167
1.6.3. Числа с плавающей точкой 172
1.6.4. Тексты и языки 175
1.6.5. Текст как формат данных. Кодировки 178
1.6.6. Бинарные и текстовые данные 184
1.6.7. Машинный код, компиляторы и интерпретаторы . 187
2. Язык Паскаль и начала программирования 194
2.1. Первые программы 195
2.2. Выражения и переменные 206
2.2.1. Арифметические операции и понятие типа 206
2.2.2. Переменные, инициализация и присваивание 210
2.2.3. Идентификаторы и зарезервированные слова 213
2.2.4. Ввод информации для её последующей обработки 214
2.2.5. Берегись нехватки разрядности! 217
2.3. Управление последовательностью выполнения 219
2.3.1. Простая последовательность операторов 219
2.3.2. Конструкция ветвления 221
2.3.3. Составной оператор 224
2.3.4. Логические выражения и логический тип 226
2.3.5. Понятие цикла; оператор while 227
2.3.6. Цикл с постусловием; оператор repeat 232
2.3.7. Арифметические циклы и оператор for 233
2.3.8. Вложенные циклы 236
2.4. Подпрограммы 240
2.4.1. Процедуры 241
2.4.2. Функции 244
2.4.3. Параметры-переменные 247
2.4.4. Локальные и глобальные переменные 250
2.4.5. Рекурсия 252
2.5. Ещё о выражениях 254
2.5.1. Побитовые операции 255
2.5.2. Именованные константы 256
2.5.3. Разные способы записи чисел 261
2.6. Конструирование программ 261
2.6.1. Концепция структурного программирования 262
2.6.2. Исключения из правил: операторы выхода 263
2.6.3. Безусловные переходы 267
2.6.4. О разбиении программы на подпрограммы 269
2.7. Символы и их коды; текстовые данные 271
2.7.1. Средства работы с символами в Паскале 271
2.7.2. Посимвольный ввод информации 275
2.7.3. Чтение до конца файла и программы-фильтры 280
2.7.4. Чтение чисел до конца файла; функция SeekEof 285
2.8. Система типов Паскаля 287
2.8.1. Встроенные типы и пользовательские типы 287
2.8.2. Диапазоны и перечислимые типы 289
2.8.3. Общее понятие порядкового типа 292
2.8.4. Массивы 293
2.8.5. Тип запись 301
2.8.6. Конструирование сложных структур данных 302
2.8.7. Пользовательские типы и параметры подпрограмм 303
2.8.8. Преобразования типов 305
2.9. Строки 308
2.9.1. Строковые литералы и массивы сЬаг’ов 308
2.9.2. Тип string 311
2.9.3. Встроенные функции для работы со строками 313
2.9.4. Обработка параметров командной строки 315
2.10. Оператор выбора 317
2.11. Полноэкранные программы 319
2.11.1. Немного теории 320
2.11.2. Вывод в произвольные позиции экрана 322
2.11.3. Динамический ввод 324
2.11.4. Управление цветом 329
2.12. Файлы 332
2.12.1. Общие сведения 332
2.12.2. Текстовые файлы 338
2.12.3. Типизированные файлы 341
2.12.4. Блочный ввод-вывод 344
2.12.5. Операции над файлом как целым 347
2.13. Адреса, указатели и динамическая память 348
2.13.1. Что такое указатель 350
2.13.2. Указатели в Паскале 351
2.13.3. Динамические переменные 353
2.13.4. Односвязные списки 356
2.13.5. Стек и очередь 367
2.13.6. Проход по списку указателем на указатель 373
2.13.7. Двусвязные списки; деки 379
2.13.8. Обзор других динамических структур данных 384
2.14. Ещё о рекурсии 389
2.14.1. Взаимная рекурсия 389
2.14.2. Ханойские башни 390
2.14.3. Сопоставление с образцом 396
2.14.4. Рекурсия при работе со списками 400
2.14.5. Работа с двоичным деревом поиска 402
2.15. Ещё об оформлении программ 407
2.15.1. Оператор if с веткой else 408
2.15.2. Особенности оформления оператора выбора 410
2.15.3. Метки и оператор goto 411
2.15.4. Максимальная ширина текста программы 414
2.15.5. Как разбить длинную строку 417
2.15.6. Пробелы и разделители 424
2.15.7. Выбор имён (идентификаторов) 425
2.15.8. Регистр букв, ключевые слова и идентификаторы 427
2.15.9. Как справиться с секциями описаний 428
2.16. Тестирование и отладка 429
2.16.1. Отладка в жизни программиста 429
2.16.2. Тесты 433
2.16.3. Отладочная печать 439
2.16.4. Отладчик gdb 441
2.17. Модули и раздельная компиляция 446
2.17.1. Модули в Паскале 448
2.17.2. Использование модулей друг из друга 453
2.17.3. Модуль как архитектурная единица 454
2.17.4. Ослабление сцепленности модулей 454
Список литературы 458
Предметный указатель 459

Читать еще:  Онлайн программа для создания видео бесплатно

Книга, которую вы читаете, представляет собой практически уникальное явление — но речь в данном случае идёт не о её содержании, этому аспекту пускай оценку дадут другие. Речь идёт о том, каким образом книга появилась на свет.
Идея написать книгу, подобную этой, появилась у меня достаточно давно, по меньшей мере лет пять назад. Опыт написания книг у меня к тому времени уже был, и достаточно большой, но ни одна из ранее написанных мной книжек не превосходила по объёму двести страниц. До сей поры я всегда обходился своими силами; задумав книгу, я просто садился и писал её. Некоторые из моих учебных пособий были изданы в учебных заведениях, где я работаю или работал, другие я благополучно издавал за свой счёт, окупая такое издание продажей части тиража: при тираже в сотню-другую экземпляров это, в принципе, не так сложно, хотя и долго. Несколько раз я предпринимал попытки взаимодействия с издательствами; если бы я согласился на их условия, то мне не пришлось бы издавать за свой счёт некоторые из моих книжек, но этих книжек не было бы на моём сайте в открытом доступе: издатели всегда и везде требуют полной передачи им имущественных прав на книгу, что полностью исключает легальное бесплатное распространение электронной версии. Спасибо, господа, не надо: я пишу свои книги, чтобы их читали, а не чтобы вы на них зашибали деньги, обдирая моих читателей.

О том, как читать книги в форматах pdf , djvu — см. раздел » Программы; архиваторы; форматы pdf, djvu и др. «

Программирование введение в профессию

Название: Программирование. Введение в профессию. Том I-IV (+code)
Автор(ы): Столяров А.В.
Издательство: М.: МАКС Пресс
Год: 2016-2020
Страниц: 1000+
Формат: PDF
Размер: 14 Мб
Язык: русский

Книга в 4-х томах «Программирование. Введение в профессию», все части которого объединены использованием Unix-систем в качестве единой учебной операционной среды. Учебник ориентирован в основном на самостоятельное изучение программирования.

Том I: Азы программирования (2016)
Том II: Низкоуровневое программирование (2016)
Том III: Системы и сети (2017)
Том IV: Парадигмы (2020)

В первый том вошли сведения из истории вычислительной техники, обсуждение некоторых областей математики, непосредственно используемых программистами, принципы построения и функционирования вычислительных систем. Даются начальные навыки составления компьютерных программ на примере Free Pascal под ОС Unix. Материал ориентирован на изучение в будущем языка Си, так что, в частности, много внимания уделено работе с адресами и указателями, построению списков и других динамических структур данных.
Во второй том вошли части, посвящённые программированию на уровне машинных команд (на языке ассемблера) и на языке Си. Текст предполагает испольозание аппаратной платформы i386, ассемблера NASM, компилятора gcc, отладчика gdb. В конце четвёртой части приведены сведения о системе автоматической сборки GNU Make, программе динамического анализа программ Valgrind, о системах контроля версий CVS и git.
В третьем томе рассматриваются системные вызовы для ввода-вывода, управление процессами, механизмы взаимодействия процессов, такие как сигналы и каналы, а также понятие терминала и связанные с ним явления, в том числе сеансы и группы процессов, виртуальные терминалы, управление дисциплиной линии. Даётся небольшой обзор протоколов, используемых в сети Интернет, рассмотрена подсистема сокетов и событийно-ориентированное построение серверных программ. Даются базовые сведения о библиотеке pthread. Также содержится ряд сведений о внутреннем устройстве операционной системы; в частности, рассматриваются различные модели виртуальной памяти, подсистема ввода-вывода и т.п.
Четвертый, заключительный том учебника «Программирование: введение в профессию» посвящен многообразию парадигм программирования; в нем рассматривается язык Си++, абстрактные типы данных и объектно-ориентированное программирование; описаны такие языки, как Лисп, Scheme, Пролог и Хоуп, функциональное программирование, ленивые вычисления; в качестве иллюстрации командно-скриптового подхода рассмотрен язык Tcl. Обсуждается дихотомия Оустерхаута, а также компиляция и интерпретация как парадигмы особого рода.
Для школьников, студентов, преподавателей и всех, кто интересуется программированием.

Читать еще:  Go язык программирования

Вышел первый том книги А. В. Столярова «Программирование: введение в профессию»

На официальном сайте А. В. Столярова объявлено о выходе первого тома книги «Программирование: введение в профессию». Первый том, озаглавленный «Азы программирования», включает две части: «Введение» и «Язык Паскаль и начала программирования». Обе части, как и вся книга в целом, ориентированы на использование ОС Unix (в основном Linux); в предисловии автор, обращаясь к «коллегам-преподавателям», заявляет, что книга вряд ли будет им полезна, если командная строка ОС Unix не станет их основным инструментом для повседневной работы с компьютером.

Электронная версия первого тома (PDF) доступна на сайте в открытом доступе.

Книга «Программирование: введение в профессию» примечательна тем, что средства на её написание и издание были собраны через краудфандинговую кампанию. По словам автора, это был единственный вариант, позволяющий написать книгу и предоставить открытый доступ к её электронной версии. Приём пожертвований на сайте А. В. Столярова продолжается, поскольку средств для издания последующих томов к настоящему моменту недостаточно.

Как сообщалось ранее в новостной ленте сайта, второй том книги, который выйдет под заголовком «Низкоуровневое программирование», уже практически готов к печати. В него войдут часть о программировании на языке ассемблера NASM для ОС Unix, а также часть, посвящённая языку Си. Пока неясно, войдёт ли в этот же том часть, рассказывающая о принципах построения операционных систем и о возможностях, доступных на уровне системных вызовов ОС Unix, или же эта часть будет оформлена как отдельный том. Сроки издания второго тома также пока неизвестны, поскольку зависят от дальнейшего хода краудфандинговой кампании.

Зашёл на ваш сайт по ссылке. Глазки вытекли 🙁

подтверждаю, без слез и глазных капель не прочесть ;(

P.S. лучше заходить через текстовый lynx

Croco Преподаватель; клинический *****; хейтер x86-64, проприетарности

Что-нибудь изменилось? Стоит читать?

Иллюстрация обложки книги намекает

Скачал, разослал, прорекламировал товарищам. Жена повесила ссылку ВКонтакте, хотя автор и против социальных сетей.

Хорошая книга? Прогать на питоне научит?

Я тоже против социальных сетей! Они говно.

Если не изменилось, то персонаж адекватен и читать стоит.

Да вот что-то по высказываниям в сети не особо так кажется.

Я конкретных не помню, но «хейтер x86-64, проприетарности» можно трактовать только так.

Да вот что-то по высказываниям в сети не особо так кажется.

Ты про отношению автора к культу победы?

Программирование: введение в профессию
Язык Паскаль

Переиздание бестселлера 80-ых?

Странно, а я не сразу и понял, что с ЛОРа перешел.

Автор в предисловиях достаточно подробно объясняет почему такой выбор.

После прочтения стану паскаль-КУЛХАКИРОМ!

С обложки взоржал. Видимо, придется читнуть %)

Литературы от лучших товарищей столько, что читать не перечитать, зачем еще и вот это?

Для новичка это таки лучше, чем PHP, Python, JS и Ruby, синдрома утенка не будет, на какой-нибудь Go вообще без проблем перейдет.

Проиграл на все офисное помещение с обложки

Даже публичную лицензию обязательно надо нарушить? Автор разрешил беслпатное публичное распространение в электронном виде только без модификаций и только в PDF формате. ЛОР, такой ЛОР.

Похоже, название не соответствует совершенно содержанию. Правильнее было бы назвать «Очередной учебник Паскалъ». Плюс сомнительный треп на тему «что такое алгоритмы» и пр.

за пожертвование от 500 рублей фирменный компакт-диск с автографом автора;

Ну и куда его вставлять потом в макбук?

а зачем в году паскаль?

А под Unix есть компилятор паскаля?

Автор книги, достоин похвал.

fpc есть подо всё, от доса до haiku

Внешние дисководы всё ещё продаются.

А я не модифицировал текст. Я его просто вытащил. Если это считать модификацией текста, то за неё вполне можно считать и «sed ‘s/f//g’»/«sed ‘s/r//g’». Однако, не всегда и не везде они нужны, и могут быть даже лишними. Как и PDF оболочка.

Вообще, с такими замашками автору надо было самому сделать и plain text версию. А то как не для людей, а для принтеров.

Тот самый Столяров, интересно, глянем.

А я где-то что-то говорил против http? То, что gopher жив, не отменяет http. http для популярных вещей и тяжёлых файлов, а gopher — для уникальных вещей.

прочитал начало книжки — вроде бы, интересная. эх, давно не брал я в руки паскаля 🙂 хотя моё мнение останется прежним, новичков надо учить python-у.

Одно радует: пациент живёт в России и языка не знает, так что зона поражения невелика.

Для новичка это таки лучше, чем PHP, Python, JS и Ruby, синдрома утенка не будет

Глядя на автора, позволю себе в этом усомниться.

Норм новость. Не нужно отдавать деньги Кнуту и прочим американцам. Можно поддерживать российское импортозамещение.

Хм, а он действительно адекватен. Надо почекать его книги и, скорее всего, рекомендовать.

Где можно найти литературу данного автора по веб-дизайну?

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

Да ну, Pascal
Уж лучше обучать Lisp, он помогает понять суть работы программ

Книга по поцкалу, но из заглавия не ясно, автор шифруется.

совершенно бесплатно, заодно можно и самому добавить отсутствующие моменты. И asm есть и C и железо.

в брюссельском метро продавали

Читаю вашу книгу и чувствую, что нравится. Поэтому хочется покритиковать или может просто позадавать вопросы. (Как ни странно, то что не нравится и критиковать не тянет)

Проблема с первыми тремя шагами в программировании отнюдь не только в мейнстримности GUI винды, но и вообще совремённые более-менее универсальные компьютеры и управляющие ими системы сделались очень сложными. И тут Unix (Linux) мне кажется, что совсем уж принципиально не намного лучше Windows.

Консольные программы, пусть и не настолько органично, можно писать и в Windows, как и поставить туда варианты юникс-шелла. Более того, в процессе изучения программирования на C# по-моему все учебники и руководства, в том числе и MS, именно с консоли и начинают.

Куда хуже другое: исчезла простая и лёгкая связь между написанием пары строчек и чем-то серьёзным. Вот под MS-DOS можно было в бейсике или даже турбо-паскале написать короткую программку в 20-40 строчек, рисующую фракталы, например, множество Жюлиа или Мандельброта. Раз и готово. Зрелищно и полезно. Или потом вдохновившись простотой какую-нибудь игрушку сделать. Одна из моих самых первых востребованных другими программ (третий шаг) была написана в институте на Borland Pascal на кафедре физики и рисовала картину дифракции на щели. Как минимум её использовали однажды для других студентов для демонстрации.

Ни под винды, ни под Linux сейчас так просто ничего уже не сделать. Но между прочим, относительно просто на javascript в html https://msdn.microsoft.com/ru-ru/library/jj635752(v=vs.85).aspx

Если говорить о быстром введении в написание чего-то относительно серьёзного и одновремённо полезного, как ни смешно, но это наверное (для платформы Windows), макросы на Visual Basic для офисных пакетов.

Между прочим, а вы не пробовали подумать над программированием встроенных систем (embedded) как лёгкой платформой для новичка? Это звучит странно, но может быть в силу неожиданности и того, что наборы чипов с программатором не очень распространённая вещь. Но если так представить: часто никаких ОС (хотя между прочим бывает используется MS-DOS или клоны), код напрямую работает с железом. Результат, в том числе полезный и востребованный может быть очень быстро получен. Если не очень замороченная платформа, то даже не знаю.

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

Ссылка на основную публикацию
Adblock
detector
×
×