LINUX.ORG.RU

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

 , , ,

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

4

4

Тихо и незаметно 30 апреля 2026 года вышло издание 2.92, которое наконец включает в себя читаемый текстовый слой.

Исправлены опечатки и ошибки, обнаруженные в предыдущих изданиях, в частности 2.91 (где введена кликабельная навигация) и 2.9 (первое чисто электронное издание).

Книга предназначена для самообучения основам программирования и в отличии от многих других изданий предполагает фундаментальный подход - вначале основы дискретной математики и использования GNU/Linux или BSD с командной строкой, затем паскаль, потом ассемблер и только потом Си, системное программирование и альтернативные парадигмы (функциональное, логическое и так далее).

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

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

>>> Ссылка на страницу издания
>>> Альтернативные способы скачивания

>>> Новость на сайте автора

★★★★★

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 9)
Ответ на: комментарий от qulinxao3

массово-ядерные(на тысячи ядер) процы с микрофортами(меньше чем у риска набор маш команд)

Что можешь посоветовать почитать по этой теме?

ptah_alexs ★★★★★
()
Последнее исправление: ptah_alexs (всего исправлений: 1)

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

Когда собственного опыта написания ПО у читателя еще нет, то какой смысл читать разглагольствования писателя? Оценить-то эти измышления читатель все равно не сможет. А раз так, то какой смысл писателю изливать душу в трех томах? Новичкам было бы гораздо полезнее прочитать сжатое пособие вида: делай так и сяк и получишь то и это.

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

По содержанию книг я сказать ничего не могу, ибо не читал, а лишь полистал немного. Хуже от этих книг никому точно не будет, авось кто и почитает. Из недостатков замечу лишь то, что писателю нужно было не жмотиться и заплатить за проверку правописания своей писанины - ошибки орфографии «режут глаз».

Обычные книги, не лучше и не хуже других. Не понимаю почему народ так набросился на писателя тут.

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

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

Паскаль утратил актуальность из-за «встроенной» ограниченности. На нём удобно писать проги до нескольких сотен строк для личного использования,.. если не знаешь ничего другого. Но даже при этом постоянно будешь наталкиваться на паскалевские ограничения.

Попытки расширения Паскаля в диалектах – это затаскивание в него возможностей Си и С++, но зачем это, если более разумно и актуально полноценно изучать эти самые Си и С++? Или вообще специализированные инструменты вроде Octave, GNUPlot, R или просто bc/dc и остальных утилит вроде sed?

Здесь уместна рекомендация завместо Паскаля использовать связку Tcl/Tk, Столяров освещает вопрос программирования на. Скрипт с GUI на Tcl/Tk накропать много быстрее, чем прогу на Паскале, что искупит его более медленную работу, особенно если это из разряда «пару раз запустил, записал результат, вставил в приложение к статье и забыл».

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

Тут некоторая терминологическая путаница, у Столярова разъясняется, почему не следует использовать Си при введении в программирование, а вот первым языком, который у него действительно изучается как ЯП и есть Си. Т.е. следует различать "обучение программированию с использованием дидактического инструмента «Паскаль» и «обучение программированию на языке Си» (позволю ремарку, что бОльшая часть «толстых» книг по программированию вообще не по программированию, а описание какого-либо языка, т.е. «руководство по языку», а не «как написать что-угодно на ЯП»).

Си (С++, Go, Rust, Java, Питон и т.п.) не годен как ДИДАКТИЧЕСКИЙ инструмент в пропедевтике программирования.

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

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

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

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

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

LOL как он есть: чувак, не знающий программирования, причисляет паскаль к мейнстримным языкам на основании того что он был в единственном учебнике программирования, который он пытался читать. Да и тот от не умеющего программировать Столярика :-D

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

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

Чтобы написать одну книгу необходимо самому прочитать не менее десяти книг. У меня столько сил и времени, да и способностей писать нет. Мне понравился подход в книге, о которой я узнал тут, Джесси Либерти и Брэдли Джонса «Выучи Си++ самостоятельно за двадцать один день»: делай то и это, получишь это и то. Читать просто так уже времени и желания нет. Читаешь, чтобы что-либо сделать на основе прочитанного и ни строкой более.

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

Я правильно понял, вы - ученик Столярова? Или, по крайней мере - адепт и последователь его идей?

Про примеры кода не будет комментариев? Я зря их копировал и исправлял выравнивание?

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

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

Лучше бы баги поправили - абсолютно же все глючные.

И в чём конкретно они по-твоему глючные?

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

хз

начать с вики и двигаться в сторону опубличенных статей из фундамента есть лауряты Тьюринга типо Лампорта?

вроде как последнее издание Таненбаума и У по распределённым системам(ну это не так плотно параллельно но всёж делает более понятным почему уже в конце 60ых всякие дейскстры и ко угорали по инвариантам и пред пост условиям - на фоне нарождающегося цунами хакеров которым отладка критерий истины) - оно кста на python Для большей доступности  — Таненбаум всёж индустрия учебников

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

если жи по конкретно orisc? процам Мура то архивы

https://habr.com/ru/companies/ua-hosting/articles/318144/ первая сыль по https://www.google.com/search?q=Мур forth cpu

чисто пример что чел маштаба Кнута(тех для себя) собрал полную проектировочную линию процессоров - экономике от чего то такое не нужно

Ж) Ух ты какая вкуснятина выпущена (144 ядерный форт-процессор)

. https://excamera.com/files/j1.pdf  — сам текст

, https://www.researchgate.net/publication/228489082_J1_a_small_Forth_CPU_Core_...

https://www.researchgate.net хорошее место почти как archive.org https://arxiv.org/

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

И в чём конкретно они по-твоему глючные?

А сами не видите? Там и корки, и бесконечные циклы, полный букет.

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

Лучше бы баги поправили

А кто на самом деле должен баги исправлять? Правильно,

bugfixer ★★★★★ (08.05.26 20:20:50 CDT)

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

в книжке Петрова о распределённых и реализациях систем хранения (бд) есть цитата Алана Кея - о современной (цитата вроде как 2002 года - книжка ~2020) индустрии софтописа как попкультуре - которая намеренно не имеет памяти ибо иначе сложнее модой рулить

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

А сами не видите? Там и корки, и бесконечные циклы, полный букет.

Где конкретно? Эти функции должны считать длину 0-терминированной строки. Конечно если нет 0 терминатора, то и ответ будет неверный. Но такие строки почти в любом коде вызовут проблему.

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

Где конкретно?

Вы правда хотите чтобы я вам всё разжевал?? Не разочаровывайте меня. Утверждение следующее: я могу сформировать и подсунуть в эти функции такую валидную C-string что (а) стандартный libc’шный strlen() вернёт её корректную длину, и (б) варианты от Столярова будут или падать, или впадать в кому, или выдавать неправильный результат.

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

На самом деле товарищ скорее всего хотел про off-by-one в #3 услышать, но это совсем тривиальными (и дешёвыми, что немаловажно) unit-tests ловится, в отличие от…

bugfixer ★★★★★
()

А автор сих опусов не может сделать нормальный A5 для электронных книг? Как читать его глубокие мысли в дороге?

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

Си (С++, Go, Rust, Java, Питон и т.п.) не годен как ДИДАКТИЧЕСКИЙ инструмент в пропедевтике программирования.

А что скажете насчет целевых языков программирования? R, Julia например...

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

Ну как, сверхдлинные - 2GB (на x86), и таки это не что-то из области фантастики (human-readable dump какой-нибудь базёнки, например). Нечасто, но бывает.

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

https://www.enet.ru/win/cherezov/forthcpu/misc.html

в целом пределом оказываются процы с нулём инструкций https://en.wikipedia.org/wiki/One-instruction_set_computer т.е так как команда только одна не нужно место под её опкод - т.е похожее на последовательность вызовов в косвенном шитом коде по факту вся семантика оказывается либо в полях либо в очень длинных элементарных(в частности модифицируй и прыгни) последовательностях

познавательно посмотреть phdp-1 ? там было 2.7Ктранзисторов и 3Кдиодов и всего 32 опкода

https://obsolescence.dev/pidp1-sw/PDP-1-Handbook.pdf

ваще cisc предшествовали «risc» Ж)

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

Не обязательно 2Gb, int может быть и 2 байта, соотв. 32767 байт строка. Если в строке хранится utf-8, то это может оказаться и совсем короткая строка с т.з. символов.

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

Не понимаю почему народ так набросился на писателя тут.

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

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

Си (С++, Go, Rust, Java, Питон и т.п.) не годен как ДИДАКТИЧЕСКИЙ инструмент в пропедевтике программирования.

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

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

Что у людей могут быть потребности и средства их решения соответственно сильно выходящие за рамки программ, которые запускали на 286-х и 386-х компьютерах, он как-то не воспринимает что ли

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

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

С указателями всё очевидно. А у питона нет никаких значков указывающих на указатель

И вот это вот искренне считает что может спорить с программистами о ЯП и обучении программированию. Само собой он не раздупляет почему над ним уже в голос ржут :-D :-D :-D

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

Ничего необычного, типичная позиция «потребности и желания, которых нет у меня, не должны возникать у других». Тут на ЛОРе таких персонажей с добрый десяток: у одного 15 ГБ трафика за месяц неиронично хватит всем, а кто тратит больше — неадекваты, у другого невозможно «целый терабайт» заполнить данными, у третьего мониторы больше 19" используют только для профессиональной работы с чем-то там, и обычному человеку это не нужно, ну и так далее. Вот и тут такой же менталитет, только конкретно с процессорами.

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

и было это уже к середине 90ых

https://www.greenarraychips.com/ - оно и сейчас вполне живо

https://github.com/howerj/forth-cpu - и даже FOSS варианты есть, хотя и гораздо более простые конечно

Причём не удивлюсь если в эпоху ИИ их ждёт ренессанс - чем вертеть стек туда-сюда в голове гораздо проще поручить LLM нагенерить нужный код на Forth.

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

если ты строишь свои рассуждения на основе неверной концепции, все рассуждения оказываются ложными

Вот, кстати, не соглашусь. Из ложной посылки может следовать что угодно - как истина, так и ложь. Логическая импликация так работает просто. Тут уж как повезёт.

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

Вот если бы из ложной посылки действительно всегда следовали исключительно ложные - это с большей вероятностью прочищало даже недалёкие мозги. Однако маемо шо маемо :-\

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

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

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

Ну тогда всё еще хуже :D

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

тут вообще нет какой-то особой связи между базисом и результатом

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

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

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

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

сказать ничего не могу, ибо не читал

Не понимаю почему народ так набросился на писателя тут

Вот вообще никаких идей в чём может быть причина?

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

Там синдром Eddy_Em во весь рост, а не желание быть нетакусей.

Minoru ★★★
()
Ответ на: удаленный комментарий

Никак - у него их нет.

Ну совсем зачмырили человека...

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

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

Откровенно говоря, совремённые (и даже не совсем совремённые) вменяемые аналоги даже как-то трудно припомнить. Они или с уклоном в конкретный язык программирования или в математику или какую-то ещё узкую относительно тему. SICP, к слову, аналогом не является, в этом курсе скорее учат алгоритмистике и началам Computer Science, а не вот именно программированию. Курс хороший и нужный, но не вместо Столярова.

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

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

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

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

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

Условно питоновский подход имеет право на жизнь, но у него есть недостаток, что программисты, которые начали с него и/или web-программирования они зачастую очень плохо воспринимают что-то низкоуровневое: коды, байты с битами, пресловутые указатели.

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

Ну совсем зачмырили человека…

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

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

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

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

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

Вот вообще никаких идей в чём может быть причина?

Нет. В чем заключается заблуждение писателя, на твой взгляд?

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

Даже в станках «АСМЛа», печатающих самые современные микросхемы в мире, графическое взаимодействие с пользователем сильно напоминает времена «Окон-3.11». И ничего, всех все устраивает. Практическое подкрепление теории практикой добавить и все придет в равновесие.

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

Это не недостаток подхода, я просто плохие объяснения. Я в начале треда давал ссылку на свой камент, где писал, как правильно переходить от питона к си. Ознакомься.

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

просто шиз был с исключительно бредовыми идеями

Дык это не просто шиз, а очень смешной шиз с настолько раздутым ЧСВ что подрывается в лоскуты от тривиального багрепорта - ржать над подобными лулзами (и высерами его тугих ученичков) ЛОР никогда не устанет.

вменяемые аналоги даже как-то трудно припомнить

Тебе роскомпозор досрочно инет отрезал? Вот уж чего-чего, а литературы, статей, заметок и учебников по программированию и всему что с этой профессией связано в сети просто прорва.

SICP, к слову, аналогом не является

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

устройство компьютера и ОС и ассемблер и Си и разные парадигмы программирования

Всё это и на порядки больше доступно через тот же MIT OCW и его аналоги. Хотя ассемблер нужен современному программисту как рыбе зонтик.

При этом в эпоху LLM любому желающему доступен бесплатный персональный препод, готовый 24/7 отвечать на вопросы, приводить примеры и терпеливо разъяснять непонятные места.

привели к наличию в книге сомнительных мест

Она практически вся из них состоит.

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

Нет.

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

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

Само собой - это выверенный и великолепно написанный учебник, созданный профессионалами.

а чего Абельсон и Сассмен напрограммировали?

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

Хотя ассемблер нужен современному программисту как рыбе зонтик.

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

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

У Лёхи Фридмана на днях вышел подкаст с vlc/ffmpeg дуэтом авгуров,

Асм в части все есть кортеж битов очень полезная херистика

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

Я в начале треда давал ссылку на свой камент, где писал, как правильно переходить от питона к си. Ознакомься.

У тебя вроде и неплохо, но

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

В учебнике он и не усирается. Там про Rust вообще ничего. Но прежде чем говорить о структурировании проекта и декомпозиции, надо чтобы обучаемый уже имел опыт написания программ, причём, по-хорошему, на 1000-2000 строк хотя бы. Иначе бессмысленно: в одно ухо влетит, в другое вылетит. Типичная, кстати, ошибка, когда человеку, едва научившемуся программировать «Hello world!» пихают ООП.

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

А вот тут есть проблема. Сейчас, наверное, любое обучение программированию будет на первых порах оторвано от реальности. В 80-х - начале 90-х было сильно проще сразу же увидеть интересный результат своего кодописания.

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

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

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

Но всё же, если паскалю можно предъявить, в основном только академичность и малую востребованность сейчас, то у Python для новичков есть недостатки похуже:

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

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

3) Вообще работа с Python фактически требует правильного администрирования. Это конечно не особо заметно на ученических программах, но всё же.

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

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

Опять ты вперёд забегаешь. Какая бизнес-логика, какие критичные к скорости участки? Человеку для начала надо просто научиться программировать и набить шишек, решая задачи. При этом приучаясь к более-менее правильному стилю и подходам.

Поэтому мне кажется, что подход начать с Паскаля, потом дать ассемблер (а не Си), именно, чтобы увидеть во что ЯП превращается на уровне процессор лучше. Недостаток, что долго до практически полезного, так как на Паскале и Си сейчас не особо пишут.

Питон я бы давал уже третьим языком программирования.

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

Pascal - Asm - Python.

С таким подходом мы получим то, что имеем сейчас в среде ML-программистов: «Покажите мне как запустить PyTorch, а то мне непонятно, как здесь программировать?! Мама!»

VIT ★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)