LINUX.ORG.RU

Книга для начинающих программистов, ориентированная на Linux

 , ,


19

4

На сайте А.В.Столярова продолжается сбор средств на написание и последующее издание книги «Программирование: введение в профессию».

Автор проекта уже известен публике по своим книгам Программирование на языке ассемблера NASM для ОС Unix, Сверстай диплом красиво: LaTeX за три дня и другими. Электронные версии всех своих книг автор сразу после выхода бумажного издания выкладывает на сайт, считая это принципиальной позицией.

Книга, задуманная Столяровым в этот раз, должна стать руководством для начинающих, ориентированным на *nix-системы (с использованием командной строки в качестве основополагающего принципа при обучении) и покрывающим при этом предмет от нулевого уровня (школьной информатики) до ООП и парадигм программирования; структура книги приблизительно соответствует последовательности программистских курсов на факультете ВМК МГУ, но отличается от программы ВМК наличием общей платформы (*nix), полным исключением заведомо мёртвых инструментов вроде всё ещё применяющихся на ВМК Турбо-Паскаля и ассемблера MASM для MSDOS, а также существенно иначе расставленными акцентами. Примерный план книги представлен здесь, а с оглавлением неоконченной рукописи, уже включающей три части из предполагающихся семи или восьми — здесь.

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

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

Даже без дополнительных глав ожидаемый объём книги составляет порядка 1000 страниц; автор планирует уложиться в 500 рабочих часов, для выделения которых необходимо на некоторое время отказаться от подработок. Кроме того, издание книги в бумаге потребует серьёзных расходов, а сотрудничество с издателями на их условиях означало бы невозможность распространения (по крайней мере, открытого) её электронной версии. Автор предпочёл объявить о сборе средств.

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

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



Проверено: maxcom ()

Наши программисты уже доросли до такого уровня, что могут писать годные книги сразу на русском и для начинающих? Этот Столяров, он претендует на роль русского Кнута?

зы: не подумайте, что я ёрничаю. Ни в коем разе! Мне на самом деле интересен факт

Kompilainenn ★★★★★ ()

Господа регистранты! Вы для начала почитайте что пишет этот гражданин у себя на сайте, в т.ч. в комментариях

Он, безусловно, ценный человек, равным счетом как и его работы. Но вы почитайте, почитайте.

reprimand ★★★★★ ()

начальным навыкам программирования (с использованием Free Pascal)
программирования
Free Pascal

Это треш какой-то, учить заведомо бесполезный язык. Унесите обратно.

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

Куда мне до Кнута, я за всю жизнь не напишу столько, сколько у него в одном томе. Мне такие объёмы осилить явно слабо. Вот с Реймондом вроде меня разочек сравнивали; конечно, сравнили не в мою пользу, но Реймонду проиграть не стыдно :-)

А если серьёзно, я уже неоднократно демонстрировал свои возможности, все мои книги официально в открытом доступе, можете сами принять для себя решение, могу я писать годные книги или не могу. По тому, в каком количестве по этим вашим интернетам растащили тот же мой учебник по NASMу, сам я для себя решил, что могу, вот и развлекаюсь в меру возможностей.

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

про Free Pascal

Это треш какой-то, учить заведомо бесполезный язык. Унесите обратно.

Ага-ага,

Prof7bit has switched to working on torchat2, which is a rewrite from scratch, using Lazarus and Free Pascal

proof

Бесполезный такой бесполезный. ЧСХ, TorChat интересен только тем, что там автор убежал на Free Pascal с мегапопулярного и такого всего из себя крутого питона; а проектов, которые с самого начала на FPC разрабатываются, имеется чуть более чем дофига.

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

Как ни странно, альтернативы Паскалю в этом плане просто нет. Вообще. Потому что для изучения plain C нужно уже понимать указатели. Ну а plain C попросту неизбежен, без него на выходе получаются только PHPшники с 1Cниками и примкнувшими к ним VBAшниками.

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

по поводу ЛаТеХ для чайников: сколько раз по кругу нужно прочитать сей труд, чтобы реально въехать и запомнить хотя бы основные команды и служебные символы? Нужно написать в процессе свой учебник?

зы: я просто занимаюсь переводом вот этого талмуда https://wiki.documentfoundation.org/images/a/ad/DG43-DrawGuide.pdf, меня в свое время смутил один товарищ разметкой reText и я под это дело и пишу сразу текст с соответствующей разметкой, а теперь вот думаю, может в ЛаТеХе попроще или один хрен?

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

Но вы почитайте, почитайте.

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

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

сколько раз по кругу нужно прочитать сей труд,

У меня большинство студентов пишет курсовые и дипломы в LaTeX'е, и обычно как раз мою книжку для этого используют. Говорят, одного раза (и одной свёрстанной курсовой, ну это такой документик страниц на семь-восемь) обычно достаточно, причём читают не весь «труд», а первые полсотни страничек.

С reText'ом есть некая проблема — он, на мой вкус, бедноват. Хотя всё зависит от конечной цели; если на выходе должен быть оригинал-макет, пригодный прямо сейчас в типографию, то однозначно с LaTeX'ом получится проще, быстрее и красивее. А если этот текст надо заставить существовать одновременно в виде HTML'я, PDF'а, plain text'а и ещё хрен знает чего, то вполне можно предпочесть какой-нибудь «лёгкий» язык разметки, чтобы из него всё остальное генерировать, включая, ЧСХ, всё тот же LaTeX — ибо это самый простой и очевидный способ получения вменяемой PDFины.

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

А если этот текст надо заставить существовать одновременно в виде HTML'я, PDF'а, plain text'а и ещё хрен знает чего, то вполне можно предпочесть какой-нибудь «лёгкий» язык разметки, чтобы из него всё остальное генерировать, включая, ЧСХ, всё тот же LaTeX — ибо это самый простой и очевидный способ получения вменяемой PDFины.

изначально идея была такая да, там вообще подразумевалась связка из сфинкс+гитхаб+ридзедокс...но сейчас я сам в это въезжать не буду...может таки проще оставить ретекст, сгенерить из него хтмл и радоваться жизни далее =(

зы: как раз с генерацией ПДФ у ретекст какие-то траблы

Kompilainenn ★★★★★ ()
Ответ на: про Free Pascal от Croco

Спасибо за Ваш труд!

Рад встретить на ЛОРе таких людей, которые хоть немного развивают отрасль фундаментальных знаний в области информационных технологий в наших широтах)

Потому что для изучения plain C нужно уже понимать указатели.

Переменная, содержащая адрес переменной. Допускается n-й уровень вложенности, т.е. указатель на указатель.

Но это я так для связки слов :-)

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

Про указатели

Переменная, содержащая адрес переменной.

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

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

Croco ()
Ответ на: Про указатели от Croco

Ну это уже действительно вопрос склонностей и талантов, тут ничего не поделаешь.

Не каждому дано быть Гауссом, не каждому дано быть, хм... ну Хоаром, к примеру.

Twissel ★★★★★ ()

Судя по всему, это единственный надёжный способ идентификации перевода.

Может не стоит пытаться сколхозить краудфандинговую площадку, а использовать готовые решения? Они уже есть, даже ориентированные на русскоязычных пользователей

anonymous ()

Что-то ЛОР совсем в какую-то провинциальную помойку превратился.

anonymous ()

что содержание? нужно было первую часть выложить кого заинтересовало бы дальше насыпали бы печенья и конфет ради продолжения

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

Переменная, содержащая адрес переменной

В сях у переменных есть адреса?

loz ★★★★★ ()

На ум, почему-то, приходит фамилия Фигурнов :-)

«с использованием Free Pascal в качестве учебного пособия»

Ну а если серьёзно, то какого, извините, хрена? :-) Я своих детей лучше буду учить по HtDP или SICP, учить Лиспу, а не фри паскалю. Ахаха :-)

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

Дока по либреофису в формате LaTeX — это будет конечно вин :) , но IMHO вин издевательский. Разве нет исходника оригинала с используемыми стилями?

Ну и да, для книг, если в рукопашную и нет под рукой спеца, который всё за тебя сделает в чём там ему спецу удобнее, LaTeX удобнее. В смысле можно получить вменяемый результат за разумный промежуток времени (не ноль, но и не бесконечность). IMHO естественно: http://www.inp.nsk.su/~baldin/LaTeX/index.html

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 3)
Ответ на: комментарий от loz

В сях у переменных есть адреса?

А как ты думаешь, на что указывает int** в сях?

anonymous ()

О! Крокодил!

Вискарем пойдет?

gns ★★★★ ()
Ответ на: про Free Pascal от Croco

TorChat интересен только тем, что там автор убежал на Free Pascal с мегапопулярного и такого всего из себя крутого питона

Видимо автор уже вырос из песочницы питона. Но еще не дорос до чистых первозданных, только из-под коровы, библиотек на си. Поэтому пока-что переселился в песочницу попросторнее

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

Дык читали, читали... И отзывы писали неоднократно. :)

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

Про краудфандинговые площадки

Может не стоит пытаться сколхозить краудфандинговую площадку, а использовать готовые решения?

Я не нашёл не только «решения», но и вообще сколько-нибудь приемлемого варианта среди этих так называемых площадок. Подробности тут: http://www.stolyarov.info/node/128#comment-892 и тут: http://www.stolyarov.info/node/134#comment-904 и тут: http://www.stolyarov.info/books/programming_intro/old_whatif.html (искать по слову «неприемлемо»).

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

Croco ()

Я скептически к подобным трудам... А почему допустим тупо поставить Qt SDK это не программирование под Linux? В чем особенность в этом случае по сравнению с другими ОС?

I-Love-Microsoft ★★★★★ ()

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

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

Ну знаете, тому, для чего Вам это Qt и как его ставить еще научить надо. Вот человек этим и занимается. :)

gns ★★★★ ()

использованием Free Pascal в качестве учебного пособия

Пшел вон из профессии.

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

Вы там в очередь вставайте, Кнут свой труд еще даже не дописал.

anonymous ()
Ответ на: про Free Pascal от Croco

Re: про Free Pascal

proof

Бесполезный такой бесполезный.

Ты пруфы на хедхантер давай, а не на всякие мутные торчатики.

Manhunt ★★★★★ ()

Ожидаемо быстро насосался array [free pascal .. русскоязычная литература] of haters... Право лучше бы пошли в подъезде пипку толстой одноклассницы пожамкали что-ли... :(

sydenis ()

IMHO не стоит того.

Лучше обновите свою знаменательную книжку «LaTeX за 3 дня». Вы очень доступно объяснили концепцию дистрибутива. И с ее помощью один раз смог сверстать одну работу.

Но она уже устарела, и надо ее бы обновить.

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

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

Может, ты просто объяснять не умеешь? Всего-то нужно нарисовать адресное пространство.

Manhunt ★★★★★ ()

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

анонимный респект и анонимное уважение

anonymous ()

Кстати, как планируемая книжка будет позиционироваться относительно нормальных учебников «для начинающих программистов», например относительно https://www.niisi.ru/kumir/books/2.pdf ?

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

Исходник есть, но что-то мне подсказывает, что стили не спасут

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

хорошая новость, хоть книжек накидают для нас школолошек каникулярных

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

как раз в 7 перешёл, мне пойдёт

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

Можно получить адрес переменной данного типа с помощью операции &

А Ассемблер и Си могут работать с адресами ячеек памяти,

естественно, не средствами самого языка, а помощью абстракций конкретной ОС.

Зачеркнутый текст был написан к тому, что Си, естественно не имеет

отношения к физическому адресу в ОЗУ, а работает с виртуальными адресами после страничной трансляции.

Можно было бы развить тему дальше, но тогда придется Царя кастовать.

Если ты об этом. Если нет, я не понял твоего вопроса.

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 3)
Ответ на: комментарий от anonymous

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

Это кстати сложный вопрос, как курица и яйцо. Я вот, например, хочу запилить обучение программированию. Но при этом пока нет времени, ибо умею работать ) Так что вопрос в сильном желании.

Да и делать очередное никому ненужно - смысла нет. А делать что-то крутое, нужно потратить кучу времени. По сути забросить работу и заняться этим проектом на 100%

Вот таже проблема с указателями. Можно 100 раз объяснять на словах, а можно сделать интерактивное веб-приложение, желательно несколько. Где юзер буквально сам потыкает всякие кнопочки. И увидит как вообще вся эта хреновена работает на учебном интерактивном стенде. Как эти 0/1 входят и где выходят, врубание будет у 95%.

А, так, если писать на словах, то конечно толку мало и начинающие тупят.

Ну и автору, уж можно было те же яндекс.деньги подключить или что-то подобное. Вроде как PayPal сейчас с Россией работает.

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

FP hate'рам

Содержание книги кто-то читал? Там одна мелкая главушечка про пачкаль. И то только чтобы школьник въехал что такое императивщина.

anonymous ()

Андрей Викторович, а попробуйте добавить в мини-новости на опеннет. За последние года 3 он, конечно, здорово сдал, но не думаю, что будете заплёваны, ваши методы и подходы близки к тамошней аудитории.

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

Си, естественно не имеет отношения к физическому адресу в ОЗУ, а работает с виртуальными адресами после страничной трансляции.

Точно?

postman_ ★☆ ()

Дело, в общем, движется: общий объём рукописи сейчас 441 страница, из них 67 — находящаяся в работе часть про Паскаль.
аходящаяся в работе часть про Паскаль
Паскаль

Хочется убивать

ААААААААА ну кому это нужно в 2015 году? даже чистый Си куда лучше этой хренотени которую закопать пора уже 20 лет как, причем окончательно и бесповоротно. Зачем кого-то учить программировать на ЭТОМ?

SjZ ★★★★★ ()

Ну вот латех за 3 дня надо будет глянуть. Или кто то смотрел, как оно?

sehellion ★★★★ ()
Ответ на: Про краудфандинговые площадки от Croco

Re: Про краудфандинговые площадки

включить пресловутый JS и тем самым скомпрометировать безопасность своего браузера

Использование штатной функции браузера, включенной по умолчанию, уже дыра в безопасности? Тогда это вопрос к разработчикам браузеров. Странные заявления, от владельца сайта с платёжными реквизитами и без https. Параноикам, кстати, никто не мешает завести браузер в виртуалке, дыры бывают не только в JS.

изготовлены безответственными и безграмотными халтурщиками

От их сайтов хотя бы глаза не вытекают. Серьёзно, яркий красный и яркий зелёный на сером фоне вообще кошмар. Черный текст на сером фоне тоже.

В любом случае краудфандинг должен быть ориентирован на массовость, два с половиной анонимуса на лоре много не вложат(а еще и не всем нравится). Эти площадки всё-таки имеют опыт, аудиторию и доверие. И приемлимые способы оплаты, а не сбербанк.

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

Логика говорит мне об этом

Добавлено:

При условии, что ОС работает в защищенном режиме.

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

Реальное понимание, что это за штука [указатель] и как с ней бороться

Еще и книги пишешь?..

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