LINUX.ORG.RU

Переиздание книг Столярова по программированию

 


9

4

Скандально известный на ЛОРе Андрей Викторович Столяров выпустил новое издание своего учебного пособия «Программирование: введение в профессию» и обновил PDF-версии:
«Азы программирования»
«Системы и сети»
«Парадигмы»
В новом издании 4-томник стал 3-томником.

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

>>> Сайт автора

★★★★★

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

Инертность нашей системы образования удручает.

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

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

что большинство практиков говорят, что паскаль - пустая трата времени, и сишка легко осваивается, с пруфами.

Это ошибка выжившего

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

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

Многие факультеты начинают обучать с сишки, и ничего, люди учатся.

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

Многие факультеты начинают обучать с сишки, и ничего, люди учатся.

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

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

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

Практиков чего? Практик освоения сишечки? Опять подмена понятий.

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

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

Практиков чего? Практик освоения сишечки?

Опять подмена понятий.

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

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

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

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

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

Почему ты при этом уверен, что дело в самой сишке, а не в плохом курсе этой самой сишки?

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

Если ни у кого не выходит, наверное, дело в инструменте, а не мастере.

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

если обучают СИ с нуля людей, не умеющих программировать вообще, всё время случается лютый звиздец

У нас то же самое - хреновое преподавание Си, причём первым был Паскаль, да и плюсов тоже. Поняли их (Си и С++), дай бог, с десяток из ~40 доживших до диплома. Но дело в том, как его преподносят. Ни один из преподов по Си даже близко не читал ANSI C89, а пихали в качестве учебников самописные брошюрки листов на 100-150 максимум.

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

Мой товарищ читает по Кернигану и Риччи. Ну и что, думаете усваивается? Ничего подобного. Большинство не могут писать на ЭТОМ, так как это слишком низкий уровень абстракции. Даже при программировании микроконтроллеров они спрашивают, почему в Ардуино надо написать 23 строчки и всё работает, а тут надо шаманить сутками над тремя сотнями строк, чтобы получить то же.

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

Кернигану и Риччи. Ну и что, думаете усваивается? Ничего подобного.

Я снеё и учился в 1995. Без практики нифига не усвоится. Дали хелловорд - разжуйте, дали A+B=4, программа должна вычислить чему равно А при B == 3 - разжуйте инты и присваивание - не надо досканально - поверху, не надо углубляться. Для первого использования пойдёт.

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

Углублённое пойдёт дальше - дайте человеку сначала подержать «инструмент»…

Аналогия с болгаркой - всё преподавание Си я видел со стороны «прочитай инструкцию», а то, что ты можешь отпилить ноги - не следовал «ТБ», не «так держал», почему отпустил «одну руку» - если нет практики, которая должа звучать так: «запусти болгарку без диска - почувствуй как напряглись мышцы, удвой в трое и попробуй уже с маленьким диском» и т.д… Уже потом будете объяснять «устройство редуктора болгарки», как «поменять щётки» и т.п.

Можно на любом языке себе «отпилить ноги», в том числе и на паскале - просто с самого начала не давайте возможности этого сделать на Си. Например, с Лиспом, как это сделать я не знаю, возможно потому что я его смутно представляю, Си знаю - представляю даже как пятикласнику объяснить каждую строчку Си программы, но я не преподаватель, я не смогу ему объяснить дыже «пузырёк».

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

почему в Ардуино надо написать 23 строчки и всё работает, а тут надо шаманить сутками над тремя сотнями строк, чтобы получить то же.

Потому что в Ардуино толпа готовых либ есть типа:

#include <internet.h>
#include <display.h>
int main(void)
{
 display D;
 interbet I;
 D.initgraphics("Nokia_3310");
 I.initSite("http://porn.hub");
 display.ShowAVI(I.getVideo());
}

Выруби ему в Ардуино эти либы - и он взвоет… А если всё красиво подготовлено и объяснено, то и в учебном процессе будет у него как «в Ардуино»…

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

почему в Ардуино надо написать 23 строчки и всё работает

Вот по такому принципу и надо учить «АЛГОРИТМАМ», а уже потом Си. Человек уже будет уметь расставлять точки с запятыми и вигурный с круглыми скобки - не надо переобучать с begin-end`ов

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

Можно на любом языке себе «отпилить ноги», в том числе и на паскале - просто с самого начала не давайте возможности этого сделать на Си. Например, с Лиспом, как это сделать я не знаю, возможно потому что я его смутно представляю, Си знаю - представляю даже как пятикласнику объяснить каждую строчку Си программы, но я не преподаватель, я не смогу ему объяснить дыже «пузырёк».

Нет, тут вопрос перехода количества в качество. Если отпиливание ног происходит раз в 2-3 занятия, то это терпимо и можно указать, что так делать нельзя. Именно так дело обстоит во многих современных языках типа go или d. Это и есть золотая середина. Паскаль долгое время этому правилу соответствовал, просто он действительно морально устарел, от него студентов воротит и этот фактор сбрасывать со счетов нельзя.

Если отпилить себе ноги не получается, но программа не хочет компилироваться ни в какую, как в Аде или Окамле, это другая крайность. Тут студенты перестают вовсе писать что-либо и впадают в депрессию, что они — идиоты. Именно такие языки используются там, где важна правильность работы: для космических ракет или финансовых роботов. Это их ниша. Учить на них нельзя, потому что обучающиеся должны совершать ошибки и править их.

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

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

С другой стороны, когда на ардуине тебе надо скачать файл по фтп, а параллельно у тебя по прерыванию обновляется светодиодная строка 128×16 светиодиодов, то неплохо бы на низком уровне понимать, почему тебе надо отключать прерывания на это время. Ибо памяти на всё не хватит — тогда у тебя получится, что тебе одновременно нужны и буфер на 256 байт под состояние светодиодов, и два сетевых сокета под ftp, и буфер под общение с ftp, и буфер для скачки файла по ftp, плюс разные другие переменные, а ОЗУ у тебя всего 2кб..

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

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

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

А дальше пошли детские аргументы про 20 часов, что дальше, с++ за 21 день?

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

Всё что ты объяснил

Нет.

детские аргументы

С твоей стороны.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.