Re[9]: Языковые войны: языки для обучения
От: Dog  
Дата: 10.03.05 13:05
Оценка:
ANS>О том и речь. Умение программировать для кодера никакое и не нужно. Язык
ANS>выучил и вперёд. Таких спецов вагон и мелкая тележка. Бухгалтеров не
ANS>знающих бухучета, учителей не умеющих учить и пр. Да, так можно жить, но
ANS>нужно ли к этому стремиться?
Нужно конечно верить, что своим примером ты сможешь что-то изменить вокруг. Но жизнь так часто обламывает

ANS>Во-первых, нужно противопоставляют тут не изучение языка А языку Б

ANS>(например Java vs C#), а изучение (заучивание) языка против изучения
ANS>базовых концепций (с примерами на языках, в которых эти концепции
ANS>наиболее чисто выражаются — Schema, Smalltalk, Lisp, ML) и затем
ANS>современных "инкарнаций".
Учить язык ради одной концепции ??? Да ещё если данная концепция не воплощена в современном языке, на котором вы будете программировать. Все языки можно объединить в группы. И из тех же функциональных языков можно учить 1-2. Потому что изучая остальные языки из этой же группы вы 90% времени потратите на одно и то же. Углубленно изучая пару языков вы спокойно можете дать те же концепции и объяснить почему они не поддерживаются в данных языках. Вы же предлагаете опять на каждом языке учится писать Hello World !

>> вопрос так, что кроме мэйнстрима не надо знать ничего. ) А реальность

>> такова. Вы собираетесь обучать студентов нейким *основам* (как звучит
>> то. И не важно что ни кто не знает каким ) и особенностям на основе
ANS>Почему никто не знает каким? Некоторые
ANS>знают.
А что там ? В кратце.

>> чего? К примеру занона. Так, дорогие мои, этот занон, а уж тем более

>> особенности которые он якобы предоставляет, надо *знать*. Где вы найдёте
>> преподавателей, которые будут иметь опыт, что бы обьяснить именно эти
ANS>это уже другой вопрос. который нужно решать. а то, типа если нет
ANS>преподавателей, то не нужно и учить?
А что калечить?

>> особенности. И получится что к 5-му курсу, человек гордо напишет в

>> резюме занон, ни помня ни одной строчки. Согласны? Те основы которые,
>> сейчас преподаются, можно с успехом учить на языках с которыми выпускник
>> столкнётся в 90% случаев выйдя из института. Посчитайте сами, пару ООП
ANS>это кодер сталкивается с языками, а программист с задачами, которые
ANS>нужно решить. А язык это всего лишь одно из ограничений, такое же как,
ANS>например, время.
Хорошо давайте так. 90% задач, с которыми столкнётся начинающий программист, можно решить на современных языках. Нельзя пытаться научить его всему сразу.

ANS>Еще раз. Ты ставиш язык на первое место в списке, а архитектуру и

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

ANS>Второе. С# учится не за три дня, а за три часа в самом тяжелом случае.

ANS>(А если кто не согласен, то пусть ткнёт пальцем в то, на понимание чего
ANS>нужен целый день).
И что после делать с вашими знаниями ? Может ткнёте в объяву где написано. Ищем C# программиста (от 3 часов) Лично вы взяли бы человека в свой C# проект , который бы заявил, что выучил C# за 3 часа ?

ANS> Вот уже что бы разобраться в возможностях фрейворка

ANS>времени нужно побольше Только изучение фреймворка — процес
ANS>бесконечный. Ибо фреймворк постоянно развивается и меняется, и, вообще,
ANS>есть не только он один. И если вложиться исключительно во-фреймворк, то
ANS>через три года окажется, что всё изменилось, а то, что ты знаешь
ANS>оставлено только для обратной совместимости.
ANS> По-этому, ВУЗ за 5 лет должен дать неустаревающие знания, плюс, естественно, знание того, как
ANS>это устроено сейчас, с анализом сильных сторон и недостатков.
Так давайте ваши неустаревающие знания или они настолько спецефичны, что для этого надо учить кучу языков ? Объясните, что смолтолк не стареет и не развивается ?

>> работу. Иначе на ней тебе придётся учить C++ или С# и Java, вместо того

>> же смолтолка. Ставьте перед собой *реальные цели*.
ANS>Знание Java — это мелочь, по сравнению с сонмом библиотек и фреймворков.
ANS>А их на все случаи жизни не переучиш.
Знание фрэйморка и библиотек будет появляться у вас попутно, когда вы будуте учить ваши неустаревающие знания. Что в этом плохого?

>> (с нетерпением жду когда Линукс станем мэйнстримом )

ANS>уже.
Пора травить

>> ANS>Среди этих основ лет 20, если не больше, принципиально нового ничего не

>> ANS>появилось. Сии концепции проникают в майнстримовые языки очень медленно.
>> Что даст мне знание концепции, кроме недовольства, если я не смогу
>> применить её на практике? Вот и получается, пришел человек заниматься
ANS>Реализовать это самому. Вот не может ни в C++, ни в Java, ни в C# метод
ANS>new быть полиморфным. Так взяли и придумали патерн "фабрика". И не
ANS>важно, что эта "фабрика" это малая толика того, что могут "классы как
ANS>объекты" в ST. Только если заучивать патерны, как отче наш, то будеш
ANS>знать только то, что выучишь.
Основы нужны всегда. Чем вам не нравятся патерны ?

ANS> А зная принцип ООП — "всё есть объект" до

ANS>этого легко допереть самому.
Само знание порой только вас запутает. В чём беда новичков ? В том что они стоят перед проблемой выбора. И реализация вашей концепции , программистом не имеющим достаточного опыта , скорее будет просто удручающа.

>> C#, обладая концепциями (не, ну просто музыка), выучил язык за 3 дня и

>> начинает кричать, да тут нельзя того сделать, нельзя то сделать, а вот в
ANS>А что делать, если никто не любит делать работу, которую можно было бы
ANS>не делать?
Для начала научится хорошо делать основную работу

>> Обероне дааааа, вот в Фортране дааааа. Вот только имхо не сможет он

>> применить ни одной этой концепции ни в одном из 20 языков, которых он
>> будет знать после института
ANS>Невозможно применить то, чего не знаешь. А если знаешь, то можно
ANS>реализовать и на С и на С#. Только реализация будет не общим случаем, а
ANS>частным.
Невозможно научить всему. Вот не знаем такую-то фичу, реализованную в таком-то языке. Давайте выучим его, а вот ещё и такой язык и такой ... В конечно счёте реальных знаний 0. И не забывайте , что это не какое-то сферической образование в ваакуме, а самое что нинаесть родное советское

>> ANS>вопросы <http://rsdn.ru/Forum/Message.aspx?mid=969924&amp;only=1&gt;
Автор:
Дата: 29.12.04
.

>> Вы хоть не поленились бы прочитать топик. Знание "попсовых" патернов и
>> *языка*, на котором хотят это реализовать, с успехом решает проблемы в
>> 99% случаев.
ANS>Просмотрел весь тот топик, благо там всего пара десятков постов.
ANS>Довольно показательно, что *программисты* упомянули патерны "вообще"
ANS>(без конкретики), но не предложили решение.
Было предложено решение — Атрибуты. Автор этого не знал, что явного говорит о слабом знании языка.

>> ANS>Зная подобные концепции, даже если язык явно не из поддерживает, можно

>> ANS>сделать свою реализацию.
>> Для этого надо, как минимум, *хорошо* знать тот язык на котором
>> собираешься их реализовать. Или я не прав ?
ANS>Прав. Но, что такое хорошо знать? Критерий какой.
Пример выше Или вы хотитет меня уверить, что изучение это фичи входило в те 3 часа ?
Где-то между собакой и богом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.