Re[27]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.03.05 17:27
Оценка:
Здравствуйте, Astaroth, Вы писали:

A>Слово "влад" в топиках про C# и .NET, как известно, нарицательное


Слово "Влад" даже если оно используется не совсем по назначению нужно писать с большой гордой буквы "В".
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.03.05 17:27
Оценка:
Здравствуйте, ansi, Вы писали:

A>Точно! Идея хорошая. Только вот каким образом это сделать?


Что "это"? Как сделать так чтобы в институтах учли по 3+ языка? Ну, начать с C# и Хаскеля и Хопа. А потом двавать по одному языка каждый год. В итоге как раз получится языков 5-7.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.03.05 17:27
Оценка:
Здравствуйте, Dog, Вы писали:

Dog>Ты забыл добавить, что одним из них должен быть C#


А ято добавлять само собой разумеющиеся вещи?
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.03.05 17:27
Оценка:
Здравствуйте, eao197, Вы писали:

E>А можно и наоборот. Сначала дать чего-то типа Паскаля на котором поизучать основные алгоритмы (типа сортировок, поиска, очереди, стеки, деки и т.п.). А затем дать C++


Вот так не надо. Паскаль в начале еще куда не шло. Но давать ООП на С++ == делать из людей калек. Еще раз процетирую себя любимого:

Шарп, Ява или ВБ.Нэт в качестве первого языка позволяют привить культуру программирования, сосредоточиться на самом программировании, а не отвлекаться на никчемные вещи вроде управления памятью или контроля инициализированности переменных.


E> и задачу написания кроссплатформенной оконной библиотеки, например.


Зачем кросплатформной то? Что толку в таком обучении? Обучение плавать путем спихивания с мотрной лодки? Кто выжил, тот точно научился...
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Обучение программированию
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 22.03.05 07:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


E>>А можно и наоборот. Сначала дать чего-то типа Паскаля на котором поизучать основные алгоритмы (типа сортировок, поиска, очереди, стеки, деки и т.п.). А затем дать C++


VD>Вот так не надо. Паскаль в начале еще куда не шло. Но давать ООП на С++ == делать из людей калек. Еще раз процетирую себя любимого:


VD>

Шарп, Ява или ВБ.Нэт в качестве первого языка позволяют привить культуру программирования, сосредоточиться на самом программировании, а не отвлекаться на никчемные вещи вроде управления памятью или контроля инициализированности переменных.


Как раз культуру нужно прививать на сложных языках, типа C++ или С -- поскольку в них цена бескультурного кода и его последствий очень высока. А на C# и Java эту культуру затем можно культивировать.

E>> и задачу написания кроссплатформенной оконной библиотеки, например.


VD>Зачем кросплатформной то? Что толку в таком обучении? Обучение плавать путем спихивания с мотрной лодки? Кто выжил, тот точно научился...


Именно, в этом и смысл.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[25]: Обучение программированию
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 22.03.05 09:52
Оценка: +1
VladD2 пишет:
> начать с C# и Хаскеля и Хопа. А потом двавать по одному языка каждый
> год. В итоге как раз получится языков 5-7.

Извини, что спрашиваю аж под конец дискуссии, но что ты понимаешь под
"выучить язык"?

--
Andrei N.Sobchuck
JabberID: andreis@jabber.ru. ICQ UIN: 46466235.
Posted via RSDN NNTP Server 1.9
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[25]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.03.05 00:15
Оценка:
Здравствуйте, ansi, Вы писали:

A>Ну я бы не сказал, что там только программирование. Базовое проектирование как раз и есть моделирование (модули, классы, и их отношения). Так что без математики даже тут не обойтись...


А я вот уверн, что значение математики в программировании сильно переоценено. Есть конечно обасти где математика (та что выше арифметики) являтся необъодимой. Но так же куча обастей где она никаким боком не уперлась. Уж к классам, модулям и их отношениям она точно отношения не имет. Тут без нее даже проще.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Обучение программированию
От: Дарней Россия  
Дата: 23.03.05 05:11
Оценка:
Здравствуйте, ansi, Вы писали:

A>Да ради бога Он умрет — появится другой такой же. Никуда не денешься.


а тебя это удивляет? серебряную пулю пока никто не изобрел

A>Ну вот с простым софтом понятно — программеры Си++ и кушать побольше просят и времени больше надо. А на асп.нет где экономия? Вроде бы как и программисты Си# побольше требуют, чем пхп, да и win-хостинг дороже обходится потому как linux/php/mysql почти бесплатны...


Не знаю — я этим не занимаюсь. Про это лучше у вебщиков спроси.

A>Вот я и поинтересовался, что разнообразие уже вроде как и не важно?


Важно. Но не разнообразие наподобие "здесь мы пишем begin, а здесь мы пишем {"

A>Интересно, а почему эти умные раньше не нашли работу у вас? Не брали?


а ты почитай вот здесь, например
http://joelonsoftware.com/items/2005/01/27.html

A>Ну тут скорее не более подходящий для задачи, а более приятный программисту по синтаксису. Ограничения и правила то одни и те же. Ну разве что на перле можно со строками отработать... Хотя с ними везде можно отработать... Из серии .нет я пока вижу, что Си++ выделяется, так как это по-сути гибрид, позволяющий писать неуправляемые блоки.


такое мнение — это просто от недостатка знаний. Почитай, подумай.
А пока что не вижу смысла спорить дальше.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[23]: Обучение программированию
От: Дарней Россия  
Дата: 23.03.05 05:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А что такое "бейсик-программист"? Это те кто выучили только один Бэйсик? Или те кто знает Бэйсик? Если последнее, то я тоже бейсик-программистами, так как использовал этот язык.


тот, кто выучил только бейсик. Хотя с тем же успехом можно сказать "дельфи-программист" — стиль мышления тот же самый, "программирование от формы"
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Обучение программированию
От: Дарней Россия  
Дата: 23.03.05 05:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Можно на некоторых. Но не нужно. Зацикленность на одном языке, пусть даже самом передовом и позволяющем преподать почти все концепции, все равно является злом. Хотя я считаю С устаревшим и неуклюжим, но даже его имеет смысл изучать. Вот только гдавное не делать подобные языки стержнем обучения.


ну никто и не выступает против разнообразия. Вопрос только в том, где ставить акценты.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Обучение программированию
От: _Obelisk_ Россия http://www.ibm.com
Дата: 23.03.05 06:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А я вот уверн, что значение математики в программировании сильно переоценено. Есть конечно обасти где математика (та что выше арифметики) являтся необъодимой. Но так же куча обастей где она никаким боком не уперлась. Уж к классам, модулям и их отношениям она точно отношения не имет. Тут без нее даже проще.


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



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[32]: Обучение программированию
От: ansi  
Дата: 23.03.05 09:59
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Да ради бога Он умрет — появится другой такой же. Никуда не денешься.

Д>а тебя это удивляет? серебряную пулю пока никто не изобрел
Нет, не удивляет.
И не изобретет. Мне вот интересно, откуда такое рвение похоронить Си++? Ну пишите себе на шарпе — вас же никто не засавляет на плюсах писать.

A>>Вот я и поинтересовался, что разнообразие уже вроде как и не важно?

Д>Важно. Но не разнообразие наподобие "здесь мы пишем begin, а здесь мы пишем {"
Итак, мы движемся по кругу — это уже было в самом начале.

A>>Интересно, а почему эти умные раньше не нашли работу у вас? Не брали?

Д>а ты почитай вот здесь, например
Д>http://joelonsoftware.com/items/2005/01/27.html
Прочитал. Да, там пишут, что они студиков загребают заранее. Я про это тоже говорил.
Мне просто стало интересно, не имеет ли места быть случай, что к вам приходит устраиваться приличный студент и вы его отсекаете только потому, что он студент? Так и ежу понятно, что его "пригреет" другая фирма и там он скорее всего и останется (если у него нет сильного стимула идти к вам). Думаю, что найдется возможность пристроить студента веб-программистом с соткой баксов оклада, ну а дальше...

A>>Ну тут скорее не более подходящий для задачи, а более приятный программисту по синтаксису. Ограничения и правила то одни и те же. Ну разве что на перле можно со строками отработать... Хотя с ними везде можно отработать... Из серии .нет я пока вижу, что Си++ выделяется, так как это по-сути гибрид, позволяющий писать неуправляемые блоки.

Д>такое мнение — это просто от недостатка знаний. Почитай, подумай.
Д>А пока что не вижу смысла спорить дальше.
Чтож, может быть, но мне так не кажется. Ну действительно не вижу особой разницы, кроме как

наподобие "здесь мы пишем begin, а здесь мы пишем {".

Все равно библиотека у всех одна и та же. Ну, можно конечно и на чем-то вроде лиспа писануть пару строк, но мне кажется маловероятным, что это будет серьезно использоваться.
Re[26]: Обучение программированию
От: ansi  
Дата: 23.03.05 10:02
Оценка: 63 (5) +2
Здравствуйте, VladD2, Вы писали:

A>>Ну я бы не сказал, что там только программирование. Базовое проектирование как раз и есть моделирование (модули, классы, и их отношения). Так что без математики даже тут не обойтись...

VD>А я вот уверн, что значение математики в программировании сильно переоценено. Есть конечно обасти где математика (та что выше арифметики) являтся необъодимой. Но так же куча обастей где она никаким боком не уперлась. Уж к классам, модулям и их отношениям она точно отношения не имет. Тут без нее даже проще.

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

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

Конкретно разбивка на модули, построение иерархии, абстракции — чистой воды логика и оптимизация, которые математика и развивает.
Re[33]: Обучение программированию
От: Дарней Россия  
Дата: 23.03.05 10:49
Оценка:
Здравствуйте, ansi, Вы писали:

A>И не изобретет. Мне вот интересно, откуда такое рвение похоронить Си++?


слишком часто его используют во вред себе и окружающим.

A>Мне просто стало интересно, не имеет ли места быть случай, что к вам приходит устраиваться приличный студент и вы его отсекаете только потому, что он студент?


нет. главное, чтобы соображал и пальцы не гнул слишком много

A>Все равно библиотека у всех одна и та же.


Ну ассемблер у нас тоже везде один, и винапи тоже везде один. И что?

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


зря кажется
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Извини, что спрашиваю аж под конец дискуссии, но что ты понимаешь под

ANS>"выучить язык"?

По минимуму знать основы синтаксиса. А вообще — уметь его использовать для создания реальных приложений.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>тот, кто выучил только бейсик. Хотя с тем же успехом можно сказать "дельфи-программист" — стиль мышления тот же самый, "программирование от формы"


Стиль мышления не изменится и у C#-программиста, и даже С++-программиста. Программист знающий один язык и не стремящийся к развитию — это маральный урод. Таких нужно гнать в шею. Они и на С++ напишут полный бред.

Выбор должен быть осозннанным. А какой может быть вообще выбор если человек уперся в один язык?
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, eao197, Вы писали:


E>Как раз культуру нужно прививать на сложных языках,


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

E> типа C++ или С -- поскольку в них цена бескультурного кода и его последствий очень высока.


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

E> А на C# и Java эту культуру затем можно культивировать.


А зачем? Они сами подталкивают к оной. Вот начав с них человек привыкнет писать в их стиле.

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

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

VD>>Зачем кросплатформной то? Что толку в таком обучении? Обучение плавать путем спихивания с мотрной лодки? Кто выжил, тот точно научился...


E>Именно, в этом и смысл.


Так в чем? Мы пытаемся создать фанатов Линукса/Виндвса или просто учим программированить?
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка: 2 (1)
Здравствуйте, ansi, Вы писали:

A>Здравствуйте, VladD2, Вы писали:


A>>>Из этого должно следовать, что для подготовленного человека изучить тчк.нет, как два пальца обоссать. А уже из этого следует, что никакой особой пользы от введения его первым нет и быть не может — только вред, о котором я уже говорил неоднократно.

VD>>Попробуй обосновать как из "этого" это следует.
A>Уже обосновывал раньше.

Не првда.
То что подготовленному (правда на ппределенных подходах) человеку будет не трудно изучить дотнет ровным счетом ничего не значит, так как и не подготовленному тоже это будет не трудно сделать.

A> Лично на своем опыте могу сказать, что толку от этого никакого — я сам начинал с Java. Вот попробуйте объяснить мне, зачем это нужно? Вот какая конкретно польза от этого?


Вопрос в том, что ты знашь сейчас, и в том насколько ты приуспел в этом изучении.

A>Хороша культура — не отвлекаться на контроль памяти и инициализированности переменных


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

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

Мне вот интересно жанглеров учат жанглировать с 1-3 предметов уберегая их в начале карьеры от лишних раздражителей, или им сразу дают 10 предметов и заставляют занглировать ими на стоя на канате под куполом жирка и держа стакан с водой на лбу? Я не спец в цирке, но что-то мне подсказывает, что их обучение происходит по первому сценарию. И когда жанглер уже набьет руку ему дают еще один предмет или увеличивают число внешних раздражителей.

Так почему же тогда программиста нужно сразу обухом по голове?

A>А что значит "само программирование"? Программирование, на мой взгляд, не состоит только из одного алгоритмирования. Как и не состоит только из знания конкретного языка/языков.


Это является основанием для отказа от обучения азам? К чему эти слова? Программиста же не одному предмету в институте учат.

A>Извиняйте, товарищ, но где конкретно тут маразм?


Предположение о том, что СУБД пишут на асме — это маразм.

A> Я просто привел СУБД как пример и лишь расставил приоритет языков для реализации, когда главная цель — скорость.


Уж больно с потолка твои приоритеты. Или тебя очень странно учили, или процесс еще только идет.

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


Он тут "в пролете". СУБД — это клубок алгоритмов. От ассемблера тут будут одни убытки. Задача на нем просто не подемная. Ассемблер тут может появиться только в виде вставок с целью оптимизации найденных узких мест.

A> Хотя вставки скорее всего сделают.


Скорее всего нет. Особенно если речь о переносимой СУБД (коими на сегодня являются почти все).

A> Скорее всего применение найдет си++ — скорость немного меньше, но расходы существенно меньше.


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

Получить более быстрый код (в общем) на ассемблере практически не возможно. Только одельные места, и только при нраличии очень серьезно подготовленных специалисов достканально изучивших платформу под которые делаются оптимизации. Таким людям место в отделе по разработке компиляторов, а не СУБД.

A> У диеза расходы еще меньше, но по скорости он может уже не подходить...


А ты считал столько программы проигрывают в скорости из-за того, что в них использованы хреновые алгоритмы/классы?

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

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

A> Будет другая задача, или другая цель/требования, то приоритет запросто меняется. Например, если СУБД нужна не промышленная (не sql server, oracle и т.д.), а так, для конкретного приложения из-за невозможности или нецелесообразности таскания за собой промышленной, то выгоднее будет писать на том же языке, что и само приложение. Мысль понятна?


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

A>Я не заблуждаюсь. Вы согласны, что реализация на том же шарпе виртуальной машины будет лучше по скорости аналогичной реализации на Java?


Нет. Все будет сильно зависеть от реализации. Хотя создавать виртуальные машины на них же самих не очень осмысленное занятие.

A> В свою очередь реализация на си++ будет еще лучше.


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

Так что единственно разумное обяснение выбору С++ (а точнее анменеджед-языка) для реализации виртуальной машины — это проблема курицы и яйца. ВМ должна запускаться когда в системе еще никакой ВС нет.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Судя по количеству разнообразных вопросов в теме Алгоритмы, знаний математики все же недостает многим программистам.


Алгоритым точно так же не имеют никакого отношения к математики. Возможно изучение одного после другого и упростит жизнь. Но вот последовательность точно не важна. Да и толк тратить время на одно в целях изучения другого отсуствует.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, ansi, Вы писали:

A>Отчасти соглашусь, но лишь от части. Согласен, конкретные знания математики далеко не везде нужны, но вот то, что эта математика заставляет котел кочегарить на полную — это факт.


"Котел" можно заставить "кочегарить" и изучением энциклопидии. Есть ли в этом смысл?

Ну, или еще чем. Например, можно с тем же успехам учиться играть в шахматы.

Вот только если заставлять "котел" "качегарить" в конкретной прикладной области, то толку будет больше.

A> Лично мне она очень многое дала, даже больше, чем занятия по программированию, хоть я многого и не помню.


Ну, а я и без нее многое не понимаю. Видимо в влияет сам факт ее существования.

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


Согласен. Только математика тут не причем.

A>А вообще, забавно — заходишь на сайт к гитаристам, а там во всю спор идет, учить ноты/муз.теорию или не учить?


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

A>Всегда найдутся люди, которые скажут, что изучив теорию, ты станешь "мыслить шаблонами", она загонит тебя в рамки (блин, как будто там сидят такие чудо-композиторы, что Бах с Вивальди просто мирно курят в углу) и т.п. Зайдешь, бывает, к программистам, а там топик "нужно ли учить математику программистам?"... Я уже не удивлюсь, если у поэтов будет тема "учить ли русский язык / литературу?".


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

A>Конкретно разбивка на модули, построение иерархии, абстракции — чистой воды логика и оптимизация, которые математика и развивает.


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

То что что-то что-то развивает еще не значит, что это "что-то" необходимо. Развиваться можно и другими путями. Например, можно читать книги, писать код или в тупую поучиться в специализированном заведении.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.