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

интернет компьютеры программирование обучение

Сегодня наткнулся на пост на хабре, в котором был линк на интересное эссе одного из преподавателей МГУ факультета ВМК.
В интернетах, а в частности на ВиО, довольно часто задаются вопросы, с какого языка начать программировать. Так как лично я здесь ошиваюсь уже довольно давно, то на моей памяти с десяток другой подобных. Собственно, почему я пишу. Многие в ответе на подобные вопросы говорят, что начинать надо сразу с С и "не забивать голову паскалем". В чем-то я с этими ораторами согласен, а в чем-то нет. Лично я всегда считал и считаю, что для первого языка лучше всего подходит паскаль.
Собственно статья о том, почему не следует выбирать первым языком С. Ссылку выкладываю ниже. Хочу порекомендовать её прочитать всем новичкам; всем, у кого ранее в голове всплывал такой вопрос, а также тем, кто предлагает язык С в качестве первого.
Хотелось бы немного поговорить на эту тему. Главная проблема - это подготовка школьника старших классов или студента первых курсов. Т.е автор говорит (исходя из своей преподавательской практики), что большинство просто не готово пока понять все тонкости данного языка (даже на этапе написания программы "hello world"). И лишь единицы приходят уже с неким багажом, который позволяет им адекватно воспринимать информацию.
Не считаю, что нужно принимать на веру все слова автора эссе, но прочитать и поразмышлять точно стоит.

http://www.stolyarov.info/pvt/anti_c

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

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

Примечание:
Хотя, безусловно, для полного понимания знать основы ассемблера нужно. Но тем же веб программистам он нафиг не нужен :)

Примечание:
alexip73, вы правы. Зачем забивать голову тем, что не нужно вообще (конкретно ему)? Если конечно человеку самому хочется и есть время на это - пожалуйста :).

Примечание:
Aelita73, вот не соглашусь с вами. Начинать надо с написания простейших программ, построенных на процедурном подходе. Ведь основы классов - это методы (процедуры) и поля (переменные). Без знания как этим всем орудовать ничего хорошего не получится.

Примечание:
guga50, да-да, давайте все свалим на учителей. Их и так дефицит...

Примечание:
Supervizor, я тоже изучал все сам, но по поводу "баранов" не соглашусь: не нужно сравнивать с собой. Если у вас больше предрасположенности к программированию, то это не значит, что у всех студентов так. Просто раскрывается это дело со временем. Кто-то решает, что системное администрирование ему больше по душе, а кто-то получает удовольствие от проектирования интерфейсов. А си действительно менее предрасположен для понимания новичками. Я, например, когда был в школе и пытался разобраться в исходниках, который на сях были (тогда был опыт использования паскаля и бейсика), то ничерта понять не мог :).
Ответы:
Ну когда меня обучали в школе язык как таковой не давали вообще.
Писали какими то русскими сокращениями и рисовали блок схемы.
Позже (через пол года где то) подвели к компу и буквально за 15 мин объяснили, что такое бейсик и его инструкции. Как ни странно с самим языком знакомство прошло успешно т.к. мы уже понимали как составлять программу, а какими буквами она будет написана уже не столь важно.
Знакомство с языками должно происходить с ассемблера, а потом с си.
2Solomir000
Боюсь что с Асма тяжелее начать обучение, хотя конечно правильнее. Т.к. программист пишущий программу должен понимать и структуру железа под что он рисует. Сам я к Асму пришел много позже.
хотя уверен что и сейчас есть много программеров пишущих форточки скажем на делфях никогда не делают асмовские вкрапления и понятия не имеют как это делать.
А мне лично асм нравился своей простой и шустрой математикой. Чем собственно я и пользовался в своих форточках писаных на делфях.
=программирующим МК =
Ну вот этим я и занимался :)))
По другому они называются встраиваемыми системами.
Мы делали АТС собственной разработки на базе интеловского 386  (именно МК, он с обвязкой) .
Позже пошли АРМы.
Причем если в первом случае использоваться как Паскаль так и Си*
То во втором случае только Си.
Jesterok
всеми лапами за вашу точку зрения в данном случае. Си это прекрасно.. и сложно, потому что он не учебный ЯП.
Очень правдивое эссе. :-)
> Т.к. программист пишущий программу должен понимать и структуру железа под что он рисует.
Да ладно. Чай не 60е годы на дворе. Про вэб программистов уже упоминали - нахрен им это понимание? А сколько программеров разработками БД занимаются? Или настройкой всяческих бизнес-продуктов?
Ни С, ни Паскаль не отражают современную концепцию программирования и давно не имеют широкого применения. Паскаль, вроде, только в Дельфях используется? Да и то это уже десятая производная от Паскаля. А вообще, начинать надо с ООП, и главное - именно понимание общей парадигмы. А какой конкретно язык выбрать для практического освоения - вопрос вторичный, но по-любому это должен быть современный язык.
Если учиться самому, и иметь целью не конечный продукт, а понимание - начинать стоит с SICP (книга не столько о языке, сколько о программировании) и "Кода" Пецтольда (одна из самых понятных книг среди аналогичных). Потом уже что хочется, то и учить. А если не хочется на выходе иметь сколько-нибудь полного понимания  - можно начинать хоть с C# (есть у меня как минимум двое таких знакомых, и ведь пишут).
Начинать С это плохая затея......
мне это не грозит. Я неразборчивая в таких делах
Вот интересно, ))
А я как то без паскаля обучился и до сих пор не знаю этот язык.
Мой первый опыт программирования радио 86рк и тамошний встроенный бейсик.
>Solomir000
Знакомство с языками должно происходить с ассемблера, а потом с си.<


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.