Обучение программированию
От: ansi  
Дата: 06.03.05 06:02
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Шарп просто не даст сделать множества ошибок. Тем самым он урпощает обучение и прививает хорошие манеры. Именно по этом я считаю его лучшим притендентом на первый язык.
На ошибках учятся. Точнее учатся на ошибках...

20.03.05 15:23: Ветка выделена из темы Почему нельзя преподавать C#
Автор: Quintanar
Дата: 02.03.05
— AndrewVK
Re[11]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.03.05 20:13
Оценка: 1 (1) +3
Здравствуйте, ansi, Вы писали:

A>На ошибках учятся. Точнее учатся на ошибках...


Глупый учится на своих ошибках. Умный на чужих. Чужой опыт подсказывает, что единственный способ избежать множества ошибок на языках которые не предоставляют защиты от них — это выробатать правильный стиль программирования. И язык со встроенным контролем будет автоматически заставлять вырабатывать такой стиль. По сути Шапр — это С++ с огромным числом встроенных паттернов и ограничений направляющих программиста на хороший стиль программирования. В сочетании с приличной стредой разработки, которая автоматически выравнивает код, человк с детства получит хорошие привычки. Так что даже когда он перейдет к программированию на языках где всей этой поддержки нет, он все равно будет предерживаться заученных паттернов.

В общем, он просто поймет, что то что казалось ему само сабой разумеющимся является всего лишь автоматизаций работы и усилий которые в противном случае прийдется делать и контролировать вручную.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Обучение программированию
От: prVovik Россия  
Дата: 07.03.05 12:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Глупый учится на своих ошибках. Умный на чужих.


Интересно, а умные вообще в природе бывают?
... << RSDN@Home 1.1.4 @@subversion >>
лэт ми спик фром май харт
Re[12]: Обучение программированию
От: ansi  
Дата: 07.03.05 14:16
Оценка: 11 (3) +3 -1
Здравствуйте, VladD2, Вы писали:
VD> Глупый учится на своих ошибках. Умный на чужих. Чужой опыт подсказывает, что единственный способ избежать множества ошибок на языках которые не предоставляют защиты от них — это выробатать правильный стиль программирования. И язык со встроенным контролем будет автоматически заставлять вырабатывать такой стиль.
Вот только не надо тут про умных и глупых. Невозможно учиться только на чужих ошибках. Более того, свои ошибки имеют гораздо больший КПД, чем чужие. Да и все мы разные, и способ мышления разный, и, соответственно, ошибки у нас разные. Не знаю, что там подсказывает чужой опыт (Чей? А почему я должен ему доверять, этому опыту? А может это был Вася? ...). Знаю, что чтобы избежать ошибок, нужно сначала уяснить, что это — ошибка. А самый простой способ это понять — как раз ошибиться. Тем более что в процессе обучения это ничего не стоит (в плане денег). Далее, что значит "правильный стиль программирования" и как "менеджед" язык этот стиль будет вырабатывать?

VD> По сути Шапр — это С++ с огромным числом встроенных паттернов и ограничений направляющих программиста на хороший стиль программирования.

Ну во-первых, C# — это более Java. И идеологии схожи, и синтаксисы по сути одинаковые. J# короче. С C++ его, как и Java, объединяет только похожесть синтаксисов, но не идеологий. И во-вторых, какие такие паттерны...

VD> В сочетании с приличной стредой разработки, которая автоматически выравнивает код, человк с детства получит хорошие привычки.

Это вообще смешно. Сколько сред видел, код выравнивается везде. Тем более что к языку это вообще никакого отношения не имеет.

VD> Так что даже когда он перейдет к программированию на языках где всей этой поддержки нет, он все равно будет предерживаться заученных паттернов.

Можно долго ездить впереди рядом с папой, но будет ли потом хоть сколько-нибудь ощутимо легче самому сесть за руль? Вспомните, как вы в первый раз сели за руль. Как вдруг все знаки предательски исчезли из поля зрения, разметка расплылась, как вдруг откуда ни возьмись отовсюду стали появляться пешеходы, как вы ловили ямы, и как лихо вы объезжаете их сейчас, как отовсюду доносились крики "куда ты прешь, к@#$л", или "ты че, не видишь куда едешь?", как пот тек рекой... И папа уже не вырулит, случись что. И все "паттерны" рассыпаются в миг, потому что обстановка совсем иная и теперь в вашем полном распоряжении три педали, три зеркала и палка. И пройти это придется в любом случае. Эх, воспоминания нахлынули
Но мне все же интересно, что за заученные паттерны? Можно пару примеров?

Мне кажется, что идеальным вариантом для первого языка является старый добрый процедурный pascal. Потом можно давать параллельно Object Pascal и C++, ну а потом уже Java, C# и прочих товарищей. Задача то заключается в том, чтобы сначала изучить базу всех языков — переменные, функции, ветвления, циклы, рекурсии и т.п. Дальше всякие базовые алгоритмы типа сортировок, поиска подстроки в строке и т.п. Дальше даются основные структуры данных: стеки, очереди, деревья, графы и алгоритмы работы с ними. Параллельно можно вводить объекты, шаблоны. И только после этого можно давать функциональные и управляемые языки.
Re[13]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.03.05 14:47
Оценка: :)
Здравствуйте, ansi, Вы писали:

A>...Невозможно учиться... свои ошибки...к@#$л"...И папа уже не вырулит...И все "паттерны" рассыпаются в миг....Потом можно давать параллельно Object Pascal


Ну, батенька это вы явно куда-то не туда зарулили. С такой любовью к тараху с неодушевленными приедметами вроде граблей первым языком конечно же должен быть какой-нить ассемблер или на худой конец K&R С без всяких плюсов. А то вадь от небольших граблей шишку можно и не заметить. Тут нужны более радикальные средства.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Обучение программированию
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 07.03.05 17:00
Оценка:
VladD2 пишет:
> Глупый учится на своих ошибках. Умный на чужих. Чужой опыт подсказывает,
> что единственный способ избежать множества ошибок на языках которые не
> предоставляют защиты от них — это выробатать *правильный* стиль
> программирования. И язык со встроенным контролем будет автоматически
> заставлять вырабатывать такой стиль. По сути Шапр — это С++ с огромным
> числом встроенных паттернов и ограничений направляющих программиста на
> хороший стиль программирования. В сочетании с приличной стредой
> разработки, которая автоматически выравнивает код, человк с детства
> получит хорошие привычки. Так что даже когда он перейдет к
> программированию на языках где всей этой поддержки нет, он все равно
> будет предерживаться заученных паттернов.

Это с каких пор аннотация типов я вляется инструментом выработки стиля?
И вообще, вместо общих заявляний привёл бы пример какой. Стиля до и
стиля после.

--
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[14]: Обучение программированию
От: ansi  
Дата: 08.03.05 08:07
Оценка: 33 (6) +1 :)
Dog>А почему вы не можете осваивать структуры данных и алгоритмы на шарпе ? Что вам мешает?
DB> Отсутствие средств процедурного программирования (чтобы показать человеку объявление переменной, нужно объяснять, что такое ООП). Маразм какой-то.
Это точно. А еще как-то придется объяснить, почему, собственно, он обязан это ООП использовать.

VD> Ну, батенька это вы явно куда-то не туда зарулили. С такой любовью к тараху с неодушевленными приедметами вроде граблей первым языком конечно же должен быть какой-нить ассемблер или на худой конец K&R С без всяких плюсов. А то вадь от небольших граблей шишку можно и не заметить. Тут нужны более радикальные средства.

А без этого никак. Весь смысл обучения в том, чтобы наступить на как можно большее число граблей именно во время обучения, чтобы потом их избегать. Я вообще не пойму, какие к черту, простите, грабли? Вас послушать, так до появления .NET программисты ночами не спали, страдали бедные. Никто за них проверки на выход из массива не делал, приходилось работать с этими мерзкими указателями (фу, гадость какая). Бедняжки! Как им было тяжело: и тут и там грабли, лопаты, тяпки всякие. Все с нетерпением ждали появления ЕГО самого (.NETа).

И тут пришел добрый дядя, и сказал: "И прозрейте же, дети мои. Да будет .NET. И забудете все, чему вас учили, ибо .NET — это и есть ВСЕ. .NET вездесущ. .NET — это новая операционная система. .NET — это новый компилятор. .NET – это новый Word. .NET — это чайник на вашей кухне. .NET — это телевизор в вашей спальне. .NET – это новый аппарат искусственного дыхания. .NET — новая 3D двига. NET — это ..." И настала эра .NET. И "прозрел" народ, и стал пихать этот .NET куда его только можно запихнуть.

Пора уже новую болезнь вводить – синдром .NET’а. Симптом: при любом упоминании C/C++, Pascal, Java, PHP,... начинает доказывать превосходство .NET над ним. Иногда не без пены у рта...

Ну, блин, вот почему-то очень часто встречаю перцев, которые ведут жесточайшую пропаганду этого самого .NET’а. Мол, нафига вам этот PHP – учите/пишите на ASP.NET. Зачем C++/Pascal, пиши на C#. Зачем учить народ C++, если за .NET’ом будущее. Теперь его суют в качестве первого языка для обучения... И т.д., и т.п. Типа, это панацея от всех бед. Чушь какая-то. Я совсем не против .NET, просто не надо в крайности бросаться. Всему свое место. И .NET’у кусок найдется.

Что касается ассемблера, то ассемблер — это не язык программирования как таковой. Во всяком случае, не из этой серии. Это – архитектура. И учить ей надо, но уж никак не базировать на ней алгоритмы.
Re[15]: Обучение программированию
От: Dog  
Дата: 08.03.05 13:14
Оценка:
(хехе, какие эмоции, я уже вижу пену у рта)

Dog>>А почему вы не можете осваивать структуры данных и алгоритмы на шарпе ? Что вам мешает?

DB>> Отсутствие средств процедурного программирования (чтобы показать человеку объявление переменной, нужно объяснять, что такое ООП). Маразм какой-то.
A>Это точно. А еще как-то придется объяснить, почему, собственно, он обязан это ООП использовать.
И в чём проблема ?
Ни кто и не говорил, что учим только шарп и всё.

VD>> Ну, батенька это вы явно куда-то не туда зарулили. С такой любовью к тараху с неодушевленными приедметами вроде граблей первым языком конечно же должен быть какой-нить ассемблер или на худой конец K&R С без всяких плюсов. А то вадь от небольших граблей шишку можно и не заметить. Тут нужны более радикальные средства.

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

A> Я вообще не пойму, какие к черту, простите, грабли?

Как раз , те в которых весь смысл обучения

[поток сознания пропущен]

A>Ну, блин, вот почему-то очень часто встречаю перцев, которые ведут жесточайшую пропаганду этого самого .NET’а. Мол, нафига вам этот PHP – учите/пишите на ASP.NET. Зачем C++/Pascal, пиши на C#. Зачем учить народ C++, если за .NET’ом будущее.

Ни кто не противопоставляет шарп С++у , как первому языку обучения. Вы хоть читаете о чём речь идёт ?

Давайте зададим вопрос в более простой форме. Зачем учить народ языку А, если за Б будущее?

A> Теперь его суют в качестве первого языка для обучения... И т.д., и т.п. Типа, это панацея от всех бед. Чушь какая-то.

Придержите коней Тут речь идёт иммено о том можно ли использовать шарп в качестве первого языка обучения. Чем тот же паскаль + дельфи лучше шарпа ? Почему нельзя время потраченное на изучение этих языков потратить на изучение основ ООП и шарпа или той же java ?

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

+1
... << RSDN@Home 1.1.4 beta 4 rev. 350>>
Re[15]: Обучение программированию
От: GlebZ Россия  
Дата: 08.03.05 16:12
Оценка: 1 (1)
Здравствуйте, ansi, Вы писали:

Dog>>А почему вы не можете осваивать структуры данных и алгоритмы на шарпе ? Что вам мешает?

DB>> Отсутствие средств процедурного программирования (чтобы показать человеку объявление переменной, нужно объяснять, что такое ООП). Маразм какой-то.
A>Это точно. А еще как-то придется объяснить, почему, собственно, он обязан это ООП использовать.

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

VD>> Ну, батенька это вы явно куда-то не туда зарулили. С такой любовью к тараху с неодушевленными приедметами вроде граблей первым языком конечно же должен быть какой-нить ассемблер или на худой конец K&R С без всяких плюсов. А то вадь от небольших граблей шишку можно и не заметить. Тут нужны более радикальные средства.

A>А без этого никак. Весь смысл обучения в том, чтобы наступить на как можно большее число граблей именно во время обучения, чтобы потом их избегать. Я вообще не пойму, какие к черту, простите, грабли? Вас послушать, так до появления .NET программисты ночами не спали, страдали бедные. Никто за них проверки на выход из массива не делал, приходилось работать с этими мерзкими указателями (фу, гадость какая). Бедняжки! Как им было тяжело: и тут и там грабли, лопаты, тяпки всякие. Все с нетерпением ждали появления ЕГО самого (.NETа).

Грабли граблям рознь. Многие грабли, которые были 20 лет назад — совершенно не используются в наше время. За 20 лет наука программирования прошла значительно вперед. Сделаны многие шаги изменению ситуации. Так может не стоит возвращаться к старым граблям?

A>И тут пришел добрый дядя, и сказал: "И прозрейте же, дети мои. Да будет .NET. И забудете все, чему вас учили, ибо .NET — это и есть ВСЕ. .NET вездесущ. .NET — это новая операционная система. .NET — это новый компилятор. .NET – это новый Word. .NET — это чайник на вашей кухне. .NET — это телевизор в вашей спальне. .NET – это новый аппарат искусственного дыхания. .NET — новая 3D двига. NET — это ..." И настала эра .NET. И "прозрел" народ, и стал пихать этот .NET куда его только можно запихнуть.


A>Пора уже новую болезнь вводить – синдром .NET’а. Симптом: при любом упоминании C/C++, Pascal, Java, PHP,... начинает доказывать превосходство .NET над ним. Иногда не без пены у рта...


A>Ну, блин, вот почему-то очень часто встречаю перцев, которые ведут жесточайшую пропаганду этого самого .NET’а. Мол, нафига вам этот PHP – учите/пишите на ASP.NET. Зачем C++/Pascal, пиши на C#. Зачем учить народ C++, если за .NET’ом будущее. Теперь его суют в качестве первого языка для обучения... И т.д., и т.п. Типа, это панацея от всех бед. Чушь какая-то. Я совсем не против .NET, просто не надо в крайности бросаться. Всему свое место. И .NET’у кусок найдется.

В данном топике, я увидел строго наоборот. Можно озаглавить. Нет NET.

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

Не стоит учить архитектуру на ассемблере. Разве что некоторая видимая часть процессора. Вот как инструмент системного программирования, тогда да.

С уважением, Gleb.
Re[15]: Обучение программированию
От: Дарней Россия  
Дата: 09.03.05 13:29
Оценка: +3
Здравствуйте, ansi, Вы писали:

A>Я вообще не пойму, какие к черту, простите, грабли? Вас послушать, так до появления .NET программисты ночами не спали, страдали бедные. Никто за них проверки на выход из массива не делал, приходилось работать с этими мерзкими указателями (фу, гадость какая). Бедняжки! Как им было тяжело: и тут и там грабли, лопаты, тяпки всякие. Все с нетерпением ждали появления ЕГО самого (.NETа).


А ты поищи списки уязвимостей в коммерческих (!) продуктах. Там то указатели да выходы за массив и аукнулись.

A>Пора уже новую болезнь вводить – синдром .NET’а. Симптом: при любом упоминании C/C++, Pascal, Java, PHP,... начинает доказывать превосходство .NET над ним. Иногда не без пены у рта...


Просто люди делятся на две категории. На тех, кто прочувствовал необходимость перехода на собственной шкуре. И на тех, кто еще не прошел стадию офигевания от собственной крутизны, и не набил достаточного количества шишек на своем собственном лбу. Но это проходит... за исключением клинических случаев.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[16]: Обучение программированию
От: ansi  
Дата: 10.03.05 09:41
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Есть такая шняга, через которые многие прошли, в том числе и я. Когда ты переходишь на ООП язык — это не просто введение новых терминов и синтаксиса. Это прежде всего — ломка мышления. Поэтому — чем быстрее человек войдет в него, тем легче пройдет этот процесс. К тому же, показ объявления переменной в терминах ООП, хорошо воспитывает чувство — где не стоит объявлять переменную в процедурном языке.

Согласен, что изменение мышления происходит, но не соглашусь, что настолько сильно. Все-таки процедурное программирование остается в силе, вводятся лишь новые понятия, понимание которых возможно и не приходит сразу, но приходит. Не надо гнать лошадей, от простого к сложному...

GZ>Грабли граблям рознь. Многие грабли, которые были 20 лет назад — совершенно не используются в наше время. За 20 лет наука программирования прошла значительно вперед. Сделаны многие шаги изменению ситуации. Так может не стоит возвращаться к старым граблям?

Тем не менее эти старые грабли активные используются до сих пор. А забытые грабли могут ударить с новой силой.

GZ>В данном топике, я увидел строго наоборот. Можно озаглавить. Нет NET.

Согласен. Хотя я лично ни коим образом не принимаю утверждения, что не надо преподавать его в ВУЗе, т.к. он коммерческий. И я совсем не против .НЕТа, а двумя руками за! Просто у некоторых это перерастает в фанатизм, а я как и прежде уверен, что под каждую задачу найдется своя платформа/компилятор/язык и не существует (во всяком случае пока) средства универсального.

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

GZ>Не стоит учить архитектуру на ассемблере. Разве что некоторая видимая часть процессора. Вот как инструмент системного программирования, тогда да.
А на чем учить? Если рассматривать архитектуру именно процессора, то можно выделить два уровня: логический и физический. Вот логический как раз и изучается с помощью ассемблера. Разве нет?
Re[16]: Обучение программированию
От: ansi  
Дата: 10.03.05 09:41
Оценка: 24 (6)
Здравствуйте, Dog, Вы писали:

Dog>(хехе, какие эмоции, я уже вижу пену у рта)

Круто! А у меня нет зеркала рядом с компом

Dog>И в чём проблема ?

Dog>Ни кто и не говорил, что учим только шарп и всё.
А что потом?

Dog>[поток сознания пропущен]



A>>Ну, блин, вот почему-то очень часто встречаю перцев, которые ведут жесточайшую пропаганду этого самого .NET’а. Мол, нафига вам этот PHP – учите/пишите на ASP.NET. Зачем C++/Pascal, пиши на C#. Зачем учить народ C++, если за .NET’ом будущее.

Dog>Ни кто не противопоставляет шарп С++у , как первому языку обучения. Вы хоть читаете о чём речь идёт ?
Я понял о чем речь. C++ я упомянул просто как пример (можете вставить туда что-нибудь на ваш вкус ).

Dog>Давайте зададим вопрос в более простой форме. Зачем учить народ языку А, если за Б будущее?

A>> Теперь его суют в качестве первого языка для обучения... И т.д., и т.п. Типа, это панацея от всех бед. Чушь какая-то.
Dog>Придержите коней Тут речь идёт иммено о том можно ли использовать шарп в качестве первого языка обучения. Чем тот же паскаль + дельфи лучше шарпа ? Почему нельзя время потраченное на изучение этих языков потратить на изучение основ ООП и шарпа или той же java ?

Хорошо, допустим так — учим диезу или джаве. Ну а дальше? Хорошо, дальше учим плюсам. Тогда где выгода от того, что первым был диез, или джава? Ну да, теперь студень знает ООП, знает что такое GC... И вряд ли ему понравится, что в плюсах нужно самому все контролировать. Понимаете, так устроен человек, что ему психологически тяжело (не то, чтобы тяжело, лучше сказать непонятно) переходить от более легкого к более трудному, когда это более легкое полностью удовлетворяет его вкусы, потребности и задачи. И уж тем более, после диеза писать на турбопаскале будет отвратно. Это своего рода шаг назад, а двигаться вперед приятнее, не правда ли? Это касается не всех конечно, но подавляющего большинства. Допустим с треском, но научили мы его плюсам. Дальше? Боюсь, дальше времени не будет ни на один язык. Чем это плохо?
Чтобы дать ответ на этот вопрос, надо сначала понять саму цель образования. Поверьте, в универститете не учат си-плюс-плюсу, не учат джаве, или паскалю. Это очень невыгодно и неэффективно. В университете в первую очередь учат учиться. Потому как и плюсы и диезы умрут рано или поздно, появятся новые технологии, и что тогда делать человеку, если у него не вырабатано умение учиться? Итак, цель есть, осталось дело за малым — рассмотреть приемы и методы. Приведу два, на мой взгляд, главных:
Первое и наиболее очевидное требование — необходимо поощрять самостоятельную работу студней. Даже не просто поощрять, а настаивать на ней. Т.е. необходимо давать довольно поверхностную информацию по конкретному языку, но в полной мере давать практические задания на многие его возможности/особенности. Кажется немого жестким, но так должно делаться, и более того, так реально делается.
Второе, что необходимо делать — это производить частую, но, разумеется, в разумных пределах, смену языков. Или же их параллельную разработку. Ну, например, на практике по численным методам можно использовать уже освоенный язык, но поощрять использование нового, а на практике по структурам данных/алгоритмам новый уже безоговорочно требовать.
Следующей по важности целью является обучение студента алгоритмированию. Эта цель определяется специальностью, на которую учащийся поступил. Тут, очевидно, язык не важен, практически полная абстракция. Единственное требование — это соответствие возможностей языка поставленным задачам. Пишите хоть на языке, который называется "великий и могучий Русский язык", только вот компилятора для него еще не придумали и тестировать написанную программу вручную преподу врядли понравится.
Например, нам первый семестр читали паскаль и на практике мы делали всякие олимпиадные задачки, вычисляли факториал рекурсией и циклически, ну и прочее... Второй семестр нам читали C++ с одновременным введением в ООП на примере плюсов. В этом же семестре мы изучали алгоритмы с реализацией на паскале. Летняя практика делалась на JavaScript (делал Сапера с алгоритмом разгадывания, как они называли AI). Третий и четвертый семестр (2 курс) мы писали эти алгоритмы на С++ (хотя, скорее на простом C). На третьем курсе численные методы делались сначала на Дельфи (5 семестр), а потом на Java (6 семестр). Причем ни Дельфи, ни Джаву нам никто не читал. Ткнули носом в учебник и сказали читай... Дальше уже было по выбору — пиши на чем хочешь. Компилятор, например, я писал на C++. На третьем же курсе зачитали нам и функциональное программирование, и архитектуру. "Практика на ЭВМ" велась на ассемблере весь третий курс (писали дизассемблер на ассемблере ). .NET (именно .НЕТ, а не C#, т.к. сам c# можно освоить очень быстро, интерес же представляет сама платформа) шел факультативом все на том же третьем курсе (хотя приходили с 3-5 курсов).
Так что я не вижу никаких особых преимуществ ведения диеза первым языком, т.к. особой ценности без изучения .NET'а он из себя не представляет, а с .NET'ом малоподготовленного программиста придется учить дольше, чем он бы учился зная си/паскаль и уж тем более дольше, чем паскаль/си (а менять языки надо часто). Ценности не представляет, потому что это будет практически обычный си/си++, но тогда лучше с си и начать — пусть человек хоть с памятью поработает, посмотрит что да как и ему потом будет понятно, почему диез или джаву сделали управляемыми. То есть он как бы прослеживает эволюцию языков и понимает, что, почему и как было сделано в более новых языках.
Понятно, что весь спектр языков не охватить. И когда диез проживет достаточно долго, чтобы называться дедушкой, а остальные уйдут на покой (как, например, бэйсик в своей первоначальной форме) то он наверное и будет вводиться как первый язык, а пока не дорос еще.
Аргументы вроде того, что это современный язык и человек будет работать с ним в будущем, а остальные уходят в прошлое, не считаю весомыми, так как после двух/трех лет обучения в ВУЗе он осваивается на ура в кратчайшие сроки самостоятельно без каких-либо проблем, потому как преподаватели уже достигли своей цели в какой-то мере — научили человека учиться. И целью обучения, повторюсь, не является научить человка какому-то языку.
Резюмируя все вышенаписанное, приведу аргументы в пользу изучения языков от простых к более сложным (практически в хронологическом порядке):

1) Движение от простого к сложному наиболее понятно для человека, движение же в обратном порядке вызывает некий дискомфорт.

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

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

4) Хорошо прослеживается эволюция языков. Видны проблемы и способы их решения. История — важная наука.

5) В обоих случаях к концу обучения человек будет знать C# и .NET. Только в случае движения от простого к сложному он этим не ограничится. Более того, способность к самообучению у него будет выше, а это очень важное качество.

Жду весомых контраргументов/поправок.
Re[17]: Обучение программированию
От: Дарней Россия  
Дата: 10.03.05 10:52
Оценка:
Здравствуйте, ansi, Вы писали:

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


А зачем переходить, если его (и его начальство ) всё полностью удовлетворяет?

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


И правильно. И нефиг

A>1) Движение от простого к сложному наиболее понятно для человека, движение же в обратном порядке вызывает некий дискомфорт.


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


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


A>4) Хорошо прослеживается эволюция языков. Видны проблемы и способы их решения. История — важная наука.


У вас, товарищ, небольшая подмена понятий происходит. Простые в применении — это как раз современные языки, а сложные — это как раз языки старые. (надеюсь, никто не станет спорить, что C++ в применении сложнее C#, а assembler сложнее C++)
Если принять эту поправку, то я полностью согласен :-D
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[17]: Обучение программированию
От: Dog  
Дата: 10.03.05 10:57
Оценка:
A>>>Ну, блин, вот почему-то очень часто встречаю перцев, которые ведут жесточайшую пропаганду этого самого .NET’а. Мол, нафига вам этот PHP – учите/пишите на ASP.NET. Зачем C++/Pascal, пиши на C#. Зачем учить народ C++, если за .NET’ом будущее.
Dog>>Ни кто не противопоставляет шарп С++у , как первому языку обучения. Вы хоть читаете о чём речь идёт ?
A>Я понял о чем речь. C++ я упомянул просто как пример (можете вставить туда что-нибудь на ваш вкус ).
Это ваш пример

Dog>>Придержите коней Тут речь идёт иммено о том можно ли использовать шарп в качестве первого языка обучения. Чем тот же паскаль + дельфи лучше шарпа ? Почему нельзя время потраченное на изучение этих языков потратить на изучение основ ООП и шарпа или той же java ?

A>Хорошо, допустим так — учим диезу или джаве. Ну а дальше? Хорошо, дальше учим плюсам. Тогда где выгода от того, что первым был диез, или джава? Ну да, теперь студень знает ООП, знает что такое GC... И вряд ли ему понравится, что в плюсах нужно самому все контролировать. Понимаете, так устроен человек, что ему психологически тяжело (не то, чтобы тяжело, лучше сказать непонятно) переходить от более легкого к более трудному, когда это более легкое полностью удовлетворяет его вкусы, потребности и задачи.
Но ведь обучение как раз и идёт от простого к сложному.

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

А зачем ?

A>Это своего рода шаг назад, а двигаться вперед приятнее, не правда ли? Это касается не всех конечно, но подавляющего большинства. Допустим с треском, но научили мы его плюсам. Дальше? Боюсь, дальше времени не будет ни на один язык.

Изучение C++ ни как нельзя назвать шагом назад. Хорошо, давайте урежем изучение C++ на половину и вместо него впихнём пару языков. Каких? Что в результате получим? К 5-му курку студент не знает ни С++ и уже с успехом забыл всё остальное.

A> Чем это плохо?

A>Чтобы дать ответ на этот вопрос, надо сначала понять саму цель образования. Поверьте, в универститете не учат си-плюс-плюсу, не учат джаве, или паскалю. Это очень невыгодно и неэффективно. В университете в первую очередь учат учиться.
Хочется прослезиться. Приберегите эти красивые слова для того кто в них верит. Существующая система образования уж ни как не учит учится. Ни высшая ни уж тем более средняя. Хороший пример. Моя знакомая после института пошла получать второе образование в MBA. И была просто поражена той системой которая там существует. Что бы учить учится надо хотя бы что-то учить. А как учатся наши студенты. От сессии до сессии живут студенты весело. То обучение, которое даёт возможность подготовится к любому предмету за 3 дня и сдать его, ни как нельзя назвать хорошим.

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

Вернитесь к реальности. Читайте выше.

A> Итак, цель есть, осталось дело за малым — рассмотреть приемы и методы. Приведу два, на мой взгляд, главных:

A>Первое и наиболее очевидное требование — необходимо поощрять самостоятельную работу студней. Даже не просто поощрять, а настаивать на ней.
Поощрять и заставлять — две разные вещи. Осознание необходимости поощрения ещё ничего не даёт. Давайте реальные примеры. Я знаю один, который будет актуален всегда — то сумма с несколькими нулями Обладая опытом, а не знаниями, в начале я буду гораздо ближе к этой цели.

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

Мне это напоминает вот это. Вот вам ребята 7 нот, а завтра напишите мне сонату.

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

Что бы что-то требовать, для начала надо что-то дать

A>Следующей по важности целью является обучение студента алгоритмированию. Эта цель определяется специальностью, на которую учащийся поступил. Тут, очевидно, язык не важен, практически полная абстракция. Единственное требование — это соответствие возможностей языка поставленным задачам. Пишите хоть на языке, который называется "великий и могучий Русский язык", только вот компилятора для него еще не придумали и тестировать написанную программу вручную преподу врядли понравится.

Если язык не важен, то почему нельзя писать, на том с чем он столкнётся ? Зачем для этого учить лишние языки (фортраны, паскали) Не проще ли на основе применения этих алгоритмов заодно углубить свои познания в том же C# или Java ?

A>Например, нам первый семестр читали паскаль и на практике мы делали всякие олимпиадные задачки, вычисляли факториал рекурсией и циклически, ну и прочее...

Вы не смогли бы этого сделать на C# зная синтаксис в нужных вам пределах? Знание платформы тут не нужно.

A>Второй семестр нам читали C++ с одновременным введением в ООП на примере плюсов. В этом же семестре мы изучали алгоритмы с реализацией на паскале. Летняя практика делалась на JavaScript (делал Сапера с алгоритмом разгадывания, как они называли AI). Третий и четвертый семестр (2 курс) мы писали эти алгоритмы на С++ (хотя, скорее на простом C). На третьем курсе численные методы делались сначала на Дельфи (5 семестр), а потом на Java (6 семестр). Причем ни Дельфи, ни Джаву нам никто не читал. Ткнули носом в учебник и сказали читай... Дальше уже было по выбору — пиши на чем хочешь. Компилятор, например, я писал на C++. На третьем же курсе зачитали нам и функциональное программирование, и архитектуру. "Практика на ЭВМ" велась на ассемблере весь третий курс (писали дизассемблер на ассемблере ). .NET (именно .НЕТ, а не C#, т.к. сам c# можно освоить очень быстро, интерес же представляет сама платформа) шел факультативом все на том же третьем курсе (хотя приходили с 3-5 курсов).

А в результате ? С чем вы столкнулись ? Какая была ваша первая работа ?

A>Так что я не вижу никаких особых преимуществ ведения диеза первым языком, т.к. особой ценности без изучения .NET'а он из себя не представляет, а с .NET'ом малоподготовленного программиста придется учить дольше, чем он бы учился зная си/паскаль и уж тем более дольше, чем паскаль/си (а менять языки надо часто). Ценности не представляет, потому что это будет практически обычный си/си++,



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

Идите от простого к сложному.

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

Лишь потому что это дедушка ??? Его что будут преподавать как-то подругому ?

A>Аргументы вроде того, что это современный язык и человек будет работать с ним в будущем, а остальные уходят в прошлое, не считаю весомыми, так как после двух/трех лет обучения в ВУЗе он осваивается на ура в кратчайшие сроки самостоятельно без каких-либо проблем, потому как преподаватели уже достигли своей цели в какой-то мере — научили человека учиться. И целью обучения, повторюсь, не является научить человка какому-то языку.

При поступленни на работу будут смотреть на ваш опыт И углубленное знание того с чем вы столкнётесь, а значит и больший опыт. Дадут вам неоспоримые преимущества. А дальше в сможете развиваться и расширять ваши знания как вам угодно, не отвлекаясь на изучение того чем вы занимаетесь. Плюс в этом большое значение играет ваше желание. Есть желание — вы с успехом будете развиваься и дальше , нет — вам не помогут никакие институты.

A>Резюмируя все вышенаписанное, приведу аргументы в пользу изучения языков от простых к более сложным (практически в хронологическом порядке):

A>1) Движение от простого к сложному наиболее понятно для человека, движение же в обратном порядке вызывает некий дискомфорт.
C# -> C++ не вижу противоречий.

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

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

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

Менять образ мышления вы будете перескакивая в C++ на Форт или на Асм. Но ни как не с паскаля на фортран или делфи.

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

Для чего вообще тогда нужны институты?

A>4) Хорошо прослеживается эволюция языков. Видны проблемы и способы их решения. История — важная наука.

A>5) В обоих случаях к концу обучения человек будет знать C# и .NET. Только в случае движения от простого к сложному он этим не ограничится. Более того, способность к самообучению у него будет выше, а это очень важное качество.
A>Жду весомых контраргументов/поправок.
Реальность такова.
1. Нас не учат учится.
2. Самообучение подразумевает наличие нейкой мотивации. А она как раз выше когда вы уже работаете. А в данным момент я не вижу никакой мотивации в изучении паскаля и т.д. , кроме того что бы просто сдать зачёт\экзамен.
3. Упор на изучение мэйнстрима (а это не только C# )даёт вам ощутимый стартап. После чего всё зависит от вас и вашего желания расширять свои знания.
4. Это не фанатизм — это реализм. И пока кроме пустых эмоций , ну и вашего письма я не вижу ничего.
Где-то между собакой и богом.
Re[18]: Обучение программированию
От: Dog  
Дата: 10.03.05 10:59
Оценка:
A>>4) Хорошо прослеживается эволюция языков. Видны проблемы и способы их решения. История — важная наука.
Д>У вас, товарищ, небольшая подмена понятий происходит. Простые в применении — это как раз современные языки, а сложные — это как раз языки старые. (надеюсь, никто не станет спорить, что C++ в применении сложнее C#, а assembler сложнее C++)
+1

Д>Если принять эту поправку, то я полностью согласен :-D

С чем? Что обучение программистов надо отдать на откуп самообучению ?
Где-то между собакой и богом.
Re[19]: Обучение программированию
От: Дарней Россия  
Дата: 10.03.05 11:38
Оценка: +1 -1
Здравствуйте, Dog, Вы писали:

Dog>С чем? Что обучение программистов надо отдать на откуп самообучению ?


С тем, что обучение должно идти от простого к сложному.
Иными словами — сначала C# или Ява, потом основы C++, потом C, а потом уже — трубо-паскаль или дельфи, если вдруг найдутся тонкие ценители извращений.
Параллельно — что-нибудь из функциональных языков. Только на примере современных средств, а не каких-нибудь допотопных монстров
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Обучение программированию
От: WFrag США  
Дата: 10.03.05 17:15
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>У вас, товарищ, небольшая подмена понятий происходит. Простые в применении — это как раз современные языки, а сложные — это как раз языки старые.


Scheme? 1975 год. Очень простой и естественный синтаксис.

Ну а вообще проще/сложнее — понятие субъективное.
RSDN@Home 1.1.4 beta 3 r297, играет silent
Re[13]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.03.05 02:16
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Это с каких пор аннотация типов я вляется инструментом выработки стиля?

ANS>И вообще, вместо общих заявляний привёл бы пример какой. Стиля до и
ANS>стиля после.

С давних. Хотя конечно речь идет не об аннотации типов, а о статической типизации, что не совсем равнозначные понятия.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.03.05 02:16
Оценка: :))
Здравствуйте, Дарней, Вы писали:

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


Кстати, они (опооненты) на нашей стороне! Они же предлагают детишек сразу в темную комнату с граблаями. Тогда эти детишки все что нужно прочувствую в раз. Так сказать обучение палкой. Далее им останется только показать пряник.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Обучение программированию
От: Дарней Россия  
Дата: 11.03.05 04:20
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Scheme? 1975 год. Очень простой и естественный синтаксис.


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

WF>Ну а вообще проще/сложнее — понятие субъективное.


Его очень просто измерить — дать одну и ту же задачу двум группам, которые будут решать ее двумя разными инструментами.
Не вижу здесь ничего субъективного
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Обучение программированию
От: ansi  
Дата: 11.03.05 05:33
Оценка:
Здравствуйте, Дарней, Вы писали:

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

Д>И правильно. И нефиг
Усе ясно...

Д>У вас, товарищ, небольшая подмена понятий происходит. Простые в применении — это как раз современные языки, а сложные — это как раз языки старые. (надеюсь, никто не станет спорить, что C++ в применении сложнее C#, а assembler сложнее C++)

Д>Если принять эту поправку, то я полностью согласен :-D
Да, прошу прощения за неоднозначность. Несомненно, для практического применения C# куда легче, чем C++ (хотя и не всегда), и уж тем более асма. Я имел в виду сложность не в практическом применении, но сложность идеологическую. Т.е. уровень абстракции от архитектуры и количество идеологический понятий. В данном случае цепочка уже будет обратная: asm -> C++ -> C#. Так как речь идет о процессе обучения, то понятно, что о реальном практическом применении говорить рано (недостатки ранних языков вступают в силу тем сильнее, чем объемней задача, а в универе такие встречаются редко), именно поэтому, на мой взгляд, рассматривать сложность надо с точки зрения обучения этим языкам.
Как я вижу прцесс обучения:
1) Паскаль. Понятия переменной, массива, функции, операторов ветвления, циклов. Работа с памятью/указателями.
2) Объектный Паскаль (не обязательно Дельфи). Понятия класса, объекта, метода, наследования.
3) Си++. Все конструкции и правила паскаля справедливы для си++. Меняется лишь их синтаксис, который изучается очень быстро (день-два — вполне реальнавя цифра). Вводятся понятия множественного наследования, дружественных классов и методов, виртуальных функций, шаблонов.
4) Java. Опять же все конструкции переносятся из си++/паскаль. Понятие исключений, GC, интерфейсов, боксинга.
5) C#. Разумеется все основные конструкции переносятся из Java/си++/паскаль. Делегаты, маршалирование, и пр...

Конечно, можно пройти все эти этапы только на диезе и затратить, может, несколько меньшее время (но разницы во времени не хватит на остальные языки). И потом приступить к обучению остальным языкам. Конечно, паскальи выбрасываются сразу (нет смысла). Остаются Java и C++. Но ведь это время лучше потратить на сами платформы Java и .NET.

Здравствуйте, Dog, Вы писали:
A>>Я понял о чем речь. C++ я упомянул просто как пример (можете вставить туда что-нибудь на ваш вкус ).
Dog>Это ваш пример
Ну да, мой. Но всего-лишь пример

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

Dog>А зачем ?
А вы изучали паскаль? Вам от этого стало плохо, или вы считаете, что только пошло на пользу?

A>>Это своего рода шаг назад, а двигаться вперед приятнее, не правда ли? Это касается не всех конечно, но подавляющего большинства. Допустим с треском, но научили мы его плюсам. Дальше? Боюсь, дальше времени не будет ни на один язык.

Dog>Изучение C++ ни как нельзя назвать шагом назад. Хорошо, давайте урежем изучение C++ на половину и вместо него впихнём пару языков. Каких? Что в результате получим? К 5-му курку студент не знает ни С++ и уже с успехом забыл всё остальное.
Именно шаг назад. Почему, уже объяснил выше. Возможность забыть язык мне кажется маловероятной, разве что только библиотеку подзабыть немного можно, но восстанавливается в памяти это дело с быстротой и легкостью — как езда на велосипеде.

A>>Чтобы дать ответ на этот вопрос, надо сначала понять саму цель образования. Поверьте, в универститете не учат си-плюс-плюсу, не учат джаве, или паскалю. Это очень невыгодно и неэффективно. В университете в первую очередь учат учиться.

Dog>Хочется прослезиться. Приберегите эти красивые слова для того кто в них верит. Существующая система образования уж ни как не учит учится. Ни высшая ни уж тем более средняя. Хороший пример. Моя знакомая после института пошла получать второе образование в MBA. И была просто поражена той системой которая там существует. Что бы учить учится надо хотя бы что-то учить. А как учатся наши студенты. От сессии до сессии живут студенты весело. То обучение, которое даёт возможность подготовится к любому предмету за 3 дня и сдать его, ни как нельзя назвать хорошим.

То, что знакомая была поражена какой-то системой образования мне не кажется хорошим примером. Конкретнее, пожалуйста. И я не говорю, что наша система — идеал. Она отличется, например, от штатовской тем, что у нас готовят специалистов более широкого профиля, чем у них. Еще одна отличительная черта штатовской системы — это как раз самостоятельная работа студентов. Лекций там проводится гораздо меньше, чем у нас. В этом конечно есть свои плюсы и минусы, но речь то не об этом.
Три дня считаю вполне нормальным сроком для подготовки к экзамену, если лекции посещались. Ну а если за 3 дня перед экзаменом впервые узнал название предмета, то и ежу понятно, что это нереально.
Я не знаю, где учились вы, но в моем вузе именно учат учиться. Приведу простой пример — два студента подходят к преподавателю по архитектуре:
— Нам немного непонятно по сопроцу.
— А я разве вам еще не давал задания по нему?
— Нет.
— Получите.
Издевательство, по-вашему? Тем не менее, люди пошли и разобрались во всем сами, а потом уже подходили с конкретными вопросами, касающимися отдельных тонкостей работы ФПУ.

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

Dog>Вернитесь к реальности. Читайте выше.
А я и не уходил... Читайте выше

A>>Первое и наиболее очевидное требование — необходимо поощрять самостоятельную работу студней. Даже не просто поощрять, а настаивать на ней.

Dog>Поощрять и заставлять — две разные вещи. Осознание необходимости поощрения ещё ничего не даёт. Давайте реальные примеры. Я знаю один, который будет актуален всегда — то сумма с несколькими нулями Обладая опытом, а не знаниями, в начале я буду гораздо ближе к этой цели.
Согласен — n-ая сумма один из наиболее сильных стимулов. Я же написал, что давать информацию поверхностно, а давать задачи на более детальное. Зачет/экзамен хотят получить все и ничего не останется делать, как самому исследовать данный вопрос, или скатать у кого-нибудь. Тем, кто тупо скатывает, как вы говорите "не помогут ни какие институты".

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

Dog>Мне это напоминает вот это. Вот вам ребята 7 нот, а завтра напишите мне сонату.
Вы сильно преувеличиваете. На принцип контраста не ведусь.

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

Dog>Что бы что-то требовать, для начала надо что-то дать
Я разве сказал, что требовать не давая? Пожалуйста, читаются лекции по си и параллельно делаются на нем практические задания.

A>>Следующей по важности целью является обучение студента алгоритмированию. Эта цель определяется специальностью, на которую учащийся поступил. Тут, очевидно, язык не важен, практически полная абстракция. Единственное требование — это соответствие возможностей языка поставленным задачам. Пишите хоть на языке, который называется "великий и могучий Русский язык", только вот компилятора для него еще не придумали и тестировать написанную программу вручную преподу врядли понравится.

Dog>Если язык не важен, то почему нельзя писать, на том с чем он столкнётся ? Зачем для этого учить лишние языки (фортраны, паскали) Не проще ли на основе применения этих алгоритмов заодно углубить свои познания в том же C# или Java ?
Простое написание алгоритмов вряд ли поможет углубить познания в том же C# или Java. Там ведь используются элементарные конструкции. Но, допустим, курс Интернет-технологий, или баз данных это позволит, и тут уже глупо требовать паскали или плюсы.

A>>Например, нам первый семестр читали паскаль и на практике мы делали всякие олимпиадные задачки, вычисляли факториал рекурсией и циклически, ну и прочее...

Dog>Вы не смогли бы этого сделать на C# зная синтаксис в нужных вам пределах? Знание платформы тут не нужно.
Конечно можно. Только смысла в этом нет. То, что мы написали пару задачек на C# никоим образом не прибавит полезного опыта программирования на C#.

A>>Второй семестр нам читали C++ с одновременным введением в ООП на примере плюсов. В этом же семестре мы изучали алгоритмы с реализацией на паскале. Летняя практика делалась на JavaScript (делал Сапера с алгоритмом разгадывания, как они называли AI). Третий и четвертый семестр (2 курс) мы писали эти алгоритмы на С++ (хотя, скорее на простом C). На третьем курсе численные методы делались сначала на Дельфи (5 семестр), а потом на Java (6 семестр). Причем ни Дельфи, ни Джаву нам никто не читал. Ткнули носом в учебник и сказали читай... Дальше уже было по выбору — пиши на чем хочешь. Компилятор, например, я писал на C++. На третьем же курсе зачитали нам и функциональное программирование, и архитектуру. "Практика на ЭВМ" велась на ассемблере весь третий курс (писали дизассемблер на ассемблере ). .NET (именно .НЕТ, а не C#, т.к. сам c# можно освоить очень быстро, интерес же представляет сама платформа) шел факультативом все на том же третьем курсе (хотя приходили с 3-5 курсов).

Dog>А в результате ? С чем вы столкнулись ? Какая была ваша первая работа ?
Первая была на php. И что из этого?

A>>Так что я не вижу никаких особых преимуществ ведения диеза первым языком, т.к. особой ценности без изучения .NET'а он из себя не представляет, а с .NET'ом малоподготовленного программиста придется учить дольше, чем он бы учился зная си/паскаль и уж тем более дольше, чем паскаль/си (а менять языки надо часто). Ценности не представляет, потому что это будет практически обычный си/си++,

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

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

Dog>Лишь потому что это дедушка ??? Его что будут преподавать как-то подругому ?
Нет, не потому, что это дедушка. Потому что он будет уже достаточно примитивен по сравнению с другими (для будущего времени, разумеется), чтобы можно было его вводить первым.

A>>Аргументы вроде того, что это современный язык и человек будет работать с ним в будущем, а остальные уходят в прошлое, не считаю весомыми, так как после двух/трех лет обучения в ВУЗе он осваивается на ура в кратчайшие сроки самостоятельно без каких-либо проблем, потому как преподаватели уже достигли своей цели в какой-то мере — научили человека учиться. И целью обучения, повторюсь, не является научить человка какому-то языку.

Dog>При поступленни на работу будут смотреть на ваш опыт И углубленное знание того с чем вы столкнётесь, а значит и больший опыт. Дадут вам неоспоримые преимущества. А дальше в сможете развиваться и расширять ваши знания как вам угодно, не отвлекаясь на изучение того чем вы занимаетесь. Плюс в этом большое значение играет ваше желание. Есть желание — вы с успехом будете развиваься и дальше , нет — вам не помогут никакие институты.
Университетский опыт трудно назвать опытом, который удовлетворит работодателя. Обычно под опытом подразумевается опыт реального промышленного программирования. Именно его и будут требовать. То, что вы написали супер-мега дипломную работу на C# конечно учтут, но...

A>>Резюмируя все вышенаписанное, приведу аргументы в пользу изучения языков от простых к более сложным (практически в хронологическом порядке):

A>>1) Движение от простого к сложному наиболее понятно для человека, движение же в обратном порядке вызывает некий дискомфорт.
Dog>C# -> C++ не вижу противоречий.
Не принимается. ^^TOP^^

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

Dog>Если вы говорите, что для этого языка необходимо длительное изучение то так оно и есть, и прыгая по другим языкам, ближе к цели в изучаемом языке вы не окажетесь.
Окажемся. И не только к этой цели. ^^TOP^^

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

Dog>Менять образ мышления вы будете перескакивая в C++ на Форт или на Асм. Но ни как не с паскаля на фортран или делфи.
Не так кардинально, разумеется, но буду. У каждого языка свои особенности. Но главное фраза здесь — не фраза об образе мышления...

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

Dog>Для чего вообще тогда нужны институты?
Мой препод — профессор по матану всегда говорил, что его задача лишь в том, чтобы указать направление в котором надо двигаться, а идти нужно самому (хотя, разумеется, он поможет, если что).

A>>Жду весомых контраргументов/поправок.

Dog>Реальность такова.
Dog>1. Нас не учат учится.
Вас — может быть. Нас учат. ВУЗ ВУЗу рознь. Не могу сказать ничего по этому поводу.

Dog>2. Самообучение подразумевает наличие нейкой мотивации. А она как раз выше когда вы уже работаете. А в данным момент я не вижу никакой мотивации в изучении паскаля и т.д. , кроме того что бы просто сдать зачёт\экзамен.

А чем не мотивация? Не платить же студентам деньги (хотя платят стипендию, если учишься хорошо) только за то, что они учатся самостоятельно.

Dog>3. Упор на изучение мэйнстрима (а это не только C# )даёт вам ощутимый стартап. После чего всё зависит от вас и вашего желания расширять свои знания.

На мой взгляд даст, но лишь на некоторое время. Мое мнение таково, что изучать надо не мэйнстрим, а языки в целом. Любой мэйнстрим растет оттуда.

Dog>4. Это не фанатизм — это реализм. И пока кроме пустых эмоций , ну и вашего письма я не вижу ничего.

Фанатизм... Я такого не говорил! Эмоции не могут быть пустыми во-первых, а во-вторых, их не может не быть, и в-третьих, их не так уж и много. И у вас, кстати, я их тоже наблюдаю. В любом случае, я привел свои аргументы, но от вас же взамен ничего не получил, кроме того, что с диезом придется работать в будущем. Но, повторюсь, изучен он будет в любом случае, первым, пятым, десятым — не важно. А то, что в универе вы его использовали пару-тройку лет, на работодателя особого впечатления не произведет. Так что этот аргумент не принимаю. Может еще есть какие? Распишите процесс обучения, как вам кажется наиболее лучший, и мы его обсудим.
Re[20]: Обучение программированию
От: WFrag США  
Дата: 11.03.05 08:20
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>Синтаксис пусть заботит разработчиков компиляторов. А мы тут вроде бы говорили про обучению программированию, а не синтаксису.


Да, что-то я не то сказал. Я имел ввиду программирование на нем — уж попроще C++ будет, это точно. А возможностей — выше крыши.

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

Д>Не вижу здесь ничего субъективного

Например для идиота (условное понятие ) проще понять технологию Copy+Paste, чем грамотное использование тех же макросов LISP. Для него (идиота) проще будет скопипастить кусок кода раз десять, для кого-то поумней — написать некий макрос или что-нибудь в этом роде.
Re[21]: Обучение программированию
От: Дарней Россия  
Дата: 11.03.05 10:56
Оценка: +1
Здравствуйте, WFrag, Вы писали:

WF>Да, что-то я не то сказал. Я имел ввиду программирование на нем — уж попроще C++ будет, это точно. А возможностей — выше крыши.


Это просто язык из совсем другой группы — сравнивать его с С++ смысла нет. Попробуй лучше сравнить тот же самый Scheme и первоначальный Лисп

WF>Например для идиота (условное понятие ) проще понять технологию Copy+Paste, чем грамотное использование тех же макросов LISP. Для него (идиота) проще будет скопипастить кусок кода раз десять, для кого-то поумней — написать некий макрос или что-нибудь в этом роде.


Вот о чем речь и шла. Если начинать обучение с Паскаля, то привычка использовать именно copy-paste проникнет до самого мозга костей.
А если дать этому идиоту мало-мальски сложный проект и хорошие инструменты — то необходимость хорошего стиля будет усвоена очень быстро
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[19]: Обучение программированию
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.03.05 20:27
Оценка: +3 :)
Здравствуйте, ansi, Вы писали:


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


Это у тебя от недостатка опыта. Забываются года через 3 работы очень даже.

Dog>>Лишь потому что это дедушка ??? Его что будут преподавать как-то подругому ?

A>Нет, не потому, что это дедушка. Потому что он будет уже достаточно примитивен по сравнению с другими (для будущего времени, разумеется), чтобы можно было его вводить первым.

Это если он не будет менятся. А на практике к примеру сегодняшная Java совсем уже не та Java, которая была изначально.
... << RSDN@Home 1.1.4 beta 4 rev. 350>>
AVK Blog
Re[16]: Обучение программированию
От: Astaroth Россия  
Дата: 11.03.05 21:31
Оценка:
Здравствуйте, Dog, Вы писали:

Dog>Давайте зададим вопрос в более простой форме. Зачем учить народ языку А, если за Б будущее?


Тут стоит проблема — доказать утверждение "За Б — будущее".
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[17]: Обучение программированию
От: Astaroth Россия  
Дата: 11.03.05 21:31
Оценка: +1
Здравствуйте, ansi, Вы писали:

<skip>

Повезло, блин, с ВУЗом...
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[18]: Обучение программированию
От: Astaroth Россия  
Дата: 11.03.05 21:31
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>А зачем переходить, если его (и его начальство ) всё полностью удовлетворяет?


А если нет? Всяко бывает.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[20]: Обучение программированию
От: Astaroth Россия  
Дата: 12.03.05 11:30
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Иными словами — сначала C# или Ява, потом основы C++, потом C


А если преподавать наоборот, то придёт понимание того, почему языки развивались именно так и почему в них есть именно такие фичи. А также понимание того, что каждый из них — полезный и нужный.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[19]: Обучение программированию
От: Дарней Россия  
Дата: 14.03.05 06:22
Оценка: 9 (1)
Здравствуйте, ansi, Вы писали:

A>Конечно, можно пройти все эти этапы только на диезе и затратить, может, несколько меньшее время (но разницы во времени не хватит на остальные языки). И потом приступить к обучению остальным языкам. Конечно, паскальи выбрасываются сразу (нет смысла). Остаются Java и C++. Но ведь это время лучше потратить на сами платформы Java и .NET.


Вот именно, что все этапы можно пройти на одном языке. Ну за исключением шаманских танцев с С++ шаблонами, но это все равно тема для самых заключительных этапов обучения.
Изучение множества никому не нужных языков будет только засорять голову ненужными деталями, превращая обучение программированию в обучение языкам программирования
Вот объясните мне кто-нибудь, какую практическую пользу принесет выпускникам умение эмулировать нормальные циклы с помощью дополнительынх переменных, или возводить в степень с помощью логарифмов?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Обучение программированию
От: Дарней Россия  
Дата: 14.03.05 06:35
Оценка: +1 :)
Здравствуйте, Astaroth, Вы писали:

A>А если преподавать наоборот, то придёт понимание того, почему языки развивались именно так и почему в них есть именно такие фичи.


Если изучить несколько языков — оно в любом случае придёт.

A>А также понимание того, что каждый из них — полезный и нужный.


не все йогурты одинаково полезны....
расскажи это тем, кто имел дело с бейсик-программистами
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[22]: Обучение программированию
От: Astaroth Россия  
Дата: 14.03.05 06:45
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>А если преподавать наоборот, то придёт понимание того, почему языки развивались именно так и почему в них есть именно такие фичи.

Д>Если изучить несколько языков — оно в любом случае придёт.

Просто у тех, кто начинал с языков/платформ уровня C#, Java, Delphi к языкам вроде С складывается отношение как к устаревшим, немодным и ненужным. Это нехорошо ИМХО.
@@wamp
http://livejournal.com/users/breqwas
Re[23]: Обучение программированию
От: Дарней Россия  
Дата: 14.03.05 06:48
Оценка:
Здравствуйте, Astaroth, Вы писали:

A>Просто у тех, кто начинал с языков/платформ уровня C#, Java, Delphi к языкам вроде С складывается отношение как к устаревшим, немодным и ненужным. Это нехорошо ИМХО.


собственно, это так и есть
Ну за исключением ненужности. Применяться эти языки будут еще долго — унаследованное ПО, встроенные устройства и т.п.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: Обучение программированию
От: Astaroth Россия  
Дата: 14.03.05 07:04
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>собственно, это так и есть

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

Да, но зачем студентам об этом знать? Влад потом и так расскажет
Собственно, писал про это тут
Автор: Astaroth
Дата: 09.02.05
(не в смысле про интерфейс — а в смысле про Delphi и результат того, что C кажется ненужным-немодным)
@@wamp
http://livejournal.com/users/breqwas
Re[25]: Обучение программированию
От: Дарней Россия  
Дата: 14.03.05 08:05
Оценка:
Здравствуйте, Astaroth, Вы писали:

A>Да, но зачем студентам об этом знать? Влад потом и так расскажет

A>Собственно, писал про это тут
Автор: Astaroth
Дата: 09.02.05
(не в смысле про интерфейс — а в смысле про Delphi и результат того, что C кажется ненужным-немодным)


Интерфейс тут собственно и ни при чем, то же самое можно сказать про любое средство высокого уровня. Так что же, гнать всех палкой на изучение ассемблера?
Сначала нужно научиться писать программы, и только потом — их оптимизировать. Premature optimizations, не забыл?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Обучение программированию
От: ansi  
Дата: 14.03.05 09:56
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Конечно, можно пройти все эти этапы только на диезе и затратить, может, несколько меньшее время (но разницы во времени не хватит на остальные языки). И потом приступить к обучению остальным языкам. Конечно, паскальи выбрасываются сразу (нет смысла). Остаются Java и C++. Но ведь это время лучше потратить на сами платформы Java и .NET.


Д>Вот именно, что все этапы можно пройти на одном языке. Ну за исключением шаманских танцев с С++ шаблонами, но это все равно тема для самых заключительных этапов обучения.


Можно, конечно, и шубу в трусы заправить — никто не спорит... Вопрос то в другом — где польза? Честно говоря, лично меня бы закумарило 5 лет клепать на диезе — никакого разнообразия. И толку-то? Ну какая от этого польза, расскажите люди добрые, шоб я наконец понял! Привидите мне хотя бы один весомый аргумент, и я пойду краситься в пепельного блондина. Ну вышел бы я "Программистом C#" и что? Пока же я понял, что вы предлагаете клепать мейнстрим-программистов, или даже сказать простых мэйнстрим-кодеров...
Кстати, интересно, а чему учили Вас? Принес ли Вам вред тот же паскаль, или может только пользу? А так же, сколько времени ушло у Вас на изучение .NET/C#? И согласились бы Вы лично на своей шкуре опробовать предлагаемую Вами же методику обучения?

Д>Изучение множества никому не нужных языков будет только засорять голову ненужными деталями, превращая обучение программированию в обучение языкам программирования

Я раскусил его! Он — засланец из министерства образования РФ, который несет в массы пропаганду необходимости и полезности проводимых сейчас реформ в образовании!!!
Вот я еще параллельно учусь на менеджера, а там преподают "Историю менеджмента". Вот зачем мне голову лишним забивать? Где мне это пригодится? Урезать, однозначно! Маркетинг преподают. А нахрена мне маркетинг, я же менеджер! Пусть маркетологи и изучают свой маркетинг. Короче, под нож!!! Философия есть. Хотя она везде есть... Короче, пусть философы и думают — у них голова большая...
Ну не должно быть образование односторонним. Студент должен пахать как лошадь эти пять лет, чтобы потом расслабляться. Но никак не наоборот. Тяжело, как говорится, в учении — легко в бою.

Д>Вот объясните мне кто-нибудь, какую практическую пользу принесет выпускникам умение эмулировать нормальные циклы с помощью дополнительынх переменных, или возводить в степень с помощью логарифмов?

Да конечно никакой, что ты — .NET все сделает

Д>фанатик — это тот, кто не приемлет логических аргументов. Пока что все дотнетчики — это люди, которые мигрировали с других платформ. Дотнет слишком еще молод, чтобы у него появились фанатики, как у Паскаля или Бейсика.

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

A>>А также понимание того, что каждый из них — полезный и нужный.

Д>не все йогурты одинаково полезны....
Так бы и сказал: мой нежный желудок способен хавать не все йогурты.
Re[25]: Обучение программированию
От: ansi  
Дата: 14.03.05 10:02
Оценка:
Здравствуйте, Astaroth, Вы писали:
A>Да, но зачем студентам об этом знать? Влад потом и так расскажет
A>Собственно, писал про это тут
Автор: Astaroth
Дата: 09.02.05
(не в смысле про интерфейс — а в смысле про Delphi и результат того, что C кажется ненужным-немодным)


Взято из приведенной ссылки:

Вывод: простота создания пользовательского интерфейса плодит не будущих программеров, а таких вот кулхацкеров, которые всё что угодно напишут.
Copyright (c) Astaroth

Спасибо, рассмешил
Re[20]: Обучение программированию
От: Dog  
Дата: 14.03.05 10:04
Оценка:
Д>Вот именно, что все этапы можно пройти на одном языке. Ну за исключением шаманских танцев с С++ шаблонами, но это все равно тема для самых заключительных этапов обучения.
Д>Изучение множества никому не нужных языков будет только засорять голову ненужными деталями, превращая обучение программированию в обучение языкам программирования
Золотые слова
Где-то между собакой и богом.
Re[21]: Обучение программированию
От: Dog  
Дата: 14.03.05 10:20
Оценка:
Д>>фанатик — это тот, кто не приемлет логических аргументов. Пока что все дотнетчики — это люди, которые мигрировали с других платформ. Дотнет слишком еще молод, чтобы у него появились фанатики, как у Паскаля или Бейсика.
A>Знаешь, фанатики появляются как раз на самых первых этапах... Эйфория так сказать. Но потом это проходит (как, например, прошло с Линуксом — там тоже была довольно жесткая пропаганда) — потом это воспринимается как данность и не более.
Где-то между собакой и богом.
Re[21]: Обучение программированию
От: Дарней Россия  
Дата: 14.03.05 11:14
Оценка: +1
Здравствуйте, ansi, Вы писали:

A>Можно, конечно, и шубу в трусы заправить — никто не спорит...


Вот именно сейчас шуба и заправлена в трусы

A>Честно говоря, лично меня бы закумарило 5 лет клепать на диезе — никакого разнообразия. И толку-то? Ну какая от этого польза, расскажите люди добрые, шоб я наконец понял!


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

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


В настоящее время обычный выпускник универа не тянет даже на полноценного кодера.

A>Кстати, интересно, а чему учили Вас?


Всё, что я сейчас знаю полезного — этому я научился сам. Ну за исключением высшей математики, но это уже из другой оперы.
Что касается программирования — было очень мало полезных предметов, да и те велись препохабно. Так что они все благополучно пролетели из одного уха в другое

A>Принес ли Вам вред тот же паскаль, или может только пользу?


паскаль мне не принес вообще ничего.

A>А так же, сколько времени ушло у Вас на изучение .NET/C#? И согласились бы Вы лично на своей шкуре опробовать предлагаемую Вами же методику обучения?


изучение .NET/C# как такового заняло около недели, потом — сразу в бой. И что из этого должно следовать?

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


Был бы только рад, если бы меня учили профессионалы и учили тому, что реально используется. Но, знаете ли, теперь уже поздно

A>Вот я еще параллельно учусь на менеджера, а там преподают "Историю менеджмента". Вот зачем мне голову лишним забивать? Где мне это пригодится? Урезать, однозначно! Маркетинг преподают. А нахрена мне маркетинг, я же менеджер! Пусть маркетологи и изучают свой маркетинг. Короче, под нож!!! Философия есть. Хотя она везде есть... Короче, пусть философы и думают — у них голова большая...


Мухи — отдельно, котлеты — отдельно. Иными словами, программирование как таковое и история языков программирования не должны находиться в одной тарелке

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


да уж, результаты заметны.

A>Да конечно никакой, что ты — .NET все сделает


да — он сделает всё, чем не должен забивать свою голову обычный программист. Ну а если он не совсем обычный — значит, C++/asm в руки, и вперед под барабанную дробь. Morituri te salutant, и так далее

A>Знаешь, фанатики появляются как раз на самых первых этапах... Эйфория так сказать.


какая там эйфория, ты о чем? Просто из применяемых на данный момент трехколесных велосипедов, этот — наименее похабный

A>Так бы и сказал: мой нежный желудок способен хавать не все йогурты.


чего это мы на личности переходим?
или просто отпало желание доказывать полезность Бейсика или например Кобола?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[22]: Обучение программированию
От: ansi  
Дата: 15.03.05 09:03
Оценка: 14 (1) +2
Здравствуйте, Dog, Вы писали:
A>>Знаешь, фанатики появляются как раз на самых первых этапах... Эйфория так сказать. Но потом это проходит (как, например, прошло с Линуксом — там тоже была довольно жесткая пропаганда) — потом это воспринимается как данность и не более.
Dog>
А что тут смешного? Так оно и есть. С Джавой та же история была, только ее не пропагандировали так уж сильно как .NET, т.к. Сан не мог, да и думаю не хотел себе этого позволять в финансовом плане. Хотя денег в рекламу было вбухано и так прилично. А что теперь? Ну Джава, да Джава — ничего особенного. Я не говорю, что она не используется — еще как используется, но она стала просто еще одним языком/платформой со своими особенностями. И никого ей сейчас не удивишь. И нет сейчас фраз типа "пиши на Джаве / учи Джаву — она платформенно-независимая, за ней будущее". Ага, и за точка нетом тоже будущее...

A>> ... сидим мы за четвертыми пнями и гордо запускаем Free Pascal, BC++ 3.1, TASM 5.0 ...

D>Вот имено, а придёте на работу и будет у вас не BC++ 3.1 и паскаль, а C++7.1 Мы на пятом курсе вообще лабы писали на EC. Это такие железные гробики с железной клавиатурой. Никогда не забуду распечатки 0.5 x 5 метров, а их могло быть несколько за одну лабу. И когда пол потока очнувшись ринулось защищать ... выходив распечатки просто скомкав бросали в угол коридора. К вечеру гора была выше середины
Забавно Хорошо еще, что не с перфокартами бегали На самом деле я имел в виду первокурсников, а работа с VS.NET идет курса со 2-3. А вообще, это смотря куда прийти...

D>Я не к тому что на форуме .NET или Java вопросы сложнее. Там тоже достаточно тупых вопросов. Я именно о понимании/знании базовых вещей. Может при обучении стоит им уделять больше внимания.

Да, с этим я полностью согласен. Вопрос лишь в одном — как?


Здравствуйте, Дарней, Вы писали:

A>>Можно, конечно, и шубу в трусы заправить — никто не спорит...

Д>Вот именно сейчас шуба и заправлена в трусы
Факты где?

A>>Честно говоря, лично меня бы закумарило 5 лет клепать на диезе — никакого разнообразия. И толку-то? Ну какая от этого польза, расскажите люди добрые, шоб я наконец понял!

Д>Разнообразие — не в языках, разнообразие — в концепциях и архитектуре. А как там записывается оператор присваивания и что пишут для обозначения блоков — это дело десятое, и я не вижу никакого смысла засорять этим голову.
Ну и какие различия в концепциях и архитектуре C# и C#? Разнообразие должно быть везде, не только в архитектуре, но и в том же синтаксисе. Кстати, даже C++ и Object Pascal довольно сильно отличаются и по идеологии тоже (строки, объявления переменных, definition — implementation, и т.д.) и уж тем более от C#. Таким образом, Вы сами себе противоречите.

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

Д>В настоящее время обычный выпускник универа не тянет даже на полноценного кодера.
Спорный момент. То, что в одном ВУЗе плохо учат, еще не значит, что везде так. Я вот с уверенностью могу сказать, что на нашем потоке есть штук 5-6 отличных полноценных программистов из, где-то 10-15 человек специализации "системное программирование".

A>>Кстати, интересно, а чему учили Вас?

Д>Всё, что я сейчас знаю полезного — этому я научился сам. Ну за исключением высшей математики, но это уже из другой оперы.
Д>Что касается программирования — было очень мало полезных предметов, да и те велись препохабно. Так что они все благополучно пролетели из одного уха в другое
Вот, где собака то зарыта! Вот она, ключевая фраза — сам. Нельзя обучить всему, но можно научить учиться, что они (и я думаю вполне успешно) и сделали.

A>>Принес ли Вам вред тот же паскаль, или может только пользу?

Д>паскаль мне не принес вообще ничего.
Вы можете так думать, но на самом деле вреда он точно не принес. А вот пользу принес. Может не само знание паскаля, но его изучение — это точно.

Д>Мухи — отдельно, котлеты — отдельно. Иными словами, программирование как таковое и история языков программирования не должны находиться в одной тарелке

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

A>>А так же, сколько времени ушло у Вас на изучение .NET/C#? И согласились бы Вы лично на своей шкуре опробовать предлагаемую Вами же методику обучения?

Д>изучение .NET/C# как такового заняло около недели, потом — сразу в бой. И что из этого должно следовать?
A>>И согласились бы Вы лично на своей шкуре опробовать предлагаемую Вами же методику обучения?
Д>Был бы только рад, если бы меня учили профессионалы и учили тому, что реально используется. Но, знаете ли, теперь уже поздно
Из этого должно следовать, что для подготовленного человека изучить тчк.нет, как два пальца обоссать. А уже из этого следует, что никакой особой пользы от введения его первым нет и быть не может — только вред, о котором я уже говорил неоднократно.
Много чего реально используется. И далеко не факт, что человек будет работать с .нетом. И уж тем более не факт, что он будет работать с ним всегда. Рано, или поздно, но переучиваться придется...

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

Д>да уж, результаты заметны.
Это где ж они заметны?

A>>Да конечно никакой, что ты — .NET все сделает

Д>да — он сделает всё, чем не должен забивать свою голову обычный программист. Ну а если он не совсем обычный — значит, C++/asm в руки, и вперед под барабанную дробь. Morituri te salutant, и так далее
Ага, а учили то его диезу... Разные задачи требуют разных средств и методов. А на плюсах, оказывается, пишут необычные программисты. Забавно...

A>>Знаешь, фанатики появляются как раз на самых первых этапах... Эйфория так сказать.

Д>какая там эйфория, ты о чем? Просто из применяемых на данный момент трехколесных велосипедов, этот — наименее похабный
Про .нет там вообще ничего не было. Я про фанатизм как таковой. См. выше.
Что касается велосипедов, то, повторюсь, это смотря для чего. Я, например, считаю, что для серьезной СУБД диез будет более похабным средством, чем дельфовский паскаль, а тот в свою очередь более похабен, чем C++, а тот в свою очередь более похабен, чем asm. Но это не значит, что надо писать все на асме — надо выбирать более оптимальный вариант. Где-то это будет C#, где-то, где очень важна кроссплатформенность, выберут Java. Где требуюется скорость, выберут C++/asm. Вариантов масса, но универсального средства нет и, думаю, не будет.
Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.
Не стоит расчитывать, что человек будет программировать только бизнес-приложения, иначе серьезных программистов у нас вообще не будет.

A>>Так бы и сказал: мой нежный желудок способен хавать не все йогурты.

Д>чего это мы на личности переходим?
Д>или просто отпало желание доказывать полезность Бейсика или например Кобола?
Да, погорячился. Извини
Re[23]: Обучение программированию
От: Дарней Россия  
Дата: 15.03.05 10:38
Оценка: +1
Здравствуйте, ansi, Вы писали:

A>А что тут смешного? Так оно и есть. С Джавой та же история была, только ее не пропагандировали так уж сильно как .NET, т.к. Сан не мог, да и думаю не хотел себе этого позволять в финансовом плане. Хотя денег в рекламу было вбухано и так прилично. А что теперь? Ну Джава, да Джава — ничего особенного.


А где тут фанатизм то? Это всего лишь маркетинг, за который очень хорошо заплатили.
Если верить маркетингу, дотнет — это всего лишь вспомогательное средство для запуска веб-сервисов

A>Факты где?


ни к черту не годные выпускники — единственный нужный здесь факт. Тебе это ни о чем не говорит?

A>Ну и какие различия в концепциях и архитектуре C# и C#? Разнообразие должно быть везде, не только в архитектуре, но и в том же синтаксисе. Кстати, даже C++ и Object Pascal довольно сильно отличаются и по идеологии тоже (строки, объявления переменных, definition — implementation, и т.д.) и уж тем более от C#.


Это всего лишь верхушка айсберга.

A>Спорный момент. То, что в одном ВУЗе плохо учат, еще не значит, что везде так.


А где НЕ так? Я общался с немалым количеством людей из разных вузов Новосибирска и Томска, и радикальной разницы не заметил.

A>Я вот с уверенностью могу сказать, что на нашем потоке есть штук 5-6 отличных полноценных программистов из, где-то 10-15 человек специализации "системное программирование".


Это ты так думаешь.

A>Вот, где собака то зарыта! Вот она, ключевая фраза — сам. Нельзя обучить всему, но можно научить учиться, что они (и я думаю вполне успешно) и сделали.


Единственное, чему меня научили там — это быстро запоминать большие объемы бессмысленной чуши, и так же быстро забывать. Тоже в принципе полезное умение

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


мне должно быть виднее, не правда ли?

A>У нас языки давались только на первом курсе (семестр на Паскаль и семестр на Си++), а дальше — все сами голубчики.


да... семестр С++ — это наверно дало глубочайшее понимание

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


для подготовленного человека — да. Я еще добавлю — для реально подготовленного человека, а не первого попавшегося выпускника, который привык видеть различия на уровне синтаксиса.

A>Это где ж они заметны?


см выше

A>Ага, а учили то его диезу... Разные задачи требуют разных средств и методов. А на плюсах, оказывается, пишут необычные программисты. Забавно...


Пока — да.

A>Что касается велосипедов, то, повторюсь, это смотря для чего. Я, например, считаю, что для серьезной СУБД диез будет более похабным средством, чем дельфовский паскаль, а тот в свою очередь более похабен, чем C++, а тот в свою очередь более похабен, чем asm. Но это не значит, что надо писать все на асме — надо выбирать более оптимальный вариант. Где-то это будет C#, где-то, где очень важна кроссплатформенность, выберут Java. Где требуюется скорость, выберут C++/asm. Вариантов масса, но универсального средства нет и, думаю, не будет.


Ага. И только .NET позволяет соединять всё вместе без танцев с бубном и прочей шаманистики

A>Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.


http://www.macromedia.com/software/coldfusion/?promoid=home_prod_cf_082403
это я так, о птичках
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[23]: Обучение программированию
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.03.05 11:49
Оценка: +2
Здравствуйте, ansi, Вы писали:


A>Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.

То-то я смотрю такое изобилие технологий с compile-on-demand на джаве... Что-то на менее похабных средствах не так популярна компиляция в рантайме.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[24]: Обучение программированию
От: ansi  
Дата: 16.03.05 09:42
Оценка: 21 (1) +1
Здравствуйте, Дарней, Вы писали:

A>>А что тут смешного? Так оно и есть. С Джавой та же история была, только ее не пропагандировали так уж сильно как .NET, т.к. Сан не мог, да и думаю не хотел себе этого позволять в финансовом плане. Хотя денег в рекламу было вбухано и так прилично. А что теперь? Ну Джава, да Джава — ничего особенного.

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

Конечно, без маркетинга не обошлось — это само собой. Достаточно пустить в массы пару провокационных статеек с провокационными же названиями типа "C++ или Java — что выбрать???", "Java — взгляд в будущее" и т.д. (желательно писанных авторитетами на авторитетных же сайтах) и народ это подцепит и вздует до невероятных масштабов. PR, понимаете ли — одно из самых мощных средств маркетинга. Ну а дальше появляются фанатики. И они были — это точно, потому как я сам на этот фанатизм попался Не в том смысле, что я фанател, а в том, что на каждом форуме были посты, что за Джавой будуще, что она — это самое крутое и т.д. и .т.п. (то же самое, что и сейчас с .нетом., но это временно и, кстати, уже сходит на нет). Попался в том смысле, что свое знакомство с программированием я начинал на Джаве (если не считать хтмла и пары строк на js). Как сейчас помню — только-только вышел JDK 1.1 и ни один из браузеров еще не поддерживал эту версию.

Это где такой маркетинг у .нета?


A>>Факты где?

Д>ни к черту не годные выпускники — единственный нужный здесь факт. Тебе это ни о чем не говорит?
Это не факт, а лишь частный случай.

A>>Ну и какие различия в концепциях и архитектуре C# и C#? Разнообразие должно быть везде, не только в архитектуре, но и в том же синтаксисе. Кстати, даже C++ и Object Pascal довольно сильно отличаются и по идеологии тоже (строки, объявления переменных, definition — implementation, и т.д.) и уж тем более от C#.

Д>Это всего лишь верхушка айсберга.
Да Вы что? Сами же сказали, что разнообразие должно быть, а теперь от своих слов отказываетесь?

A>>Спорный момент. То, что в одном ВУЗе плохо учат, еще не значит, что везде так.

Д>А где НЕ так? Я общался с немалым количеством людей из разных вузов Новосибирска и Томска, и радикальной разницы не заметил.
2 города из всей России! Вам не кажется, что выборка, как бы так сказать, немого не соответствует действительности?

A>>Я вот с уверенностью могу сказать, что на нашем потоке есть штук 5-6 отличных полноценных программистов из, где-то 10-15 человек специализации "системное программирование".

Д>Это ты так думаешь.
Я не то что думаю — я знаю! Мне ведь наверное лучше знать?

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

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

A>>У нас языки давались только на первом курсе (семестр на Паскаль и семестр на Си++), а дальше — все сами голубчики.

Д>да... семестр С++ — это наверно дало глубочайшее понимание
И даже меньше семестра. Был курс информатики. И Си++ там фигурировал только как пример ООП. Языков как таковых вообще не было. В любом случае, кто хотел, тот ходил на факультатив по Си++ на 3-м курсе. Мне, к сожалению, не посчасливилось там побывать (да, да, просто лень было ), но я себе закатал Страуструпа и спокойненько изучал все это у себя дома. Короче, языки — это не самое главное, и это не то, на чем стоит заострять слишком много внимания.

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

Д>для подготовленного человека — да. Я еще добавлю — для реально подготовленного человека, а не первого попавшегося выпускника, который привык видеть различия на уровне синтаксиса.
Для первого попавшегося — согласен. Но обощать не надо. Я отлично знаю, что у нас почти каждый год выходит штук 5-6 талантливых программистов. Это только с матфака. А еще есть прикладники... И у вас, думаю, тоже, хотя точно сказать не могу — не знаю. Просто вы видать не успеваете их подхватить — хорошая компания всегда присматривается заранее, а не ждет, когда они на них с луны свалятся. В любом случае, все зависит от человека — если у него есть способности, то универ поможет их развить (нет, не разовьет — именно поможет), ну а если нет способностей, то что тогда от него можно ждать? Никакое образование тут не поможет.
Что касается .нет, то к примеру у меня времени на изучение асп.нет не было вообще — пришлось сразу идти в бой (начало 4-го курса), хотя раньше слышал только одни названия . У меня времени на установку ушло больше, чем на разведку — 2 дня маялся (были какие-то глюки с COM — пришлось хрюшу переустанавливать)! Тем не менее проект был закончен раньше срока и заказчик остался очень доволен. Хотя я не считаю себя совсем уж реально подготовленным человеком.

A>>Что касается велосипедов, то, повторюсь, это смотря для чего. Я, например, считаю, что для серьезной СУБД диез будет более похабным средством, чем дельфовский паскаль, а тот в свою очередь более похабен, чем C++, а тот в свою очередь более похабен, чем asm. Но это не значит, что надо писать все на асме — надо выбирать более оптимальный вариант. Где-то это будет C#, где-то, где очень важна кроссплатформенность, выберут Java. Где требуюется скорость, выберут C++/asm. Вариантов масса, но универсального средства нет и, думаю, не будет.

Д>Ага. И только .NET позволяет соединять всё вместе без танцев с бубном и прочей шаманистики

Что он там позволяет? Не надо выдавать его за универсум — все равно не поверю, тем более, что это на самом деле не так.


A>>Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.

Д>http://www.macromedia.com/software/coldfusion/?promoid=home_prod_cf_082403
Д>это я так, о птичках
Да запросто. Я ж не говорю, что этого не может быть. Я говорю, что все определяется целями и задачами. Если на первый план выходит кроссплатформенность и легкодоступность, то Java практически вне конкуренции. Если же нужна большая скорость, то тут скорее всего предпочтут Си++. Важна будет скорость разработки — возьмут Дельфи, или .нет. Инструмент надо выбирать, повторюсь, исходя из целей и задач заказчика, а не из того, что проще или удобнее самому программисту.


П.С.
Проходил сегодня мимо стенда кафедры программного обеспечения и эвм. Так вот, там после агитации кафедры написано:

Цели высшего образования:
1) Научить думать.
2) Научить учиться.
3) Обучить специальности.

Лично я полностью согласен с этими целями.
Re[25]: Обучение программированию
От: Дарней Россия  
Дата: 16.03.05 13:45
Оценка: +1
Здравствуйте, ansi, Вы писали:

A>Не в том смысле, что я фанател


так при чем тогда здесь фанатизм? что-то я вообще ничего не понимаю

A>(то же самое, что и сейчас с .нетом., но это временно и, кстати, уже сходит на нет).


праавда? вот ведь какие интересные вещи узнаешь

A>Это где такой маркетинг у .нета?


RTFW

A>Это не факт, а лишь частный случай.


ЭТО — частный случай?
наверно, мы в разных странах живем
почитай еще статью в соседней теме про образование. Наверно, автору это все приглючилось после особенно хорошей травы

A>Да Вы что? Сами же сказали, что разнообразие должно быть, а теперь от своих слов отказываетесь?


покажи пальцем, где и от чего

A>2 города из всей России! Вам не кажется, что выборка, как бы так сказать, немого не соответствует действительности?


ну конечно! как это я не подумал, что все настоящие программисты уехали учиться в город Урюпинск

A>Я не то что думаю — я знаю! Мне ведь наверное лучше знать?


предпочитаю больше доверять своим собственным наблюдениям. наверно, это паранойя
так чем особенным они выделились?

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


Не обучение. Получение корочки, без которой работодатели крутят носом.
Повторю еще раз — проведенное в аудиториях время не дало мне НИЧЕГО

A>Короче, языки — это не самое главное, и это не то, на чем стоит заострять слишком много внимания.


а кто совсем недавно говорил, что "Честно говоря, лично меня бы закумарило 5 лет клепать на диезе — никакого разнообразия"
попробую догадаться... наверно, это был мистер Хайд?

A>Что он там позволяет? Не надо выдавать его за универсум — все равно не поверю, тем более, что это на самом деле не так.


я так понимаю, такое слово как CTS тебе ничего не говорит. "Слона то я и не приметил" (С)

A>Да запросто. Я ж не говорю, что этого не может быть.


угу. сидит себе j2ee тихо в своем уголке, и смотрит, как крутейший С++ отовсюду его вытесняет

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


а кто-то разве оспаривал?

A>Цели высшего образования:

A>1) Научить думать.
A>2) Научить учиться.
A>3) Обучить специальности.

ни с одной из этих задач оно не справляется
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Обучение программированию
От: GlebZ Россия  
Дата: 16.03.05 14:00
Оценка: +1
Здравствуйте, Дарней, Вы писали:
Д>ни с одной из этих задач оно не справляется
A>>Цели высшего образования:
A>>1) Научить думать.
Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.
A>>2) Научить учиться.
Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.
A>>3) Обучить специальности.
А вот с этой задачей, действительно плохо. Приходится пользоваться пунктом 1 и 2.

С уважением, Gleb.
Re[27]: Обучение программированию
От: Dog  
Дата: 16.03.05 17:03
Оценка: 1 (1)
Д>>ни с одной из этих задач оно не справляется
+1
A>>>Цели высшего образования:
A>>>1) Научить думать.
GZ>Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.
Только вы договаривайте о чём думать и когда Большенство экзаменов сдаются не посещая лекций взяв конспект за 3 дня до экзамена\зачёта у соседа(соседки ). Я забил на лекции вообще после второго курса. Появлялся только на тех что отмечали, благо таких было не много. Ходил только на лабы, потому что была платная отработка. (я так понимаю иначе студунта просто не загнать туда ) Нет, конечно что-то там дают, но 5 лет оно точно не стоит.

A>>>2) Научить учиться.

GZ>Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.
Загляните сюда это сэкономит вам пару лет

A>>>3) Обучить специальности.

GZ>А вот с этой задачей, действительно плохо. Приходится пользоваться пунктом 1 и 2.
Ээээ... постойте если специальности обучают плохо, то что-то видимо со вторым пунктом у вас не так Или вам давали книги типа "С++ за 21 день"?
Где-то между собакой и богом.
Re[27]: Обучение программированию
От: Дарней Россия  
Дата: 17.03.05 04:21
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.


нет, не думать. писать шпоры и зубрить

GZ>Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.


а какие книги вечны? Кнут, еще пара фундаментальных трудов.
тебе не кажется, что пять лет — это многовато для того, чтобы просто запомнить названия этих книг?

GZ>А вот с этой задачей, действительно плохо. Приходится пользоваться пунктом 1 и 2.


угу. см выше
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[28]: Обучение программированию
От: WFrag США  
Дата: 17.03.05 04:56
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>нет, не думать. писать шпоры и зубрить


Это, видимо, от сознательности студентов зависит. Не понимают, что себя обманывают.
Re[29]: Обучение программированию
От: Дарней Россия  
Дата: 17.03.05 06:09
Оценка: 7 (2)
Здравствуйте, WFrag, Вы писали:

WF>Это, видимо, от сознательности студентов зависит. Не понимают, что себя обманывают.


Вам знаком такой предмет, как "научный коммунизм"? Я к счастью его не застал, но очень о нем наслышан.
Так вот — большинство из предметов, которые преподавали у нас, стимулировали умственную активность примерно в той же степени, что и этот предмет.
Если избавиться от подобной "воды", то полезные предметы можно было "упаковать" года в три. Если потом отфильтровать предметы, которые читались "по книжке", то останется еще меньше. Причем предметов собственно по программированию не хватило бы и на семестр (основная доля пришлась бы на математику и физику).
И шо, вы таки думаете, что это можно назвать правильным образованием?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[25]: Обучение программированию
От: Дарней Россия  
Дата: 17.03.05 06:16
Оценка: +2 :))
Здравствуйте, ansi, Вы писали:

A>Цели высшего образования:

A>1) Научить думать.
A>2) Научить учиться.

Я вот тут подумал (что само по себе уже неплохо )
А зачем тогда, собственно, разделяют обучение по специальностям? Ввели бы для всех одну общую программу высшего образования, с двумя основными предметами — "думание" и "учение"
А то люди суетятся чего-то, учебные программы разрабатывают, кучу сил на это тратят... а на самом то деле все очень просто! Вот она, истина!
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Обучение программированию
От: beroal Украина  
Дата: 17.03.05 09:43
Оценка:
Здравствуйте, Astaroth, Вы писали:
A>Здравствуйте, Дарней, Вы писали:
Д>>Иными словами — сначала C# или Ява, потом основы C++, потом C
A>А если преподавать наоборот, то придёт понимание того, почему языки развивались именно так и почему в них есть именно такие фичи. А также понимание того, что каждый из них — полезный и нужный.
И я о том же здесь
Автор: beroal
Дата: 08.03.05
.
Re[26]: Обучение программированию
От: beroal Украина  
Дата: 17.03.05 09:47
Оценка:
Здравствуйте, Дарней, Вы писали:
Д>А зачем тогда, собственно, разделяют обучение по специальностям? Ввели бы для всех одну общую программу высшего образования, с двумя основными предметами — "думание" и "учение"
Д>А то люди суетятся чего-то, учебные программы разрабатывают, кучу сил на это тратят... а на самом то деле все очень просто! Вот она, истина!
В точку! Так динозавры оправдывают своё существование. Так как необходимость думать и учиться будет сущствовать, пока существует человек, они никогда не потеряют работу.
Re[30]: Обучение программированию
От: WFrag США  
Дата: 17.03.05 10:04
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>И шо, вы таки думаете, что это можно назвать правильным образованием?


Разумеется, нет. Но ты же не хочешь сказать, что везде так?
Re[31]: Обучение программированию
От: Дарней Россия  
Дата: 17.03.05 10:38
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Разумеется, нет. Но ты же не хочешь сказать, что везде так?


мне не встречался ни один человек, который рассказывал бы о другом
может быть, мне просто не повезло встретить такого счастливца
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[28]: Обучение программированию
От: GlebZ Россия  
Дата: 17.03.05 11:18
Оценка:
Здравствуйте, Дарней, Вы писали:

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


GZ>>Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.


Д>нет, не думать. писать шпоры и зубрить

Если писать шпоры и зубрить, то твои знания растворяются через 2-3 недели после экзаменов. Но в данном случае, основное положительное действие — поиск и анализ информации. Это и есть учиться думать.

GZ>>Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.


Д>а какие книги вечны? Кнут, еще пара фундаментальных трудов.

Д>тебе не кажется, что пять лет — это многовато для того, чтобы просто запомнить названия этих книг?
Нет. Название предметов и направлений. По этим параметрам, найти нужную книгу — значительно легче.
А вечных книг значительно больше. Как-то нашел учебник по процессорам. В нем был описан виртуальный режим, ну чисто режим 386 процессора. Но самое интересное, что книжка была выпущена в конце 70-х, когда 386 еще не существовало. Практически все технологии, которые мы считаем достижениями текущего времени, были уже где-то и кем-то давно описаны.

С уважением, Gleb.
Re[28]: Обучение программированию
От: GlebZ Россия  
Дата: 17.03.05 11:38
Оценка:
Здравствуйте, Dog, Вы писали:

Д>>>ни с одной из этих задач оно не справляется

Dog>+1
A>>>>Цели высшего образования:
A>>>>1) Научить думать.
GZ>>Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.
Dog>Только вы договаривайте о чём думать и когда Большенство экзаменов сдаются не посещая лекций взяв конспект за 3 дня до экзамена\зачёта у соседа(соседки ). Я забил на лекции вообще после второго курса. Появлялся только на тех что отмечали, благо таких было не много. Ходил только на лабы, потому что была платная отработка. (я так понимаю иначе студунта просто не загнать туда ) Нет, конечно что-то там дают, но 5 лет оно точно не стоит.
Стоит. Очень даже стоит. Я например, очень жалею то что клал на предметы которые не связаны с профессией. Например, на философию и физику. Или история. Это то, что отличает образованного человека с высшим образованием. Поэтому, 5 лет учиться стоит. Если конечно термин высшее образование для тебя что-то значит.

A>>>>2) Научить учиться.

GZ>>Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.
Dog>Загляните сюда это сэкономит вам пару лет
Этот список может повысит ваши знания как разработчика, но не научит вас.

A>>>>3) Обучить специальности.

GZ>>А вот с этой задачей, действительно плохо. Приходится пользоваться пунктом 1 и 2.
Dog>Ээээ... постойте если специальности обучают плохо, то что-то видимо со вторым пунктом у вас не так Или вам давали книги типа "С++ за 21 день"?
Да я то, начал работать программистом после прочтения книги "Турбо-Паскаль 5.5" Фаронова. А после прочтения какой-то брошурки по сплайнам — даже сделал картографическую систему. Только, если бы я это делал после окончания института(или хотя бы в процессе), результат был бы другой. Может это было-бы уже не так интересно, зато более эффективно.

С уважением, Gleb.
Re[29]: Обучение программированию
От: Дарней Россия  
Дата: 17.03.05 13:06
Оценка: +1 -1
Здравствуйте, GlebZ, Вы писали:

GZ>Это и есть учиться думать.


http://gzip.rsdn.ru/Forum/Message.aspx?mid=1075505&amp;only=1
Автор: Дарней
Дата: 17.03.05


GZ>Нет. Название предметов и направлений. По этим параметрам, найти нужную книгу — значительно легче.


я конечно понимаю.... но 5 лет! это ведь все-таки вуз, а не заведение для лиц с ограниченными умственными возможностями

GZ>А вечных книг значительно больше. Как-то нашел учебник по процессорам. В нем был описан виртуальный режим, ну чисто режим 386 процессора. Но самое интересное, что книжка была выпущена в конце 70-х, когда 386 еще не существовало. Практически все технологии, которые мы считаем достижениями текущего времени, были уже где-то и кем-то давно описаны.


В той или иной степени.
Я конечно понимаю, что оператор присваивания не изменился со времен самых первых языков. Но это еще не значит, что книги по ним можно считать актуальными сейчас
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[26]: Обучение программированию
От: ansi  
Дата: 17.03.05 14:09
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Цели высшего образования:

A>>1) Научить думать.
A>>2) Научить учиться.

Д>Я вот тут подумал (что само по себе уже неплохо )

Д>А зачем тогда, собственно, разделяют обучение по специальностям? Ввели бы для всех одну общую программу высшего образования, с двумя основными предметами — "думание" и "учение"
Д>А то люди суетятся чего-то, учебные программы разрабатывают, кучу сил на это тратят... а на самом то деле все очень просто! Вот она, истина!
Конечно 3-го пункта там вроде как и не было... Чудеса прям какие-то! Наверное бабай унес...
Re[28]: Обучение программированию
От: ansi  
Дата: 17.03.05 14:09
Оценка: +1
Здравствуйте, Дарней, Вы писали:

GZ>>Если ни фига не знаешь, приходится думать. Этому высшее образование учит хорошо.

Д>нет, не думать. писать шпоры и зубрить
Во-первых, в написании шпор есть и свои плюсы — некоторые именно так и учат. Во-вторых можно понимать все, но не быть способным все вспомнить. Зубрить без понимания тот же матан — просто нереально. Я на первом курсе честно разбирал и учил весь материал, но на эказамене мне приходилось делать выкладки самому, помня лишь основную идею доказательства, а иногда и изобретать ее самому. Тут все зависит от препода — сразу видно, что из себя студент представляет. Видно, понимает ли студент, или он бездумно скатал со шпоры — пара вопросов и все. Наш профессор по матану отсеил большинство таких людей еще на первом курсе — изначально в группе нас было 28, на втором курсе сидело уже 8... Начиная со второго же курса, я уже просто разбирал и осмысливал весь (ну почти весь) материал, но на экзамене катал со шпоры, так как запоминать все это было просто западло. Но я понимал смысл того, что я катаю. Профессору по матфизике, вообще начхать на то, что написано в билете — для него это простая формальность, и катать он в общем дает. Но оценку он ставит только исходя из ответов на доп.вопросы. Так что волей-неволей, но к народу, сдающему эти дела раза эдак с 5-6го, понимание приходит — это я точно знаю. Конкретно у нас преподы такие, что сдать что-то на автопилоте удается очень редко — в основном драконят не по-детски. Приходилось даже самообразованием заниматься — после пар искали свободную аудиторию и я учил трех кренделей интегралы брать. И это считается в порядке вещей.

Хотя могу привести и обратный пример — на заочном факультете менеджмента. Приходим мы значит на лекцию по экономической теории, а там тетя сидит и вертит в руках бандуру такую, что гаишная рация удобным мобильником покажется. Вертит, значит, и так прямо и заявляет: "Знаете. У меня телефон уже старенький — хотелось бы поновее...". Ну купили ей трубку и пятерки в зачетке... Конечно, это — заочка, у очников все серьезней, хотя не так как у математиков, физиков, или химиков. Энтузиазма у них видать побольше будет — зарплата то везде одинаковая.
Re[28]: Обучение программированию
От: ansi  
Дата: 17.03.05 14:10
Оценка:
Здравствуйте, Dog, Вы писали:

Dog>Я забил на лекции вообще после второго курса. Появлялся только на тех что отмечали, благо таких было не много.

Аналогично. Только я забил уже после первого...

GZ>Что точно дает высшее образование — это названия книг которые нужно посмотреть в случае опасности. Знания забываются (даже если они присутсвовали). А книги вечны.

Знания забываются, но ролики с шариками (если это не опилки) продолжают исправно крутиться. Скажу честно — из названий запомнил только "Введение в математический анализ I, II — Ильин, Позняк" и многим известный "Демидович". Ну числяки Бахвалова еще. Все. А, вот! Страуструпа вспомнил!

Dog>Загляните сюда это сэкономит вам пару лет

Хороший ответ
Re[26]: Обучение программированию
От: ansi  
Дата: 17.03.05 14:14
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Не в том смысле, что я фанател

Д>так при чем тогда здесь фанатизм? что-то я вообще ничего не понимаю
В том смысле, что не я фанател. Я в то время облазил кучу сайтов и видел много споров наподобие нынешних "C++ vs C#", только те касались джавы. И те же аргументы приводились, и говорилось, что скоро все умрет и останется одна джава и прочая несуразная чушь. Ну не фанатизм разве?

A>>(то же самое, что и сейчас с .нетом., но это временно и, кстати, уже сходит на нет).

Д>праавда? вот ведь какие интересные вещи узнаешь
Правда, правда. Вот мы закончим этот топик, и если еще одного провокатора не найдется, то уже будет прогресс!
Если серьезно, то опять же, раньше я наблюдал очень много тем типа того, что пхп — ацтой, он сдохнет скоро, а асп.нет — ништяк. Самая популярная тема была! Но вроде уже особо никто не буянит.

A>>Это где такой маркетинг у .нета?

Д>RTFW
Ну, с первыми 3-мя буквами проблем не возникло А вот четвертая меня смутила Не уж то Web?

A>>Это не факт, а лишь частный случай.

Д>ЭТО — частный случай?
Д>наверно, мы в разных странах живем
Д>почитай еще статью в соседней теме про образование. Наверно, автору это все приглючилось после особенно хорошей травы
Просмотрел бегло. В общем понятно — как всегда старые преподаватели и нищенская зарплата. Согласен. Только вот об этом много говорят, но мало кто делает...
Ну если только Вы не в России живете. Хотя я уже начинаю думать, что это мы один из частных случаев...

A>>Да Вы что? Сами же сказали, что разнообразие должно быть, а теперь от своих слов отказываетесь?

Д>покажи пальцем, где и от чего
Типа того, что это всего-лишь верхушка айсберга. Может я чего не так понял?

A>>2 города из всей России! Вам не кажется, что выборка, как бы так сказать, немого не соответствует действительности?

Д>ну конечно! как это я не подумал, что все настоящие программисты уехали учиться в город Урюпинск
Ну почему-же сразу в Мухосранск? Как раз в Мухосранске их нет, а выбор пал на него (это не намек на конкретный город)

A>>Я не то что думаю — я знаю! Мне ведь наверное лучше знать?

Д>предпочитаю больше доверять своим собственным наблюдениям. наверно, это паранойя
Д>так чем особенным они выделились?
Как Вам сказать... Не могу назвать что-то конкретное — я вижу их общий уровень. Из таких, что могу назвать — это к примеру, один из них готовит студентов для ACM'а, другой, например, читает лекции. Конечно, само по себе чтение лекций не говорит о высоком уровне — о нем говорит то, что преподы ему доверяют. А преподы у нас не те, о ком Вы возможно подумали — не старики, но в большинстве своем довольно молодые. Третий уже вовсю работает и, насколько я знаю, не рядовым программистом — некоторый уровень руководства на него возложен. Хотя работают, конечно многие... В общем, хотя бы потому, что накатать оптимизирующий (хотя и не сильно) компилятор языка ВУ, прошлявшись больше половины лекций неизвестно где, на 3-м курсе для них не составило особого труда, в отличие от остальных. Короче, я знаю о чем говорю, ну а верить, или нет — полностью Ваше дело.

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

Д>Не обучение. Получение корочки, без которой работодатели крутят носом.
Д>Повторю еще раз — проведенное в аудиториях время не дало мне НИЧЕГО
Уж не знаю, что и думать...

A>>Короче, языки — это не самое главное, и это не то, на чем стоит заострять слишком много внимания.

Д>а кто совсем недавно говорил, что "Честно говоря, лично меня бы закумарило 5 лет клепать на диезе — никакого разнообразия"
Д>попробую догадаться... наверно, это был мистер Хайд?
Нет, это был мистер ansi Языки, если Вы не так поняли, в смысле "обучение языкам". Не вижу никакого противоречия.


A>>Что он там позволяет? Не надо выдавать его за универсум — все равно не поверю, тем более, что это на самом деле не так.

Д>я так понимаю, такое слово как CTS тебе ничего не говорит. "Слона то я и не приметил" (С)
Ну Common Type System. А где слон то?

A>>Да запросто. Я ж не говорю, что этого не может быть.

Д>угу. сидит себе j2ee тихо в своем уголке, и смотрит, как крутейший С++ отовсюду его вытесняет
Опять Си++. Он то тут причем? Разве я говорил "бросайте все и пишите на плюсах, патаму шта эта крута"???

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

Д>а кто-то разве оспаривал?
А я и не утверждаю, что оспаривал. Странный вопрос...

A>>Цели высшего образования:

A>>1) Научить думать.
A>>2) Научить учиться.
A>>3) Обучить специальности.
Д>ни с одной из этих задач оно не справляется
Спорный вопрос, но обсуждать его нет смысла, так как данных по другим ВУЗам у меня просто нет.
Re[32]: Обучение программированию
От: WFrag США  
Дата: 17.03.05 16:16
Оценка: :)
Здравствуйте, Дарней, Вы писали:

Д>мне не встречался ни один человек, который рассказывал бы о другом

Д>может быть, мне просто не повезло встретить такого счастливца

Считай, что ты встретил почти такого счастливца. Хотя бурду всякую тоже сдавать приходилось (но как правило, это было не сложно ).
RSDN@Home 1.1.4 beta 3 r297, играет silent
Re[27]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 04:22
Оценка:
Здравствуйте, ansi, Вы писали:

A>Конечно 3-го пункта там вроде как и не было... Чудеса прям какие-то! Наверное бабай унес...


так ты же сам все это привел, чтобы объяснить — почему он так хреново реализуется
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[29]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 04:25
Оценка:
Здравствуйте, ansi, Вы писали:

A>Во-первых, в написании шпор есть и свои плюсы — некоторые именно так и учат. Во-вторых можно понимать все, но не быть способным все вспомнить. Зубрить без понимания тот же матан — просто нереально. Я на первом курсе честно разбирал и учил весь материал, но на эказамене мне приходилось делать выкладки самому, помня лишь основную идею доказательства, а иногда и изобретать ее самому. Тут все зависит от препода — сразу видно, что из себя студент представляет. Видно, понимает ли студент, или он бездумно скатал со шпоры — пара вопросов и все. Наш профессор по матану отсеил большинство таких людей еще на первом курсе — изначально в группе нас было 28, на втором курсе сидело уже 8... Начиная со второго же курса, я уже просто разбирал и осмысливал весь (ну почти весь) материал, но на экзамене катал со шпоры, так как запоминать все это было просто западло. Но я понимал смысл того, что я катаю. Профессору по матфизике, вообще начхать на то, что написано в билете — для него это простая формальность, и катать он в общем дает. Но оценку он ставит только исходя из ответов на доп.вопросы. Так что волей-неволей, но к народу, сдающему эти дела раза эдак с 5-6го, понимание приходит — это я точно знаю. Конкретно у нас преподы такие, что сдать что-то на автопилоте удается очень редко — в основном драконят не по-детски. Приходилось даже самообразованием заниматься — после пар искали свободную аудиторию и я учил трех кренделей интегралы брать. И это считается в порядке вещей.


вроде бы мы тут программирование обсуждали
объясни пожалуйста, почему ты только про физику и математику вспомнил?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Обучение программированию
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.03.05 04:49
Оценка: 21 (1) +3
Здравствуйте, Дарней, Вы писали:

Д>вроде бы мы тут программирование обсуждали

Д>объясни пожалуйста, почему ты только про физику и математику вспомнил?
А у меня вообще в универе из программирования только один практикум был. И это как раз та область, в которой я и сейчас ничего не петрю — численные методы.
Таким образом, я потратил четыре года исключительно на непрофильные дисциплины. Физика, математика... Не говоря об английском с физкультурой и философии.
И вот каким-то волшебным образом мне удается достаточно неплохо работать в области программирования. А также помогать людям переводить тексты с иностранного языка и защищать дипломы на экономе.
Таким образом, резюме моего опыта сводится вот к чему:
Хорошее образование дает человеку умение решать задачи. Знания в виде конкретных инструментов, языков программирования и т.п. — вторичны..
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[27]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 04:50
Оценка:
Здравствуйте, ansi, Вы писали:

И те же аргументы приводились, и говорилось, что скоро все умрет и останется одна джава и прочая несуразная чушь. Ну не фанатизм разве?

ты будешь таки смеяться, но в области серверов приложений так и произошло. Да и в целом, Ява откусила у С++ немаленькую долю рынка — даже при всех своих недостатках.

A>Если серьезно, то опять же, раньше я наблюдал очень много тем типа того, что пхп — ацтой, он сдохнет скоро, а асп.нет — ништяк. Самая популярная тема была! Но вроде уже особо никто не буянит.


А я например наблюдаю, что большинство заказчиков наконец расчухало пользу, и мы постепенно переводим большинство проектов под .NET — как с пхп, так и с C++
Но ты кое в чем прав — буйствовать тут незачем

A>Ну, с первыми 3-мя буквами проблем не возникло А вот четвертая меня смутила Не уж то Web?


бинго!

A>Типа того, что это всего-лишь верхушка айсберга. Может я чего не так понял?


так где противоречие то?

A>В общем, хотя бы потому, что накатать оптимизирующий (хотя и не сильно) компилятор языка ВУ, прошлявшись больше половины лекций неизвестно где, на 3-м курсе для них не составило особого труда, в отличие от остальных. Короче, я знаю о чем говорю, ну а верить, или нет — полностью Ваше дело.


И язык, я так понимаю, подмножество Паскаля.
Тогда — Ахо, Ульман, Сети. Читать, думать. На пару недель работы — даже если до этого про компиляторы вообще ничего не слышал.

Так что — твой пример говорит только об уровне тех самых "остальных".

A>Нет, это был мистер ansi Языки, если Вы не так поняли, в смысле "обучение языкам". Не вижу никакого противоречия.


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

A>Ну Common Type System. А где слон то?


молодец! осталось еще понять, что стоит за этими словами

A>Спорный вопрос, но обсуждать его нет смысла, так как данных по другим ВУЗам у меня просто нет.


положение на рынке труда говорит само за себя. Наверно, не от хорошей жизни московские и питерские фирмы набирают людей по всяким Мухосранскам
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[31]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 05:04
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Хорошее образование дает человеку умение решать задачи. Знания в виде конкретных инструментов, языков программирования и т.п. — вторичны..


Вот я и наблюдаю. Выпускник с красным дипломом и аспирант, убивает несколько недель на ненужную работу — поленился прочитать внимательно документацию и найти там простое (и вполне очевидное, ИМХО) решение
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[32]: Обучение программированию
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.03.05 05:30
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Вот я и наблюдаю. Выпускник с красным дипломом и аспирант, убивает несколько недель на ненужную работу — поленился прочитать внимательно документацию и найти там простое (и вполне очевидное, ИМХО) решение

Всякое бывает. К тому же надо отличать хорошее образование от любого. Лично я закончил www.nsu.ru. А университетов в СССР было 49. И далеко не все одинаково полезны. Сейчас есть и такие, где красный диплом можно получить вообще не посещая учебное заведение.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[33]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 06:15
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Всякое бывает. К тому же надо отличать хорошее образование от любого. Лично я закончил www.nsu.ru. А университетов в СССР было 49. И далеко не все одинаково полезны. Сейчас есть и такие, где красный диплом можно получить вообще не посещая учебное заведение.


а он тоже оттуда был, кстати.
сейчас посмотрел резюме — он оказывается еще и кандидатскую защитил
эх, куда образование катится
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[34]: Обучение программированию
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.03.05 06:53
Оценка:
Здравствуйте, Дарней, Вы писали:
Д>а он тоже оттуда был, кстати.
Д>сейчас посмотрел резюме — он оказывается еще и кандидатскую защитил
Д>эх, куда образование катится
Занятно. Позорит альму матер, панимаишь... Не, бывают конечно люди, которые красный диплом попом берут. Всякое бывает.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[30]: Обучение программированию
От: Dog  
Дата: 18.03.05 09:06
Оценка:
Д>вроде бы мы тут программирование обсуждали
Д>объясни пожалуйста, почему ты только про физику и математику вспомнил?
Не думаю что программистов учат как-то по особому. В конце концов учителя тоже заканчивали вузы
Где-то между собакой и богом.
Re[31]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 12:12
Оценка:
Здравствуйте, Dog, Вы писали:

Dog>Не думаю что программистов учат как-то по особому. В конце концов учителя тоже заканчивали вузы


есть в этом что-то порочное
чтобы "научиться учиться" и "научиться думать" совсем не обязательно тратить 5 лет
и уж совсем не вижу смысла в том, чтобы практиковать эти умения на чем-то, что не имеет никакого отношения к области будущей работы
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[32]: Обучение программированию
От: Курилка Россия http://kirya.narod.ru/
Дата: 18.03.05 12:34
Оценка: 8 (3) +1
Здравствуйте, Дарней, Вы писали:

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


Dog>>Не думаю что программистов учат как-то по особому. В конце концов учителя тоже заканчивали вузы


Д>есть в этом что-то порочное

Д>чтобы "научиться учиться" и "научиться думать" совсем не обязательно тратить 5 лет
Д>и уж совсем не вижу смысла в том, чтобы практиковать эти умения на чем-то, что не имеет никакого отношения к области будущей работы

Знаешь, тут прослеживается 2 почти противоположных взгляда:
1. один характерен для штатов, там считают обычно, что нужно делать узкоспециализированного специалиста и нефиг ему лезть в что-либо помимо непосредственно его работы.
2. второй больше подходит к отечественному образованию, когда в первую очередь ставится задача сделать именно ОБРАЗОВАННОГО человека, а не примитивный болтик в машине. Т.е. дать человеку представление широком диапазоне наук и знаний.

Имхо минусы есть у обоих подходов и необходимо найти золотую середину, причём не факт что эта середина будет для всех людей одна...
Но вот с 1-м подходом я совершенно не согласен, т.к. думаю, что Программист (именно с большой буквы, а не тупой кодер) должен знать как математику, так и историю, так и философию, так и литературу, так и много всего иного.
Но с другой стороны знания человеческие становятся всё обширнее и "нельзя объять необъятное" ((ц) К.Прутков), но есть некий минимум который можно дать человеку, чтобы он потом смог сознательно делать выбор, что его интересует, где он может найти такую информацию и т.п.
Re[28]: Обучение программированию
От: ansi  
Дата: 18.03.05 12:41
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>И те же аргументы приводились, и говорилось, что скоро все умрет и останется одна джава и прочая несуразная чушь. Ну не фанатизм разве?

Д>ты будешь таки смеяться, но в области серверов приложений так и произошло. Да и в целом, Ява откусила у С++ немаленькую долю рынка — даже при всех своих недостатках.
Ну и что? Ну и .нет откусил. Но он ведь не помер от этого. Да и не скоро помрет.

Д>А я например наблюдаю, что большинство заказчиков наконец расчухало пользу, и мы постепенно переводим большинство проектов под .NET — как с пхп, так и с C++

Д>Но ты кое в чем прав — буйствовать тут незачем
А что конкретно за польза, если не секрет? Интересно просто.

A>>Типа того, что это всего-лишь верхушка айсберга. Может я чего не так понял?

Д>так где противоречие то?
Какое противоречие?

A>>В общем, хотя бы потому, что накатать оптимизирующий (хотя и не сильно) компилятор языка ВУ, прошлявшись больше половины лекций неизвестно где, на 3-м курсе для них не составило особого труда, в отличие от остальных. Короче, я знаю о чем говорю, ну а верить, или нет — полностью Ваше дело.

Д>И язык, я так понимаю, подмножество Паскаля.
Д>Тогда — Ахо, Ульман, Сети. Читать, думать. На пару недель работы — даже если до этого про компиляторы вообще ничего не слышал.
Д>Так что — твой пример говорит только об уровне тех самых "остальных".
В том то и дело, что читать и думать. Еще архитектуру с асмом пробить. Ваши соискатели я так понимаю, катают компиляторы одним правым мизинцем... Так о чем речь тогда? Не уже ли они годятся на должность "хотя бы кодеров"?
БСК, короче. Других слов у меня нет...

A>>Нет, это был мистер ansi Языки, если Вы не так поняли, в смысле "обучение языкам". Не вижу никакого противоречия.

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

A>>Ну Common Type System. А где слон то?

Д>молодец! осталось еще понять, что стоит за этими словами
Ну знаю я что стоит за этими словами. Полная совместимость типов между языками .нет. Ну что с того? Где универсальность? При чем тут типы вообще?

A>>Спорный вопрос, но обсуждать его нет смысла, так как данных по другим ВУЗам у меня просто нет.

Д>положение на рынке труда говорит само за себя. Наверно, не от хорошей жизни московские и питерские фирмы набирают людей по всяким Мухосранскам
Я говорю, что спорить не намерен, а он мне о положении на рынке труда ...
Re[30]: Обучение программированию
От: ansi  
Дата: 18.03.05 12:44
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>вроде бы мы тут программирование обсуждали

Д>объясни пожалуйста, почему ты только про физику и математику вспомнил?
Вроде бы как мы тут шпоры обсуждали... Что это ты про программирование вспомнил?
А вообще, я лишь просто привел примеры. Кстати, заметь, ответ на твой вопрос уже есть в моем сообщении Остается только дополнить, что на автопилоте сдаются культурологии, философии и прочее из этой серии.
Re[28]: Обучение программированию
От: ansi  
Дата: 18.03.05 12:46
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Конечно 3-го пункта там вроде как и не было... Чудеса прям какие-то! Наверное бабай унес...

Д>так ты же сам все это привел, чтобы объяснить — почему он так хреново реализуется

Эээээ. Забавно То ли лыжи не едут, то ли ...
Re[32]: Обучение программированию
От: GlebZ Россия  
Дата: 18.03.05 12:54
Оценка:
Здравствуйте, Дарней, Вы писали:

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


S>>Хорошее образование дает человеку умение решать задачи. Знания в виде конкретных инструментов, языков программирования и т.п. — вторичны..


Д>Вот я и наблюдаю. Выпускник с красным дипломом и аспирант, убивает несколько недель на ненужную работу — поленился прочитать внимательно документацию и найти там простое (и вполне очевидное, ИМХО) решение

Красный диплом никогда не был показателем. Разве что о усидчивости студента. А после поступления на работу, с ними сложнее. Гонору много при минимуме навыков. Правда потом нормальные люди получаются.

С уважением, Gleb.
Re[33]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 13:23
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Имхо минусы есть у обоих подходов и необходимо найти золотую середину, причём не факт что эта середина будет для всех людей одна...


вот это — в точку!

К>Но вот с 1-м подходом я совершенно не согласен, т.к. думаю, что Программист (именно с большой буквы, а не тупой кодер) должен знать как математику, так и историю, так и философию, так и литературу, так и много всего иного.


вопрос только — а сколько таких Программистов? мало, ой как мало
я бы не сказал, что это — "мэйнстрим" в образовании
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[33]: Обучение программированию
От: Dog  
Дата: 18.03.05 13:40
Оценка:
Д>>есть в этом что-то порочное
Д>>чтобы "научиться учиться" и "научиться думать" совсем не обязательно тратить 5 лет
Д>>и уж совсем не вижу смысла в том, чтобы практиковать эти умения на чем-то, что не имеет никакого отношения к области будущей работы
+1

К>Знаешь, тут прослеживается 2 почти противоположных взгляда:

К>1. один характерен для штатов, там считают обычно, что нужно делать узкоспециализированного специалиста и нефиг ему лезть в что-либо помимо непосредственно его работы.
К>2. второй больше подходит к отечественному образованию, когда в первую очередь ставится задача сделать именно ОБРАЗОВАННОГО человека, а не примитивный болтик в машине. Т.е. дать человеку представление широком диапазоне наук и знаний.
Единственно что тут прослеживается так это то, что всё пытаются свести имено к этому. Шаг в сторону от любимого советского образования и всё — мы все тупые. Если вы такие умные , что же вы такие бедные ?

К>Но с другой стороны знания человеческие становятся всё обширнее и "нельзя объять необъятное" ((ц) К.Прутков), но есть некий минимум который можно дать человеку, чтобы он потом смог сознательно делать выбор, что его интересует, где он может найти такую информацию и т.п.

http://www.google.com/
Где-то между собакой и богом.
Re[29]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 13:46
Оценка:
Здравствуйте, ansi, Вы писали:

A>Ну и что? Ну и .нет откусил. Но он ведь не помер от этого. Да и не скоро помрет.


а я своими руками подброшу пару лопат

A>А что конкретно за польза, если не секрет? Интересно просто.


если для заказчика — то меньшая цена за проект
если для разработчиков — то возможность больше думать о задаче, чем о способах ее реализации
этого достаточно?

A>Какое противоречие?


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

A>В том то и дело, что читать и думать. Еще архитектуру с асмом пробить. Ваши соискатели я так понимаю, катают компиляторы одним правым мизинцем...


нет, к сожалению
все умные уже нашли работу, а по собеседованиям обычно шляются как раз те, кто "даже на кодера не годится"

A>Да не уже ли? И каким же образом я ее повторяю?


с помощью клавиатуры, я предполагаю

A>Ну знаю я что стоит за этими словами. Полная совместимость типов между языками .нет. Ну что с того? Где универсальность? При чем тут типы вообще?


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


A>Я говорю, что спорить не намерен, а он мне о положении на рынке труда ...


ладно, забыли
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[33]: Обучение программированию
От: Дарней Россия  
Дата: 18.03.05 13:51
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Красный диплом никогда не был показателем. Разве что о усидчивости студента. А после поступления на работу, с ними сложнее. Гонору много при минимуме навыков. Правда потом нормальные люди получаются.


срок работы у него был еще побольше чем у меня правда, в основном по всяким НИИ

а вообще — небольшое количество усидчивости и дотошности с легкостью решило бы ту проблему
равно как и способность думать и анализировать
видимо, не оказалось ни того, ни другого
при этом, что меня больше всего удивляло — вполне нормально отвечал на вопросы на собеседовании, даже заковыристые. А когда дело дошло до реальной работы — ни бе, ни ме, ни кукареку Вызубрил ответы, что ли? в принципе, они все достаточно однотипные в разных фирмах
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Обучение программированию
От: ansi  
Дата: 19.03.05 08:39
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Ну и что? Ну и .нет откусил. Но он ведь не помер от этого. Да и не скоро помрет.

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

A>>А что конкретно за польза, если не секрет? Интересно просто.

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

A>>Какое противоречие?

Д>а ты историю почитай. кажется, ты уже забыл, как обвинял меня в каких-то противоречиях
Да я просто в ответ вопросом на вопрос тоже ответил вопросом Итак, replay:
Я сказал, что хотелось бы разнообразия, на что получил ответ, что разнообразие должно быть в архитектуре, а не в синтаксисе. На что был дан ответ, что даже ОПаскаль/Си++ довольно различаются и по идеологии, и уж тем более от диеза. Короче вот вам разнообразие. На что получил отмашку "это лишь верхушка айсберга". Вот я и поинтересовался, что разнообразие уже вроде как и не важно?

A>>В том то и дело, что читать и думать. Еще архитектуру с асмом пробить. Ваши соискатели я так понимаю, катают компиляторы одним правым мизинцем...

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

A>>Да не уже ли? И каким же образом я ее повторяю?

Д>с помощью клавиатуры, я предполагаю
Ух, шайтан. И как догадался только??? Нет, я ее не повторяю. А где вы сходство увидели?

A>>Ну знаю я что стоит за этими словами. Полная совместимость типов между языками .нет. Ну что с того? Где универсальность? При чем тут типы вообще?

Д>небольшая такая полезная возможность — решать любую часть задачи на том языке, который для этого лучше всего подходит
Д>
Хорошая возможность конечно — все пишут на чем хотят. Ну тут скорее не более подходящий для задачи, а более приятный программисту по синтаксису. Ограничения и правила то одни и те же. Ну разве что на перле можно со строками отработать... Хотя с ними везде можно отработать... Из серии .нет я пока вижу, что Си++ выделяется, так как это по-сути гибрид, позволяющий писать неуправляемые блоки.
Re[21]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.05 19:01
Оценка: +1
Здравствуйте, Astaroth, Вы писали:

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


Может для этого проще вести курс истории развития программирования? Все же нужно разделять знание истори и понимание предмета.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.05 19:01
Оценка: +1
Здравствуйте, Дарней, Вы писали:

Д>не все йогурты одинаково полезны....

Д>расскажи это тем, кто имел дело с бейсик-программистами

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

Мне кажется, что определения вроде "бейсик-программист" — это своего рода шовинизм. На самом деле проблема не в языке, а втом, что на одном языке развитие людей останавливается. Так что можно сказать, что есть и "С++-бейсик-программисты". Для широты кругозора нужно изучить минимум 3 языка. Причем чем более разными они будут и чем больше их будет тем лучше.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.05 19:01
Оценка:
Здравствуйте, Astaroth, Вы писали:

A>Просто у тех, кто начинал с языков/платформ уровня C#, Java, Delphi к языкам вроде С складывается отношение как к устаревшим, немодным и ненужным. Это нехорошо ИМХО.


Я начинал как раз с С. И считаю, что С устаревший и единственное почему его имеет смысл применять — это черезвычайная простота переноса компилятора на другие платформы. Ну, а те кто подходят к языкам с точки зрения моды — это маральные уроды или неокрпшие разумом подростки. Это или пройдет, или закончится очень печально.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.05 19:01
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Вот именно, что все этапы можно пройти на одном языке.


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

Д>Вот объясните мне кто-нибудь, какую практическую пользу принесет выпускникам умение эмулировать нормальные циклы с помощью дополнительынх переменных, или возводить в степень с помощью логарифмов?

Д>

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

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


Попробуй обосновать как из "этого" это следует.

A>Много чего реально используется. И далеко не факт, что человек будет работать с .нетом. И уж тем более не факт, что он будет работать с ним всегда. Рано, или поздно, но переучиваться придется...


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

A>Что касается велосипедов, то, повторюсь, это смотря для чего. Я, например, считаю, что для серьезной СУБД диез будет более похабным средством, чем дельфовский паскаль, а тот в свою очередь более похабен, чем C++, а тот в свою очередь более похабен, чем asm.


Нда. Договорился до полного маразма. Не говоря о том, что СУБД тут вообще никаким боком, хочется уточнить, а что — это за супер СУБД написанные на асм-е ты имешь в виду?

A>Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.


Компиляторов Явы на Яве достаточно. В Моно компилятор и большая часть рантайма тоже на Шарпе напсана, так что ты сильно заблуждаешся.
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.05 20:17
Оценка:
Здравствуйте, Astaroth, Вы писали:

Д>>собственно, это так и есть

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

A>Да, но зачем студентам об этом знать? Влад потом и так расскажет


А вдруг он не зайдет на наш форум?
... << RSDN@Home 1.1.4 beta 4 rev. 359>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Обучение программированию
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 20.03.05 06:28
Оценка: +2
Здравствуйте, VladD2, Вы писали:

A>>Много чего реально используется. И далеко не факт, что человек будет работать с .нетом. И уж тем более не факт, что он будет работать с ним всегда. Рано, или поздно, но переучиваться придется...


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


А можно и наоборот. Сначала дать чего-то типа Паскаля на котором поизучать основные алгоритмы (типа сортировок, поиска, очереди, стеки, деки и т.п.). А затем дать C++ и задачу написания кроссплатформенной оконной библиотеки, например. Чтобы люди на собственной шкуре поняли, что такое повисшие или не инициализированные указатели, отсутствие готовых инструментов для организации простых диалоговых окошек и т.д. А затем перевести их на C# или Java. Чтобы оценили языки, в которых память больше не ресурс, все инструменты в том же самом виде доступны на любой платформе, для которых IDE умнее самих программистов, ее использующих и т.п. 99% после такого перехода станут фанатами C# и Java, и про C++ будут вспоминать только в кошмарных снах. А многие еще и обретут устойчивый иммунитет против изобрететия собственных велосипедов. И при соответствующей дальнейшей подготовке из них выйдут отличные программисты для "корпоративных систем". Зато оставшийся процент будет реально знать, чем же C++ лучше C# и Java, в каких задачах и как его выгодно применять. И, главное, они смогут хорошо это делать (если им прививать хороший стиль). Я уверен, что всегда будет существовать много задач, в которых этот оставшийся процент будет восстребован.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[24]: Обучение программированию
От: ansi  
Дата: 20.03.05 07:25
Оценка: -1
Здравствуйте, VladD2, Вы писали:

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

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

A>>Много чего реально используется. И далеко не факт, что человек будет работать с .нетом. И уж тем более не факт, что он будет работать с ним всегда. Рано, или поздно, но переучиваться придется...

VD>Безспорно. Только из этого не следует, что начинать нужно с черт знает чего. Шарп, Ява или ВБ.Нэт в качестве первого языка позволяют привить культуру программирования, сосредоточиться на самом программировании, а не отвлекаться на никчемные вещи вроде управления памятью или контроля инициализированности переменных. А вот когда умы окрепнут, то можно как раз рассказать и об этом. Причем предметно, чтобы человек знал что сколько стоит и как не наступать на грабли.
Хороша культура — не отвлекаться на контроль памяти и инициализированности переменных Да и не получится отвлечься — нет таких задач, где это реально может сыграть роль. Разве можно серьезно отвлечься на память, когда пишешь метод Гаусса решения СЛАУ? Ну допустит он косячок, но найдет его быстро. И будет от этого только польза. А что значит "само программирование"? Программирование, на мой взгляд, не состоит только из одного алгоритмирования. Как и не состоит только из знания конкретного языка/языков.

A>>Что касается велосипедов, то, повторюсь, это смотря для чего. Я, например, считаю, что для серьезной СУБД диез будет более похабным средством, чем дельфовский паскаль, а тот в свою очередь более похабен, чем C++, а тот в свою очередь более похабен, чем asm.

VD>Нда. Договорился до полного маразма. Не говоря о том, что СУБД тут вообще никаким боком, хочется уточнить, а что — это за супер СУБД написанные на асм-е ты имешь в виду?
Извиняйте, товарищ, но где конкретно тут маразм? Я просто привел СУБД как пример и лишь расставил приоритет языков для реализации, когда главная цель — скорость. Понятно, что асм тут вне конкуренции, но реально его использовать никто не будет — очень уж накладно. Хотя вставки скорее всего сделают. Скорее всего применение найдет си++ — скорость немного меньше, но расходы существенно меньше. У диеза расходы еще меньше, но по скорости он может уже не подходить... Будет другая задача, или другая цель/требования, то приоритет запросто меняется. Например, если СУБД нужна не промышленная (не sql server, oracle и т.д.), а так, для конкретного приложения из-за невозможности или нецелесообразности таскания за собой промышленной, то выгоднее будет писать на том же языке, что и само приложение. Мысль понятна?

A>>Java будет похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.

VD>Компиляторов Явы на Яве достаточно. В Моно компилятор и большая часть рантайма тоже на Шарпе напсана, так что ты сильно заблуждаешся.
Я не заблуждаюсь. Вы согласны, что реализация на том же шарпе виртуальной машины будет лучше по скорости аналогичной реализации на Java? В свою очередь реализация на си++ будет еще лучше. Возможно так будет понятнее:
A>>Java будет более похабным средством для компилятора/интерпретатора (виртуальная машина на виртуальной машине ) и т.д.
Но если язычек небольшой и нужна многоплатформенность, тогда Джава выбивается в лидеры, потому как выгода от шарпа или плюса не сравнится с расходами на портирование. И т.д. и т.п.
Re[21]: Обучение программированию
От: ansi  
Дата: 20.03.05 07:25
Оценка:
Здравствуйте, VladD2, Вы писали:

Д>>Вот именно, что все этапы можно пройти на одном языке.

VD>Можно на некоторых. Но не нужно. Зацикленность на одном языке, пусть даже самом передовом и позволяющем преподать почти все концепции, все равно является злом. Хотя я считаю С устаревшим и неуклюжим, но даже его имеет смысл изучать. Вот только гдавное не делать подобные языки стержнем обучения.
Правильно А никто и не говорит о стержне. Языки как таковые вообще не надо делать стержнем обучения.
Re[23]: Обучение программированию
От: ansi  
Дата: 20.03.05 07:26
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>Мне кажется, что определения вроде "бейсик-программист" — это своего рода шовинизм. На самом деле проблема не в языке, а втом, что на одном языке развитие людей останавливается. Так что можно сказать, что есть и "С++-бейсик-программисты". Для широты кругозора нужно изучить минимум 3 языка. Причем чем более разными они будут и чем больше их будет тем лучше.


Точно! Идея хорошая. Только вот каким образом это сделать?
Re[24]: Обучение программированию
От: ansi  
Дата: 20.03.05 07:26
Оценка:
Здравствуйте, VladD2, Вы писали:

A>>Просто у тех, кто начинал с языков/платформ уровня C#, Java, Delphi к языкам вроде С складывается отношение как к устаревшим, немодным и ненужным. Это нехорошо ИМХО.

VD>Я начинал как раз с С. И считаю, что С устаревший и единственное почему его имеет смысл применять — это черезвычайная простота переноса компилятора на другие платформы. Ну, а те кто подходят к языкам с точки зрения моды — это маральные уроды или неокрпшие разумом подростки. Это или пройдет, или закончится очень печально.

А так же для стиральных машинок, например
Re[22]: Обучение программированию
От: ansi  
Дата: 20.03.05 07:26
Оценка:
Здравствуйте, VladD2, Вы писали:

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

VD>Может для этого проще вести курс истории развития программирования? Все же нужно разделять знание истори и понимание предмета.
Курс истории языков был бы весьма кстати. Только толку от него? Ну услышит человек, что были когда-то какие-то там алголы... Вот если дать ему попрограммировать на них — тогда другое дело. Только вот все языки все равно не охватить, поэтому давать придется наиболее значимые. Ну а самое место для этого — на практических занятиях. Тем более, что не все из них еще в историю отошли. А, например, от знания Паскаля будет конкретная польза в изучении Дельфи...
Re[31]: Обучение программированию
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.03.05 12:26
Оценка:
Здравствуйте, ansi, Вы писали:

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


Это здорово, что ты, учась в институте, поимел опыт в веб-проекте. Но не стоит распространять этот опыт на всю индустрию. Веб далеко не самое сложное что в ней присуствует, да и веб проекты это не только те странички, что мы все привыкли видеть в инете.
... << RSDN@Home 1.1.4 beta 4 rev. 365>>
AVK Blog
Re[23]: Обучение программированию
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.03.05 12:35
Оценка:
Здравствуйте, ansi, Вы писали:

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


Как это не странно, но бизнес-приложения это одна из самых сложных задач, решаемых в программировании. Причем именно задач программирования, а не математики, моделирования и прочих соотносимых дисциплин.
... << RSDN@Home 1.1.4 beta 4 rev. 365>>
AVK Blog
Re[26]: Обучение программированию
От: Astaroth Россия  
Дата: 20.03.05 21:43
Оценка: :)
Здравствуйте, VladD2, Вы писали:

A>>Да, но зачем студентам об этом знать? Влад потом и так расскажет

VD>А вдруг он не зайдет на наш форум?

Слово "влад" в топиках про C# и .NET, как известно, нарицательное
silent
http://livejournal.com/users/breqwas
Re[24]: Обучение программированию
От: ansi  
Дата: 21.03.05 02:17
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

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

AVK>Как это не странно, но бизнес-приложения это одна из самых сложных задач, решаемых в программировании. Причем именно задач программирования, а не математики, моделирования и прочих соотносимых дисциплин.
Ну я бы не сказал, что там только программирование. Базовое проектирование как раз и есть моделирование (модули, классы, и их отношения). Так что без математики даже тут не обойтись...
Re[32]: Обучение программированию
От: ansi  
Дата: 21.03.05 02:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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

AVK>Это здорово, что ты, учась в институте, поимел опыт в веб-проекте. Но не стоит распространять этот опыт на всю индустрию. Веб далеко не самое сложное что в ней присуствует, да и веб проекты это не только те странички, что мы все привыкли видеть в инете.
А я и не распространяю... И вообще, я вопрос задал!
Re[23]: Обучение программированию
От: Dog  
Дата: 21.03.05 09:43
Оценка:
Д>>не все йогурты одинаково полезны....
Д>>расскажи это тем, кто имел дело с бейсик-программистами
VD>А что такое "бейсик-программист"? Это те кто выучили только один Бэйсик? Или те кто знает Бэйсик? Если последнее, то я тоже бейсик-программистами, так как использовал этот язык.
VD>Мне кажется, что определения вроде "бейсик-программист" — это своего рода шовинизм. На самом деле проблема не в языке, а втом, что на одном языке развитие людей останавливается. Так что можно сказать, что есть и "С++-бейсик-программисты". Для широты кругозора нужно изучить минимум 3 языка. Причем чем более разными они будут и чем больше их будет тем лучше.
Ты забыл добавить, что одним из них должен быть C#
Где-то между собакой и богом.
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>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.05 02:23
Оценка:
Здравствуйте, ansi, Вы писали:

A>Правильно А никто и не говорит о стержне. Языки как таковые вообще не надо делать стержнем обучения.


К сожалению без стержня, т.е. базы, нельзя.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Обучение программированию
От: _Obelisk_ Россия http://www.ibm.com
Дата: 24.03.05 07:26
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


VD>Алгоритым точно так же не имеют никакого отношения к математики. Возможно изучение одного после другого и упростит жизнь. Но вот последовательность точно не важна. Да и толк тратить время на одно в целях изучения другого отсуствует.


Не согласен. Алгоритмы — это часть математики.
Подавляющее число вопросов возникающих в теме Алгоритмы объясняются курсах матанализа, дискретной математики, матлогики, функана, диффуров, алгебры, аналитической геометрии и т.д.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[28]: Обучение программированию
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.05 09:32
Оценка:
Здравствуйте, VladD2, Вы писали:

[...возражения внимательно прочитаны...]

Влад, по этому вопросу мы с тобой стоим на диаметрально противоположных точках зрения. Я привел свое мнение, ты с ним не согласился. Ты привел свое мнение -- с ним я не согласен. Доказать что-то друг другу мы не сможем.

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


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


VD>Так в чем? Мы пытаемся создать фанатов Линукса/Виндвса или просто учим программированить?


Кроссплатформенную для того, чтобы показать людям, как сложно сделать одно и тоже диалоговое окошко на разных платформах, используюя только самые низкоуровневые API. Чтобы затем люди осознавали -- как это здорово, иметь уже готовое окошко на всех платформах. 99% процентов из подвергнувшейся такой процедуре будут основными потребителями таких продуктов, как .NET и Java. И для подавляющего большинства современных задач это именно то что нужно. Но, имхо, только не многие из них будут способны создать что-то более лучшее, чем .Net или Java, потому что они не будут системными программистами.

Вместе с тем найдутся единицы, которые получат кайф от того, что они программируют на уровне API конкретной OS. От тех возможностей, которые это перед ними открывает. От той сложности, которую нужно преодолеть, чтобы сделать над разными API одну объектную обертку. Имхо, именно такие фанаты создавали C++, Python, Perl, Ruby, Java, .Net и будут создавать следующие поколения языков и технологий.

И я думаю, что именно в процессе обучения в ВУЗе нужно дать человеку возможность изобрести свой велосипед и, что самое важное, безболезнено выбросить его и взяться за следующий. Это привьет иммунитет к изобретению велосипедов на будующее. Или, наоборот, даст необходимые навыки для того, чтобы доводить начатые велосипеды до ума.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[27]: Обучение программированию
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 24.03.05 11:11
Оценка:
VladD2 пишет:
> ANS>Извини, что спрашиваю аж под конец дискуссии, но что ты понимаешь под
> ANS>"выучить язык"?
>
> По минимуму знать основы синтаксиса. А вообще — уметь его использовать
> для создания реальных приложений.

Просто год учить синтаксис это перебор.
А для реальных приложений нужны еще и фреймворки. Знание каких из них
может ити в зачет знания языка?

--
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[26]: Обучение программированию
От: ansi  
Дата: 25.03.05 10:28
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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

Я лишь говорю, что Pascal -> C++ -> Java (язык) -> C# займет примерно столько же времени (немного больше), сколько и .NET с нуля. Что лучше — решайте сами.

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

Знаю я достаточно, а на сколько преуспел — время покажет.

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

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

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

Во-первых, человек вряд ли приходит с пустым багажом, скорее всего он уже многое знает. Но не в этом дело.
Во-вторых, не получится отвлечься на контроль памяти, так как отвлекаться ровным счетом не на что. Можно подумать, студент только и будет что память контролировать — на квиксорт времени уже не останется... Серьезно, почему это контроль памяти вдруг стал настолько опасен, что студентов к нему и подпускать нельзя?

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

VD>Так почему же тогда программиста нужно сразу обухом по голове?
Пример с жонглерами понятен. Не ясна аналогия с программированием. По мне, так аналогия — это количество понятий, которых в диезе куда больше чем в паскале.

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

VD>Это является основанием для отказа от обучения азам? К чему эти слова? Программиста же не одному предмету в институте учат.
Это я к словам "не отвлекаться на контроль памяти, а заниматься самим программированием". Смысл моей фразы, что отвлекаться надо на все. Где тут отказ от азов?

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

VD>Предположение о том, что СУБД пишут на асме — это маразм.
На это я могу ответить лишь то, что это твои слова — маразм, так как такого предположения не было. Я ясно выразил свою мысль, а ты что-то уж очень стараешься ее не понять.

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

VD>Уж больно с потолка твои приоритеты. Или тебя очень странно учили, или процесс еще только идет.
С потолка, потому что точные задачи не известны. Это всего-лишь абстрактный пример, что ты так к нему зацепился? По делу ответить нечего?

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

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

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

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

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

VD>Кто тебе такой бред про скорость сказал? Скорость может оказаться и выше. Причем существенно. Тут где-то рядом давали очень хорошую ссылку на форум где господа соревнавались с оптимизирующими компилияторами и в лучшем случае умудрились сиграть с ними на равных.
Это не бред. А может и не оказаться... Зависит от квалификации программистов.
Интересно, а на каких задачах они соревновались? И кто соревновался? Вот в ветке про си++ требовалось написать функцию, вычисляющую среднее двуз чисел так, чтобы она работала для всех интов. В этой задаче ассемблер сделает любой заплюсованный компилятор (как минимум из известных мне).

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

В общем случае как раз можно. В некоторых частных может так и есть.

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

VD>А ты считал столько программы проигрывают в скорости из-за того, что в них использованы хреновые алгоритмы/классы?
Опять пытаешься прицепиться к чему-то. Считай, что алгоритмы одинаковые и наиболее оптимальные.

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

Ты забыл добавить всего-лишь . Опять алгоритмы... Это и ежу понятно, только к чему это?

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

Можно подумать, на шарпе программисты используют только самые лучшие алгоритмы, а дурачки на плюсах, дельфях о таких и не слыхали...

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

Вот только не надо мне парить про велосипеды. Я написал "надо". Ты понимаешь слово "надо"?

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

VD>Нет. Все будет сильно зависеть от реализации. Хотя создавать виртуальные машины на них же самих не очень осмысленное занятие.
Нет, лыжи у меня не едут... Я ему говорю "аналогичной реализации", а он — "сильно зависеть от реализации". Как это называть?

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

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

VD>Так что единственно разумное обяснение выбору С++ (а точнее анменеджед-языка) для реализации виртуальной машины — это проблема курицы и яйца. ВМ должна запускаться когда в системе еще никакой ВС нет.

БСК.
Re[23]: Обучение программированию
От: ansi  
Дата: 25.03.05 10:28
Оценка:
Здравствуйте, VladD2, Вы писали:

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

A>>Правильно А никто и не говорит о стержне. Языки как таковые вообще не надо делать стержнем обучения.
VD>К сожалению без стержня, т.е. базы, нельзя.
Согласен. Я и не говорил, что не должно быть стержня. Я лишь сказал, что языки не должны быть стержнем.
Re[28]: Обучение программированию
От: ansi  
Дата: 25.03.05 10:28
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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

VD>"Котел" можно заставить "кочегарить" и изучением энциклопидии. Есть ли в этом смысл?
VD>Ну, или еще чем. Например, можно с тем же успехам учиться играть в шахматы.
VD>Вот только если заставлять "котел" "качегарить" в конкретной прикладной области, то толку будет больше.
То есть математика таковой областью не является? Это, на мой взгляд, заблуждение. Можно быть математиком и не быть программистом, но в общем случае нельзя стать программистом, не будучи хоть сколько-нибудь математиком.

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

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

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

Скорость мышления в квейке? Все, иду играть... Товарисч, реакцию развивает, реакцию. Не спорю. Способность ориентироваться в пространстве тоже развивает... До поры, до времени. Но скорость мышления какого рода он может развить?

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


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

Логика как предмет — это предмет с довольно провокационным названием. Мы говорим логика, а подразумеваем логичность. Предмет логика учит по большей части предмету логика. Но в составе всей математики он несомненно полезен.
Изучение абстракций, занятие оптимизацией — ??? Что за звери?

VD>То что что-то что-то развивает еще не значит, что это "что-то" необходимо. Развиваться можно и другими путями. Например, можно читать книги, писать код или в тупую поучиться в специализированном заведении.

Книги эрудицию развивают несомненно. Но не способность анализировать. Во всяком случае не так. Вопрос только в том, какие книги?
Re[29]: Обучение программированию
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.03.05 01:17
Оценка: :))
Здравствуйте, _Obelisk_, Вы писали:

_O_>Не согласен. Алгоритмы — это часть математики.


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

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


Они прекрасно объясняются и в спец. книжках. Думаю, что ты и сам знашь, что математики в таких книжках кот наплакал.
... << RSDN@Home 1.1.4 beta 4 rev. 351>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Обучение программированию
От: Andir Россия
Дата: 26.03.05 08:52
Оценка: :)))
Здравствуйте, ansi, Вы писали:

A>П.С.

A>Проходил сегодня мимо стенда кафедры программного обеспечения и эвм. Так вот, там после агитации кафедры написано:
A>

A>Цели высшего образования:
A>1) Научить думать.
A>2) Научить учиться.
A>3) Обучить специальности.

A>Лично я полностью согласен с этими целями.

И приоритет снизу вверх.

С Уважением, Andir!
using(RSDN@Home 1.1.4 beta 3){/* Работаем! */}
Re[30]: Обучение программированию
От: _Obelisk_ Россия http://www.ibm.com
Дата: 28.03.05 07:22
Оценка: 9 (2) +1 :)
Здравствуйте, VladD2, Вы писали:


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


VD>Они прекрасно объясняются и в спец. книжках. Думаю, что ты и сам знашь, что математики в таких книжках кот наплакал.


Ээ... Видимо я читал другие книги.



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

A>Во-вторых, не получится отвлечься на контроль памяти, так как отвлекаться ровным счетом не на что. Можно подумать, студент только и будет что память контролировать — на квиксорт времени уже не останется... Серьезно, почему это контроль памяти вдруг стал настолько опасен, что студентов к нему и подпускать нельзя?


Я например видел студенческие изделия, в которых память одного указателя освобождалась в нескольких разных местах, в зависимости от хода выполнения алгоритма — причем освобождалась (епствественно!) неправильно. Вот только ни студенту, ни преподавателю не хватило квалификации этот баг заметить, а сам по себе он не проявлялся — как обычно и бывает с такими багами.
А потом этот человек пойдет работать куда-то, и будет там писать в том же самом стиле. Пока кто-нибудь не надает ему по рукам. Если повезет, то это произойдет рано — пока такой гнилой стиль не войдет в привычку.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[22]: Обучение программированию
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 28.03.05 16:39
Оценка: +1
Здравствуйте, Дарней, Вы писали:

WF>>Например для идиота (условное понятие ) проще понять технологию Copy+Paste, чем грамотное использование тех же макросов LISP. Для него (идиота) проще будет скопипастить кусок кода раз десять, для кого-то поумней — написать некий макрос или что-нибудь в этом роде.


Д>Вот о чем речь и шла. Если начинать обучение с Паскаля, то привычка использовать именно copy-paste проникнет до самого мозга костей.


Ну, это не совсем так. Я тоже учился на Паскале. Но, вероятно, был достаточно ленив, чтобы возненавидеть copy-paste и наследование от одного общего Object, которым c&p часто провоцировалось.

Д>А если дать этому идиоту мало-мальски сложный проект и хорошие инструменты — то необходимость хорошего стиля будет усвоена очень быстро

Эт точно.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[23]: Обучение программированию
От: Дарней Россия  
Дата: 29.03.05 06:14
Оценка: 8 (1) :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Ну, это не совсем так. Я тоже учился на Паскале. Но, вероятно, был достаточно ленив, чтобы возненавидеть copy-paste и наследование от одного общего Object, которым c&p часто провоцировалось.


Вот это правильно... хороший программист должен быть достаточно ленив, чтобы не осложнять себе жизнь своими руками
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[28]: Обучение программированию
От: ansi  
Дата: 29.03.05 07:23
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Я например видел студенческие изделия, в которых память одного указателя освобождалась в нескольких разных местах, в зависимости от хода выполнения алгоритма — причем освобождалась (епствественно!) неправильно. Вот только ни студенту, ни преподавателю не хватило квалификации этот баг заметить, а сам по себе он не проявлялся — как обычно и бывает с такими багами.

Если преподаватель такой квалификации, то о каком диезе вообще можно думать???

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

Ну знаете, за пять лет обучения уж можно выработать стиль и более-менее уметь управлять памятью. Разумеется при наличии соответствующих преподавателей. На первых порах (курсах) это само собой.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Joe Satriani — Crystal Planet";
Re[29]: Обучение программированию
От: Дарней Россия  
Дата: 29.03.05 07:56
Оценка:
Здравствуйте, ansi, Вы писали:

A>Если преподаватель такой квалификации, то о каком диезе вообще можно думать???


Какие есть — такие есть. Пока не станут платить нормальные зарплаты, ничего лучше не будет.
Странноватая логика у тебя. Если они не справляются с приплюснутым, так что — про более простые языки им и вовсе думать не положено?

A>Ну знаете, за пять лет обучения уж можно выработать стиль и более-менее уметь управлять памятью. Разумеется при наличии соответствующих преподавателей. На первых порах (курсах) это само собой.


Можно. Наверно
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Обучение программированию
От: ansi  
Дата: 31.03.05 02:32
Оценка:
Здравствуйте, Дарней, Вы писали:

A>>Если преподаватель такой квалификации, то о каком диезе вообще можно думать???

Д>Какие есть — такие есть. Пока не станут платить нормальные зарплаты, ничего лучше не будет.
Д>Странноватая логика у тебя. Если они не справляются с приплюснутым, так что — про более простые языки им и вовсе думать не положено?

А что, Шарп уже стал проще Плюсов?
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Rainbow — Still I'm Sad";
Re[31]: Обучение программированию
От: Дарней Россия  
Дата: 31.03.05 03:27
Оценка:
Здравствуйте, ansi, Вы писали:

A>А что, Шарп уже стал проще Плюсов?


собственно, для этого он и задумывался
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[32]: Обучение программированию
От: ansi  
Дата: 31.03.05 07:11
Оценка: +1 -1 :))
Здравствуйте, Дарней, Вы писали:

A>>А что, Шарп уже стал проще Плюсов?

Д>собственно, для этого он и задумывался

Для практического использования — да. А вот для обучения... Паскаль и бэйсик вместе взятые проще плюсов, диеза, или джавы. Это да.
Но вот то, что Шарп проще си++ мне кажется ооооочень сомнительным. По сути один только ГЦ чего стоит. Простое "выделяй память сколько влезет, он сама удалится" тут вряд ли прокатит. Я вот помню начинал на Джаве и все не мог понять, что же за злой дядька там ходит и мусор якобы собирает. И что за мусор вообще? Как он узнает, что что-то не нужно? Интерфейс для меня был просто переводом английского interface. Адаптеры, листенеры были просто куском кода, который обязательно надо вставить, чтобы среагировать на простой клик... Все удивлялся, нахрена столько суеты из-за простой обработки. Ну вот почему нельзя было простую функцию указать??? Короче, не все так просто, как может показаться с первого взгляда — это нам, уже понятиями владеющими и знающими эти механизмы, ничего не стоит изучить "чего же там еще придумали, чтобы облегчить тяжелый программистский крест", а вот новичку...
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Iron Maiden — Aces High";
Re[33]: Обучение программированию
От: Дарней Россия  
Дата: 31.03.05 08:23
Оценка: 18 (3) +4 -1
Здравствуйте, ansi, Вы писали:

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


для обучения чему? Переменные/условия/циклы? А потом несколько месяцев перемножать матрицы и решать уравнения численными методами?
Вот и получаются потом "специалисты", способные реализовать прогу для решения СЛАУ методом Халецкого на десятке разных языков, и не имеющие ни малейшего представления о принципах проектирования и построения систем.

A>И что за мусор вообще? Как он узнает, что что-то не нужно? Интерфейс для меня был просто переводом английского interface. Адаптеры, листенеры были просто куском кода, который обязательно надо вставить, чтобы среагировать на простой клик... Все удивлялся, нахрена столько суеты из-за простой обработки. Ну вот почему нельзя было простую функцию указать??? Короче, не все так просто, как может показаться с первого взгляда — это нам, уже понятиями владеющими и знающими эти механизмы, ничего не стоит изучить "чего же там еще придумали, чтобы облегчить тяжелый программистский крест", а вот новичку...


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

PS вот так сижу и представляю... архитектурный университет, к примеру. На первом курсе всех учат рыть землянки. Лопат и прочих инструментов в то время еще не было, поэтому роют с помошью палок и собственных пальцев. На втором — строить дома из глины и тростника. На третьем рассказывают, что такое кирпич. На четвертом о домах выше, чем в один этаж. На пятом всем рассказывают в общих чертах о "новейших разработках" в виде строительных панелей и блоков. Но вот универ закончен! Выпускник находит (каким-то чудом ) работу, ему показывают спецификацию на строительство многоэтажного жилого комплекса с подземным гаражом. После чего он с квадратными глазами бежит поднимать плач на форуме
Может быть, я немного преувеличил — но ИТ образование в нашей стране выглядит именно так. Если кто-то и выходит из универа нормальным специалистом — то исключительно благодаря своим собственным заслугам и вопреки всей системе никчемного образования.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[33]: Обучение программированию
От: GlebZ Россия  
Дата: 31.03.05 09:03
Оценка:
Здравствуйте, ansi, Вы писали:

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


A>>>А что, Шарп уже стал проще Плюсов?

Д>>собственно, для этого он и задумывался

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

A>Но вот то, что Шарп проще си++ мне кажется ооооочень сомнительным. По сути один только ГЦ чего стоит. Простое "выделяй память сколько влезет, он сама удалится" тут вряд ли прокатит. Я вот помню начинал на Джаве и все не мог понять, что же за злой дядька там ходит и мусор якобы собирает. И что за мусор вообще? Как он узнает, что что-то не нужно? Интерфейс для меня был просто переводом английского interface. Адаптеры, листенеры были просто куском кода, который обязательно надо вставить, чтобы среагировать на простой клик... Все удивлялся, нахрена столько суеты из-за простой обработки. Ну вот почему нельзя было простую функцию указать??? Короче, не все так просто, как может показаться с первого взгляда — это нам, уже понятиями владеющими и знающими эти механизмы, ничего не стоит изучить "чего же там еще придумали, чтобы облегчить тяжелый программистский крест", а вот новичку...
Если бы ты видел в каком виде указатели и ссылки используются новичками, то ты так бы не говорил. Об использовании шаблонов, вообще речи не идет. Любая декларативность для новичка — чрезвычайно трудная вещь для понимания. Я уж не говорю об использовании.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[34]: Обучение программированию
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.03.05 11:49
Оценка: 2 (2) +2
Здравствуйте, GlebZ, Вы писали:
GZ>Если бы ты видел в каком виде указатели и ссылки используются новичками, то ты так бы не говорил. Об использовании шаблонов, вообще речи не идет. Любая декларативность для новичка — чрезвычайно трудная вещь для понимания. Я уж не говорю об использовании.
Очень странно. С одной стороны, непонимание декларативности — вполне закономерный результат обучения, начинающегося с языка "лого". Человеку, привыкшему воспринимать компьютер как очень тупую, но послушную черепашку, должно быть довольно трудно воспринять декларативный стиль.

С другой стороны, существует огромная армия людей, которые совершенно спокойно используют декларативное программирование каждый день и очень много. MS Excel — самый популярный продукт для функционального программирования. Судя по всему, успех его пользователей непосредственно связан с тем, что их никогда не обучали гонять по экрану черепашку, писать 10 PRINT "HELLO, WORLD" и прочей мути.
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[34]: Обучение программированию
От: ansi  
Дата: 31.03.05 12:35
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Если бы ты видел в каком виде указатели и ссылки используются новичками, то ты так бы не говорил. Об использовании шаблонов, вообще речи не идет. Любая декларативность для новичка — чрезвычайно трудная вещь для понимания. Я уж не говорю об использовании.


Ну дык а для чего тогда в ВУЗ идти, если уже все умеешь? Ну для корочки разве что... Хотя, корочку и купить можно.
Само собой не будет, что вот так вот "все и сразу", бац — и ты кульный программер. Из грязи, как грица, в князи. На то они и новички, чтобы учиться.

GZ>С уважением, Gleb.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Kingdom Come — Shout It Out";
Re[34]: Обучение программированию
От: ansi  
Дата: 31.03.05 12:35
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>для обучения чему? Переменные/условия/циклы? А потом несколько месяцев перемножать матрицы и решать уравнения численными методами?

Д>Вот и получаются потом "специалисты", способные реализовать прогу для решения СЛАУ методом Халецкого на десятке разных языков, и не имеющие ни малейшего представления о принципах проектирования и построения систем.
Re[18]: Обучение программированию
Автор: ansi
Дата: 11.03.05


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

Вообще, я писал про Джаву... Ну да ладно. Я не мог понять это, потому как я не был готов для этого. Ну как минимум по двум причинам: я учился, по-моему, в 9-м классе, и во-вторых я не имел никакого понятия о программировании вообще. Ну очень трудно это вот так сходу понять. Вы то учились ни с диеза, я так полагаю?

Д>Понимание, почему "нельзя указать просто функцию" должно происходить на уровне рефлексов, а не путем долгих и мучительных рассуждений.

Что-то уж очень смахивает на собачек Павлова. Я таковой быть не желаю Ну вот не могу писать что-то, не зная что "оно делает".

Д>PS вот так сижу и представляю... архитектурный университет, к примеру. На первом курсе всех учат рыть землянки. Лопат и прочих инструментов в то время еще не было, поэтому роют с помошью палок и собственных пальцев. На втором — строить дома из глины и тростника. На третьем рассказывают, что такое кирпич. На четвертом о домах выше, чем в один этаж. На пятом всем рассказывают в общих чертах о "новейших разработках" в виде строительных панелей и блоков. Но вот универ закончен! Выпускник находит (каким-то чудом ) работу, ему показывают спецификацию на строительство многоэтажного жилого комплекса с подземным гаражом. После чего он с квадратными глазами бежит поднимать плач на форуме

Д>Может быть, я немного преувеличил — но ИТ образование в нашей стране выглядит именно так. Если кто-то и выходит из универа нормальным специалистом — то исключительно благодаря своим собственным заслугам и вопреки всей системе никчемного образования.

Что-то уж очень подозрительно знакомая аналогия Где-то я уже это читал. В общем есть с чем согласиться, но есть и чему возразить:

  1. Плохо, что не учат строить многоэтажные жилые комплексы, но это ж не значит, что начинать надо с этого. Его как последнего пункта как раз может и не хватать (к сожалению).
  2. Выпускнику дадут эту спецификацию, только если будут уверены в его силах (что вряд ли), или если начальник — идиот. Ну не может человек из университета выйти и сразу начать работать над крупными проектами, если он не работал над ними до этого. И никакой ВУЗ не сможет дать этот практический опыт. Теорию — да. Практику — тоже да, но очень мало. Тут и студенту проблема — не хотят брать, даже если не потому, что он — студент, а хотя бы потому, что он не может работать полный рабочий день. А в open-source не каждый изволит желание учавствовать. Лучше уж сайтики поделать.
  3. Если выпускник поднимает плач на форуме, значит он изначально пошел учиться не туда. Конкретные вопросы задаются, если сам он не смог на них найти ответа. Но чтобы так уж плакать... Да, тяжело по началу. Это все проходят так или иначе, и никуда от этого не деться.
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Kingdom Come — Shout It Out";
Re[35]: Обучение программированию
От: GlebZ Россия  
Дата: 31.03.05 12:52
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

GZ>>Если бы ты видел в каком виде указатели и ссылки используются новичками, то ты так бы не говорил. Об использовании шаблонов, вообще речи не идет. Любая декларативность для новичка — чрезвычайно трудная вещь для понимания. Я уж не говорю об использовании.
S>Очень странно. С одной стороны, непонимание декларативности — вполне закономерный результат обучения, начинающегося с языка "лого". Человеку, привыкшему воспринимать компьютер как очень тупую, но послушную черепашку, должно быть довольно трудно воспринять декларативный стиль.
Скорее всего да.
О новичках это не размышление а наблюдение. Они очень не любят сами делать шаблоны, даже когда пользуются ATL или STL на каждом шагу.
S>С другой стороны, существует огромная армия людей, которые совершенно спокойно используют декларативное программирование каждый день и очень много. MS Excel — самый популярный продукт для функционального программирования. Судя по всему, успех его пользователей непосредственно связан с тем, что их никогда не обучали гонять по экрану черепашку, писать 10 PRINT "HELLO, WORLD" и прочей мути.
Две позиции — императивное мышление и декларативное. Для начинающего программиста важнее первое. Его меньше волнует что нужно делать. Его гораздо более волнует как это делать. И императивное решение, которое состоит из более мелких и более понятных шагов, всегда выглядет проще и его ему легче принять. Для декларативного, более важна абстракция мышления.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[35]: Обучение программированию
От: Дарней Россия  
Дата: 01.04.05 08:10
Оценка:
Здравствуйте, ansi, Вы писали:

A>Re[18]: Обучение программированию
Автор: ansi
Дата: 11.03.05


и?

A>Что-то уж очень смахивает на собачек Павлова. Я таковой быть не желаю Ну вот не могу писать что-то, не зная что "оно делает".


а ты уверен, что сейчас хорошо знаешь, "как оно работает"?

A>Что-то уж очень подозрительно знакомая аналогия Где-то я уже это читал. В общем есть с чем согласиться, но есть и чему возразить:


Ну ладно... давай тогда сравним с шеф-поваром, которого учат готовить блюда из мяса мамонта и собирать съедобные клубни в лесах. Так тебе легче будет?

A>
  • Плохо, что не учат строить многоэтажные жилые комплексы, но это ж не значит, что начинать надо с этого. Его как последнего пункта как раз может и не хватать (к сожалению).

    То есть начинать надо все-таки с рытья землянок?

    A>
  • Выпускнику дадут эту спецификацию, только если будут уверены в его силах (что вряд ли), или если начальник — идиот. Ну не может человек из университета выйти и сразу начать работать над крупными проектами, если он не работал над ними до этого.

    А кто сказал, что это — крупный проект? Крупный — это к примеру торговый комплекс. А это — так, средненького объема работа.
  • Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[35]: Обучение программированию
    От: Дарней Россия  
    Дата: 01.04.05 08:12
    Оценка:
    Здравствуйте, ansi, Вы писали:

    A>Вообще, я писал про Джаву...


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

    A>Ну да ладно. Я не мог понять это, потому как я не был готов для этого. Ну как минимум по двум причинам: я учился, по-моему, в 9-м классе, и во-вторых я не имел никакого понятия о программировании вообще. Ну очень трудно это вот так сходу понять. Вы то учились ни с диеза, я так полагаю?


    Я сам начинал с ассемблера. Потом долго переучивался писать по человечески
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[36]: Обучение программированию
    От: ansi  
    Дата: 01.04.05 13:26
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    A>>Ну да ладно. Я не мог понять это, потому как я не был готов для этого. Ну как минимум по двум причинам: я учился, по-моему, в 9-м классе, и во-вторых я не имел никакого понятия о программировании вообще. Ну очень трудно это вот так сходу понять. Вы то учились ни с диеза, я так полагаю?

    Д>Я сам начинал с ассемблера. Потом долго переучивался писать по человечески

    Ну ассемблер вообще из другого класса — низкуровневых языков. Оно и понятно, что тяжело. Хотя изучать ассемблер после Паскаля не проще, если даже не сложнее.
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Elysia — Earthvoice";
    Re[36]: Обучение программированию
    От: ansi  
    Дата: 01.04.05 13:26
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    A>>Re[18]: Обучение программированию
    Автор: ansi
    Дата: 11.03.05

    Д>и?
    Циклы, переменные. Вы же этого хотели?

    A>>Что-то уж очень смахивает на собачек Павлова. Я таковой быть не желаю Ну вот не могу писать что-то, не зная что "оно делает".

    Д>а ты уверен, что сейчас хорошо знаешь, "как оно работает"?
    На .НЕТ пока не было времени изучить все особо детально. Но знания все-таки имею и пока мне их хватает. Может на досуге почитаю, кстати где можно про внутренности интересно почитать? А вообще, придется изучать моторольную платформу...
    В Си++ знаю хорошо — там это дело проще. Даже по работе x86-процессора есть довольно приличные знания, хотя весь Intel Optimization Guide вкупе c System Architecture в голове все-равно не поместишь, если не иметь с этим дело постоянно...

    A>>Что-то уж очень подозрительно знакомая аналогия Где-то я уже это читал. В общем есть с чем согласиться, но есть и чему возразить:

    Д>Ну ладно... давай тогда сравним с шеф-поваром, которого учат готовить блюда из мяса мамонта и собирать съедобные клубни в лесах. Так тебе легче будет?
    Честно говоря — нет

    A>>
  • Плохо, что не учат строить многоэтажные жилые комплексы, но это ж не значит, что начинать надо с этого. Его как последнего пункта как раз может и не хватать (к сожалению).
    Д>То есть начинать надо все-таки с рытья землянок?
    Даже не знаю, что этой землянке сопоставить... Не силен я в строительстве Начинать с куличиков глупо, но вот так сразу к зданиям тоже не переходят.

    A>>
  • Выпускнику дадут эту спецификацию, только если будут уверены в его силах (что вряд ли), или если начальник — идиот. Ну не может человек из университета выйти и сразу начать работать над крупными проектами, если он не работал над ними до этого.
    Д>А кто сказал, что это — крупный проект? Крупный — это к примеру торговый комплекс. А это — так, средненького объема работа.
    Для него — крупный. Это вам не одноэтажное здание, которое он строил в ВУЗе. И начальник это должен понимать, потому как он сам таким был, даже если сейчас для него это мелочь (но на то он и начальник, чтобы большой опыт иметь ).
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Elysia — Earthvoice";
  • Re[35]: Обучение программированию
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 03.04.05 07:20
    Оценка: 6 (1)
    Здравствуйте, Sinclair, Вы писали:

    S>С другой стороны, существует огромная армия людей, которые совершенно спокойно используют декларативное программирование каждый день и очень много. MS Excel — самый популярный продукт для функционального программирования. Судя по всему, успех его пользователей непосредственно связан с тем, что их никогда не обучали гонять по экрану черепашку, писать 10 PRINT "HELLO, WORLD" и прочей мути.


    Кстати, для меня Ёксель стал действительно мощьным инструментом когда к его декларативности в шестой версии (то что шал за четвертой ) добавили VBA и я смог дописать необходимые мне функции и использовать нужные мне императивные библиотеки. Так что пусть цветут все цветы.

    Что же до сложности понимания декларитивного стиля, то этому по-моему способсвуют:
    1. Кривые реализации декларативных систем (или косящих под оные). Твой пример с Ёкселем очень хорошо показывает, что можно сделать и прямые.
    2. Приучение в институтах исключительнок к ИЯ. После ИЯ изучение ФЯ выливается в ломку сознания.

    Так что, чтобы привить декларативность еще в институте нужно:
    1. Создать интуитивно понятные сдерства декларативного программирования.
    2. Обучать декларативному программированию параллельно с императивным. Кстати, если сначала пытаться, например, привавать ФЯ, то можно привести к тому, что уже изучение императивного стиля приведет к ломке сознания.
    ... << RSDN@Home 1.1.4 beta 4 rev. 351>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[37]: Обучение программированию
    От: Дарней Россия  
    Дата: 04.04.05 04:09
    Оценка: :)
    Здравствуйте, ansi, Вы писали:

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


    нет, совсем не тяжело. Тяжело было другим — читать мой код
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[37]: Обучение программированию
    От: Дарней Россия  
    Дата: 04.04.05 04:25
    Оценка: +1
    Здравствуйте, ansi, Вы писали:

    A>На .НЕТ пока не было времени изучить все особо детально. Но знания все-таки имею и пока мне их хватает. Может на досуге почитаю, кстати где можно про внутренности интересно почитать? А вообще, придется изучать моторольную платформу...


    Подозреваю, что твои знания из разряда "С++ — это С с классами".
    Рихтера конечно почитай... а вообще хороших книг маловато

    A>Даже не знаю, что этой землянке сопоставить... Не силен я в строительстве Начинать с куличиков глупо, но вот так сразу к зданиям тоже не переходят.


    Я так думаю, работать с инструментами допотопной древности тоже не учат.

    A>Для него — крупный. Это вам не одноэтажное здание, которое он строил в ВУЗе. И начальник это должен понимать, потому как он сам таким был, даже если сейчас для него это мелочь (но на то он и начальник, чтобы большой опыт иметь ).


    Я и не говорил, что ему все целиком надо будет делать... покажут например спецификацию на какой-то кусок проекта... и что, думаешь от этого легче станет?
    Если он во время студенчества подрабатывал — справится, если нет — то не справится.
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[30]: Обучение программированию
    От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
    Дата: 04.04.05 08:19
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    _O_>>Не согласен. Алгоритмы — это часть математики.


    VD>Агоритм есть алгоритм. Математика тут не причем. Можно конечно изучать их с точки зрения мктематики. Но можно и без нее.


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


    VD>Они прекрасно объясняются и в спец. книжках. Думаю, что ты и сам знашь, что математики в таких книжках кот наплакал.


    Только большинство сложных алгоритмов придумали именно математики. ИМХО у них мышление совсем другое, очень близкое для программирования (окромя дизайна) Да и раньше программистами были как раз математики.
    ... << RSDN@Home 1.1.4 beta 4 rev. 303>>
    и солнце б утром не вставало, когда бы не было меня
    Re[36]: Обучение программированию
    От: GlebZ Россия  
    Дата: 04.04.05 09:10
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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

    Ага, добавление нового фронта борьбы с Екселем. Функции, то добавили. А вот над тем как пользоваться ими, решили не думать.

    VD>2. Приучение в институтах исключительнок к ИЯ. После ИЯ изучение ФЯ выливается в ломку сознания.

    Или отторжение и осознания того, что ИЯ более понятен и легок для написания. И то, что с помощью ИЯ, можно сделать то же самое.

    VD>2. Обучать декларативному программированию параллельно с императивным. Кстати, если сначала пытаться, например, привавать ФЯ, то можно привести к тому, что уже изучение императивного стиля приведет к ломке сознания.

    За двумя зайцами погонишься — ... ну ты знаешь. Лучше все-таки последовательно (интуиция подсказывает — сначала ФЯ, потом ИЯ). Просто при обучении противопоставить задачи где более удобен тот или иной. Чтобы, не дай бог, не было отторжения, а были видны именно плюсы.

    С уважением, Gleb.
    ... << RSDN@Home 1.1.4 beta 4 rev. 358>>
    Re[38]: Обучение программированию
    От: ansi  
    Дата: 04.04.05 09:42
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    A>>На .НЕТ пока не было времени изучить все особо детально. Но знания все-таки имею и пока мне их хватает. Может на досуге почитаю, кстати где можно про внутренности интересно почитать? А вообще, придется изучать моторольную платформу...

    Д>Подозреваю, что твои знания из разряда "С++ — это С с классами".
    А по-сути так и есть. Шаблоны еще забыли. Ну и исключения добавить можно. И перегрузку операторов... Все остальное — комбинация предыдущих.

    Д>Рихтера конечно почитай... а вообще хороших книг маловато

    Спасибо.

    A>>Даже не знаю, что этой землянке сопоставить... Не силен я в строительстве Начинать с куличиков глупо, но вот так сразу к зданиям тоже не переходят.

    Д>Я так думаю, работать с инструментами допотопной древности тоже не учат.
    Я бы не сказал, что паскаль и си такая уж допотопная древность. Да, они уже не используются в прикладном программировании, но их концепции так уж сильно не устарели. Тем более, что все остальное растет оттуда. Да и все ООП по-сути — просто более удобная запись процедурного программирования.

    A>>Для него — крупный. Это вам не одноэтажное здание, которое он строил в ВУЗе. И начальник это должен понимать, потому как он сам таким был, даже если сейчас для него это мелочь (но на то он и начальник, чтобы большой опыт иметь ).

    Д>Я и не говорил, что ему все целиком надо будет делать... покажут например спецификацию на какой-то кусок проекта... и что, думаешь от этого легче станет?
    Д>Если он во время студенчества подрабатывал — справится, если нет — то не справится.
    Да справится, если не дурак. Конечно придется поднапрячься и по-началу тяжеловато будет. Ну и времени по-началу у него будет уходить больше, чем у опытного. Это всё само собой. Это проходят все — кто-то быстрее, кто-то медленнее.
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Celtic Awakening — Feast At Tintern";
    Re[38]: Обучение программированию
    От: ansi  
    Дата: 04.04.05 09:42
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    Д>нет, совсем не тяжело. Тяжело было другим — читать мой код

    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Celtic Awakening — Feast At Tintern";
    Re[31]: Обучение программированию
    От: ansi  
    Дата: 04.04.05 10:16
    Оценка:
    Здравствуйте, Serginio1, Вы писали:

    S> Да и раньше программистами были как раз математики.

    Дак вроде и сейчас это так... Не видел нематематических факультетов, которые обучали бы программистов
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Celtic Awakening — Breton Children's Song";
    Re[32]: Обучение программированию
    От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
    Дата: 04.04.05 10:50
    Оценка: +1
    Здравствуйте, ansi, Вы писали:

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


    S>> Да и раньше программистами были как раз математики.

    A>Дак вроде и сейчас это так... Не видел нематематических факультетов, которые обучали бы программистов
    Еще в конце 70 х в техникумах, была специализация программирования. Да и сейчас этих колледжей полно. Просто ИМХО считаю, что программирование одной из составляющей математики. Нужно не только знать различные подходы для решения задачи, но и главное сделать красивое и эффективное решение. Именно это и доставляет удовольствие как в решении собственных задач так и осознании чужих решений. Математика как раз обучает этому + изменяет образ мышления, гибкость ума итд.
    ... << RSDN@Home 1.1.4 beta 4 rev. 303>>
    и солнце б утром не вставало, когда бы не было меня
    Re[33]: Обучение программированию
    От: ansi  
    Дата: 04.04.05 12:18
    Оценка:
    Здравствуйте, Serginio1, Вы писали:

    S> Еще в конце 70 х в техникумах, была специализация программирования. Да и сейчас этих колледжей полно. Просто ИМХО считаю, что программирование одной из составляющей математики. Нужно не только знать различные подходы для решения задачи, но и главное сделать красивое и эффективное решение. Именно это и доставляет удовольствие как в решении собственных задач так и осознании чужих решений. Математика как раз обучает этому + изменяет образ мышления, гибкость ума итд.

    Согласен
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Iscaaro — Fold Your Hands And Pray";
    Re[39]: Обучение программированию
    От: Дарней Россия  
    Дата: 04.04.05 13:09
    Оценка:
    Здравствуйте, ansi, Вы писали:

    A>А по-сути так и есть. Шаблоны еще забыли. Ну и исключения добавить можно. И перегрузку операторов... Все остальное — комбинация предыдущих.


    нет, не так. Как известно, система — это не просто совокупность ее составляющих.

    A>Да и все ООП по-сути — просто более удобная запись процедурного программирования.


    И вообще, любой язык — это просто более удобное представление машины Тьюринга

    A>Да справится, если не дурак. Конечно придется поднапрячься и по-началу тяжеловато будет. Ну и времени по-началу у него будет уходить больше, чем у опытного. Это всё само собой. Это проходят все — кто-то быстрее, кто-то медленнее.


    Изначально усвоенный кривой стиль программирования выправляется годами. Да и то не у всех.
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[37]: Обучение программированию
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.05 17:20
    Оценка:
    Здравствуйте, GlebZ, Вы писали:

    GZ>Ага, добавление нового фронта борьбы с Екселем. Функции, то добавили. А вот над тем как пользоваться ими, решили не думать.


    Ты уверен, что достаточно разобрался в том, о чем говоришь? Добавленная функция может тут же использоваться в любой ячейке Ёкселя.

    GZ>Или отторжение и осознания того, что ИЯ более понятен и легок для написания. И то, что с помощью ИЯ, можно сделать то же самое.


    Отторжение как раз и происходит от перечисленных мною факторов.

    GZ>За двумя зайцами погонишься — ... ну ты знаешь.


    Незнаю. Говорят в MIT это прокатывает. Да и сам как-то помню как шел с физики на химию и не испытывал при этом огромного дискомфорта.

    GZ> Лучше все-таки последовательно (интуиция подсказывает — сначала ФЯ, потом ИЯ).


    Последовательно хуже. Будет ломка. К тому же для развития мозка важен не только объем информации, но и ее пестрота.

    GZ> Просто при обучении противопоставить задачи где более удобен тот или иной. Чтобы, не дай бог, не было отторжения, а были видны именно плюсы.


    Как можно противопоставить что-то тому о чем люди и представления не имеют?
    ... << RSDN@Home 1.1.4 beta 4 rev. 351>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[31]: Обучение программированию
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.05 17:20
    Оценка:
    Здравствуйте, Serginio1, Вы писали:

    S> Только большинство сложных алгоритмов придумали именно математики. ИМХО у них мышление совсем другое, очень близкое для программирования (окромя дизайна) Да и раньше программистами были как раз математики.


    Да как бы не совсем. Хотя это значения не имеет. Ты же не изучашь химию для использования стирального порошка только на том основании, что его создали химики?

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

    S>но и главное сделать красивое и эффективное решение.


    О! Золотые слова (выделенны). Когда захочешь создать очередного понстра с помощью копипэста прочти их и передумай.

    Что же до производительности (эффективности), то она нужна максимальная, а достаточная.

    Но тут математика уже не причем. Чтобы сделать код быстее математические знания не нужны. Нужно понимание характеристик использованных алгоритмов, знание платформы и куча измерений.
    ... << RSDN@Home 1.1.4 beta 4 rev. 351>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[38]: Обучение программированию
    От: GlebZ Россия  
    Дата: 05.04.05 10:11
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    GZ>>Ага, добавление нового фронта борьбы с Екселем. Функции, то добавили. А вот над тем как пользоваться ими, решили не думать.

    VD>Ты уверен, что достаточно разобрался в том, о чем говоришь? Добавленная функция может тут же использоваться в любой ячейке Ёкселя.
    Извини, я о своем о девичьем, не разобрамшисъ. Интегрировался когда-то с экселем, много о нем (как и о всем офисе) думал. Очень нехорошо думал.

    GZ>>Или отторжение и осознания того, что ИЯ более понятен и легок для написания. И то, что с помощью ИЯ, можно сделать то же самое.


    VD>Отторжение как раз и происходит от перечисленных мною факторов.

    Представь себе объяснение такого Alpha blend на OCaml
    Автор: Quintanar
    Дата: 30.03.05
    . И сравни с той же программой на императиве. Почуствуйте разницу. И наоборот.

    VD>Да и сам как-то помню как шел с физики на химию и не испытывал при этом огромного дискомфорта.

    Они решают мало связанные друг с другом задачи.

    GZ>> Лучше все-таки последовательно (интуиция подсказывает — сначала ФЯ, потом ИЯ).

    VD>Последовательно хуже. Будет ломка. К тому же для развития мозка важен не только объем информации, но и ее пестрота.
    Слушая, а ломка это хорошо. Человек у которого будет две разные картины. Картины достаточно обособленные и не смешанные. В результате на императиве он будет подставлять императивную сторону мозгов, на декларативе — декларативную. Человека, который пишет на WinForms и ASP.NET, также подставляет разные стороны свого гениального мозга. То ту приложит, то эту.

    GZ>> Просто при обучении противопоставить задачи где более удобен тот или иной. Чтобы, не дай бог, не было отторжения, а были видны именно плюсы.

    VD>Как можно противопоставить что-то тому о чем люди и представления не имеют?
    Это просто о качестве лабораторных. А когда они будут учить ИЯ, противопоставление с ФЯ будет.

    С уважением, Gleb.
    ... << RSDN@Home 1.1.4 beta 4 rev. 358>>
    Re[32]: Обучение программированию
    От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
    Дата: 05.04.05 10:37
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    S>> Только большинство сложных алгоритмов придумали именно математики. ИМХО у них мышление совсем другое, очень близкое для программирования (окромя дизайна) Да и раньше программистами были как раз математики.


    VD>Да как бы не совсем. Хотя это значения не имеет. Ты же не изучашь химию для использования стирального порошка только на том основании, что его создали химики?

    Но это не значит, что не надо знать химию. Мне лично нравится учиться, и познавать новое.
    VD>Алгоритм это сущьность которую можно использовать зная о ней только скоростные характеристики и что он делает. И чем сложнее алгоритм, тем меньше смысла в него вдумываться. То же сжатие или регексы применяется большинством без понимания глубинных основ и ничего.
    У каждого своя философия. Мне лично очень не нравятся черные ящики и без понимания чувствую себя очень не уютно. Поэтому есть желание разобраться, и применяя уже свои наработки. Не все решается в лоб.
    ... << RSDN@Home 1.1.4 beta 4 rev. 303>>
    и солнце б утром не вставало, когда бы не было меня
    Re[34]: Обучение программированию
    От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
    Дата: 05.04.05 10:37
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    S>>но и главное сделать красивое и эффективное решение.


    VD>О! Золотые слова (выделенны). Когда захочешь создать очередного понстра с помощью копипэста прочти их и передумай.


    VD>Что же до производительности (эффективности), то она нужна максимальная, а достаточная.

    В общем согласен. Но заметь фоновое копи пасте так или иначе применяется при инлайне, в шаблонах, дженериках с валуе типами. Хотя виртуальные решения как правило более красивы и компактны.
    VD>Но тут математика уже не причем. Чтобы сделать код быстее математические знания не нужны. Нужно понимание характеристик использованных алгоритмов, знание платформы и куча измерений.
    Так алгоритмы это чистой воды математика. Не высшая, но всеже.
    ... << RSDN@Home 1.1.4 beta 4 rev. 303>>
    и солнце б утром не вставало, когда бы не было меня
    Re[40]: Обучение программированию
    От: ansi  
    Дата: 06.04.05 10:41
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    A>>А по-сути так и есть. Шаблоны еще забыли. Ну и исключения добавить можно. И перегрузку операторов... Все остальное — комбинация предыдущих.

    Д>нет, не так. Как известно, система — это не просто совокупность ее составляющих.
    Система — это совокупность ее состовляющих и их связей между собой.

    A>>Да и все ООП по-сути — просто более удобная запись процедурного программирования.

    Д>И вообще, любой язык — это просто более удобное представление машины Тьюринга
    Которой также учат в институте. Да еще и заставляют писать логарифм по основанию 3! Изуверы!!!

    A>>Да справится, если не дурак. Конечно придется поднапрячься и по-началу тяжеловато будет. Ну и времени по-началу у него будет уходить больше, чем у опытного. Это всё само собой. Это проходят все — кто-то быстрее, кто-то медленнее.

    Д>Изначально усвоенный кривой стиль программирования выправляется годами. Да и то не у всех.
    Типа на шарпе он кривым не будет? Не смешите меня. Здесь не от языка зависит, а от башки.
    new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Iscaaro — Fold Your Hands And Pray";
    Re[39]: Обучение программированию
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 06.04.05 19:34
    Оценка:
    Здравствуйте, GlebZ, Вы писали:

    GZ>Представь себе объяснение такого Alpha blend на OCaml
    Автор: Quintanar
    Дата: 30.03.05
    . И сравни с той же программой на императиве. Почуствуйте разницу. И наоборот.


    И что ты почувствовал? А гляда на эту версию: Re[4]: Alpha blend на OCaml
    Автор: Quintanar
    Дата: 05.04.05


    VD>>Да и сам как-то помню как шел с физики на химию и не испытывал при этом огромного дискомфорта.

    GZ>Они решают мало связанные друг с другом задачи.
    Ага. Например валентность к физике отношения не имеет.

    А с геометрии на алгебру ты в школе не ходил?
    ... << RSDN@Home 1.1.4 beta 4 rev. 351>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[40]: Обучение программированию
    От: GlebZ Россия  
    Дата: 07.04.05 11:49
    Оценка:
    Здравствуйте, VladD2, Вы писали:


    GZ>>Представь себе объяснение такого Alpha blend на OCaml
    Автор: Quintanar
    Дата: 30.03.05
    . И сравни с той же программой на императиве. Почуствуйте разницу. И наоборот.


    VD>И что ты почувствовал? А гляда на эту версию: Re[4]: Alpha blend на OCaml
    Автор: Quintanar
    Дата: 05.04.05

    Или спроси что я почуствовал глядя на версию Re: Наравне с С++
    Автор: Quintanar
    Дата: 06.04.05

    Вообще говоря, Quintanar постарался и показал, в чем эффективность императивного и функционального подхода в работе с массивом и списком.

    VD>>>Да и сам как-то помню как шел с физики на химию и не испытывал при этом огромного дискомфорта.

    GZ>>Они решают мало связанные друг с другом задачи.
    VD>Ага. Например валентность к физике отношения не имеет.

    VD>А с геометрии на алгебру ты в школе не ходил?

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

    С уважением, Gleb.
    ... << RSDN@Home 1.1.4 beta 4 rev. 358>>
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.