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>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.