[C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Abyx Россия  
Дата: 21.10.15 21:08
Оценка: 52 (7) +3 -1 :))
Отличное видео с CppCon 2015:
http://www.youtube.com/watch?v=YnWhqhNdYyk

Посмотрел первые 20 минут, и я подпишусь под каждым словом, которое она говорит.

Небольшая выдержка:
— при обучении С++, надо учить вещам, которые делают С++ С++
— не надо учить новичков сложным и непонятным вещам, по крайней мере не в 1й день обучения — char*, printf("%s%d%c"), etc
— не надо учить Си, если есть более простые вещи в С++
— можно сразу написать vector<int> v; ...; n = count(v.begin(), v.end(), 42);
новички сразу поймут что это "вектор интов, мы передаем в count начало и конец v".
При этом новичкам не надо знать ни шаблоны, ни объекты, ни итераторы. Просто "начало" и "конец" коллекции — это интуитивно понятно.
— ...
In Zen We Trust
Re: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: LaptevVV Россия  
Дата: 21.10.15 21:22
Оценка:
A>Отличное видео с CppCon 2015:
A>http://www.youtube.com/watch?v=YnWhqhNdYyk

A>Посмотрел первые 20 минут, и я подпишусь под каждым словом, которое она говорит.

Подумаешь, открытие...
Да мы так уже лет 7-8 учим.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: · Великобритания  
Дата: 21.10.15 21:22
Оценка:
Здравствуйте, Abyx, Вы писали:

A> — можно сразу написать vector<int> v; ...; n = count(v.begin(), v.end(), 42);

A> новички сразу поймут что это "вектор интов, мы передаем в count начало и конец v".
A> При этом новичкам не надо знать ни шаблоны, ни объекты, ни итераторы. Просто "начало" и "конец" коллекции — это интуитивно понятно.
A> — ...
Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.
Если учить именно алгоритмам — то лучше взять какой-нибудь более простой язык Питон, какой-нибудь, или даже Яву.
А С учат как ассемблер — чтобы было видно как это всё работает на уровне железа.
avalon/1.0.432
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Evgeny.Panasyuk Россия  
Дата: 21.10.15 21:39
Оценка: 1 (1)
Здравствуйте, ·, Вы писали:

dot>Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.


Согласен, но в большинстве случаев не нужно никакого "C first" при обучении.
Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.

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


Смешно. На них даже обычный swap это целая проблема.

dot>А С учат как ассемблер — чтобы было видно как это всё работает на уровне железа.


Для этого учат напрямую ассемблер
А C++ например учат дизайнеры из "Parsons The New School for Design"
Re[2]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Abyx Россия  
Дата: 21.10.15 21:48
Оценка: +1 :)))
Здравствуйте, LaptevVV, Вы писали:

LVV>Подумаешь, открытие...

LVV>Да мы так уже лет 7-8 учим.

Молодцы. А кто-то до сих пор учит по Bullshildt'у.
In Zen We Trust
Отредактировано 21.10.2015 21:57 Abyx . Предыдущая версия .
Re[2]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Abyx Россия  
Дата: 21.10.15 21:56
Оценка: +1
Здравствуйте, ·, Вы писали:

·>Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.


Цель — это обучение людей которые будут работать на должности "разработчик С++", или будут поддерживать код на С++.

Речь не идет об обучении программированию вообще, речь о том, чтобы люди могли взять какой-то проект, написанный на современном С++, и прикрутить к нему новую фичу.
Типа программист С++ уволился, менеджмент решает что проще научить программиста JS поддерживать оставшийся код на С++. А там всякие "a*", "*b", "b->", "a::", "&b" — C++ такой сложный язык!
И Kate Gregory объясняет, что если всё учить в правильном порядке, то оказывается что всё очень просто, можно обойтись без игр "а добавлю-ка я звездочку с этой строны, вдруг соберется"
In Zen We Trust
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: · Великобритания  
Дата: 21.10.15 21:57
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> dot>Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.

EP> Согласен, но в большинстве случаев не нужно никакого "C first" при обучении.
+1

EP> Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.

Я бы удивился, если бы Страуструп стал проталкивать Питон...

EP> dot>Если учить именно алгоритмам — то лучше взять какой-нибудь более простой язык Питон, какой-нибудь, или даже Яву.

EP> Смешно. На них даже обычный swap это целая проблема.
Прикалываешься что-ли? А что за алгоритм такой — swap?? Не надо путать алгоритмы и детали их реализации на конкретном языке.

EP> dot>А С учат как ассемблер — чтобы было видно как это всё работает на уровне железа.

EP> Для этого учат напрямую ассемблер
Который из?? Их столько, что ну нафиг, слишком много деталей.
А вот с т.з. теории — С вполне работает близко к фон-неймановской модели.

EP> А C++ например учат дизайнеры из "Parsons The New School for Design"

Хых. Зачем дизайнерам плюсы?
avalon/1.0.432
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Evgeny.Panasyuk Россия  
Дата: 21.10.15 23:53
Оценка:
Здравствуйте, ·, Вы писали:

EP>> Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.

dot>Я бы удивился, если бы Страуструп стал проталкивать Питон...

Речь не об этом, а том как он обучает — там никакого "C First".

EP>> dot>Если учить именно алгоритмам — то лучше взять какой-нибудь более простой язык Питон, какой-нибудь, или даже Яву.

EP>> Смешно. На них даже обычный swap это целая проблема.
dot>Прикалываешься что-ли? А что за алгоритм такой — swap?? Не надо путать алгоритмы и детали их реализации на конкретном языке.

Простейший алгоритм
Можно взять и не простой — например quicksort для произвольных объектов.

EP>> dot>А С учат как ассемблер — чтобы было видно как это всё работает на уровне железа.

EP>> Для этого учат напрямую ассемблер
dot>Который из?? Их столько, что ну нафиг, слишком много деталей.

Обычно соответствующий используемому железу.

dot>А вот с т.з. теории — С вполне работает близко к фон-неймановской модели.


Он всё же прилично абстрагирует железо.

EP>> А C++ например учат дизайнеры из "Parsons The New School for Design"

dot>Хых. Зачем дизайнерам плюсы?

За производительностью вестимо
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Олег К.  
Дата: 22.10.15 03:03
Оценка: +1 -1 :)))
A>Молодцы. А кто-то до сих пор учит по Bullshildt'у.

А кто-то в в 2015-ом году Убунту установить не в состоянии
Автор: Abyx
Дата: 15.03.15
.

Оттуда:

Скачал iso, скопировал на флешку — флешка не грузится. Странно, подумал я, для установки win7 достаточно просто скопировать файлы, но тут линух, наверное надо копировать по хитрому.
Нагуглил что есть pendrivelinux.com, скачал оттуда прогу, залил залил ей iso на флешку — флешка не грузится.
Погуглил еще, нашел win32diskimager, записал им iso на флешку — ура! загрузилось.


И там полно еще такой хрени!

Вывод: в чужом глазу соринку видишь, в своем бревна не замечаешь.
Re: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: ArtK  
Дата: 22.10.15 03:36
Оценка: 5 (1)
Здравствуйте, Abyx, Вы писали:

Можно ещё послушать cppcast с ней же
Отредактировано 22.10.2015 3:37 ArtK . Предыдущая версия .
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: · Великобритания  
Дата: 22.10.15 08:34
Оценка:
Здравствуйте, Abyx, Вы писали:

A>·>Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.

A>Цель — это обучение людей которые будут работать на должности "разработчик С++", или будут поддерживать код на С++.
Как-то банально. Если мы учим на С++-разработчика, то мы должны учить языку С++. А если цель будет "разработчик С"? Да и вообще какая-то странная цель. Скорее должно быть "Разработчик ПО".

A>Речь не идет об обучении программированию вообще, речь о том, чтобы люди могли взять какой-то проект, написанный на современном С++, и прикрутить к нему новую фичу.

A>Типа программист С++ уволился, менеджмент решает что проще научить программиста JS поддерживать оставшийся код на С++. А там всякие "a*", "*b", "b->", "a::", "&b" — C++ такой сложный язык!
A>И Kate Gregory объясняет, что если всё учить в правильном порядке, то оказывается что всё очень просто, можно обойтись без игр "а добавлю-ка я звездочку с этой строны, вдруг соберется"
С и правда на порядки проще, чем С++.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Abyx Россия  
Дата: 22.10.15 09:21
Оценка:
Здравствуйте, Олег К., Вы писали:

A>>Молодцы. А кто-то до сих пор учит по Bullshildt'у.


ОК>А кто-то в в 2015-ом году Убунту установить не в состоянии
Автор: Abyx
Дата: 15.03.15
.

ОК>Вывод: в чужом глазу соринку видишь, в своем бревна не замечаешь.

О как у тебя припекло с Bullshildt'а!
Но какая же у тебя хорошая память, раз ты этот этот топик про убунту вспомнил.
In Zen We Trust
Re: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: DreamMaker  
Дата: 22.10.15 09:29
Оценка: -4 :))
Здравствуйте, Abyx, Вы писали:


A>Посмотрел первые 20 минут, и я подпишусь под каждым словом, которое она говорит.


да, все правильно.
вот только С++ от этого не перестанет быть С-с-костылями и арсеналом для отстреливания ног

поэтому учить надо С# а не членовредительское говно мамонта.
для низкоуровневых вещей — как раз таки чистый С.
In P=NP we trust.
Re[5]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: · Великобритания  
Дата: 22.10.15 11:00
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>>> Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.

dot>>Я бы удивился, если бы Страуструп стал проталкивать Питон...
EP>Речь не об этом, а том как он обучает — там никакого "C First".
А, понятно. Типа, если ты хочешь научить С++, то не следует начинать с С? Да, верная мысль.

EP>>> dot>Если учить именно алгоритмам — то лучше взять какой-нибудь более простой язык Питон, какой-нибудь, или даже Яву.

EP>>> Смешно. На них даже обычный swap это целая проблема.
dot>>Прикалываешься что-ли? А что за алгоритм такой — swap?? Не надо путать алгоритмы и детали их реализации на конкретном языке.
EP>Простейший алгоритм
А присвоение значения переменной — тоже алгоритм? Ещё более простейший?

EP>Можно взять и не простой — например quicksort для произвольных объектов.

И чем хуже Питон|Ява в этом случае? Даже swap двух элементов массива можно сделать.

EP>>> dot>А С учат как ассемблер — чтобы было видно как это всё работает на уровне железа.

EP>>> Для этого учат напрямую ассемблер
dot>>Который из?? Их столько, что ну нафиг, слишком много деталей.
EP>Обычно соответствующий используемому железу.
Железо меняется, да даже и обычный современный комп — там и 32 бита, и 64, и всякие simd, и прочее, а некоторые команды так вообще сделаны для эффективной компиляции ЯВУ.

dot>>А вот с т.з. теории — С вполне работает близко к фон-неймановской модели.

EP>Он всё же прилично абстрагирует железо.
Гораздо меньше, чем С++.

EP>>> А C++ например учат дизайнеры из "Parsons The New School for Design"

dot>>Хых. Зачем дизайнерам плюсы?
EP>За производительностью вестимо
Я думал графика в GPU уже переехала. Разве там плюсы?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: T4r4sB Россия  
Дата: 22.10.15 11:25
Оценка: +5
Здравствуйте, DreamMaker, Вы писали:

DM>да, все правильно.

DM>вот только С++ от этого не перестанет быть С-с-костылями и арсеналом для отстреливания ног

DM>поэтому учить надо С# а не членовредительское говно мамонта.

DM>для низкоуровневых вещей — как раз таки чистый С.

В идиоматическом С++ ноги отстреливать нечем.
И да, поэтому С++ надо обучать именно с "смотри, это вектор, а это строка", а не с "смотри, это указатель, его можно складывать, а можно принудительно ретипизировать в флоат".
Re: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.10.15 13:30
Оценка: +3 -1
Здравствуйте, Abyx, Вы писали:

A>- при обучении С++, надо учить вещам, которые делают С++ С++


А еще лучше обучать сразу тому, что понадобится в продакшне, ага !

A>- не надо учить новичков сложным и непонятным вещам, по крайней мере не в 1й день обучения — char*, printf("%s%d%c"), etc


Как раз здесь ничего сложного нет.

KG путает две вещи — обучение программированию и обучение С++. Для первого С++ не нужен, слишком много информации и сразу. Для второго, естественно, Си не нужен.

A>- не надо учить Си, если есть более простые вещи в С++


Более краткие и выразительные не значит более простые. Практически всё в С++, что "проще", устроено очень сложно.

Наглядно и просто это две большие разницы.

A>- можно сразу написать vector<int> v; ...; n = count(v.begin(), v.end(), 42);

A> новички сразу поймут что это "вектор интов, мы передаем в count начало и конец v".

Не видел ни разу людей со встроеным пониманием векторов, типов данных и тд.

A> При этом новичкам не надо знать ни шаблоны, ни объекты, ни итераторы. Просто "начало" и "конец" коллекции — это интуитивно понятно.


Первая ошибка компилятора ввергает людей в ступор. Вот это "интуитивно" есть только у людей с опытом. У людей без опыта интуиция подсказывает совсем другое.
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.10.15 13:34
Оценка: :)
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Согласен, но в большинстве случаев не нужно никакого "C first" при обучении.


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

EP>Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.


Есть мнение, что студентам которых учит Страуструп вообще по барабану, с чего начинать.

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

EP>Смешно. На них даже обычный swap это целая проблема.

Ужос, 90% людей в мире учились программированию на языках
1 паскаль
2 питон
3 фортран
4 лисп

Что интересно, это не мешает им переходить в С++ при необходимости и наличии желания. Как то так.
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.10.15 13:35
Оценка: +1 :)
Здравствуйте, Abyx, Вы писали:

LVV>>Подумаешь, открытие...

LVV>>Да мы так уже лет 7-8 учим.

A>Молодцы. А кто-то до сих пор учит по Bullshildt'у.


Шылдт устарел. Нужно учить так, что бы не в консоли колупаться, а получать внятный визуальный результат.
Re[4]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Evgeny.Panasyuk Россия  
Дата: 22.10.15 13:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

EP>>Согласен, но в большинстве случаев не нужно никакого "C first" при обучении.

I>Вот дураки в Стенфорде, они прямо противоположный курс взяли.

Какой?

EP>>Об этом кстати и Страуструп говорит, и не только говорит — но ещё и не одну сотню реальных студентов так обучал, и даже книжку по C++ выпустил для новичков в программировании вообще.

I>Есть мнение, что студентам которых учит Страуструп вообще по барабану, с чего начинать.

В техасском аграрно-механическом какие-то особенные студенты?

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

EP>>Смешно. На них даже обычный swap это целая проблема.
I>Ужос, 90% людей в мире учились программированию на языках
I>1 паскаль
I>2 питон
I>3 фортран
I>4 лисп
I>Что интересно, это не мешает им переходить в С++ при необходимости и наличии желания. Как то так.

К чему это? Как это относится к контексту?
Re[3]: [C++] CppCon 2015: Kate Gregory “Stop Teaching C"
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.10.15 13:46
Оценка: +1 -2
Здравствуйте, Abyx, Вы писали:

>·>Видео не смотрел, но по выдержке можно заметить, что могут быть разные цели.


A>Цель — это обучение людей которые будут работать на должности "разработчик С++", или будут поддерживать код на С++.


Браво — заменить инженеров на разработчиков С++. Добро пожаловать в ПТУ "С++ разработчик"

Поддерживать код — значит работать с имеющимся кодом. С++ в общей массе используется вперемешку с сишным подходом. Так вот сложилось.
Вот типичный плюсовый код — https://github.com/sphinxsearch/sphinx/blob/master/src/indexer.cpp

Ничего военного — сишные конструкции в полный рост. И вот именно с такими вещами и придется работать, ибо такого кода на нынешний день не менее 90%
Все эти новые стандарты пока что только в голове у гиков.

A>И Kate Gregory объясняет, что если всё учить в правильном порядке, то оказывается что всё очень просто, можно обойтись без игр "а добавлю-ка я звездочку с этой строны, вдруг соберется"


Ну да, правильный порядок — предположим, у новичка интуиция работает, как у девелопера с опытом

У неё типичный подход среди контор "С++ за 21 день", эти никогда не утруждали себя базовыми вещами, сразу высокий уровень, сразу абстрации, только хардкор !
На собеседовании оказывается, что реальные задачи вызывают дикий ужас и желание вернуть деньги за обучение.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.