Здравствуйте, Dog, Вы писали:
Dog>После Java, может быть. Но после C++ ... незнание фрэймворка и платфориы пораждают порой такие велосипеды и хм. оригинальные решения, что диву даёшься.
Да, но только фреймворк не имеет никакого отножения к языку.
А теперь попробуйте объяснить человеку, который учил в школе математику и делает в программировании свои первые шаги, почему программа объявляется с помощью ключевого слова class, а не program , почему программа представляет собой множество, в котором, как известно, порядок элементов не важен , почему главная процедура, читаемая по английски как "пустая главная" (void main), на самом деле не пустая и, наконец, почему понятие главной процедуры не объединено с понятием программы
C>Самый что ни на есть процедурный код. Для запуска программы можно C>вдобавок еще использовать красивую внешнюю утилитку.
>> Dog>Вы хотели сказать являлось VS2003 + Resharper порвёт людое Дельфи >> по удобности. В VS2005 говорят и решарпера не надо будет >> Речь идет о преподавании. В VS.NET разве есть Delphi? Вот Zonnon >> обещают в будущем встроить.
C>А _нафига_ нужен Дельфи? Через 5 лет Дельфи уже уйдет в историю и C>останется в нишевых областях (как сейчас FoxPro и прочие dBase'ы).
Для преподавания программирования на ближайшие 5 лет ничего лучшего пока нет.
C>Зоннон — тоже полная фигня. Это не промышеленный язык, и новых фич в нем примерно "0".
Глупое заявление.
C>Чем он педагогически лучше того же Паскаля — не знаю.
Наличием модулей, концепцией ООП.
>> Dog>И что делать выпустившемуся студенту знающему паскаль, делфи и >> занон ? Учить С++, С# и Java >> У нас нормальный студент к пятому курсу на всех перечисленных языках >> программировать умеет и ему не сложно освоить любой новый язык. И >> вообще знание языков не считается за умение программировать.
C>Ага, умение программировать у вас = умение писать GUI
) крутится вокруг > того, в каком порядке изучать языки. Я как-то читал про т.н. > генетический подход в преподавании, когда концепции подаются в порядке > их исторического возникновения. Я, как ни странно, учился > программированию именно в таком порядке: > -программируемый микрокалькулятор (ПМК) — была такая штука, > ассемблероподобный язык; > -BASIC; > -C, затем Pascal; > -SQL; > -Haskell.
Проблема будет в том, что "тот самый Бейсик" (без процедур, с номерами
строк и GO TO), который был тогда уже нигде и не найти. А современные
бейсики очень сильно отличаются от первого.
--
Andrei N.Sobchuck
JabberID: andreis@jabber.ru. ICQ UIN: 46466235.
d Bratik пишет:
> А теперь попробуйте объяснить человеку, который учил в школе > математику и делает в программировании свои первые шаги, почему > программа объявляется с помощью ключевого слова class, а не program
Сначала говорим, что это такое "магическое слово" и на него можно не
обращать внимание. А вот потом, когда будет изучатся ООП — тогда уже и
объяснять про классы. Более того, так можно построить плавный переход от
процедурного стиля к ООП (например, сначала вводя коллекции как "черные
ящики").
> почему программа представляет собой множество, в котором, как > известно, порядок элементов не важен
А он не важен, вообще говоря. Порядок методов в классе значения не имеет.
> почему главная процедура, читаемая по английски как "пустая главная" > (void main)
Так же — сначала считаем магическим словом, когда изучение дойдет до
функций — объясняем.
> на самом деле не пустая и, наконец, почему понятие главной процедуры > не объединено с понятием программы
А почему оно должно быть объединено?
> C>А _нафига_ нужен Дельфи? Через 5 лет Дельфи уже уйдет в историю и > C>останется в нишевых областях (как сейчас FoxPro и прочие dBase'ы). > Для преподавания программирования на ближайшие 5 лет ничего лучшего > пока нет.
Да? Чтобы через пять лет студенты оказались зависимыми от
_коммерческого_ продукта (Дельфи — оно ведь далеко не бесплатное), да
еще и устаревшего.
> C>Зоннон — тоже полная фигня. Это не промышеленный язык, и *новых фич > в нем примерно "0"*. > Глупое заявление.
Назовите в нем новые фичи, пожалуйста. Я слушаю...
> C>Ага, умение программировать у вас = умение писать GUI > Далеко не только
Dog>>А почему в изучении .NET нельзя идти от простого к сложному ? M>.НЕТ актуально, когда есть ВинНТ и выше, а когда в компьютерных классах Вин95/98 , M>то ситуация не располагает к Студио.НЕТ (C#). И не ситуация скоро не изменится.
При обучении полезно ориентироваться на будущее , а не настоящее. И если ВУЗ не может обеспечить будущих специалистов, которых он готовит, то о каком уровне обучения может идти речь? Тогда споров нет Фортран и вперёд за ЕС (это такие гробики с железной клавиатурой. Смотрятся потрясающе. Я бы сейчас такой купил )
Dog>>Тут многие кричат, мол надо учить ООП. Так воспользуйтесь своим же советом идите от простого к сложному, дайте только то что необходимо для понимания на текущий момент. M>Если компьютер дома есть, то не забудешь. Обучение структурному программированию теперь привязано к .НЕТ и C#? M>Теория ведь не привязана к конкретному языку.К выделенному : а что без шарпа примерчики уже не смотрятся?
А что для этого надо учить отдельный язык ?
M>И ООП понимать надо (плюсы и минусы).
Идите от простого к сложному
Dog>>А вчём смысл фразы ? В том что надо изучить кучу языков, что бы увидеть после, что всё эти идеи воплотились в шарпе ? Причём согласитесь, воплатились очень хорошо. M>Это не куча. Что-то стоит упомянуть, а что-то и изучать. M>Я вижу, что C# приподносится как универсальный инструмент (этакий кухонный комбайн со всеми воплощенными идеями) в пределах .НЕТ.
Зачем учить кучу языков из одного семейства, если можно сосредоточиться на 2-3, которые будут реально использоваться в будущем? Я понимаю ещё, когда тут советуют учить функциональные языки.
Dog>>Чисто субьктивная оценка. У меня , допустим, всё нормально. Что я делаю не так ? M>К примеру, документ Ворд, созданный в Ворд97, после редактирования в Ворд2003 прилично выростает в размере на пустом месте. M>Это есть плата за эволюцию в стиле Микрософт.
И что это доказывает? Некоторые вообще в блокноте набирают, так что на основании этого сделать вывод , что ворд совсем не нужен и MS это тупиковый путь развития ?
M>>>Это расплата за использование языков типа С в ВинАПИ. Это язык для программ малых размеров. Dog>>Размер уже не имеер такого большого значения как раньше. По поводу скорости , ни кто не мешает вам написать критические участки на C++ или асме, а всё остально сделать на шарпе. И так будет правильно и затратистся намного меньше времени на разработку и отладку. M>Код программы в стиле бутерброда — не лучший вариант.
Похоже на то что вы знаете вкус яичницы
Dog>>После Java, может быть. Но после C++ ... незнание фрэймворка и платфориы пораждают порой такие велосипеды и хм. оригинальные решения, что диву даёшься. V>Да, но только фреймворк не имеет никакого отножения к языку.
Вот после таких заявлений и пишутся велосипеды. Спасибо, насмотрелся
Здравствуйте, Dog, Вы писали:
Dog>Вот после таких заявлений и пишутся велосипеды. Спасибо, насмотрелся
А при чем тут велосипеды? Речь то шла о знании языка. А если говорить о .NET`e то свет клином на шарпе не сошелся: например, можно писать на С++ и при этом замечательно использовать фреймворк, и не подозревать о существовании шарпа . Короче, надо отделять мух от котлет и фреймворк от языка. Язык можно выучить за пару дней, а вот с фреймворком, действительно, придется повозиться.
Dog>>Вот после таких заявлений и пишутся велосипеды. Спасибо, насмотрелся V>А при чем тут велосипеды? Речь то шла о знании языка.
Знание синтаксиса ничего в себе не несёт.
V> А если говорить о .NET`e то свет клином на шарпе не сошелся: например, можно писать на С++ и при этом замечательно использовать фреймворк, и не подозревать о существовании шарпа .
Для этого надо как минимум знать С++
V> Короче, надо отделять мух от котлет и фреймворк от языка. Язык можно выучить за пару дней, а вот с фреймворком, действительно, придется повозиться. С таким подходом любой язык можно выучить за 3 дня. И после гнуть пальцы
Здравствуйте, minorlogic, Вы писали:
M>Попробую и я вставить свои 5 копеек.
M>Принципиальных аргументов против си шарпа у меня нет.
M>Но когда у меня спрашивают совета что учить , я рекомендую JAVA. M>Несколько неочевидных преимуществ это минимальное время для стартапа , то есть можно написать программу и уже через пару минут видеть как она работает в браузере.
В консоли на C# и С++ такое же время. Чудная возможность написать программу Hello world на доске, и объяснить ее смысл.(как это давалось когда-то в нашем институте).
M>В университете , (не техникуме) а именно в универе. который должен готовить ДУМАЮЩИХ специалистов , я бы обучал M>1. Паралельно JAVA + Assembler (почти любой). Чтобы понять где грабли, и как их обойти.
Дикая смесь. С Java все понятно. Но ассемблер без элементарных знаний архитектуры — нонсенс. M>Плюс алгоритмику ОЧЕНЬ легко давать на жабе.
Я бы ее давал на C++. Уменьшает вмешательство языка в алгоритмы, а также показать возможности оптимизации работы программы средствами языка. В силу совместимости с С.
M>2. на более старших курсах , поверхностное ознакомление с С++, , SmallTalk , моежет еще какую экзотику.
Ого — C++ у нас экзотика.
M>3. дипломы и курсовые можно было бы писать на любом выбранном студентом языке , хоть C# если он на нем практикуется.
Само-собой.
Здравствуйте, Dog, Вы писали:
Dog>Знание синтаксиса ничего в себе не несёт.
Кроме возможности писать на этом языке программы. Я не утверждаю, что одного лишь синтаксиса для этого достаточно.
V>> А если говорить о .NET`e то свет клином на шарпе не сошелся: например, можно писать на С++ и при этом замечательно использовать фреймворк, и не подозревать о существовании шарпа . Dog>Для этого надо как минимум знать С++
Конечно.
V>> Короче, надо отделять мух от котлет и фреймворк от языка. Язык можно выучить за пару дней, а вот с фреймворком, действительно, придется повозиться. Dog> С таким подходом любой язык можно выучить за 3 дня. И после гнуть пальцы
Неа, С++ за три дня по любому не выучить, даже если знать шарп. А вот наоборот — легко.
Здравствуйте, milkpot, Вы писали:
M>Ну и как? Научился? О сишнике надо рассказать Задорнову (сатирику), чтоб тот выступил на одной из ближайших Микрософтовских M>презентаций.
Почему ты решил что это говорит в пользу или не в пользу языка? Я просто говорю что они слишком разные даже на бытовом уровне.
Здравствуйте, prVovik, Вы писали:
V>Здравствуйте, GlebZ, Вы писали:
GZ>>Ну-ну. У меня знакомый сишник три дня ходил за мной, все не мог понять каким образом не надо делать delete и что такое сборщик мусора. V>А что, чтобы узнать, что такое сборщик мусора, надо обязательно выучить именно С#. Так чтоли?
Нет, не нужно. А вот для того чтобы учитывать что ты работаешь в среде со сборщиком мусора и у тебя нет деструктора, нужно. Поскольку финалайзер и диспозе поддерживается именно языком. И чем тебе грозит работа в финалайзере, тоже нужно знать. То есть нужно знать не просто о сборщике мусора, а о конкретной его реализации.
GZ>>А через некоторое время пришлось объяснять что не все так просто, и зачем нужен using. V>Это да, согласен. Первую неделю, пока не узнал о using, писал try/finally.
А этой конструкции в С++ нет. Что касается __try/__finally, то я его вообще никогда в жизни не использовал. Детерменированного деструктора С++ хватает для данной функциональности.
GZ>>Что такое сборка, тоже интересный вопрос. V>То же, что и длл, только приятней.
Почти да, и почти нет. Но впрочем это фича платформы которую тоже придется выучить.
GZ>>Что такое value и не value объекты, и почему нужно всегда помнить с каким типом объекта ты работаешь. V>Ну это еще тройка предложений: V>1) value объекты — это объекты на стеке.
И что у них есть отличия в наследовании. Они могут наследовать только интерфейсы. V>2) reference объекты — объекты в куче, управляются ГЦ. V>3) boxing — создание копии стекового объекта в куче. V>Человеку, знающему С++, чтобы прочитать и понять эти предложения понадобится максимум секунд 20
Человеку знающему C++ в ум не придет, что для того чтобы изменить структуру в некотором массиве, нужно выгружать из массива копию, и так же копию обратно вставлять в массив. И то что при передаче объекта через параметр, нужно помнить что ты создал копию объекта, или ссылку на него.
Здравствуйте, Quintanar, Вы писали:
Q>Допуская изучение подобных технологий в гос. вузе государство, фактически, льет воду на мельницу одной компании, т.е. совершенно не понятно за что создает ей тепличные условия за свой счет. Чем больше будущих программистов будет с самого начала приобщено к технологиям MS, тем лучше для компании. Это касается, естественно, не только MS, но и Борланда с его Delphi и даже Sun с Java.
С тем что это льет воду на мельницу одной компании — с этим я согласен. Но ниужели ты считаешь, что компании типа Sun или\и Borland смогут конкурировать с Микрософт ?? Да ты даже сейчас не найдешь нормальной работы на Delphi или Java, а если и найдешь, то всегда будешь получать меньше чем программист под .NET. И какие бы нововведения Borland и Sun не вводили, они просто не смогут конкурировать с C# и .NET, и не потому, что они будут хуже или что-то еще, а просто Микрософт им не позволит, Микрософт фактически монополисты в этой области и не пропустит сюда никого.
Сейчас я учусь в университете, и мои преподы, люди, которые действительно еще молоды и являются профессионалами в области Delphi, жалуются, что не могут найти вообще никакой работы, а если такая работа и есть, то даже в университете им платят больше чем на этой работе.
Поэтому я считаю, что изучать .NET НАДО, будть-то VB.NET, C# или любой другой язый.
Здравствуйте, _orion_, Вы писали:
__>С тем что это льет воду на мельницу одной компании — с этим я согласен. Но ниужели ты считаешь, что компании типа Sun или\и Borland смогут конкурировать с Микрософт ?? Да ты даже сейчас не найдешь нормальной работы на Delphi или Java, а если и найдешь, то всегда будешь получать меньше чем программист под .NET. И какие бы нововведения Borland и Sun не вводили, они просто не смогут конкурировать с C# и .NET, и не потому, что они будут хуже или что-то еще, а просто Микрософт им не позволит, Микрософт фактически монополисты в этой области и не пропустит сюда никого.
__>Сейчас я учусь в университете, и мои преподы, люди, которые действительно еще молоды и являются профессионалами в области Delphi, жалуются, что не могут найти вообще никакой работы, а если такая работа и есть, то даже в университете им платят больше чем на этой работе.
__>Поэтому я считаю, что изучать .NET НАДО, будть-то VB.NET, C# или любой другой язый.
Здравствуйте, minorlogic, Вы писали:
M>Но когда у меня спрашивают совета что учить , я рекомендую JAVA.
Я тоже.
M>Несколько неочевидных преимуществ это минимальное время для стартапа , то есть можно написать программу и уже через пару минут видеть как она работает в браузере.
А чем в этом плане отличается .NET?
M>В университете , (не техникуме) а именно в универе. который должен готовить ДУМАЮЩИХ специалистов , я бы обучал M>1. Паралельно JAVA + Assembler (почти любой). Чтобы понять где грабли, и как их обойти. Плюс алгоритмику ОЧЕНЬ легко давать на жабе. А уж работы тпринимать в виде аплетов так просто сказка !
Здравствуйте, _orion_, Вы писали:
__>Здравствуйте, _orion_, Вы писали:
__>>Поэтому я считаю, что изучать .NET НАДО, будть-то VB.NET, C# или любой другой язый.
__>Кстати, к подтверждению моих слов о зарплате сюда http://www.dedasys.com/articles/language_popularity.html
Просвяти неразумного — где ты там зарплату увидел, а?
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, _orion_, Вы писали:
__>>Здравствуйте, _orion_, Вы писали:
__>>>Поэтому я считаю, что изучать .NET НАДО, будть-то VB.NET, C# или любой другой язый.
__>>Кстати, к подтверждению моих слов о зарплате сюда http://www.dedasys.com/articles/language_popularity.html
К>Просвяти неразумного — где ты там зарплату увидел, а?
Прости, не правильно понял, это результаты по запросам в гуглу
Но тем не менее, то, что программисты на C# получают очеь много — это факт.