LINUX.ORG.RU

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

 , ,


24

11

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

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

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

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

>>> Подробности

★★★

Проверено: anonymous_incognito ()
Последнее исправление: CYB3R (всего исправлений: 5)

Ответ на: комментарий от Twissel

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

Это не даёт ответа на вопрос «зачем это нужно». Типичная реакция: «Зачем обращаться к ячейки памяти по номеру, если можно обращаться по имени переменной?» Нужно знание внутренностей, чтобы понять, что к ячейке просто невозможно обратиться иначе, чем по номеру.

anonymous
()
Ответ на: комментарий от anonymous

Живёшь в стране третьего мира.

anonymous
()
Ответ на: комментарий от HeipaVai1o

В приличных универах так и учат - сначала строят из NAND-ячеек простую RISC-машину, а потом пишут для нее компилятор Паскаля (точнее, Оберона), и на нем уже объясняют, что такое указатели: http://www.projectoberon.com/

anonymous
()
Ответ на: комментарий от anonymous

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

Twissel ★★★★★
()
Ответ на: комментарий от saahriktu

NB: Лицензия разрешает распространение файла только в его оригинальной форме и ТОЛЬКО в оригинальном формате, перевод в другие форматы категорически запрещён. Не боитесь, что найду? Анонимность в сети — вещь относительная.

Croco ★★★
() автор топика
Ответ на: комментарий от Twissel

Так поэтому и бессмысленно объяснять указатели человеку, не знающему «аппаратного обеспечения».

anonymous
()
Ответ на: комментарий от Croco

Лол, братишка и поехавший нашли друг друга.

anonymous
()
Ответ на: комментарий от Croco

Тут уж надо сделать выбор, или вы программист, пользующийся софтом под свободными лицензиями, благодаря существованию которого ваша книга вообще стала возможна, или писатель-копираст. Но во втором случае крестик рекомендуется снять и купить винду.

Deleted
()
Ответ на: комментарий от anonymous_incognito

Между прочим, а вы не пробовали подумать над программированием встроенных систем (embedded) как лёгкой платформой для новичка?

И пробовал, и думал, разумеется, особенно если учесть другой мой проектик. Увы, не получится, причём вообще никак. Если говорить об обучении в компьютерном классе, то я не видел людей, которые могли бы адекватно оборудовать класс для такого обучения, это раз. Даже если такие люди есть (а они наверняка есть), то «стандартный» стенд для такой работы — это от силы десяток светодиодиков. Мигать светодиодиками обучаемому быстро надоест. А чтобы что-то сделать «настоящее», ну хотя бы в каком-то приближении к «настоящему», ему придётся стать ещё и схемотехником, это совершенно не для всех путь.

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

Комментировать остальное мне, честно говоря, лень, я уже всё подробно объяснил в предисловии.

Croco ★★★
() автор топика
Ответ на: комментарий от Deleted

Всё уже написано. Кое-что даже на русский переведено.

anonymous
()
Ответ на: комментарий от anonymous

В приличных универах так и учат - сначала строят из NAND-ячеек простую RISC-машину, а потом пишут для нее компилятор Паскаля (точнее, Оберона), и на нем уже объясняют, что такое указатели: http://www.projectoberon.com/

Тоже юмор, но nand2tetris в пять раз компактнее при той же смысловой нагрузке.

anonymous
()
Ответ на: комментарий от Legioner

Мысль простая: разговорный стиль в научном/научно-популярном труде не располагает к адекватному восприятию информации.

У Кнута или Вирта такую фразу можно представить? Нет. Люди серьёзно подходят к работе, видно уважение к читателю, взявшему в руки их труд.

А тут что? Графоманская фантазия на тему «я тут прочитал виртовские «алгоритмы и структуры данных» и ща буду вам авторитетно на эту тему топить».

Так лучше оригинал читать, чего всем и рекомендую.

anonymous
()
Ответ на: комментарий от anonymous

я тут прочитал виртовские «алгоритмы и структуры данных

Г-сподь с тобой, зачем их читать? Ты в 70-х годах живёшь?

anonymous
()

В Линуксе истинный ассемблер это gas, который использует синтаксис AT&T.

Ох уж эти «академики», любят они слово UNIX. А сами пишут конкретно о Линуксе. Линукс никогда не купит сертификат соответствия юниксу, слишком дорого, вот так вот, принципиально! Хотя по факту: «БЗДа = Линукс = UNIX».

anonymous
()
Ответ на: комментарий от Deleted

У тебя друг по-моему в голове всё перепуталось.

Да нет, у меня всё нормально. Почитал я начало книженции: автор топит за Unix-подобные системы и консоль, активно ими сам пользуется и коллег призывает к тому же. А современная the «Unix-подобная система» возникла и оформилась благодаря FSF.

Поэтому хоть фактически автор ничего никому не должен, чисто с этических позиций мог бы с уважением отнестись к тому, что послужило, фактически, фундаментом книги выложить книгу под GNU FDL.

А он вместо этого по комментариям анонимов ловит за копию в plain text. Забавно.

Deleted
()

Пролистал книжку до конца. Раздела «отладка» быть не должно. Если хотите научить человека программированию, сразу учите его писать тесты для прогамм. Полный бред в конце книге писать об отладке, людям уже плевать на это, они уже (как Вы говорите) сломали себе мозги и будут сидеть часами перед терминалом набирая входные данные вручную.

ASM ★★
()
Ответ на: комментарий от anonymous

Вот-первых есть изданик куда более позднее. ISBN 978-5-94074-584-6. С разморозкой вас, товарищ.

Во-вторых, даже то лохматое издание 80х годов лучше, чем данный .. гм.. продукт.

anonymous
()
Ответ на: комментарий от smolnij

Таки запятая нужна, но правило другое

Запятой отделяются также неполные или близкие к неполным придаточные предложения, например: Он не понял, в чем дело; Рад помочь, чем смогу; Запомнил, чему учили; Люди знают, что делают; Сделайте, что нужно;

например увидев что конкретный украинец чего-то не знает, можно обобщить на всех (так все дебилы делают), и написать так: «Удивляюсь, что на Украине не знают»

в данном случае пропущено слово «тому», «Удивляюсь тому ...».

smolnij
()
Ответ на: комментарий от ASM

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

А если надо исправить, изменить или дополнить чужой код? Или используются библиотеки?

FreeLiver ★★★
()
Последнее исправление: FreeLiver (всего исправлений: 1)
Ответ на: комментарий от Croco

Книга - не программа, соурс быть open не обязан. http://www.gnu.org/philosophy/free-doc.html <-- вот вам ссылочка на Ричарда свет Столлмана, коли мне не верите.

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

Как эта ссылка подтверждает или опровергает вашу или мою мысль? Никакой логической связи с обсуждаемым.

Deleted
()
Ответ на: комментарий от anonymous

В Линуксе истинный ассемблер это gas, который использует синтаксис AT&T.

gas никогда не был предназначен, чтобы на нём писать, это связующее звено между компилятором и машинным кодом. А ещё есть такой момент, что я всё-таки слегка надеюсь дожить до того светлого мига, когда tasm и masm под DOS'овую 16-битку таки отправят в утиль; так вот, с intel'овским синтаксисом у меня ещё есть шанс убедить, гм, /коллег/, что 32 бита — это не так уж и страшно, почти то же самое, даже проще, никаких тебе «dword ptr» и «типов меток», никаких тебе сегментов-смещений, никаких тебе... эээ... ну, много чего. А вот с синтаксисом AT&T у меня шансов вообще нету.

Croco ★★★
() автор топика
Ответ на: комментарий от Deleted

Как эта ссылка подтверждает или опровергает вашу или мою мысль? Никакой логической связи с обсуждаемым.

Ну конечно, читать-то умеем?

As a general rule, I don't believe that it is essential for people to have permission to modify all sorts of articles and books. The issues for writings are not necessarily the same as those for software. For example, I don't think you or I are obliged to give permission to modify articles like this one, which describe our actions and our views.

Croco ★★★
() автор топика
Ответ на: комментарий от anonymous

Мысль простая: разговорный стиль в научном/научно-популярном труде не располагает к адекватному восприятию информации.

Дело не в стиле. Используя разговорный стиль можно чётко выразть свою мысль. Научный стиль непонятен большинству он отталкивает.

anonymous
()
Ответ на: комментарий от ASM

Полный бред в конце книге писать об отладке

Это не конец книги, это конец первого тома. Представляете, я в первом томе ещё и про системы контроля версий не написал ничего, ага. И про объектно-ориентированное программирование. И про... ну, вы поняли.

Croco ★★★
() автор топика
Ответ на: комментарий от Croco

Один из лучших ассемблеров в плане проработки языка — fasm. Вы знакомы с ним?

я всё-таки слегка надеюсь дожить до того светлого мига, когда tasm и masm под DOS'овую 16-битку таки отправят в утиль

Помню, что с первого мига знакомства с этими... гм... продуктами я постоянно недоумевал, как такое вообще могло появиться на свет. Собрать всё самое нелогичное и неудобное — это надо умудриться.

Deleted
()
Ответ на: комментарий от smolnij

всё время удивляюсь, что в России не знают про *** ***

1. Запятая не нужна

Ну зачем рассуждать о том, в чём не разбираешься?

theNamelessOne ★★★★★
()
Ответ на: комментарий от ASM

Кстати, да. У nand2tetris есть огромное преимущество - там к каждому заданию есть готовый набор юнит-тестов. Прошли тесты - задание выполнено. Сразу учит хорошему.

anonymous
()
Ответ на: комментарий от FreeLiver

Ну в идеальном случае (а если учится программировать, то лучше его и рассматривать), для исправления кода перед тем как как вносить изменения нужно разработать тест, который будет: 1. Проверять основной функционал программы. 2. Проверять наличие ошибки или новый функционал. После чего вносить изменения. Ну конечно, не забывать, что нужно сделать запись в Changelog (или создать тикет) по этому поводу.

Про библиотеки вопроса не понял.

ASM ★★
()
Ответ на: комментарий от Croco

For example, I don't think you or I are obliged to give permission to modify articles like this one, which describe our actions and our views.

Отож. Заметьте, там пишут про modify, но не слова про share and copy.

plain text не является модификацией.

Поэтому логически бессмысленно приводить эту ссылку как аргумент.

Deleted
()
Ответ на: комментарий от Croco

Люди могут выбирать те или иные лицензии по самым разным причинам. В т.ч. людям могут ненравиться производные работы, за которые они могут принимать также переформатированные работы и специфические форматы файлов, например, PPT или DJVU. Может автор не хочет чтобы его труд воспринимался как набор слайдов или люди при чтении его книги ломали глаза об картинки низкого качества. Мы не знаем. Но, думаю, у него хватит ума для начала написать мне на электронную почту. А я, разумеется, пойду навстречу и удалю файл если ему это так не нравится. А Вы так пишете, как будто из за нарушения буквы лицензии в квартиру сразу начинает ломиться ОМОН с собаками.

saahriktu ★★★★★
()
Ответ на: комментарий от theNamelessOne

Ну зачем рассуждать о том, в чём не разбираешься?

хотелось начать не с сути

smolnij
()
Ответ на: комментарий от flyshoot

Кто-то не нужен, потому что шовинист и ярчайший, стереотипный луддит. А по треду выясняется, что ещё и копираст.

Кстати, Croco, this is a call-out: ftp://intelfx.name/ro/prog_intro_vol_1.txt.xz. Анонимности никакой. Жду судебного иска.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Deleted

Один из лучших ассемблеров в плане проработки языка — fasm. Вы знакомы с ним?

Знаком, конечно — см. предисловие к моей книжке по ассемблеру 2010 года. Дык там тоже intel'овский синтаксис. А чем вам, собственно говоря, nasm не нравится? Я в своё время между этими двумя выбор сделал, откровенно говоря, методом тыка, ибо не нашёл сходу, чем один лучше другого.

Croco ★★★
() автор топика
Ответ на: комментарий от intelfx

О, хоспаде!

Опять все хотят свести к заурядной драке словесной перепалке.

Twissel ★★★★★
()
Ответ на: комментарий от Deleted

plain text не является модификацией.

Является, ещё как является. Я проявил добрую волю — не стал с копирастами заключать авторские договора, устроил краудфандинг, издал книжку сам, выложил электронную версию, но у меня есть свои условия — не облегчать никому copy-paste из неё, особенно в первые два-три года её существования. Вот тут же нашлась мразь, которая на волю автора положила болт.

Хорошо, в следующий раз вообще не буду электронную версию выкладывать. Или выложу djvu и посмотрю, хватит ли кого-нибудь на OCR.

Croco ★★★
() автор топика
Ответ на: комментарий от Croco

Ну да. В итоге студенты создают говнокод, который отлаживают в ручную и не в состоянии это сделать, а Вы в разделе «Отладка» это осуждаете.

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

А мог бы с помощью git bisect и автоматических тестов найти эту ошибку в автоматическом режиме чуть менее чем за 1 секунду.

Определитесь чему Вы учите студентов? Математике? (тогда зачем рассказывать как запускать firefox из консоли?) Или прикладухе? Тогда почему ни слова о том как нужно правильно организовывать процесс программирования?

ASM ★★
()
Ответ на: комментарий от Croco

А чем вам, собственно говоря, nasm не нравится? Я в своё время между этими двумя выбор сделал, откровенно говоря, методом тыка, ибо не нашёл сходу, чем один лучше другого.

Не то что б не нравится, просто не имею о нём ярко выраженного мнения, т.к. почти не знаком с ним. С fasm имел дело, и очень понравились как логичность собственно ассемблера, так и потрясающая мощность макропроцессора в составе языка. Подозреваю, что в nasm нашел бы примерно всё то же самое.

Deleted
()
Ответ на: комментарий от Croco

Является, ещё как является. Я проявил добрую волю — не стал с копирастами заключать авторские договора, устроил краудфандинг, издал книжку сам, выложил электронную версию, но у меня есть свои условия — не облегчать никому copy-paste из неё, особенно в первые два-три года её существования. Вот тут же нашлась мразь, которая на волю автора положила болт.

Невозможно облегчить то, что и так довольно просто. Любой может взять вашу книгу и конвертнуть так же, как сабжевый персонаж. Поэтому ваше негодование выглядит странно. Если вы выложили версию, пригодную для машинной обработки, такой ход событий стоило предвидеть.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.