LINUX.ORG.RU

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

 


9

4

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

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

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

★★★★★

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

Еще раз, это НЕ объяснение, а заведомая ЛОЖЬ!

Еще раз, это не ложь, а упрощение до нужного уровня.

Среди гопоты, «базарящей» на «фене» оно может быть и «канает».

Нет аргументации - докопайся до орфографии, пунктуации, стиля разговорной речи и …

Ты где преподаешь и какой у тебя стаж?

… Наличия сапога на голове, потому что «сперва добейся».

Ты пятай человек, которого я отправляю читать Прату до просветления.

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

С такой логикой F=m*a - тоже ложь, потому что сам Ньютон записал свой закон в дифференциальной форме.

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

Допустимое упрощение и опущение деталей применяется в образовании повсеместно.

Это не упрощение и не опущение деталей, а просто ложное утверждение. #include … не подключает каких-либо функций.

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

С чего ты взял? Помогут еще как.

Идем на хедхантер. Вводим в поиск:

73 вакансии «Pascal программист»

2 820 вакансий «C программист»

Итак, еще раз: каким образом знания паскаля помогут в будущем?

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

Еще раз, это не ложь, а упрощение до нужного уровня.

Нет, это ложь.

Ты пятай человек, которого я отправляю читать Прату до просветления.

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

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

Идем на хедхантер. Вводим в поиск:

И что это доказывает?

Итак, еще раз: каким образом знания паскаля помогут в будущем?

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

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

На кой хрен студентам рассказывать заведомую ложь? Ты можешь ответить на этот вопрос?

Следуя твоей логике, в таком случае они и к «АЛГОРИТМАМ» не должны допускаться пока не познают Паскаль вплоть до {$L+ <крутая_либа>}

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

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

Ответил «преподаватели» тем кого «они учат» :)))))

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

Это называется передергивание.

Да. То есть примерно то, чем ты занимаешься.

Нет, это ложь.

Упрощение не является ложью, не ври.

«#include … не подключает каких-либо функций»

И ты снова врёшь, потому что я не говорил, что include подключает какие-либо функции.

Понятно, вот когда пойдешь преподавать

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

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

Прямо на любой? Точно?

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

Следуя твоей логике

Это ты придумал

е должны допускаться пока не познают Паскаль вплоть до {$L+ <крутая_либа>}

Ты передергиваешь.

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

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

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

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

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

@Reset сколько лет у тебя опыта в коммерческой разработке? Сколько хайлоада или бигдаты ты написал? Сколько студентов после вуза прособеседовал?

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

Упрощение не является ложью, не ври.

Это НЕ упрощение. Ты можешь это как мантру еще 100500 раз повторить, но твоя ложь не станет вдруг правдой.

И ты снова врёшь, потому что я не говорил, что include подключает какие-либо функции.

Твой «коллега» значит говорил, для меня вы все на одно лицо.

Прямо на любой? Точно?

Точно.

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

Это ты придумал

Нет, ты сам это сказал, я просто наглядно подсветил ее ущербность.

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

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

@Reset сколько лет у тебя опыта в коммерческой разработке?

20

Сколько хайлоада или бигдаты ты написал? Сколько студентов после вуза прособеседовал?

Уверен, что больше твоего.

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

Это НЕ упрощение.

Потому что ТЫ СКОЗАЛ? Точно так же могу тебе повторить твои же слова: от того, что ты говоришь, что это не упрощение, оно им быть не перестанет.

Твой «коллега» значит говорил, для меня вы все на одно лицо.

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

Точно.

Haskell?

Уверен, что больше твоего.

Судя по твоим суждениям, крайне сомнительно.

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

Вот как раз нет.

Вам паскале-поклонникам объясняют уже страниц 10, что Си на начальном этапе не сложнее паскаля.

Для Си можно сделать «быстрый старт» и начать их изучать if`ы, циклы, сортировки и т.п.

За это время они подтянут Си, по программе «изучение первого языка». К середине семестра знание Си будет вполне на уровне, что бы начать работать с динамическими структурами данных.

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

Потрясающе дивный манямирок :) Ладно, как скажешь. Оставайся наедине со своими заблуждениями.

@drfaust оставь его в покое, это кабинетный теоритик, ты его не убедишь.

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

Кабинетные теоретики это те, кто с нулевым опытом в предмете обсуждения смеют «критиковать». Я преподаю Си (да, Си, а не паскаль как кому-то кажется) 4 года и вижу где что и почему студентам дается плохо. Это не критика, а охаивание.

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

Твой «коллега» значит говорил, для меня вы все на одно лицо.

Я говорил. Для «нульцевого» студента и его первого helloworld этого вполне хватает. И на многое чего другого хватит.

Ты же утверждаешь, что студент для написания лабы ОБЯЗАН знать препроцессор, компиляцию, линковку - может ещё и makefile вспомнишь?

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

Я преподаю Си

Где можно посмотреть твои курсы? Просто чтобы убедиться, что это проблема в Си, а не в том, что ты хреново объясняешь.

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

Ты же утверждаешь, что студент для написания лабы ОБЯЗАН знать препроцессор, компиляцию, линковку - может ещё и makefile вспомнишь?

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

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

Я преподаю Си (да, Си, а не паскаль как кому-то кажется) 4 года и вижу где что и почему студентам дается плохо.

Дай ссылки на конспект первых двух лекций по Си - можно в личку. Там и посмотрим насколько ты умеешь объяснять…

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

Ты же утверждаешь, что студент для написания лабы ОБЯЗАН знать препроцессор, компиляцию, линковку -

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

может ещё и makefile вспомнишь?

Это не обязательно на начальном уровне.

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

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

Прям с первого занятия, лол? Серьезно?

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

Я преподаю Си

Где, кому?

да, Си, а не паскаль как кому-то кажется

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

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

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

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

Где, кому?

Курс называется «Информатика». А вот где и кому это я не скажу :)

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

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

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

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

Точно. А еще нужно знать, что у компьютера есть монитор для вывода информации, клавиатура для ввода, есть жесткий диск, память и процессор и то, что процессор команды понимает в бинарном виде … много что надо знать. Хедеры и линковка это не самое страшное. Ты что думаешь, что я на первом занятии рассказываю как hello world запускать? К этому еще подойти надо, так рассказывают только на быдлокурсах «жава за 21 день» и т.п.

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

Точно

Нет.

Это в принципе все, что нужно знать про твой план обучения сишечке. Иди читай Стивена Прату. Человек явно шарит в обучении больше тебя.

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

Конечно. А как ты собрался hello world запускать?

И чем тогда отличается

fpc hello.pas

от

gcc hello.c

На выхлопе у обоих будет некий экзешник, который и отпечатает «hello world»

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

Это в принципе все, что нужно знать про твой план обучения сишечке.

Спасибо, твое мнение очень важно для нас :)

Иди читай Стивена Прату. Человек явно шарит в обучении больше тебя.

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

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

Замечательно, и этот процесс ты предлагаешь объяснять магией? Тут у тебя и препроцессор и компиляция и линковка. Для паскаля будет почти тоже самое. И это надо будет объяснить на первом занятии где объясняется запуск hello world.

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

Курс называется «Информатика». А вот где и кому это я не скажу :)

Какая специальность у учеников и какой багаж знаний?

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

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

Какая специальность у учеников и какой багаж знаний?

Математика. В информатике и программировании околонулевой.

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

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

Класно - школа №666, класс 6й, программа «Информатика»….

В этой теме обсуждаются книги преподавателя МГУ и спор идёт об использовании СИ vs ПАСКАЛЬ на первом курсе весьма престижного ВУЗА.

Если вы не в школе преподаёте, то объясните, что делают на профильном курсе студенты, не знающие что такое клавиатура???

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

не знающие что такое клавиатура???

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

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

Математика. В информатике и программировании околонулевой.

Так пусть учат маткад… А потом уже и прочее подтянется. Нафига математикам паскаль или си на 1м курсе???

Я уже в треде приводил эпитет, что «Бухгалтеров надо учить алгоритмам на встроенном языке 1С, т.к. он им пригодится», а не паскаль, лого, Си и пр.

Программистов надо начинать с Си - потому как он им пригодится, как и бухгалтерам 1С

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

Так пусть учат маткад…

Ты с инженерами попутал.

Нафига математикам паскаль или си на 1м курсе???

Тебя забыли спросить. Из математиков получаются в итоге самые лучшие программисты.

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

Из математиков получаются в итоге самые лучшие программисты.

Из быстрого поиска:

РУДН «Прикладная математика и информатика»:

Основные дисциплины:

  • Математический анализ;
  • Алгебра и геометрия;
  • Дискретная математика;
  • Комплексный анализ;
  • Функциональный анализ;
  • Дифференциальные уравнения;
  • Уравнения математической физики;
  • Теория вероятностей;
  • Математическая статистика;
  • Случайные процессы и теория массового обслуживания;
  • Основы программирования;
  • Технология программирования;
  • Линейное программирование;
  • Архитектура компьютеров;
  • Численные методы;
  • Операционные системы;
  • Компьютерные сети;
  • Методы оптимизации;
  • Теория автоматического управления;
  • Базы данных;
  • Системы компьютерной алгебры и пакеты математических вычислений;
  • Физика;
  • Концепции современного естествознания;
  • Безопасность жизнедеятельности.

Математиков учите чему хотите. Хоть Фортрану. Речь в треде идёт о программистах. И там в списке будет меньше 10 курсов НЕ связанных с программированием, как и у вас - меньше 10ка связанных с программированием.

Да, с логикой и численными методами у программистов плохо - программы так созданы, но с десятками других направлений в программировании намного лучше. (единицы уникумов с обоих сторон не берём в расчёт)

З.Ы. К стати, не плохо было бы почитать ихние курсы «Методы оптимизации» и «Теория автоматического управления». ТАУ - сейчас нужна, но это было у АСУшников, а не у меня ПОИТ(специальность другая), методы оптимизации - тоже очень неплохо - в отдельном курсе у нас не было ни кого.

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

Им, вернувшись из большого мира, говорят, что их учебная программа говно и мало связана с реальностью

В большом мире 40 лет переполняли буферы те, кого учили Си как первому языку, так, будто бы это не Си , а Алгол. Потому что привыкли переполнять буферы с помощью scanf() и gets(), игнорировать то, что вернула scanf() etc.

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

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

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

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

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

В большом мире 40 лет переполняли буферы те, кого учили Си как первому языку

Бездоказательное утверждение и некорректное использование квантора всеобщности.

В смысле, всех под одну гребенку.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 2)
Ответ на: комментарий от 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)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.