Столяров А.В. - Программирование: введение в профессию, 2-е издание (в 3-х томах) [2021, PDF, RUS] + исходные коды примеров

Ответить
 

Bufallo81

Стаж: 12 лет

Сообщений: 217


Bufallo81 · 17-Мар-22 20:36 (3 года 3 месяца назад)

Добрый день мне 40 лет,нашел эти интересные книги Столярова,заинтересовало программирование.Вопрос, стоит ли мне изучать их с дальнейшим трудоустройством(может еще на заочку пойду),потом планирую C++, или уже не стоит рыпаться даже по годам.
[Профиль]  [ЛС] 

Starain

Стаж: 12 лет 3 месяца

Сообщений: 132

Starain · 30-Мар-22 23:24 (спустя 13 дней, ред. 30-Мар-22 23:24)

Bufallo81 писал(а):
82883233Добрый день мне 40 лет,нашел эти интересные книги Столярова,заинтересовало программирование.Вопрос, стоит ли мне изучать их с дальнейшим трудоустройством(может еще на заочку пойду),потом планирую C++, или уже не стоит рыпаться даже по годам.
Почитайте мое сообщение на прошлой страничке, особенно часть про вечную тему алгоритмов и английского. Рыпаться всегда стоит. Параллельно тут в твиторе читаю, как женщина 53 лет с тремя детьми устроилась мидлом на java-стек, чуток прибавив себе квалификации и сейчас судорожно доучивает) Читается как детектив.
Для дома/для семьи/работы = как можно максимальное применение в как можно большем количестве сфер (разве что кроме нормальной разработки мобильных приложений или игр), я бы рекомендовал сейчас учить тот же Python, например. Говорю не голословно, а как человек, уехавший в свое время с промышленной разработки на C++ на Java-стек с кровавым энтерпрайзом (от спринга до JNI, уходящими корнями в С++ подлибы), а затем перешедший с Java на Python. Недавно он, кстати, в индексе TIOBE уехал на первое место:
https://www.tiobe.com/tiobe-index/
Чтобы начать учить синтаксис, можно почитать книжку Byte of python (есть на русском в свободном доступе, 2я версия книги, про 3й питон, малость устарела, там может нет walrus оператора := и f-strings, и тем более фич версий 3.9, 3.10, аля pattern matching и type annotations, но для начала пойдет), да, главное не делать ошибку, про 2ю версию питона забудьте, нет её больше, все уже давно на третьей. Или на ютубе лекции курс лекций Хирьянова или Екатерины Тузовой.
Как минимум, даже если вы не станете прям прогером-прогером, он вам в ЛЮБОЙ сфере даст буст. (+такой прикол есть в этой отрасли, сами языки это еще не конец пути, нужна методология+фреймворки, начиная от общефилософских понятий вида agile/scrum/kanban/ООП/KISS/DRY/функциональное программирование/SICP/ - специально все намешиваю в кучу, заканчивая "тут рядом пробегала целая профессия", от девопсов, что очень утрируя - помесь админа с прогером, гребущая бабло лопатой, до всяких DBA-architect, челик по базам данных, который со стороны глядя в носу ковыряется и лениво показывает где прогеры нагавнякали, но тоже гребущий бабло лопатой, и заканчивая учением всяких там git/jira/trello/интерфейс bash/как выйти из vim). Ну и на каждую область, еще плюс фреймворк.
Так-что вам там хватит еще чего учить (опять таки не забываем про алгоритмы и английский). Так вот, у питона эти фреймворки, они как-то ближе к человеку, что-ли, условно говоря, одним импортом и тремя командами, описанными на стековере, вы уже почти решили задачку, а либы внутри написаны на С/C++ и быстро-быстро вам унутре подсчитали все. Не говорю, что на плюсах нет либ и фреймворков, но и синтаксического мусора придется писать порядочно. Хотя, может я и ошибаюсь, я то видел плюсы вида Win32 API C++ где чтобы две-три менюшки для окошка расписать надо было выдавить из себя код на пару страниц, может там сейчас корабли бороздят метапространства (нюню).
Второй вариант - современный javascript + typescript (но там можно сломать квадратно-типизированный мозг явиста об слишком свободную динамику, и TS тут поможет не взорвать мозг). Из минусов - пригодится только в сайтостроении и для построения мобильных приложений.
[Профиль]  [ЛС] 

broomslook

Стаж: 12 лет 9 месяцев

Сообщений: 1


broomslook · 23-Апр-22 23:42 (спустя 24 дня)

Может кто-нибудь помочь с переводом в epub?
Пробовал calibre для конвертации - норм не выходит. Халп плз
[Профиль]  [ЛС] 

RomaWod

Стаж: 15 лет

Сообщений: 50


RomaWod · 20-Июн-22 14:17 (спустя 1 месяц 26 дней)

почему рисунок на титулке без костылей и рыбки как в оригинале?
[Профиль]  [ЛС] 

Rikkkki

Стаж: 6 лет 7 месяцев

Сообщений: 325

Rikkkki · 18-Сен-22 03:19 (спустя 2 месяца 27 дней, ред. 18-Сен-22 03:19)

Предисловие просто умопомрачительное... представляю, что там дальше будет:
"Если вы копируете файлы, перетаскивая иконки мышкой, вы вряд ли сможете убедить ваших учеников, что командная строка эффективнее"
Интересно, автор книги когда берёт яблоко и кладёт в тарелку, он это тоже делает командами? Ведь он утверждает, что общение при помощи языка более природное, чем общение жестами. Но вряд ли он яблоку даёт команду на перемещение. Он всё же берёт руку и перемещает её вместе с яблоком в тарелку. То есть перенести яблоко из одного места в другое рукой - это норм, а точно такой же жест при переносе файлов для него при этом является неуместным, тут видите ли нужна командная строка. Как раз таки наоборот, это самое естественное, что можно было придумать ... захватить объект мышкой, словно рукой, и перетащить.. даже задумываться не надо.. и команды вспоминать, всё интуитивно, как в жизни.
И вот это навязывание своих странных взглядов про Юникс... это просто жесть... ну ну... читаем дальше
[Профиль]  [ЛС] 

forewerx

Стаж: 16 лет 5 месяцев

Сообщений: 35


forewerx · 21-Янв-23 13:33 (спустя 4 месяца 3 дня)

user253 писал(а):
82772234iptcpudp37
Спасибо за раздачу. Недавно вышел задачник к учебнику, можно добавить в раздачу. Подробнее тут: http://www.stolyarov.info/books/programming_intro/taskbook.
На счет Вашего сообщения, выбора в качестве языка для обучения - D. Подойдет ли для самостоятельного изучения? Сам я пока погружаюсь в Linux & shell, в будущем куда двигаться пока не ясно, интересует системное программирование, рассматриваю варианты Go/D, но что то сомневаюсь, информация по ним расcчитана в основном на практикующих программистов, а может я плохо искал.
[Профиль]  [ЛС] 

f0toprofi

Стаж: 2 года

Сообщений: 135


f0toprofi · 27-Сен-23 17:54 (спустя 8 месяцев, ред. 27-Сен-23 17:54)

iptcpudp37 писал(а):
81392626Но, не без недостатков:
1. К чему было приплетать Pascal? Что в нём есть такого особенного, чего нет в С? И зачем учить язык, который нигде потом не будешь использовать? Как по мне логичней было бы
сразу начать с C, как надстройкой над ассемблером, затем перейти к самому ассемблеру, а затем уже к C++.
2. К чему было в 3 томе рассматривать Tcl в качестве скриптового/интерпретируемого языка, а не взять те же более актуальные Perl или Python (или же Ruby или Lua на худой конец).
3. Несмотря на хейт автора к STL и новым стандартам, всё же можно было бы хотя бы вкратце рассмотреть возможности современного С++. А ООП лучше было бы вообще рассмотреть в Java (по той простой причине, что ООП модель в нем более выверенная, продуманная, продвинутая и ортогональная). Ну а про Rust и Go, как современным альтернативам C/C++ автор видимо особо и не слышал (или не хотел услышать из-за своей предвзятости).
В общем, явно отдает неким ретроградством и косностью.
4. К чему эта пропаганда и апологетика за UNIX и GNU, и вместе с тем обливание грязью и игнорирование всего того, что связано с Windows?
5. Явный дисбаланс в сторону низкоуровневого и системного программирования в ущерб высокоуровневому и прикладному (в частности, не рассмотрены такие темы, как работа с базами данных, программирование Web и т.д.).
6. Недостаточно внимания уделено теме алгоритмов (в частности не рассмотрены важные базовые алгоритмы сортировки, поиска, работы со строками, алгоритмы на графах).
7. Уже 2-е издание, и до сих пор ни тестов, ни вопросов для самопроверки, ни, самое главное, задач. Отдельный задачник только планируется к созданию! Какое может быть обучение программированию без задач, без хорошей практики?
Но в целом издание, конечно, весьма годное, хоть и не самодостаточное и не полное.
1. В 80-х модно было на Pascal'е обучать студентов, автор там как был, так и остался, в дивном мире компьютеров размером с холодильник, UNIX и Pascal.
2. На счет актуальности Perl я бы сильно поспорил - язык не входит даже в топ 20 актуальных ЯПов, его распространенность аналогична таковой у совсем уж нишевых Elixir и Scala. Почему не был взят Python или Lua - потому что дед испытывает глубокое презрение к языкам и программированию оторванному от железа.
3. Следует из второго: оторвано от железа - в топку!
4. Потому что винда - это GUI, а GUI не нужен. Работа должна вестись исключительно в командной строке (по мнению автора).
5. Программирование веб? У Столярова? Напоминаю, что он угрожал веб-программистам оторвать руки, а впоследствии такие вопросы на его сайте просто перестали проходить премодерацию.
6. По алгоритмам должна быть отдельная книга, тут все ок.
7. Автор больше теоретик, чем практик.
iptcpudp37 писал(а):
82378105С современным программированием как профессией книга имеет конечно весьма мало общего. Точней было бы назвать вроде "Введение в [преимущественно системное и низкоуровневое] программирование [для/под Unix] образца конца 20 века [каким его застал и воспринял автор]"
База.
user253 писал(а):
82772234На счет Вашего сообщения, выбора в качестве языка для обучения - D. Подойдет ли для самостоятельного изучения? Сам я пока погружаюсь в Linux & shell, в будущем куда двигаться пока не ясно, интересует системное программирование, рассматриваю варианты Go/D, но что то сомневаюсь, информация по ним расcчитана в основном на практикующих программистов, а может я плохо искал.
Любой язык программирования подходит для самостоятельного изучения. Я мало что знаю про D, но однозначно могу сказать, что в качестве первого языка однозначно не стоит выбирать:
- эзотерику (читай Clojure, Haskell и подобное), просто потому что 99% современного программирования - это императивное программирование, с элементами ООП и ФП, и перенести туда полученный при изучении не-фоннеймановского языка опыт будет просто невозможно
- что-то малораспространенное, потому что на старте нужно обилие доступных обучающих материалов и коммьюнити, а именного этого у D нет
Поэтому я думаю, что хотя D может и неплохой язык, но точно не для начала. Его стоит выбирать, если вы четко понимаете, что это такое и зачем (под какую задачу) конкретно вам этот D собственно нужен. Если интересует именно системное программирование однозначно советую Rust. Если же просто поиграться в программирование - Python. Это лабуда:
- 1-й семестр Kotlin и Bash
- 2-й семестр C++
- 3-й семестр Haskell (ага, да как же за семестр Haskell, на втором курсе, верю, проверяй)
- 4-й семестр Prolog ( без комментариев)
- 3-й курс Python
- 4-й курс по выбору Scala, Java, C#, Rust, JS, PHP
Для вдумчивого изучения языка программирования, его экосистемы и применения в реальной жизни, а не для написания кода уровня laba_1.pas, нужно, по-хорошему, несколько лет. Вот этот галоп по Европам выше приведет к тому, что из института выйдет недоучка с синдромом Даннинга-Крюгера, у которого в резюме будет с десяток языков программирования, ни на одном из которых чего-то сложнее hello world он не напишет.
Haskell как обязательный язык программирования - это отдельный нонсенс. В целом видео является рекламной агиткой автора и JetBrains и не более, никакого реального отношения к обучению программированию оно не имеет.
[Профиль]  [ЛС] 

Vladik-polosatik

Стаж: 14 лет 5 месяцев

Сообщений: 756

Vladik-polosatik · 16-Авг-24 19:00 (спустя 10 месяцев, ред. 16-Авг-24 19:00)

Ох, прочитал две страницы комментариев, подумал, что программисты что-то дельное посоветуют. Ан нет! Один советует малоизвестный ЯП D, другой Питон, третий Раст…
Я не программист, просто человек склонный к познанию, прочитал по теме несколько книг. И, могу сказать, что выбирать какие-то малоизвестные языки в контексте книг Столярова — безумие! Для понимания программирования как такового нужен одновременно очень популярный ЯП, коммерческий и в то же время близкий к «железу», а не витающий в облаках, как Питон.
И такой язык есть, более того, схожий и фактически входящий в семейство C/C++, — это Java. Ещё много лет он будет популярным, коммерческим, к тому же обладает сходством и отпочковавшийся от С++, обратно совместимый, — то есть после его освоения можно уже легче освоить старые C/C++, так и современный C#. Это де-факто одно семейство созвучных языков.
На мой взгляд, школьников и студентов, у коих много свободного времени, разумнее сначала научить мыслить как машина, сформировать понимание, как работает компьютер и компьютерные сети, как в целом функционирует «железо» в связке с машинным кодом, ЯП и «софтом». А для этого нужны всего лишь азы, основы ассемблера, затем основы C/C++, затем основательное изучение Java, после чего молодой человек сможет освоить самостоятельно любой язык программирования. И, что немаловажно, такой фундамент и подход ещё и позволит устроиться на работу и зарабатывать деньги, в отличие от советов изучать D, Паскаль, Перл и т. д. и т. п. Даже Питон сейчас безумие изучать, когда его первым делом изучают все, кто хочет войти в IT, и когда на одну вакансию по Питону сотни/тысячи откликов.
Школьнику или студенту с базой ассемблер — C/C++ — Java не грозит увольнение и невостребованность, такой человек всегда самостоятельно сможет осваивать любые языки программирования очень быстро и легко. Все знакомые одновременно Сишники/Джависты очень быстро изучают новые ЯП — от нескольких недель до максимум двух месяцев.
Будь я в юном возрасте, я бы начал изучать программирование с такого подхода.
Поэтому, при всем уважении к Столярову, его подход или методика обучения современным детям и тем более взрослым категорически не подходит. Он выбирает мёртвые языки, в то время как разумнее тратить время и силы на освоение тех, которые до сих пор востребованы как энтузиастами, так и в коммерции и которые могут дать такое же понимание, как работает и программирует компьютер, как тот же Паскаль. И в этом беда не только Столярова, а большинства кафедр программирования в вузах России — оторванность от реального положения дел, устаревшие программы обучения, учебники и методики обучения. Много времени и сил тратится на изучение какого-нибудь Паскаля и других мёртвых языков — так, будто на дворе 90-е и нулевые.
[Профиль]  [ЛС] 

activeprofi

Стаж: 7 лет 1 месяц

Сообщений: 78


activeprofi · 16-Авг-24 21:56 (спустя 2 часа 56 мин.)

Vladik-polosatik писал(а):
86595137Ох, прочитал две страницы комментариев, подумал, что программисты что-то дельное посоветуют. Ан нет! Один советует малоизвестный ЯП D, другой Питон, третий Раст…
Я не программист, просто человек склонный к познанию, прочитал по теме несколько книг. И, могу сказать, что выбирать какие-то малоизвестные языки в контексте книг Столярова — безумие! Для понимания программирования как такового нужен одновременно очень популярный ЯП, коммерческий и в то же время близкий к «железу», а не витающий в облаках, как Питон.
И такой язык есть, более того, схожий и фактически входящий в семейство C/C++, — это Java. Ещё много лет он будет популярным, коммерческим, к тому же обладает сходством и отпочковавшийся от С++, обратно совместимый, — то есть после его освоения можно уже легче освоить старые C/C++, так и современный C#. Это де-факто одно семейство созвучных языков.
На мой взгляд, школьников и студентов, у коих много свободного времени, разумнее сначала научить мыслить как машина, сформировать понимание, как работает компьютер и компьютерные сети, как в целом функционирует «железо» в связке с машинным кодом, ЯП и «софтом». А для этого нужны всего лишь азы, основы ассемблера, затем основы C/C++, затем основательное изучение Java, после чего молодой человек сможет освоить самостоятельно любой язык программирования. И, что немаловажно, такой фундамент и подход ещё и позволит устроиться на работу и зарабатывать деньги, в отличие от советов изучать D, Паскаль, Перл и т. д. и т. п. Даже Питон сейчас безумие изучать, когда его первым делом изучают все, кто хочет войти в IT, и когда на одну вакансию по Питону сотни/тысячи откликов.
Школьнику или студенту с базой ассемблер — C/C++ — Java не грозит увольнение и невостребованность, такой человек всегда самостоятельно сможет осваивать любые языки программирования очень быстро и легко. Все знакомые одновременно Сишники/Джависты очень быстро изучают новые ЯП — от нескольких недель до максимум двух месяцев.
Будь я в юном возрасте, я бы начал изучать программирование с такого подхода.
Поэтому, при всем уважении к Столярову, его подход или методика обучения современным детям и тем более взрослым категорически не подходит. Он выбирает мёртвые языки, в то время как разумнее тратить время и силы на освоение тех, которые до сих пор востребованы как энтузиастами, так и в коммерции и которые могут дать такое же понимание, как работает и программирует компьютер, как тот же Паскаль. И в этом беда не только Столярова, а большинства кафедр программирования в вузах России — оторванность от реального положения дел, устаревшие программы обучения, учебники и методики обучения. Много времени и сил тратится на изучение какого-нибудь Паскаля и других мёртвых языков — так, будто на дворе 90-е и нулевые.
Без обид, но несколько книг по теме очень мало чтобы составить общую картину: а что вообще тут учИтся и каков объем знаний? Еще есть огромное количество направлений от 1С до анализа данных.
Учить программировать или лучше - учится быть инженером можно по разному: сверху вниз и снизу вверх. И куча с маленькой тележкой разных смесей этих подходов. Кому что заходит лучше.
Кому сразу нужно видеть результат, то ему как раз питоны и джаваскрипты подойдут, а остальное по ходу дела подтянуть.
А кто любит педантично узнавать все шаг за шагом и есть желание и рвение, то ему зайдет с общих принципов про работу ЭВМ и далее ассемблеры, си и прочее.
Про язык для обучения - уже копья поломаны и все учатся как удобно каждому. Преподаватели знающие толк могут использовать некоммерческие никому не нужные языки ибо на них удобно показывать концепции где видно саму суть. Практики могут начинать с джавы и прочее. Да хоть с хаскеля!
Успехов в познаниях. Ищите свой путь удобный и интересный именно вам.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 18-Авг-24 20:33 (спустя 1 день 22 часа)

Vladik-polosatik писал(а):
86595137И такой язык есть, более того, схожий и фактически входящий в семейство C/C++, — это Java.
Глупости. Максимум чем Java в этом плане является, так это синтаксическим потомком С++, не более. И от железа он далек так же примерно, как и Python. И куча других минусов: громоздкий синтаксис, завязка на ООП, тяжеловесный "багаж" (платформа, библиотеки, фреймворки), низкая производительность и эффективность, слишком высокоуровневый, абстрактный, да и еще и интерпретируемый. Поэтому в этом плане те же Pascal и D будут значительно лучшим выбором. И упомянутые вами критерии вроде "коммерческий, известный, популярный и распространенный" в аспекте изучения программирования это вообще ни о чем.
[Профиль]  [ЛС] 

Starain

Стаж: 12 лет 3 месяца

Сообщений: 132

Starain · 23-Авг-24 11:04 (спустя 4 дня)

Vladik-polosatik писал(а):
86595137Я не программист, просто человек склонный к познанию, прочитал по теме несколько книг.
...
а не витающий в облаках, как Питон.
...
И такой язык есть, более того, схожий и фактически входящий в семейство C/C++, — это Java.
...
Даже Питон сейчас безумие изучать, когда его первым делом изучают все, кто хочет войти в IT, и когда на одну вакансию по Питону сотни/тысячи откликов.
...
Забавно, у вас картина мира по вере в джаву примерно как у меня лет 20 назад была Зачем правда студентиков теперешних ею со старта мучить - непонятно, модно и молодежно её было учить лет 20 назад, когда в не топовых вузах давали паскаль с бейсиком, а преподы удивлялись, глядя на Deplhi)
Я бы начал с легкого языка + алгоритмов, чтобы понять, есть ли вообще мотивация. Серебрянной пули нет, особенно в эру ChatGPT, для джунов вход везде трудный. А прикол про питон и этих как собак не резаных питонистов в том, что там и областей применения больше, и в целом, даже минимальные усилия, "в пустоту" не уйдут, и самое главное, можно отпрыгнуть от уже имеющихся знаний и профессий, он даже будущему джависту пригодится (правда человек после питона плеваться с джавы будет, ахаха, ну если только под эгидой этого джаву учить, как это у меня исторически сложилось, "от противного к хорошему", вот с котлина, кстати, не будет противно).
В целом, чем слушать мурзилок в интернете, включая меня, лучше обратиться к профессионалам, особо не гадать, а взять к примеру уже данные выше в этой теме ссылки:
1. https://pll.harvard.edu/course/cs50-introduction-computer-science
2. https://github.com/ossu/computer-science - если в вашем вузе с компуктер саенс не очень, можно проходить параллельно этот курс, рассчитан на 2 года, при занятости 2-8 часов в неделю. А если вас учат паскалю, поверьте мне, там фигово, потому-что нет ничего такого в мертвом Паскале исконно-посконного, что именно в нем лучше всего преподавать, за исключением лени и закостенелости препода, оторвавшегося от реальности примерно с аспирантуры. Не верите мне - ну вон в Гарварде на современных курсах как-то обходятся без Паскаля.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 23-Авг-24 13:22 (спустя 2 часа 17 мин.)

Starain писал(а):
86619126потому-что нет ничего такого в мертвом Паскале исконно-посконного, что именно в нем лучше всего преподавать, за исключением лени и закостенелости препода, оторвавшегося от реальности примерно с аспирантуры. Не верите мне - ну вон в Гарварде на современных курсах как-то обходятся без Паскаля.
Чтобы убедиться что не в этом дело, следует прочитать введение в первом томе, где автор обосновывает свой выбор Pascal. А всё потому, что это объективно действительно и до сих пор один из лучших языков для обучения программированию, чтобы заложить необходимую базу и правильное понимание происходящего. В частности, он компилируемый, простой, лаконичный и минималистичный, однозначный, содержит всё нужное (в том числе ручное управление памятью), и (почти) ничего лишнего, доступен для всех платформ.
[Профиль]  [ЛС] 

Starain

Стаж: 12 лет 3 месяца

Сообщений: 132

Starain · 24-Авг-24 02:04 (спустя 12 часов, ред. 24-Авг-24 02:04)

iptcpudp37 писал(а):
86619554
Starain писал(а):
86619126потому-что нет ничего такого в мертвом Паскале исконно-посконного, что именно в нем лучше всего преподавать, за исключением лени и закостенелости препода, оторвавшегося от реальности примерно с аспирантуры. Не верите мне - ну вон в Гарварде на современных курсах как-то обходятся без Паскаля.
Чтобы убедиться что не в этом дело, следует прочитать введение в первом томе, где автор обосновывает свой выбор Pascal. А всё потому, что это объективно действительно и до сих пор один из лучших языков для обучения программированию, чтобы заложить необходимую базу и правильное понимание происходящего. В частности, он компилируемый, простой, лаконичный и минималистичный, однозначный, содержит всё нужное (в том числе ручное управление памятью), и (почти) ничего лишнего, доступен для всех платформ.
Простите, какой он лучший в современных реалиях, если в нем функциональщина отсутствует как класс? Плюс неприменимость его в современном мире для реальных задачек, а студентикам для мотивации зачастую не хватает сделать и тут же посмотреть результат. Да даже на ЕГЭ уже для информатики проще тот же питон использовать и там даже IDE можно выбрать, в частности pycharm, а ведь это преимущество вашего ребенка, он может продебажить свой код в современном редакторе, подсчитать коллекцию нормально foreach, меньше возможность ошибок на индексируемом loop'е от стресса допустить, вылезая за индекс, использовать современные библиотеки питона (один itertools чего стоит, а ведь он доступен из-коробки на ЕГЭ) -> поступление в ВУЗ на больший балл, примерный буст решаемости задачек виден в графике:

Скрин отсюда: https://youtu.be/Z2gPhd6-hNM?list=PLgvtHXe0kJXadkvmkCV2seGS3wl5Ux8UG&t=469
И это только про школьников, и вот это школково не реклама, но по ней кууууча школьников поступают уже, потому-что они эти "щелчки" проводят бесплатно раз в год. И вот они уже по-идее, поступая в ВУЗ знают питон (с ним легче информатику сдать), приходят на лекцию, а там Паскаль. Представьте уровень офигевания "куда я попал"? Паскаль им этот уже "нахер не нужон", а студентикам можно и современную задачку решить, учишь ты биологов - и вот вы белки секвенируете, учишь математиков - регрессию считаете и тут же графики красивые строите и тд и тп. Ну и в чем плюсы компилируемости для обучения не очень понятно, типа, показать им линкер какой? Ну галопом по европам это за 1 лекцию проходится. А если надо фундаментальщину, хорошим бы подходом уж действительно было бы SICP+какой-то лисп параллельно вести, да хотя бы https://github.com/v-kolesnikov/sicp - даже это будет ближе к современности благодаря Clojure.
ЗЫ В целом, все это не так существенно, и уже перерастает в спор ради спора, лично мое мнение - такого рода палеонтология отбивает у студентиков и так невысокую мотивацию, а ведь её надо беречь)
Вообще, в российских ВУЗах любят находиться как можно дальше от практики, посему студентики учат учат что-то, а где применять им это здесь и сейчас им даже и не показывают, единственное применение - сдать зачет/лабу, такую же эфемерную в приложению к реальности, к сожалению, вида подсчитайте все буквы "а" в файле на Святом Паскале, у них ниточка до практики не протягивается, тогда как в Виллабаджах, например, на питоне и R мутят преподавание биоинформатики через анализ SARS-CoV-2: проектное обучение для студентов, изучающих информатику: https://academic.oup.com/bioinformatics/article/40/Supplement_1/i20/7700875
С другой стороны, компуктерные игры и бухло студентиков на неправильный путь их наставляют намного легче, на изи моде)
ЗЗЫ Еще подумал, с точки зрения от статики к динамичности, а не наоборот, чтобы переучиваться на другой язык не было мучительно и больно и недопуска расхолаживания, если не учить питону с типами, то вместо всяких паскалей и того же питона наверное лучшим бы языком для начала обучения был-бы Kotlin. Он и приятненький такой, и жаба там как ни крути близко, потом пригодится, и даже под андроид если что можно написать чего-то)
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 24-Авг-24 08:53 (спустя 6 часов)

Starain
Прочитайте еще раз, что я написал. Повторюсь: главная задача языка для обучения программированию это заложить базу, фундамент, основы. Какая еще функциональщина, какие там IDE, графика и анализ данных, и игры? Pascal для того и создавался, в первую очередь как учебный язык программирования, для овладения императивным и структурным программированием, фундаментальными структурами данных и алгоритмами, операциями и понятийной базой! Поймите, наконец, разницу между основами и прикладными задачами.
[Профиль]  [ЛС] 

Vladik-polosatik

Стаж: 14 лет 5 месяцев

Сообщений: 756

Vladik-polosatik · 24-Авг-24 10:43 (спустя 1 час 49 мин.)

iptcpudp37
У меня к Вам вопрос. Как Вы полагаете, почему программирование изучается с помощью мёртвого и устаревшего Паскаля только в России и странах бСССР? Не задумывались?
Почему в лучших школах и технических университетах передовых стран, откуда к нам приходят языки программирования, ИИ и высокие технологии Паскаль Вы не найдете?
Дабы не быть голословным — вот примерная программа обучения по рейтингу в лучшем для программирования MIТе.
https://ocw.mit.edu/collections/introductory-programming/
https://catalog.mit.edu/degree-charts/computer-science-engineering-course-6-3/
Что мы там увидим? То же, что я выше написал — изучается как работает компьютер, основы ассемблера и языков С, затем Java и Питон.
Никто Паскалем и другими мертвыми языками студентов давно уже не мучает.
При этом все передовые технологии как по «железу», так и по программированию и «софту» к нам приходят с Запада.
Видимо, ещё и потому, что наши программы обучения в вузах по программированию и инженерным наукам давным-давно устарели. Иначе бы не мы «импортозамещали» их технологии, а они наши.
Хорошо бы задуматься над этим и не поддерживать архаику в обучении.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 24-Авг-24 15:47 (спустя 5 часов, ред. 24-Авг-24 15:47)

Vladik-polosatik
1. Он не мертвый и не устаревший (см. тот же Delphi, который по сути диалект Object Pascal);
2. Не только;
3. В основном из-за моды и хайпа. В частности по причинам историческим: потомки C получили большее распространение, а на Западе в основном ориентируются на популярность и актуальность.
К слову, С и Pascal почти ровесники, но первый создавался как инструмент рабочий - язык системного программирования (UNIX), а Pascal - как учебный. Вы будете будущих пилотов учить сразу летать на реактивных лайнерах и истребителях, или же на простом моторном учебном самолете?
[Профиль]  [ЛС] 

edufinder

Стаж: 11 лет

Сообщений: 29


edufinder · 09-Сен-24 20:26 (спустя 16 дней, ред. 09-Сен-24 20:26)

Ну вот, теперь понятно, почему:
В софте все всрато и становится еще всратее
https://habr.com/ru/articles/596517/
Жирные программы — факторы скорости
https://habr.com/ru/articles/326592/
Проблемы накапливаются. Софт тормозит. Везде некомпетентность и хаос
https://habr.com/ru/companies/ruvds/articles/744264/
Хватит это терпеть: приложения «толстеют» и тормозят
https://4pda.to/2018/11/18/354613/
Мы приближаемся к пределу вычислительных мощностей – нам нужны новые программисты
https://habr.com/ru/articles/484688/
Долой "жирные" программы
https://www.osp.ru/os/1996/06/179017
Раздутое программное обеспечение
https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%B4%D1%83%D1%82%D0%BE%D0%B5_%D...0%BD%D0%B8%D0%B5
"Clean" Code, Horrible Performance
https://youtu.be/tD5NrevFtbU?si=8lU0A86Xz-XF_dp8
[Профиль]  [ЛС] 

activeprofi

Стаж: 7 лет 1 месяц

Сообщений: 78


activeprofi · 02-Окт-24 19:31 (спустя 22 дня, ред. 02-Окт-24 19:31)

edufinder писал(а):
86684647Ну вот, теперь понятно, почему:
...
"Clean" Code, Horrible Performance
https://youtu.be/tD5NrevFtbU?si=8lU0A86Xz-XF_dp8
...
Посмотрел я этого дядьку. Ему нужно взять реальные проекты и показать примеры на них. Синтетические примеры с фигурами это одно. А реально работающее приложение, другое дело.
Но суть понятна. Так как мощности стали дешевыми то все перестали следить за производительностью и мы пришли к тому что 16 Gb RAM, 3000 Hhz CPU - а открыт только браузер с ютюбом на 1080р и половины мощности уже нет.
Тут Столяров таки прав. Может и нужно его книги читать из-за этого)
Но сейчас все входят в айти и где там эти ваши перформансы им не особо интересно. Кнопочки нужно красить и двигать на маке с м3.
[Профиль]  [ЛС] 

Счастье_есть

Стаж: 12 лет

Сообщений: 109

Счастье_есть · 08-Дек-24 21:37 (спустя 2 месяца 6 дней)

Кто учится по курсу Столярова и ищет компанию (товарищеское код-ревью, просто поговорить, обсудить материал и т.д.) - пишите в ЛС.
[Профиль]  [ЛС] 

kachok.torrent

Стаж: 15 лет 3 месяца

Сообщений: 417


kachok.torrent · 09-Дек-24 00:02 (спустя 2 часа 24 мин., ред. 09-Дек-24 00:02)

по поводу книг Столярова:
в чём он однозначно прав - это то, что указатели лучше осваивать на языке, в котором можно сделать огромное количество вещей без применения указателей.
и паскаль, действительно, подходит для этого просто идеально.
на ютубе до сих пор выходят видосы (в 2024 году!!!) на тему "ещё одно самое лучшее объяснение что такое указатели 11!!!11!!")
то есть до сих пор люди тупят на тему указателей и сто-тыщ-мильёнов ютубовских видосов на эту тему никаких не помогают это понять.
а по факту, проверено как на себе из знакомых, кто вкатывался в плюсы из паскаля, понимание указателей в сишечке требовало лишь изучение нового синтаксиса, который отличался от паскалевского.
поэтому, считаю, что можно смело пропускать главы из его книг, посвященные командной строке (а-ля. как мне скопировать фоточки с флешки на диск Цэ с помощью баша) и рекламе линукса и сконцентрироваться только на паскале.
почитать, потом самостоятельно запрогромировать с помощью указателей все описанные в разделе про паскаль структуры данных.
после чего, можете смело браться хоть за раст, хоть за плюсы, хоть за джаву или сишарп, а столяровские книги отправить в "корзину".
чёткое понимание указателей, позволит писать более эффективный код даже на таких высокоуровненых языках как шарп и джава.
[Профиль]  [ЛС] 

activeprofi

Стаж: 7 лет 1 месяц

Сообщений: 78


activeprofi · 09-Дек-24 23:56 (спустя 23 часа, ред. 09-Дек-24 23:56)

kachok.torrent писал(а):
87093786чёткое понимание указателей, позволит писать более эффективный код даже на таких высокоуровненых языках как шарп и джава.
Можно парочку реальных примеров(до и после) где знание указателей помогает писать более эффективный код в языках Java/C#/Python?
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 18-Дек-24 10:04 (спустя 8 дней, ред. 18-Дек-24 10:04)

kachok.torrent
Глупо сводить курс Столярова, да и программирование вообще, лишь к техническим нюансам, в частности к указателям и структурам даннных. В сих учебниках еще много чего важного и нужного рассматривается: основные принципы и мат. основы, проектирование ПО и хороший стиль, экосистема (ОС, сети, организация ЭВМ), ассемблер и системное программирование, различные подходы и парадигмы (структурное, процедурное и объектно-ориентированное, императивное и функциональное).
[Профиль]  [ЛС] 

kachok.torrent

Стаж: 15 лет 3 месяца

Сообщений: 417


kachok.torrent · 31-Дек-24 19:35 (спустя 13 дней)

iptcpudp37
Cтоляров весьма спорный товарищ
у него не хватает опыта именно коммерческого программирования, поэтому целый ряд его безапелляционных утверждений в книгах имеют мало применимости к реальной жизни (хотя в идеальном теоретическом мире эти утверждения весьма хороши).
так же, сам Столяров весьма токсичен по жизни, что и демонстрирует его стиль общения на его же сайте, где люди пытаются задавать вопросы и где он жёстко их "попускает".
Чел глуховат к обратной связи.
поэтому, именно для начинающих я бы не советовал эти книги, кроме как раздела об указателях.
потом к книгам Столярова можно вернуться, после того, как по другим книгам освоить основы программирования.
[Профиль]  [ЛС] 

activeprofi

Стаж: 7 лет 1 месяц

Сообщений: 78


activeprofi · 02-Янв-25 17:13 (спустя 1 день 21 час, ред. 19-Янв-25 20:26)

Кстати, он подробно в 3м томе расписывает про основные парадигмы программирования. И очень хорошо говорит про ООП. То, что сейчас подразумевают под ним - это в силу того что языки, имеющие императивные корни, получили объектную надстройку. Но чистым ООП это не назовешь. Ну и так далее...
Даже если выкинуть все остальное, то такие знания полезны для общего развития и называния вещей своими именами.
Upd. Начал я это все читать, короче не все так гладко. Он объясняет С++ и по ходу дела говорит про ООП. Кому нужно КУЧА С++, пожалуйте. Чистые выжимки про ООП там где-то в первой части тома.
[Профиль]  [ЛС] 

slejla

Стаж: 6 лет 7 месяцев

Сообщений: 69


slejla · 19-Янв-25 15:13 (спустя 16 дней)

Глянул его старый ролик интервью у айти-бороды (змагар, гости как правило соответствующие). В частях, не касающихся ИТ - большой ребенок, вылепивший себе в голове какой-то свой инфантильно-либертарианский мир с розовыми пони, категоричный и незрелый, формалистичный с параноидальными закидонами. Высокая степень нетерпимости, идеализма, оторванности от реальности, часто даже высокомерия - обычно в таких случаях перезрелых айтишников скрашивают ситуацию хорошее чувство юмора, самокритичность и общая доброжелательность + эрудированность, но всё перечисленное начисто отсутствует, виден только категорично вещающий злобный харёк, натягивающий идеализированные формализмы на сложную и многогранную реальность.
Про книги ничего сказать не могу, возможно, хорошие. Не читаю книг, авторы которых вызывают отвращение.
[Профиль]  [ЛС] 

kachok.torrent

Стаж: 15 лет 3 месяца

Сообщений: 417


kachok.torrent · 21-Янв-25 21:34 (спустя 2 дня 6 часов)

slejla
книги достаточно хороши
но, не для начинающих, а скажем для тех, кто уже вкатился в айти через питон или джаву, распробовал "на вкус" что такое айти и хочет теперь понять, как оно всё устроено "под капотом"
по поводу его психологических характеристик: абсолютная правда
но, очень много талантливых айтишников именно такие.
что не мешает им создавать много важного для айти-сообщества.
[Профиль]  [ЛС] 

kachok.torrent

Стаж: 15 лет 3 месяца

Сообщений: 417


kachok.torrent · 29-Янв-25 13:06 (спустя 7 дней)

теперь скажу так:
столяров не нужен, совсем не нужен.
для тех,кто хочет вкатиться в айти нужно 3-4 месяца плотно посидеть на Питоне. Распробовать, что такое айти на вкус.
изучить, в том числе, основные структуры данных на питоне.
после чего, пару месяцев Zig
я в течении месяца пробовал Zig - реально просто и адекватно понимается даже для новичков .что такое память, как она работает
как работают указатели. Zig - это то, как должен бы быть спроектирова Си с самого начала.
весь гемморой, что описан в книгах Столярова - просто не нужен
Столяров очень сильно устарел.
после Zig-а - очень легко пойти дальше, хоть в Rust, хоть в плюсы с джавой и дотнетами.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 07-Фев-25 10:18 (спустя 8 дней)

kachok.torrent писал(а):
87323744теперь скажу так:
столяров не нужен, совсем не нужен.
для тех,кто хочет вкатиться в айти нужно 3-4 месяца плотно посидеть на Питоне. Распробовать, что такое айти на вкус.
Для желающих просто куда-то "вкатиться" точно не нужен. Но таких в течение лет 10 уже почти полностью вытеснит ИИ.
А вот для желающих глубоко постигнуть ремесло и искусство программирования - будет весьма полезно.
[Профиль]  [ЛС] 

kachok.torrent

Стаж: 15 лет 3 месяца

Сообщений: 417


kachok.torrent · 07-Фев-25 16:19 (спустя 6 часов, ред. 07-Фев-25 16:19)

iptcpudp37
очень даже нужен.
Питон даст дофамин. Кривая обучения очень маленькая, можно быстро начать делать что-то реальное и получать от этого дофамин и потом уж, получив дофамин и уткнувшись в естественные ограничения Питона, начать глубже уже с хорошей мотивацией и дофаминовой подпиткой.
Это для тех, кто поймет - что айти - это его (её).
А для тех кто поймет .что не его (не её) не будет большой потери времени.
из числа моих знакомых "вайтишников". в среднем, из 10 только один оставался, остальные понимали, что это - не их.
Потеряли и время, и деньги на разного рода "курсы". А начинали бы с питона, то и деньги бы сохранили и потеряли бы максимум месяца три на "понимание".
Питон в этом плане просто идеален.
Еще огромный плюс питона - алгоритмы и структуры данных. Изучать их на питоне одно удовольствие.
И огромное количество документов, ресурсов и видосов - вкатиться в айти через питон гораздо легче, чем через что-то еще.
Питон - это язык, на котором сейчас говорит айти (да-да, затронем тему AI, которое полностью на питоне).
можно даже зафайтюнить собственную модель на питоне на базе множества открытых моделей.
Я сейчас балуюсь с файтюнингом на моей кодовой базе (сотни проектов)
Знать питон полезно сейчас даже опытным плюсовикам, джавистам и шарпистам.
посмотрим. как промпты пойдут и автодополнения
и да, С - не нужен для вкатывания в айти. Как минимум, в том виде, что даёт Столяров. Нужен Zig, концепции памяти и как "всё работает под капотом" гораздо лучше понимаются с помощью Zig-а
А если ещё глубже копнуть, то классика жанра "Код. Тайный язык информатики", особенно второе издание на английском.
поиграть в Turing Complete - спроектировать собственный процессор с собственным ассемблером.
Крутейший курс - Nand2tetris, там вообще всё идеально поймешь.
Итого: Столяров реально устарел. Всё накладывается на крайнюю токсичность и нетерпимость самого Столярова. Комбинация сейчас играющая против него.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 15 лет

Сообщений: 904


iptcpudp37 · 08-Фев-25 20:58 (спустя 1 день 4 часа)

kachok.torrent
Я к тому, что чем легче "вкатиться", тем тяжелее будет потом удержаться и проще "выкатиться". Потому как просто кодеры будут вскоре совсем не нужны. И книги Столярова это не про языки, неважно какие, это про основы, принципы, подходы, мышление и хорошие практики...
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error