LINUX.ORG.RU

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

 , ,


24

11

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

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

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

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

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

★★★

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

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

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

Поясните свою мысль, я не ассемблерщик. «Мнемоника => машинный код». Разве gas не такой? А вы говорите, что gas, это: Мнемоника => Нечто => Машинный код.

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

Чем прельстил ассемблерщика 32-бита? По моему все регистры у Интела по 16 бит.

А вот с синтаксисом AT&T у меня шансов вообще нету.

То бишь, ваши коллеги учились писать под DOS. А UNIX в они глаза не видели, не то что gas. Я правильно вас понял?

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

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

Тебя не располагает? Меня вот вполне располагает. Любая хорошая книжка разбавлена водой. Любой хороший лектор перемежает свои лекции какими-то отступлениями.

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

И много людей научились программировать по этим книгам? Я ни одного не знаю. У Кнута и Вирта книги-справочники. Не то, чтобы это плохо, но это немного другая тема.

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

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

Лучше или не лучше, но прочитать точно не помешает, тут я только за.

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

КТО КЛОВУН ТЫ КЛОВУН ЙОПТЫТЬ

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

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

Пусть создают. Ходить по граблям это неотъемлимая часть обучения. Чтобы оценить правильный путь, надо собрать достаточно шишек на неправильном.

Помнится, я изучал программирование сначала под DOS в каких-то IDE типа Turbo C, потом под виндой в Borland C и Visual-чего-то-там. И активно юзал отладчик. Помнится, там был хороший отладчик. Прям для такого нуба как я.

В то время, когда я начал программировать под Linux, у меня уже был опыт программирования, и не было нужды в отладчике. За все годы программирования под Linux, я осилил только запомнить в gdb команды, как посмотреть стек трейс и состояние локальных переменных — и то необходимость в этом возникает раз в полгода. Всё остальное просто не пригодилось ни разу.

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

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

Как понимаю вы автор книги. Книга же сверстана в латехе, возможно ли переделать электронную версию в формат А6 что бы ее можно было читать на устройствах с небольшим экраном.

Ни и если позволите, вопрос по оформлению электронной версии. Отсутствие гиперссылок в оглавлении и тексте книги - это сознательный шаг?

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

Определитесь чему Вы учите студентов?

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

Та же фигня и с системой контроля версий. Чтобы адекватно воспринять решение проблемы, нужно хотя бы иметь собственное ощущение о том, что проблема существует. Паскаль у меня не объясняется как инструмент, он объясняется как «проходное» учебное пособие в надежде, что с ростом квалификации обучаемый переползёт на Си (это будет во втором томе, собственно говоря). Те проблемы, которые решаются системами контроля версий, НЕ ВОЗНИКАЮТ у начинающих того уровня, на который расчитан первый том.

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

Поясните свою мысль, я не ассемблерщик. «Мнемоника => машинный код». Разве gas не такой? А вы говорите, что gas, это: Мнемоника => Нечто => Машинный код.

Машкод — в основе своей вещь простая как мычание.

Нормальный ассемблер: простой язык для выражений простой идеи.

GAS: больной на всю голову язык, который заставляет невероятно простые вещи выглядеть невероятно сложными.

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

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

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

+1. Поддерживаю.

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

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

Увы, но это далеко не всегда работает. И не каждый способен понять как работает процессор. И, даже, транзистор.

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

У Кнута и Вирта книги-справочники

То есть не просто не читал, но даже и не раскрывал.

anonymous
()

Когда в начале 2015 года Вы начинали сбор денег, даже думал поддержать проект. Но очень рад, что этого не сделал. Излагаете Вы хорошо, но Ваша ЧСВ зашкаливает, и Вы очень замкнуты на своих идиотских убеждениях. Книга получилась помойная, я очень рад, что не потратил на неё денег и очень расстроен, что потратил время на её ознакомление.

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

Если второй том будет такой-же помойный то желаю, чтобы книга никогда не вышла.

Спасибо, что ознакомились с моим мнением.

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

Поясните свою мысль, я не ассемблерщик. «Мнемоника => машинный код».

Ассемблер в силу бедности выразительных возможностей машинных команд должен быть богатым на обвеску, прежде всего на макропроцессор и директивы, управляющие процессом ассемблирования. У gas с этим беда.

Чем прельстил ассемблерщика 32-бита? По моему все регистры у Интела по 16 бит.

LOL что, простите?

То бишь, ваши коллеги учились писать под DOS. А UNIX в они глаза не видели, не то что gas. Я правильно вас понял?

К сожалению, вы поняли меня совершенно правильно. Именно так. Вот просто пример: на двух из трёх потоков на ВМК ассемблер изучается 16-битный, то есть под MS-DOS. Большинство преподавателей проводят занятия вод Win*, несмотря на то, что никакие возможности Win* при этом, естественно, не используются. Далее: виндовый класс с локальными инсталляциями винды требует героических усилий по администрированию, и всё равно постоянно что-то ломается. При этом на всех машинах во всех классах факультета замечательно можно загрузить FreeBSD и Debian с удалённого сервера (локальный винт при этом не используется), понятно, что сломать это гораздо труднее, администраторских усилий требует в разы меньше. Dosbox там, естественно, уже лет десять как есть, под ним и этот ваш турбопаскаль, и этот ваш макроассемблер, и этот ваш нортонкоммандер — но убедить /коллег/ с первого курса перейти под всегда работающий и надёжный *nix с этой их глючащей и постоянно ломающейся винды мы уже те же самые десять лет не можем.

Вот такие пироги.

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

Да ну, Pascal Уж лучше обучать Lisp

Лесом лисп, лучше изучать луа, на нем можно писать торговых роботов в квике!

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

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

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

указатели - это на чём проверяется есть у человека программистское мышление или нет

даже блондинки-фвс понимают суть указателя после

ld r16, X

anonymous
()

Автор вполне вменяемый, читать можно. Платформа вызывает сомнения, но тот кто хочет, пробьется. В отличие, от разглагольствующих в комментах на ЛОРе, автор вносит в этот мир что-то полезное. Новичкам советую. Подождем остальные тома.

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

Но, думаю, у него хватит ума для начала написать мне на электронную почту. А я, разумеется, пойду навстречу и удалю файл если ему это так не нравится.

Итак, первое, и главное: автор я. Второе: а можно я не буду вам писать на электронную почту? Прошу удалить файл, и как можно быстрее.

Croco ★★★
() автор топика

Вопли СИонистов доставляют, надо прочесть - наверно книга хорошая, раз они недовольны.

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

Всё правильно, российский студент должен страдать.

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

Чем прельстил ассемблерщика 32-бита? По моему все регистры у Интела по 16 бит.

LOL что, простите?

Я имел ввиду, это: «зачем ассемблерщику 32 бита, разве размер регистра у современного процессора не 16-бит»? Или вы под «32-бита» имелли ввиду другое, типа «используйте транслятор асмы запускаемый в современной 32 битной операционной системе. А DOS срочно в архив!»

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

Размер регистра у /современных/ процессоров 64 бита, а у всех процессоров, начиная с i386 и заканчивая последними 32-битными, не помню, как их зовут (выпускаются всё ещё) — 32 бита.

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

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

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

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

Про встраивамость Lua в Nginx
Прям в конфигах Nginx, это очень круто
Ну а LuaJIT - тоже крутая вещь
Можно даже модули ядра для NetBSD писать
Было бы круто, если многие вещи на питоне переписали бы на Lua в крупных дистрах, а то бесит, что софт тормозит

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

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

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

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

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

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

А что не так с паскалем? Как раз нужный язык как для введения в курс дела.

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

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

Всё, никаких следов книги на моей стороне больше нет.

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

И почему хейтер x86-64 --это адекват?

А почему хейтер?

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

Всё, никаких следов книги на моей стороне больше нет.

Ага, зато они теперь много где ещё есть (см. выше пост одного фаната системД). Большое, мать вашу так, спасибо. Никак нельзя было сначала лицензию прочитать, а потом уже хрень устраивать?

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

Ну, мне посчастливилось учиться и в России, и не в России, так что была возможность сравнить.

Учились на специалиста по напалму?

Россию давно пора залить напалмом. /talks/12404077?cid=12405747

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

Было бы круто, если многие вещи на питоне переписали бы на Lua в крупных дистрах, а то бесит, что софт тормозит

Сам по себе lua в стандартной реализации скоростью не отличается, работает на уровне всяких руби-питонов.

А вот luajit, если правильно помню по своим тестам, разгонятся почти до скорости аналогичного неоптимизированного кода на Си. Раза в два опережая V8 и раза в 4 — pypy.

Deleted
()

Автору, вы не пробовали смотреть в сторону «Компонентный Паскаль/BlackBox», как никак этот язык связан с Никлаусом Виртом. По-моему, если я не ошибаюсь, для «консоли» Линукса компилятор есть.

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

«и Ильфа и Петрова»

В школе задали, мучаешься?

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

Автору, вы не пробовали смотреть в сторону «Компонентный Паскаль/BlackBox», как никак этот язык связан с Никлаусом Виртом. По-моему, если я не ошибаюсь, для «консоли» Линукса компилятор есть.

Какая разница, какой труп насиловать?

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

Можно подумать, что pdftotext (xpdf/poppler) есть только у меня.

А вот не надо было выкладывать в свободный доступ. А также описывать лицензию общими фразами из разряда CC-BY-ND. Я уже давно привык, что про юзеров нативной консоли без иксов никто не вспоминает. А в таком контексте сложно понять посылает нас автор лесом, заставляя читать оригинальный формат (ещё и на отдельные jpeg'и ghostscript'ом разбивать нельзя, ага; итого в пролёте не только less, но и fbi), или нет.

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

даже блондинки-фвс понимают суть указателя после

ld r16, X

Блондинки спрашивают, где указатели на регистр? :)

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

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

Думаешь, так легко отделаться? А кто мне моральный ущерб будет возмещать?

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

«Назвать копирастом человека, принципиально пишущего книги со свободными распространением, не берущего денег от издателей и собирающего их на издание с одним только требованием не переделывать книгу - это мощно. Сильно. »

Запрет на модификацию же, базовое требование «свободности» нарушено.

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