17.08.2009, 13:38
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
то только с C/C++.
|
Я часто слышу об ошибках в проектировании языка.
Сообщение от Kolyaj
|
Если именно изучать программирование
|
Возможно, изучать C/C++ стоит для того, что бы понять эти ошибки и знать как плохо?
|
|
17.08.2009, 13:43
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Riim
|
Я часто слышу об ошибках в проектировании языка.
|
Я щас не говорю о промышленном применении языка, с этими вопросами не ко мне. Я говорю про изучение основ программирования.
|
|
17.08.2009, 14:19
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
Хорошая статья Спольски на эту тему
|
Прочитал, довольно интересная точка зрения.
|
|
17.08.2009, 14:32
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от Riim
|
довольно интересная точка зрения.
|
Если учесть, что все большее количество программистов не знают разницу между оператором << и умножением на степень двойки, то очень даже обоснованная.
|
|
17.08.2009, 14:47
|
Профессор
|
|
Регистрация: 25.02.2008
Сообщений: 707
|
|
Сообщение от Kolyaj
|
Если именно изучать программирование, а не выучить какой-нибудь язык и стать очередным быдлокодером, то только с C/C++.
Хорошая статья Спольски на эту тему
|
Да, С/С++ знать желательно, и мнение автора статьи тоже с одной стороны понять можно. С другой стороны, как он сам пишет:
Цитата:
|
Неужели я всего лишь один из тех старомодных ворчунов, вроде Четырёх Йоркширцев, которые хвастаются тем, как тяжело было жить в суровые старые времена?
|
Да, тоже возможно. Как правило, когда усиливается уровень абстракции, у людей, которые застали предыдущий уровень, начинается подобный эффект. И в лучшем случае, можно призвать мыслить на обоих уровнях абстракции - на новом и на старом (на котором "было тяжело жить в старые времена"). Но. Всё дело в том, что ниже своего первоначального уровня, они тоже не опускаются. Пусть пишет хотя бы про ассемблер тогда, не говоря уже о bin и hex-кодах. Пусть пишет, что надо подключать кабели и программировать так. Это нормальная закономерность. С/С++ - это сверхвысокие, высоко абстрагированные языки (относительно, конечно). Питонисты и Рубисты, уже могут называть Си - низкоуровневым языком. Всё движется. Через несколько лет (может, десятков), будет вообще всё по-другому. Будет такое же нытье про "вот вы, лодари, мы учили когда-то Ruby, а вы...".
Но и, повторю, призыв автора мыслить/знать несколько уровней абстракции, конечно, важный и нужный, каждый сам выбирает. Фишка в том, что в подобных призывах задействованы всегда лишь ближайшие к автору абстракции, сам он (абстрактно), как выяснится (в 90% случаев), не захочет углубляться в более низкие.
Сообщение от Kolyaj
|
Я говорю про изучение основ программирования
|
Ага, не забывай дописывать - (сверх)выскоуровневых основ.
Последний раз редактировалось Dmitry A. Soshnikov, 17.08.2009 в 15:27.
|
|
17.08.2009, 14:57
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
все большее количество программистов не знают разницу между оператором << и умножением на степень двойки
|
Я, к сожалению, один из таких злодеев, но у меня все еще впереди, может однажды понадобиться знать, а может, будет достаточно времени, которое нечем заполнить.
|
|
17.08.2009, 20:01
|
|
|
Регистрация: 21.02.2008
Сообщений: 1,250
|
|
Kolyaj,
Мне показалось, что автор считает С/C++ легкими для изучения и понимания основ программирования исключительно потому, что хорошо знает эти языки (а возможно и сам начинал с них). Но это не обязательно правда.
Как я уже писал в какой-то теме на форуме, я искренне считаю, что изучение программирования на примерах Паскаля и С++ (С#, Java) — глупость. И совсем не потому, что это промышленные платформы, просто потому что обучение на этих языках идет "от начала до конца", в них очень высокий порог вхождения. Гораздо выше, чем в скриптовые языки. И я считаю, что обучать программированию лучше на простых скриптовых языках, уходя "вглубь" и спускаясь "вниз", к тому, как это работает на низком уровне. И отдельно показывать особенности объектно-ориентированных и функциональных языков.
Сообщение от Kolyaj
|
Если именно изучать программирование, а не выучить какой-нибудь язык и стать очередным быдлокодером, то только с C/C++.
|
Быдлокодерами становятся только те, кто останавливаются на одном уровне знаний и не развиваются дальше, а совсем не те, кто начал, например, с php или perl. Быдлокодить можно и на C++, причем многие так и делают.
Эта тема вообще не про то, "с чего начинать учить программирование", но если человек уже знаком с программированием, то изучать С++, имхо, становятся просто бессмысленно. Учить, чтоб работать? В .NET доминирует C#, а не C++. Учить, чтоб понимать? Для этого совершенно необязательно учить именно C++, да и вообще понять можно и без привязки к языку.
Я вот начинал с php3, но про битовые сдвиги, почему-то, знаю. Может не в языках проблема, а в головах?
|
|
18.08.2009, 07:20
|
|
L
|
|
Регистрация: 16.08.2009
Сообщений: 416
|
|
Умножение на степень двойки это перевести число в двоичную систему? или умножение на 2 в какой то степени?
Последний раз редактировалось JSprog, 18.08.2009 в 07:30.
|
|
|
|