Валерий Лаптев писал(а):
Нет. Я в результате 25-летнего опыта преподавания пришел к выводу,
что инструмент - вторичен.
Программисты по мере "взросления" сами приходят к необходимости жесточайшей самодисциплины.
Достаточно Боба Мартина почитать и Кента Бека с Мартином Фаулером.
Да и собственный опыт говорит о том же.
Поэтому при начальном обучении гораздо важнее ВОСПИТАНИЕ нужных качеств - о чем и говорит Дединский.
Инструмент может помогать в этом (немного) или нет.
В описании графической библиотеки
Amadeus-3 есть обсуждение языка C++. Вот некоторые цитаты:
Цитата:
There are no circular references in Oberon-2, contrary to Modula-2, where definition
modules make circular references possible, and most other languages, where such rules have never
even been considered; in C/C++, nothing could stop you from building a library with chaotic crossreferences.
Цитата:
Did you ever notice how difficult it is to proof-read a document in English? Imagine that every
punctuation was fundamentally important and that missing a single comma could change the
meaning of the entire text... Not so for C/C++. Single-character mistakes are
possible in many places and won't be detected by the compiler.
Цитата:
This is a really difficult problem, since we tend to like what we know. Most people don't think about
how to design a programming language, they just pick up a manual that says how it's done.
Therefore, few people will say "Oh I just love this or that style of programming", they will like
whatever they learned first, since that will save them a lot of intellectual effort - at least until they
are confronted with problems arising from that choice. If the first language learned was C/C++, as it
still is for a large majority of programmers, then the C-style syntax, the operators and the traps and
pitfalls of the language will seem perfectly natural, just as the words "Procedure", "Begin" and
"End" will be natural to the Pascal programmer.
И основной минус С++ в том, что слишком много возможностей. Нельзя просто взять студентов и обучить только 10% языка и сказать, чтобы они использовали только эти возможности. Так как всегда найдутся студенты, которые захотят показать свою крутость и использовать крутые фишки языка. Пусть они будет знать 20%. Другие студенты тоже захотят подтянуть свои знания в этом вопросе и будут использовать другие 20% языка. При коллективной работе будет получаться, что в общем проекте используется 95% языка, при этом все студенты понимают ядро, состоящее из 10%, а оставшиеся части понимают с какой-то вероятностью, что-то понятно, а что-то не понятно. У Дединского в презентации как раз сказано про коллективную работу, в этом плане С++ не способствует коллективной работе.