LINUX.ORG.RU

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

 


9

4

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

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

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

★★★★★

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

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

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

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

Вы для первого курса выбираете «одноразовый инструмент»

Что такое «одноразовый» и «многоразовый»? Если речь о возможности писать реальные проекты, то их пишут и на Паскале.

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

А чем в этом плане отличается Паскаль? Там тоже можно использовать примитивные алгоритмы. А в Си можно вместо сортировки вызвать qsort. А в крестах с STL вообще при желании никаких алгоритмов реализовывать не надо, потому что они все уже есть в библиотеке.

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

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

они должны быть хоть более-менее актуальны.

То, что сегодня актуально, завтра может оказаться никому не нужным. Вспомните clipper, perl и многие другие когда-то популярные языки.

Следующий семестр/курс: Работа с памятью - я только за malloc/free - даст понятие, что любой захваченный ресурс надо освободить (открытый файл с lock, socket, успеть прибить потомка, пока не стал зомби и т.п.), зная Си - не надо его изучать.

И в Паскале то же самое, только названия функций отличаются.

Нужны строки - простая привязка к последовательности ASCII-Z символов

А в Паскале — такой же массив, где в первом байте хранится длина строки. Ещё один способ, ничуть не хуже, чем в Си. Длина, правда, ограничивается 255 байтами, зато внутри могут быть любые символы, включая 0. Кстати, длина сжатых блоков в gif кодируется именно первым байтом.

СПО - тут без слов, «системное программное обеспечение» без Си не изучить

Вот только разве что оно.

Примеров море…

Ну да. Например, начинающий изучать числа и строки студент пишет на Си что-то вроде:

#include <stdio.h>
#include <string.h>

int main()
{
  char msg[8] = "Input: ";
  signed char sub = '0';
  char buf[8];
  int i, n=0;

  printf(msg);
  scanf("%s", &buf);
  strcpy(msg, "Output: ");
  for(i=0; buf[i]!='\0'; i++)
  {
    buf[i]-=sub;
    n=n*10+buf[i];
  }
  printf("%s%i\n", msg, n);
  return 0;
}

Задачка, как и её реализация, вполне типичная для начинающего изучать Си первокурсника. И вот запускает он её, вводит 100, ожидая получить на выходе то же самое, а ему вместо 100 неожиданно выдаётся 5428. И он судорожно начинает искать ошибку в арифметике, убивая на это несколько часов. И невдомёк ему, что дело вовсе не в арифметике, а в том, что он свой ‘0’ (т. е. 48) в переменной sub случайно затёр настоящим 0. А в Паскале ему в этом месте сразу же прилетит ошибка. И это самый элементарный пример. Бывают и менее очевидные.

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

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

объясняется, как использовать «трехмерные» иллюстрации.

Вот бумажных книг с «трёхмерными» иллюстрациями я не видел. Готов поверить, что что-то такое могло быть, но это явно единичные случаи.

Знаете, позиция «дайте нам то, что мы хотим», — это очень инфантильная позиция. Есть вот это, извольте научиться пользоваться. Да, не все в этом мире удобно. Относительно остальных претензий к автору

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

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

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

он судорожно начинает искать ошибку в арифметике, убивая на это несколько часов.

$ gcc t.c
t.c: In function ‘main’:
t.c:13:3: warning: ‘__builtin_memcpy’ writing 9 bytes into a region of size 8 overflows the destination [-Wstringop-overflow=]
   13 |   strcpy(msg, "Output: ");
      |   ^~~~~~~~~~~~~~~~~~~~~~~

Кто-то там что-то пёрнул про несколько часов?

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

Считаю Столярова поехавшим

каким бы он не был, книги отличные. Хорошо написано, доступно. Учит с лоу-левела, а не очередное гуано вида «подключаем ангуляр, вау вы кодир».

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

t.c:13:3: warning: ‘__builtin_memcpy’ writing 9 bytes into a region of size 8 overflows the destination [-Wstringop-overflow=]

Я тоже видел это предупреждение, когда компилировал заведомо неправильный вариант, т. к. у меня тоже gcc. Но, во-первых, это реализация именно gcc. У других могут быть другие компиляторы, где предупреждение выскакивать не обязано, т. к. в Си это не ошибка. А во-вторых, в данном случае логическая ошибка отлавливается на стадии компиляции. Но не всегда это так. Если бы msg тоже надо было вводить интерактивно или оно читалось из файла, то такое на этапе компиляции в принципе не отловишь. И тогда бы и в gcc никакого сообщения не было. А в Паскале ошибка всё равно прилетит во время выполнения, если только не компилировать со специальными флагами, заставляющими компилятор не проверять выход за границы массива.

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

Хотелось бы заметить, что Бхопальская катастрофа наиболее качественно описана на русском языке в общедоступных источниках на Лурке - они не связаны политкорректностью. Остальные, мягко говоря, привирают. Я не беру в счет те полтора профессиональных форума, в одном из которых эта тема закрыта от посторонних, а на другом постоянно чистят выводы которые неприятны индусам, американцам и нашим (все что связано с эпичным раздолбайством).

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

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

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

Давайте я вам просто приведу пример - вот эта книга буквально первая у меня на полке за спиной. Стефан Клини. Математическая Логика. Издание 1973 год. Издательство Мир. Так как вы явно не из математиков, поясню - Стефан Клини - это ИМЯ. Так же я могу еще с десяток книг достать и там будет полным полно амперсандов. Я не очень понимаю вас, почему вы спорите о том, что мало того что неверно (математики вполне себе пользуются амперсандом), так еще и смысла особого не имеет, ну пользуются математики им, ну и какая разница? Вы пытаетесь доказать что вы мало читаете математической литературы? Это и так понятно. Если мне не верите - обратитесь на сайт dxdy ру, там в основном сидят вполне грамотные люди и неплохо отвечают на вопросы - вежливо задайте вопрос и получите на него вполне компетентный ответ.

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

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

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

И как это должно меня удивить? Отлично, что проходили. Это прекрасные теоретические знания. В этой схеме паскаль становится ещё более ненужным.

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

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

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

То, что сегодня актуально, завтра может оказаться никому не нужным. Вспомните clipper, perl и многие другие когда-то популярные языки.

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

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

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

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

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

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

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

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

Кнут может объяснить «как надо делать», но не может объяснить «что надо делать». Куча идеальных кирпичей — это еще не все, что надо, что бы построить дом.

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

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

На курсах по алгоритмике преподаватель несколько часов разжевывал материал, и потом студенты с задают гениальный вопрос: «Как все это потом реализовать на C++?».

anonymous
()

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

Интересно, есть ли кто-то, кто учит по такой программе? Ну или хотя бы имеет подобные курсы… Хм-м-м…

О, надо же! Целый MIT. Удивительно, и как же они обошлись без паскаля?

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

Из присутствующих здесь никто не учил виртовский. Все имели дело с более поздними диалектами.

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

кандидаты наук могут упасть от смеха, читая каменты Шамана

А молодые училки русского языка родить раньше срока.

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

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

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

Было бы неплохо если бы ты:

  1. Почитал о том что это за курс, его назначение и цели и как они менялись со временем.
  2. Поискал бы какими курсами MIT вынужден его дополнять.
  3. Поискал бы обоснование перехода на Python и удосужился посмотреть с какого языка перешли.
  4. Ознакомился бы с причинами по которым перешли на Python.
  5. Поискал бы мнение несогласных с этим переходом (а их было очень и очень много).
  6. Почитал бы выводы которые были сделаны по его итогам, причем не только дежурные восхваления, но и сожаления и преподавателей и студентов.
  7. Ознакомился бы с критикой итогов - а она очень серьезная.

Если бы ты после всего этого ознакомил нас со своим сверхценным мнением - его можно было бы изучить, а возможно и к нему прислушаться. Но так как ничего кроме кукареканья «паскальненужен» от тебя не слышно - на тебя, твое мнение и твои глубокие знания по всему на свете можно и нужно положить. Желательно с прибором.

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

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

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

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

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

Кассовый чек? Или наркоманский?

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

Может быть тебя товарищ майор проверяет? Уж больно ты на нарика похож.

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

Когда Вам предлагают изначально учить на Си, Вы не понимаете, что Вам в руки дают «многоразовый» инструмент

Почему сразу не учить C++? Зачем мучить студентов, которым потом придётся переучиваться на использование других функций и подходов? Много ты людей лично знаешь, которые используют чистый Си? Я ни одного (знаю примеры приложений), зато куча студентов и не только тащат в код на C++ malloc/free, например, получается та ещё мешанина.

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

Некому учить. Современный стандарт слишком сложен для большинства пожилых преподавателей осиливший Турбо С++ в прошлом веке.

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

там в залах не курят и не пьют

Что не мешает пить в зале самим исполнителям? Если выступление проходит в клубе, то всё так же можно употреблять алкогольные напитки не выходя из зала. В том числе и на сцене.

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

Вот видишь, Си не нужен как первый язык.

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

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

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

Я ни одного

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

куча студентов и не только тащат в код на C++ malloc/free

Вот это правда. Но тут мне видится проблема учебной программы, которая составлена именно как «обучение C/C++», объединяющей два языка в один. А нужно, чтобы это преподавалось, как разные сущности.

Вот видишь, Си не нужен как первый язык.

Ну не утрируй. Я уже много раз говорил, что сишка нужна как первый язык для обучения программистов, а не вообще. Даже в моем посте про MIT об этом явно сказано.

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

Тогда у тебя получится обучение C/C++, а не C++. Работая с чистыми плюсами, ты не сможешь избежать объектов. Тебе придется либо использовать iostream с его перегрузкой операторов, либо подключать cstdio. Если ты выберешь первое, то у тебя будет еще больше магических значков, которые надо «просто запомнить», чем в случае сишки. Если второе - то ты превратишь сишку в плюсы и тебе придется выкорячивать у студентов непонимание того, почему им нужно использовать стримы вместо принтфа. В эту же кучу new/malloc.

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

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

Это точно, к сожалению. Даже автор обсуждаемой книги на это не способен, потому что (порошок уходи!):

Что до C++, то есть сильно разные варианты понимания, что такое C++. Если под C++ понимать C++17 в сочетании с STL, да даже и C++98 в сочетании с STL, то на этом бастарде могут писать полные идиоты, не понимающие, чем список отличается от массива, при этом всё великолепие чистого Си оказывается к их услугам.

LLVM Foundation одобрил включение компилятора F18 в проект LLVM (комментарий)

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

Работая с чистыми плюсами ты не сможешь избежать объектов.

Я знаю, там половина «стандартных» типов - классы.

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

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

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

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

Автор выкладывает, потому что есть аудитория, для которой это делается. Она может быть велика или мала и даже не иметь пересечения с ЛОРом. Как автор книжки по программированию, я могу вам сказать, что почти вся критика на выложенную работу — неконструктивная и состоит в основном в огульном поливании автора дерьмом вследствие наличия у комментатора комплекса неполноценности по принципу «я тоже хочу быть автором, но не осилил/зашибал бабло/лежал на диване, поэтому пусть автор тоже будет дерьмом». При этом книжками всяких американских авторов принято восхищаться, так как они в глазах аналитегов не могут быть им прямыми конкурентами и им можно.

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

Vudod ★★★★★
()

4-й том находится в работе.

В этом издании 3 тома (переделаны из 4-х).

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

Где? Кроко прямо заявлял что он Столяров - и он таки Столяров. Просто в паре тем различные долбоящеры подозревали любого кто не против Столярова в том что он Столяров.

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

что почти вся критика на выложенную работу — неконструктивная

Лично я предъявляю претензию не столько паскалю к (пускай, хоть это и плохой выбор, на мой взгляд), сколько к стилю изложения и луддизму писателя. Автор учебной литературы не должен категорично судить о технологиях и выдавать свои верования за чистую монету. Он должен объективно рассматривать плюсы и минусы того или иного подхода, технологии.

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

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

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

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

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

Сударь, а с каких это пор «сперва добейся» стало аргументом? С каких пор бесплатность стала индульгенцией на любую дичь, которую может творить автор?

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

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

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

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

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

сишка якобы сложная

Беда не в том, что она сложная. Беда в том, что она в некоторых аспектах неоправданно нелогичная для ЯП общего назначения (хотя для переносимого ассемблера в принципе норм, лол). Поэтому изучить поначалу более очевидный язык — вполне нормальная идея. Это очень важно для человека, начинающего программировать, «вау, я написал, и она делает то, что я задумал»! Дальше можно закапываться глубже.

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

Я бы это вообще по разным семестрам разнёс. Типы, структуры, данные — всё это на примере паскаля, 1 курс. Дальше, те, кто не отчислился, изучают Си. И не только Си.

Но нет, ты переживаешь за потраченные учебные часы. Да блин, какие часы, если человек станет программистом, ему предстоит ВСЮ ОСТАВШУЮСЯ ЖИЗНЬ учиться, такая уж это профессия!

Понимаешь, между людьми, которые «неспособны осилить Си в принципе» и теми, кто осиливает с наскоку сразу всё (и концепции, и алгоритмы, и тараканов конкретного языка) есть куча промежуточных градаций. Хотя… если ты хочешь, чтобы до профессии доходили только представители второго полюса, а крепкие середнячки отсеивались, даже те, кто хотел научиться программировать, то ты всё правильно делаешь, ага.

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

фанатики радеют

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

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

То есть всё равно будут учить 2 языка и тратить время на первый?

Подожди, недавно же выяснили, что теперь можно сначала учить python - пример MIT ты привел? А мой пример программы одного из вузов демонстрировал, что даже it специальность предполагает изучение процедурного языка на примере C++. Python при этом тоже никуда не исчезает.

Но первым языком, именно для тех кто вообще не знаком с языками, для физических специальностей я бы предпочёл видеть >=фортран-90 и питон-3. Хотя в первом немного придётся отступить и упомянуть, а «что это за * после print?» Только не рассказывай, что первый не пригодится - ещё как пригодится, потому что код на нём обязательно попадётся. И процедурное программирование там намного удобнее чем в C, код на котором встретить будет менее вероятно, т.к. попадётся C++.

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

Уважаемый, с вами как с преподавателем можно соглашаться, можно не соглашаться (я согласен), можно спорить - но с вами есть о чем спорить - вы в теме. Но о чем спорить с безграмотным крикуном с очень плохим образованием из посредственного даже по провинциальным меркам университета, который НИКОГДА не преподавал, но громко и истерично забалтывает тему? Он либо глуп и действительно не понимает, либо считает себя очень тонким троллем, как ему уже несколько раз писали. Ну вот как здесь быть? Тема ушла в мусор, причем не столько усилиями Анонимов, как это обычно бывает, сколько усилиями ровно одного идиота.

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

публикующий свою работу бесплатно, вам лично абсолютно ничего не должен!

А те кто донатил могут повозмущаться?

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

Я так и подумал. Но он скорее всего психовал из-за того что вместо того чтобы сказать что либо по теме все громко орали что он Кроко и тупо, как школьники угорали.

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

Поэтому изучить поначалу более очевидный язык — вполне нормальная идея

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

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

Я бы это вообще по разным семестрам разнёс.

Почему ты считаешь, что сложности сишечки займут целый семестр?

Но нет, ты переживаешь за потраченные учебные часы.

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

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

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