Какие языки перспективны? Что преподавать студентам?
От: martie Россия  
Дата: 04.04.06 04:42
Оценка: 3 (1)
Добрый день,

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

На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)
Объектное читается всего 1 семестр и на этом все (

Так вот вопрос к вам многоуважаемый All:
Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,
платформы .NET или Java
кроме того необходимы базовые знания функционального программирования
Как вы думаете?
Re: Какие языки перспективны? Что преподавать студентам?
От: Kubyshev Andrey  
Дата: 04.04.06 05:01
Оценка:
Я думаю что Java
Re: Какие языки перспективны? Что преподавать студентам?
От: _INDY_ Россия  
Дата: 04.04.06 05:17
Оценка: 2 (1) +1
Здравствуйте, martie, Вы писали:
M> ...

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>платформы .NET или Java
M>кроме того необходимы базовые знания функционального программирования
M>Как вы думаете?

Я бы на вашем месте не вдавался слишком глубоко в подробности технологий, если конечно не будет заказа на специалистов определённного профиля, т.к. технология раскрывается достаточно просто при наличии определённых базовых знаний. Т.е. Вам надо немного абстрагироваться от конкретных технологий и начать с общего — т.е. сначала, естественно, с процедурного программирования, а потом достаточно бысто перейти от процедурного "проектирования" к объектно ориетированному — ведь суть то всё одно, если брать C++ то все мы знаем что классы только абстракция компилятора/программиста реально в испольняемом коде их нет, но всё же ООП давать надо — т.к. это образ мышления.
Кроме того я рекомендовал бы затронуть COM, но не рекламируя при этом Microsoft, ведь эта идея реализуема на любой платформе(почти...) — вот оно собственно настоящее ООП... потому что программа(в памяти компа исполняемый код сливается конечно в одну-кучу, хотя как посмотреть) собирается из блоков на этапе исполнения, а не на этапе статического связывания. Кроме того естественно следовало бы достаточно подробно осветить языки программирования которые компилируются не в бинарный исполняемый код непосредственно понятный процессору, а какой то промежуточный код (managed code(для MS) или byte code(Java)) для исполнения которого требуется just-in-time компилятор или интерпретатор кода ... Ну вот, несколько сумбурно, но всё же...

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

На практике не писать маленькие независимые друг от друга программки, а делать один большой проект несколько месяцев или может семестров.
Per Aspera Ad Astra
Re: Какие языки перспективны? Что преподавать студентам?
От: ArhAngelVezel Россия  
Дата: 04.04.06 05:28
Оценка: 2 (1) +1 -3
Здравствуйте, martie, Вы писали:

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

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

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование, платформы .NET или Java

Вот этого не надо... Сам закончил в том году универ и не скажу, как я, имея красный диплом, сдавал предметы по распределенным языкам программирования или unix программированию. А как иначе, когда у тебя 40 часовая рабочая неделя, а тебя заставляют писать на ненужной тебе платформе на дистрибутивах >1Гб. В гробу студенты видели такое. Знать ООП надо, но это не отдельная технология, это не отдельные языки. С++ или ObjectPascal как курсовик на 2 курсе вполне ничего. Но если начать пичкать студентов технологиями программирования, где отличаются только синтаксис, вой начнется через год. Как говориться, есть тупое мясо, которое может только doc файлы набивать, и есть 20% умных, их и нужно обучать 80% времени.

M>кроме того необходимы базовые знания функционального программирования.

100% надо. Только спецпредметом на 2 курсе, в параллель с ООП и процедурными. Ибо это несет развитие творческого потенциала студентов. К тому-же отсеивает то, что не должно выйти со специальности IT.
Re: Какие языки перспективны? Что преподавать студентам?
От: Дарней Россия  
Дата: 04.04.06 05:47
Оценка:
Здравствуйте, martie, Вы писали:

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>платформы .NET или Java
M>кроме того необходимы базовые знания функционального программирования
M>Как вы думаете?

сейчас сюда придет Влад.....

А вообще, идея про большой проект была правильной. Необходимость ООП нельзя уяснить по мелким примерам — нужно самостоятельно набить с десяток шишек, чтобы понять.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Какие языки перспективны? Что преподавать студентам?
От: martie Россия  
Дата: 04.04.06 05:51
Оценка:
Здравствуйте, ArhAngelVezel, Вы писали:


M>>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование, платформы .NET или Java

AAV>Вот этого не надо... Сам закончил в том году универ и не скажу, как я, имея красный диплом, сдавал предметы по распределенным языкам программирования или unix программированию. А как иначе, когда у тебя 40 часовая рабочая неделя, а тебя заставляют писать на ненужной тебе платформе на дистрибутивах >1Гб. В гробу студенты видели такое. Знать ООП надо, но это не отдельная технология, это не отдельные языки. С++ или ObjectPascal как курсовик на 2 курсе вполне ничего. Но если начать пичкать студентов технологиями программирования, где отличаются только синтаксис, вой начнется через год. Как говориться, есть тупое мясо, которое может только doc файлы набивать, и есть 20% умных, их и нужно обучать 80% времени.

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

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

AAV>100% надо. Только спецпредметом на 2 курсе, в параллель с ООП и процедурными. Ибо это несет развитие творческого потенциала студентов. К тому-же отсеивает то, что не должно выйти со специальности IT.


Как вы считаете, на какие языки стоит обрати внимание? Пролог? Лисп?
Re[2]: Какие языки перспективны? Что преподавать студентам?
От: Resnick Россия  
Дата: 04.04.06 05:59
Оценка: 1 (1) +3
Здравствуйте, ArhAngelVezel, Вы писали:

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


M>>Так вот вопрос к вам многоуважаемый All:

M>>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

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


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

По сабжу
Есть насколько злобная идея напрячь студентов Scheme по известной книжке (SICP),
параллельно с Паскалем (классические вещи — сортировка, поиск и т.п.).
Если правильно сопоставлять оба курса, то это даст отличный кругозор и гибкость.
Следующие два курса — ООП + например, практические вещи, типа сети и дизайн гуя.
На два семестра/курса — по-моему, просто супер.
Re[3]: Какие языки перспективны? Что преподавать студентам?
От: martie Россия  
Дата: 04.04.06 06:10
Оценка: 6 (1)
Здравствуйте, Resnick, Вы писали:


R>Практика учебы в "лучшем программистском вузе" показала, что такой подход дает слишком малый

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

Да согласен, + нужно показать практику реального применения! У нас всем тупо навязывают делфи. Все!
Если не ВУЗ, то кто еще должен студенту рассказать про что есть и другие языки, и в принципе выбор должен оставаться за ним.
И выходят у нас те, кто кроме Form1:TForm ничего особенно и не умеют, а самое главное, не знают как применить на практике и куда вообще с этими "знаниями" податься
Хотя бы зачатки культуры кода нужно воспитывать, работу в команде и пр. пр

Сравнить хотя бы процесс изготовления двигателей и как по этой специальности людей готовят с подготовкой программистов!


R>По сабжу

R>Есть насколько злобная идея напрячь студентов Scheme по известной книжке (SICP),
R>параллельно с Паскалем (классические вещи — сортировка, поиск и т.п.).
R>Если правильно сопоставлять оба курса, то это даст отличный кругозор и гибкость.
R>Следующие два курса — ООП + например, практические вещи, типа сети и дизайн гуя.
R>На два семестра/курса — по-моему, просто супер.

Интересная схема.
Re: Какие языки перспективны? Что преподавать студентам?
От: Leonid V. Volnin Россия  
Дата: 04.04.06 06:36
Оценка: +2
Здравствуйте, martie, Вы писали:

M>Добрый день,


M>Сегодня мой научный руководитель (зав. каф. нашего института)

M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

А мне вот думается, что важно понимание Как Это Все Устроено Изнутри.
Не надо упирать в обучении на какие-то технологии.
Потому что наряду со знанием алгоритмов и всяких технологий (тот же СОМ) нужно все таки уметь оперировать с элементарными данными.
Это я к тому, что я сталкивался с такими молодыми программистами, которые неплохо в общем-то владеют COM-ом, знают и активно используют какие-то скриптовые языки. но вот появляется задача разобрать какой-нибудь текстовый файл с данными (данные лежат в общем-то очень просто) и зачитать его например в двумерный массив. и все. и у этот человек впадает в ступор. он начинает писать ну такой бредовый код, что его только на стену вешать в качестве иллюстрации "никогда так не делайте!". хотя он в общем-то знает, конечно, что такое массив, как работать с файлами, его этому учили (рукописный конспект на двадцать пять страниц с перечислением и описанием функций стандартной библиотеки С), да. просто он не умеет эти знания применить.
я утрирую, конечно :) но по-моему это довольно характерный случай для современных выпускников.
best regards, Leonid
Re[2]: Какие языки перспективны? Что преподавать студентам?
От: ie Россия http://ziez.blogspot.com/
Дата: 04.04.06 06:41
Оценка:
Здравствуйте, Дарней, Вы писали:

M>>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>>платформы .NET или Java
M>>кроме того необходимы базовые знания функционального программирования
M>>Как вы думаете?

Д>сейчас сюда придет Влад.....


А кстати, почему бы и нет. Семестр ФП+scheme, семестр ООП+C#, а еще на пару семестров — большой проект+звать Влада
Через годик-другой глядишь уже можно будет и по такой схеме.
А пока Nemerle еще очень сырой, недавно решил один некритический кусочек некритического проекта на нем забацать. Удовольствие честно скажу ниже среднего. Язык хорош, но документация и ошибки компилятора убивают и отнимают боольшую кучу времени. Не знаю даже хватит терпения доделать или плюну и забацаю на C#.


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

+1
Только проект должен быть действительно большой и сложный (относительно глубоко раскрывающий хотя бы одну область), на 6-8 человеко-семестров на команду из 3-4х человек.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Превратим окружающую нас среду в воскресенье.
Что преподавать студентам? Про Java
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 04.04.06 06:51
Оценка: 21 (4) +1 :)
martie,

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>платформы .NET или Java
Я скажу про выделенное. Мне вот сильно интересно, чего там учить? Синтаксис? Технологии? Если синтаксис, то это максимум одно занятие. Если технологии, то здесь есть пара моментов:
  1. OOA, OOD, gof и j2ee паттерны, свободное чтение УМЛ (особенно диаграммы классов, объектов, взаимодействия и состояния).
  2. Нужно знать все базовые библиотеки (коллекции, сериализации, потоки ввода-вывода, работа с сеткой, рефлекшн, обработка событий, неблокирующий ввод-вывод, локализацию и т.п.). Особенно многопоточность!
  3. Нужно понимать как работают виртуальная машина, загрузка классов, сборка мусора. Желательно знать базовые инструкции байт-кода.
  4. Нужно уметь создавать апплеты и приложения на AWT, Swing и SWT. Естественно, и компонентную модель Java beans для элементов управления.
  5. JDBC и какой-нибудь ОРМ, например Hibernate или JDO. Естественно понимать как такое отображение влияет на взаимодействие прикладных объектов и основные грабли с производительностью.
  6. Java security (загрузка классов, верификация байт кода, полиси и пермишны, подписывание кода, сигнатуры, ключи и т.п.). Конечно же освоить следующие апи: JAAS, JCE, JSSE, JGSS.
  7. Сервлеты, JSP, JSTL. (маленький такой пунктик)
  8. Фреймворки для создания веб-приложений: Struts, JSF, Tapestry, Cocoon и т.п. Конечно же MVC должен быть на уровне рефлексов.
  9. Tomcat, как туда деплоить и как поддерживать веб-приложения.
  10. RMI, манипуляция удалёнными объектами.
  11. Jini, технология создания распределённых приложений.
  12. Парсинг XML, желательно попробовать SAX и все три апи (DOM, JDOM, DOM4J). Создание преобразований XSLT (синтаксис, семантика, часто-используемые конструкции и идиомы).
  13. Веб-сервисы. Изучить JAX-RPC, SAAJ, JAXB, JAXM, JAXR. Конечно же Axis как одну из самых распространённых имплементаций SOAP.
  14. Изучить лёгковесные фреймворки: Spring, Pico/NanoContainer. Знать что такое IoC и как он влияет на архитектуру.
  15. Незаметный пунктик: J2EE. Разумеется не получится пройти мимо JNDI, JMS, JTA, JMX и javamail.
  16. Знать, как конфигурить J2EE аппликейшн сервер, например JBOSS. Как использовать его встроенные сервисы (например, кластеризация, пулы коннекшнов, поддержку распределённых транзакций). Конечно же как деплоить/ундеплоить приложения туда, как настраивать производительность.
  17. Понимать Аспектно-Ориентированное программирование. Умело распознавать границы применимости, и применять с использованием AspectJ.
  18. То же самое для Атрибутно-Ориентированного программирования и AspectWerkz.
  19. Знать следующие небольшие, но очень полезные фреймворки: Log4j (логгинг, трейсинг), Quartz (расписания), JCache (распределённое кэширование), Lucene (текстовый поиск) и т.д. Конечно же знать список того, что лежит в Jakarta Commons и для чего оно нужно.
  20. Взаимодействие с нативным кодом — JNI, JCA.
  21. Процесс формирования стандартов JCP и самые распространённые JSR.
  22. Свободно владеть средами IntelliJ IDEA и Eclipse. Знать сочетания клавиш для самых распространённых операций (автодополнение, поиск/замена, рефакторинг: поменять имя, и т.п.).
    Ещё нужно освоить vim и emacs (особенно в случае работы в терминале).
  23. Java достаточно многословна, поэтому обязательно изучить как генерить код с помощью XDoclet и XSLT.
  24. JUnit. Как говорил Брюс Эккель — strong testing, not strong typing. Обязательно.
  25. Инструменты для сборки: ant и maven. Не менее обязательно.
  26. Освоить технологии производства ПО: RUP, XP, TDD и другие гибкие технологии.

Поэтому я против изучения технологий, а за фундаментальные знания (скажем LSP, или содержимое книги "основания программирования" или SICP).

Что же касается меня, то я жалею о том, что мне на 2-м или 3-м курсе (когда у меня был вагон свободного времени) никто не рассказал про существование курса SICP. Ну да ладно, учиться никогда не поздно.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[3]: Какие языки перспективны? Что преподавать студентам?
От: Mamut Швеция http://dmitriid.com
Дата: 04.04.06 06:54
Оценка: +5 :)
Д>>А вообще, идея про большой проект была правильной. Необходимость ООП нельзя уяснить по мелким примерам — нужно самостоятельно набить с десяток шишек, чтобы понять.
ie>+1
ie>Только проект должен быть действительно большой и сложный (относительно глубоко раскрывающий хотя бы одну область), на 6-8 человеко-семестров на команду из 3-4х человек.

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


dmitriid.comGitHubLinkedIn
Re[4]: Какие языки перспективны? Что преподавать студентам?
От: Дарней Россия  
Дата: 04.04.06 07:05
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


А что, в реальной работе разве по другому?
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Какие языки перспективны? Что преподавать студентам?
От: martie Россия  
Дата: 04.04.06 07:06
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


1 из 3 это уже 33% если треть студенов будет работать по специальности это уже лучше
У нас в КАИ на данный момент боюсь что гораздо меньше!
Re: Какие языки перспективны? Что преподавать студентам?
От: bkat  
Дата: 04.04.06 07:07
Оценка: 1 (1) +3
Можно пойти на сайт универов, которые имеют хорошую репутацию в IT
и посмотреть чему у них учат студентов.
Программы обучения, как правило, доступны...

Только вот что такое "перспективность" в IT не очень понятно.
По мне, универ должен давать фундаментальные знания, не зависящие, от сиюминутных веяний.
Сильно ориентироваться в универе на один язык (даже очень хороший) — это вредно.
Ультра-новые технологии, которые претендуют быть перспективными,
лучше изучать в специализированных центрах повышения квалификации.
Скажем вышла технология XYZ и на фирме появилась потребность в ней,
то можно заслать сотрудников на неделю в этот центр, чтобы они там нахватались модных слов
и могли бы начать работать с новой технологией.
Re[5]: Какие языки перспективны? Что преподавать студентам?
От: bkat  
Дата: 04.04.06 07:11
Оценка:
Здравствуйте, Дарней, Вы писали:

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


M>>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


Д>А что, в реальной работе разве по другому?


Ну в целом да.
Проекты, вытягиваемые одиночками, как правило не живут.
Re: Какие языки перспективны? Что преподавать студентам?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 04.04.06 07:12
Оценка: 1 (1)
Здравствуйте, martie, Вы писали:

M>Как вы думаете?


Смотря какие цели ставить. Если стоит задача подготовить востребованых на рынке сотрудников, то Java, .NET. Если стоит задача подготовить научных специалистов, то надо смотреть в сторону более общих вопросов вроде книг Танненбаума, обзорное знакомство со многими языками, а выбор языков для реализации упражнений и курсовых работ оставить самому студенту.
Re[6]: Какие языки перспективны? Что преподавать студентам?
От: Дарней Россия  
Дата: 04.04.06 07:15
Оценка:
Здравствуйте, bkat, Вы писали:

B>Ну в целом да.

B>Проекты, вытягиваемые одиночками, как правило не живут.

разве?
как правило, один-два человека направляют проект и делают фундамент, остальные на подхвате. В этом нет ничего странного.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Какие языки перспективны? Что преподавать студентам?
От: alex_ez Россия alex.jife.ru
Дата: 04.04.06 07:18
Оценка:
Здравствуйте, martie, Вы писали:

Я думаю, что Java — это замечательный пример ООП.
.NET — в принципе аналогично.

На основе изучения Java можно поставить рядом и изучение ООП, как основу для Java.

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

Обязательно надо преподавать основу и базовые знания (хотя почему только базовые?) по скриптоязыкам.
python, perl, php, lua, и другие — все больше набирают обороты.
Они все с открытым исходным кодом и пускаются практически на любой платформе.
По ним желательно знание структуры языка, образование переменных, массивов и классов-структур, если в языке таковые имеются...
При чем, я не говорю о каждом языке в частности, я говорю о скрипто-языках как о определенном классе языков. Большинство из них имеет практически одну и ту же основу, которую знать очень даже желательно...

да. конечно же SQL, если он у вас не преподается... Начиная с ANSI SQL, кончая ораклом...

Паскаль?.. Мое мнение, что он уже вышел из оборота. И в деле только delphi (kylix), хотя и free pascal тоже имеет место быть, но он как видоизмененный си с его процедурами и mallocами уже не в деле.

Недавно слышал, что кому то преподавали использование vi (vim), честно — привлекло...

p.s. Короче, ставьте или на стабильность в языках. Может придет время и Модулу преподавать начнут.
silence in quite
Re[7]: Какие языки перспективны? Что преподавать студентам?
От: _INDY_ Россия  
Дата: 04.04.06 07:30
Оценка:
Здравствуйте, Дарней, Вы писали:

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


B>>Ну в целом да.

B>>Проекты, вытягиваемые одиночками, как правило не живут.

Д>разве?

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

Вообще — на мой взгляд — большой проект — это проект который охватывает разные сферы "программирования" ...

сначала например изучаем базовые операции над данными и реализуем их в качесве отдельных процедур/функций
затем начинаем всё это дело объединять в одну кучу и выстраивать для реализации какой-то коретной цели — программного продукта ...

нужно изначально сформулировать задачу — может дать архитектурный шаблон предварительно подготовленный преподавателем. и указывать что дополнять, а потом смотреть какое решение примет студент, есди он начинает слизывать решения у своих коллег-студентов- то такой человек не должен получить более тройки, если он позаимствовал идею но реализовал её посвоему или реализовал свою собственную идею то 4-5, зависит от реализации.

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

ЗЫ: кроме того такую команду могут и целиком взять на работу ... а там уже может разобьют.. а может и нет ... а может она и сама распадётся ...
Per Aspera Ad Astra
Re: Какие языки перспективны? Что преподавать студентам?
От: Damat_AE Украина  
Дата: 04.04.06 07:36
Оценка: 2 (1) +3 -1
Привет,

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

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

Давайте пофилософствуем...

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

ООП можно элементарно преподавать на 1ом курсе, при этом все рисунки делать на ЮМЛ — убиваем опять 2 зайца. При изложении максимально разъяснять основные концепции — абстрагирование, инкапсуляцию и полиморфизм. Чтобы это понять — не обязательно уметь писать условные выражение и свитчи!!! это все хлам внутри функции. Именно потому не советую начинать с процедурного программирования — ему место только в пределах функции и все.

Что выбрать для учебного языка?
Умоляю вас, если техническое оснащение позволяет использовать 2003 студию, ее и берите, а язык — C#, не обрекайте студентов с недоуменем смотреть на тупорылый синий экран Паскали или С++. С# — элементарный язык, весьма удобный, есть интеллисенс и все такое. Также не советую использовать Делфи или С++Билдер-черепаху. Пусть лучше привыкают к удобностям, чем к неудобностям. А то, что Паскаль напрашивается сам по себе — это потому что нас так учили, и мы думаем, что это правильно. Через несколько лет С# станет очередным Паскалем.

Как спецкурсы — Десктоп и Веб программирование (паттерны для тех 20%).

А для самых нормальных — не обязательно это всем(девочки могут пойти на пару вышивания крестиком) — предподавать декларативное программирование и нейросети — поистине интересно, многим понравится(но у меня предчувствие, что и мальчики пойдут крестиком вышивать) Уж такие эти студенты!!!
Re[4]: Какие языки перспективны? Что преподавать студентам?
От: Pavel Dvorkin Россия  
Дата: 04.04.06 07:44
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


Как преподаватель скажу — верно на 150%. Так нельзя делать ни в коем случае, если не хотите давать дипломы тем, кто вообще программировать так и не научился.
With best regards
Pavel Dvorkin
Re[2]: Дополню
От: Leo Yuriev Россия https://github.com/erthink
Дата: 04.04.06 07:46
Оценка:
M>Смотря какие цели ставить. Если стоит задача подготовить востребованых на рынке сотрудников, то Java, .NET. Если стоит задача подготовить научных специалистов, то надо смотреть в сторону более общих вопросов вроде книг Танненбаума, обзорное знакомство со многими языками, а выбор языков для реализации упражнений и курсовых работ оставить самому студенту.

Рынку нужны не только Java и .NET, это ширпотреб (как когда-то был cobol).

Как здесь уже отмечали, сейчас многие "ВУЗы" зацикливают студентов на MSC, MS.NET и Delphi. Потом такие "специалисты" не знают, что есть другие процессоры и как программировать "не в Windows". IMHO обязательно нужно показать, что такое gcc (именно как "compillers collection") и где "оно" живет.

Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.

Но при этом нельзя сильно нагружать, тупицы все равно ничего не-запомнят/не-пойму. Нужно только дать шанс тем, кто действительно соображает и хочет этим заниматься.
Re[7]: Какие языки перспективны? Что преподавать студентам?
От: bkat  
Дата: 04.04.06 07:47
Оценка:
Здравствуйте, Дарней, Вы писали:

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


B>>Ну в целом да.

B>>Проекты, вытягиваемые одиночками, как правило не живут.

Д>разве?

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

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

А так ведь и архитектора с руководителем проекта
тоже можно рассматривать как мальчиков на подхвате у инвесторов.
Они дают деньги, а кто-то принимает решение, как деньги с выгодой(?) потратить.
Re: Какие языки перспективны? Что преподавать студентам?
От: SteMage Россия  
Дата: 04.04.06 07:51
Оценка:
Здравствуйте, martie, Вы писали:

M>Добрый день,


M>Сегодня мой научный руководитель (зав. каф. нашего института)

M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

M>На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)

M>Объектное читается всего 1 семестр и на этом все (

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

M>платформы .NET или Java
M>кроме того необходимы базовые знания функционального программирования
M>Как вы думаете?

Если мы говорим о специалистах востребованных сегодняшним рынком. То мое предложение следующее.

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

Поскольку Delphi все равно есть. То взять задание на несколько человек 4-5. Раздать. Пусть делают. Затем на следующих этапах предложить занятся портированием проекта на следующие платформы. .Net, Java, C++. Паралельно дать, что-то из функциональных языков.

Если есть желание и квалификация. То можно посмотреть, что нужно ВУЗУ из ПО. Разбить на задачи и давать студентам, а в качестве конечнного аккорда попробовать интегрировать все что получилось.

Важно, чтобы задания не повторялись.

Дополнительным плюсом здесь является, то что человек сможет выбрать, то что ему нравится. Кстати здесь вполне хватает места для научных исследований. Т.е. исходя из получающихся результатов можно вполне делать довольно серьезные выводы.
Re: В университете надо давать высшее образование
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 04.04.06 08:01
Оценка: +6 -4
Здравствуйте, martie, Вы писали:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?


В университете преподавать языки / платформы?
Ха-ха-ха, вот умора ,
а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

В университете надо давать высшее образование.
Re[2]: В университете надо давать высшее образование
От: bkat  
Дата: 04.04.06 08:04
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, martie, Вы писали:


M>>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?


СГ>В университете преподавать языки / платформы?

СГ>Ха-ха-ха, вот умора ,
СГ>а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

СГ>В университете надо давать высшее образование.


В целом согласен, но все же говорить о языках и платформах надо.
Вопрос только в том, как.
В ПТУ — один уровень, а в универе — другой.
Re[3]: Дополню
От: Lloyd Россия  
Дата: 04.04.06 08:06
Оценка: +1 :))) :))) :))) :)))
Здравствуйте, Leo Yuriev, Вы писали:

LY>Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.


Да ладно приемы, пусть хотя бы выучат как правильно названия этих языков пишутся.
Re: Какие языки перспективны? Что преподавать студентам?
От: Pavel Dvorkin Россия  
Дата: 04.04.06 08:09
Оценка: 1 (1) +2
Здравствуйте, martie, Вы писали:

M>Так вот вопрос к вам многоуважаемый All:

M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

Выскажусь как преподаватель, ведущий занятия по программированию в университете 15 лет.

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

1. Какая у вас техника и сколько ее ?
2. Есть ли у вас кому вести занятия ?
3. Сколько времени отводится по учебному плану на эти курсы ?

Без ясного понимания всего этого — всем рассуждениям грош цена.
Наименее важным является вопрос 1 — у большинства студентов дома есть компьютер. Однако если у вас классы до сих пор оборудованы P3-666 , то от этого толку мало, так как не на чем будет даже показать.
Второй вопрос — самый больной. Допустим, я отвечу — надо преподавать .NET . А преподавать есть кому ?
И третий вопрос, в сущности, есть закамуфлированный вопрос — а кого вы готовите ? Программистов ? Или кого-то с программистским уклоном. Что значит — математика на 5+ ? По каким критериям — матфака университета, или же среднего технического вуза ? Сколько всего часов отводится на программистские дисциплины ? В том числе самостоятельной работы сколько ?

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

Пока что одно скажу. ИМХО всякие идеи насчет серьезных проектов, которые будут делаться коллективно — реальны только в одном случае — если это реальный проект, за который Вы им будете платить, и не хуже того, что они по своей квалификации уже сейчас могут получать в различных фирмах , работая там пусть и "на подхвате". Делать же то, что никому не нужно (а они это быстро поймут) всерьез никто не будет — Вам просто придется снизить требования и принять у них то, что есть — не сможете же вы всему курсу зачет не поставить . Кроме того, при этом делать будут те, кто может, а остальных просто отсекут те, кто может — чтобы не болтались под ногами и не мешали. В итоге Вы дадите диплом тем, кто вообще ничему не научился.
With best regards
Pavel Dvorkin
Re[2]: В университете надо давать высшее образование
От: Lloyd Россия  
Дата: 04.04.06 08:10
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>В университете преподавать языки / платформы?

СГ>Ха-ха-ха, вот умора ,
СГ>а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

СГ>В университете надо давать высшее образование.


А что такое высшее образование? Латынь и топология?
Re[2]: В университете надо давать высшее образование
От: Pavel Dvorkin Россия  
Дата: 04.04.06 08:21
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>В университете надо давать высшее образование.


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

Иначе получится, что есть дисциплины, которые могут входить в программу высшего образования по некоторой специальности, и те, которые не могут. Что несколько странно.
With best regards
Pavel Dvorkin
Re[3]: В университете надо давать высшее образование
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 04.04.06 08:25
Оценка: :)))
Здравствуйте, Lloyd, Вы писали:

L>А что такое высшее образование? Латынь и топология?


Поскольку мы тут о программировании вроде как говорим, то латынь и топология, наверное будут излишни. Латынь оставим для филологов, а топологию для математиков и физиков теоретиков.

В университетах (на программистских специальностях) надо готовить таких людей, которые потом защитят диссертации следующего уровня:

  • P. J. Muller — The Active Object System Design and Multiprocessor Implementation — Dissertation ETH Nr. 14755, 2002
  • R. Crelier — Separate Compilation and Module Extension — Dissertation ETH Nr. 10650, 1994
  • M. Franz — Code-Generation On-the-Fly: A Key to Portable Software — Dissertation ETH Nr. 10497, 1994

    Если со всего потока студентов ни один потом не защитит диссертацию такого уровня, значит университет на них проработал в холостую, исполнил функцию ПТУ. Стыд и позор такому университету!
  • Re[4]: Дополню
    От: Leo Yuriev Россия https://github.com/erthink
    Дата: 04.04.06 08:40
    Оценка:
    LY>>Еще бы я посоветовал обзорные курсы по ADA-2005, Eiffiel и Phyton. Но не изучение синтаксиса, а прежде всего идеологии и примеры успешного (и не удачного) применения.

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


    Да уж ..., пардон — явно не выспался.
    Re[4]: В университете надо давать высшее образование
    От: bkat  
    Дата: 04.04.06 08:47
    Оценка:
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>Если со всего потока студентов ни один потом не защитит диссертацию такого уровня, значит университет на них проработал в холостую, исполнил функцию ПТУ. Стыд и позор такому университету!


    Вообще-то EHT — не простой ВУЗ, а вуз в первой десятке.
    Там вообще много чего делают в том числе и нобелевки получают.
    Хорошо конечно, чтобы все универы имели бы такой уровень,
    но увы это нереально.
    Сравни возможности аспиранта в ETH и возможности аспирантов в провинциальных российских ВУЗах.

    Ну а в наших универах тоже работы пишут.
    Бывают и очень хорошие, но не с каждого потока.
    Хорошие работы вообще не делаются на потоке, даже в ETH
    Re: Какие языки перспективны? Что преподавать студентам?
    От: last_hardcoder  
    Дата: 04.04.06 09:19
    Оценка: +1
    Здравствуйте, martie, Вы писали:

    О перспективности современных языков программирования можно судить лет на 5 вперёд, не больше. 10 лет назад перспективным считался C++, 5 лет назад — Java, сейчас — C#. А к моменту получения диплома сегодняшними первокурсниками вполне может появиться что-то ещё. Так что учить надо воспринимать любой новый язык, любую новую парадигму. Функциональное, объектноориентированное, обобщённое, метапрограммирование, языково-ориентированное программирование. Неплохо бы пару слов и о декларативном программировании. Также имеет смысл осветить некоторые аспекты архитектуры компьютеров: чем автоматическая память отличается от статической и динамической, что такое стек, прерывания и т.д. Да и базовие алгоритмы, хотя бы на уровне бинарного поиска, для общего развития не помешают.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 04.04.06 09:28
    Оценка: -1
    martie wrote:

    > Сегодня мой научный руководитель (зав. каф. нашего института)

    > попросил меня написать что с моей "программистской" точки зрения нужно
    > преподавать
    > студентам чтобы повысить общий уровень выпускников, сделать ихболее
    > конкуртноспособными?
    >
    > На данный момент имеем: математическую подготовку — 5+, программисткую
    > же — 3- (здесь все еще паскаль и процедурное программирование)
    > Объектное читается всего 1 семестр и на этом все (
    >
    > Так вот вопрос к вам многоуважаемый All:
    > Какие языки, платформы преподавать студентам, что наиболее перспкективно
    > с Вашей точки зрения?
    >
    > Сам я склоняюсь что желательн бы смещать акцент на сетевое и web
    > программирование,
    > платформы .NET или Java
    > кроме того необходимы базовые знания функционального программирования
    > Как вы думаете?

    В первую очередь не стремиться к более перспективному, высшее образование не должно охватывать только то, что модно —
    оно должно охватывать различные подходы, пусть они нигде не понадобятся в реальной жизни. Так что, имхо, .net, java — ну
    максимум пару занятий — мол, есть такое — при необходимости легко осваивается самостоятельно (для этого и не надо ВО,
    вообще говоря). А основной упор на разные стили программирования — refal, prolog, scheme/lisp и что-нибудь
    процедурное/объектное под конец... хз что... python/C++/javascript/... А паскалем обычно всех грузят... лучше уж С++ —
    он интереснее как язык.

    От сетевого/веба фактически нужно оставить асинхронность/многопоточность/может быть языки разметки (а не только
    программирования) — xml.

    Ещё важное для студентов (особенно начальных курсов) — научиться гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Дарней Россия  
    Дата: 04.04.06 09:41
    Оценка: :)
    Здравствуйте, Pavel Dvorkin, Вы писали:

    PD>В итоге Вы дадите диплом тем, кто вообще ничему не научился.


    их и сейчас дают
    ... << RSDN@Home 1.1.4 stable rev. 510>>
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[4]: В университете надо давать высшее образование
    От: Трурль  
    Дата: 04.04.06 10:05
    Оценка: :)
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ> надо готовить таких людей, которые потом защитят диссертации следующего уровня:


    СГ>
  • P. J. Muller — The Active Object System Design and Multiprocessor Implementation — Dissertation ETH Nr. 14755, 2002
    СГ>
  • R. Crelier — Separate Compilation and Module Extension — Dissertation ETH Nr. 10650, 1994
    СГ>
  • M. Franz — Code-Generation On-the-Fly: A Key to Portable Software — Dissertation ETH Nr. 10497, 1994
    А лучше уровня
  • A. Einstein — А Eine neue Bestimmung der Molek?ldimensionen, Dissertation, ETH Z?rich, 1905
  • Re[5]: В университете надо давать высшее образование
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 04.04.06 10:42
    Оценка:
    Здравствуйте, Трурль, Вы писали:

    Т>А лучше уровня

    Т>
  • A. Einstein — А Eine neue Bestimmung der Molek?ldimensionen, Dissertation, ETH Z?rich, 1905

    Тоже не плохо...

    Кстати Вирт по образованию не программист, а инженер-электронщик.
    Дейкстра по образованию был физиком.
    ...
    Известный всем астроном Хабл (открывший расширение Вселенной), по образованию был юристом.
    ...
    Вольфрам — физик теоретик.
    ...

    Главное — образование как таковое, специальность — вторична.
  • Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Pavel Dvorkin Россия  
    Дата: 04.04.06 10:54
    Оценка:
    Здравствуйте, Дарней, Вы писали:

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


    PD>>В итоге Вы дадите диплом тем, кто вообще ничему не научился.


    Д>их и сейчас дают


    По крайней мере если давать каждому индивидуальное задание и убедиться в том, что он его сам сделал, то вероятность этого уменьшается.
    With best regards
    Pavel Dvorkin
    Re[2]: В университете надо давать высшее образование
    От: SteMage Россия  
    Дата: 04.04.06 11:04
    Оценка: 1 (1) +1 -2
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>Здравствуйте, martie, Вы писали:


    M>>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?


    СГ>В университете преподавать языки / платформы?

    СГ>Ха-ха-ха, вот умора ,
    СГ>а в ПТУ или на курсах повышения квалификации тогда что преподавать прикажете?

    СГ>В университете надо давать высшее образование.


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

    Знаете нам один преподователь сказал. Я знаю, что все то, чему я вас учу никому не надо, но у меня УЖЕ есть квартира и машина, а у вас еще нет.

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

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

    Из моей группы 80% устоилось на работу только благодаря дополнительному образованию полученному вне стен ВУЗа.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 12:47
    Оценка:
    _IN> Вообще — на мой взгляд — большой проект — это проект который охватывает разные сферы "программирования" ...

    [skip]

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


    dmitriid.comGitHubLinkedIn
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 12:48
    Оценка: +1 :)))
    M>>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.

    PD>Как преподаватель скажу — верно на 150%. Так нельзя делать ни в коем случае, если не хотите давать дипломы тем, кто вообще программировать так и не научился.


    Это я вам, как студент говорю


    dmitriid.comGitHubLinkedIn
    Re[3]: В университете надо давать высшее образование
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 04.04.06 12:51
    Оценка: +1
    Здравствуйте, SteMage, Вы писали:

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


    Такие
    Автор: Сергей Губанов
    Дата: 04.04.06
    студенты не могут найти себе работу? Ха-ха-ха, да это ещё смешнее чем предложение учиться в университетах языкам и платформам вместо получения там высшего образования. Если так дальше дело пойдёт, то я со смеху помру. Помилуйте, ведь сегодня не первое апреля.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: 8bit  
    Дата: 04.04.06 13:01
    Оценка: -3 :))
    Здравствуйте, martie, Вы писали:

    M>Добрый день,


    M>Сегодня мой научный руководитель (зав. каф. нашего института)

    M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
    M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    M>На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)

    M>Объектное читается всего 1 семестр и на этом все (

    M>Так вот вопрос к вам многоуважаемый All:

    M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

    M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

    M>платформы .NET или Java
    M>кроме того необходимы базовые знания функционального программирования
    M>Как вы думаете?

    Есть такой анекдот:
    Заходит программист на ассемблере (A) в кафе.
    К нему подходит программист на алгол (B).
    Диалог:
    A: Можно мне чашечку кофе.
    B: Одну минуточку.

    Мораль:
    Алгол умер как язык, поэтому программист B работает официантом в кафе, т.к больше ни начем
    другом он писать не умеет.

    Утверждение:
    Программист на ассемблере будет нужен ВСЕГДА.

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

    Недалекое будущее:
    Платформа смениться и Java и .NET отойдут в тень.
    Re: Не языки, основы
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 13:08
    Оценка: 14 (1) +3 -1
    В общем, зависит от того, кого, действительно, вуз готовит — формочкоклепателей или Программистов (с большой буквы П).

    Если первых, то вопрос смысла не имеет — хоть С++, хоть Яву, хоть С#.
    Если, надеюсь, вторых, то функциональные языки (Haskell, раз уж математика на 5) -> C/C++ по примеру SICP. Вполне возможен подход С/С++ -> функциональные языки, но готовьтесь встретиться с "баранами, глядящими на новые ворота".

    ОБЯЗАТЕЛЬНО! Дать, например, основы программирования (процедурного) и немного ООП, и параллельно этому — алгоритмы и структуры данных. Потому что ни один язык не поможет, если человек не может понять, как работает ICollectionEnumerator или какой-нибудь std::list.

    Почему С++? Потому что извините, но Java/C# — это те же яйца, только в профиль, а знать, как оно там, под капотом, работает, нужно.

    Почему алгоритмы? Я думаю, что ответ очевиден.
    Почему структуры данных? Потому что у нас в универе на уроке "Analysis of algorithms" половина класса, минимум, не знает, что такое графы, и понятия не имеет, как их имплементировать. При этом знание STL позволяет создать граф на шаблонах за час.

    Функциональное программирование — обязательно. Пусть хотя бы знают, что есть _другие_ пути решения задач в программировании, а не только королевство существительных
    Автор: eao197
    Дата: 31.03.06
    .

    Кстати, именно поэтому предлагаю С/С++ — потому что pure OOP (или якобы pure, как в Java и C#) — это хорошо, но это и не панацея? а _студенты_ должны иметь представление о _всех_ подходах.


    dmitriid.comGitHubLinkedIn
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 13:10
    Оценка:
    D_A>Умоляю вас, если техническое оснащение позволяет использовать 2003 студию, ее и берите, а язык — C#, не обрекайте студентов с недоуменем смотреть на тупорылый синий экран Паскали или С++. С# — элементарный язык, весьма удобный, есть интеллисенс и все такое.

    Ключевые слова — элементарный и интеллисенс. На таких инструментах студент научит клепать формочки в Студии — не более.

    Подробнее здесь
    Автор: Mamut
    Дата: 04.04.06


    dmitriid.comGitHubLinkedIn
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 13:10
    Оценка: 12 (1) +1
    _>Ещё важное для студентов (особенно начальных курсов) — научиться гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.

    НИ В КОЕМ СЛУЧАЕ!!!!! На начальных курсах надо учить _думать_

    Подробнее здесь
    Автор: Mamut
    Дата: 04.04.06


    dmitriid.comGitHubLinkedIn
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 04.04.06 13:15
    Оценка:
    Mamut wrote:
    > _>Ещё важное для студентов (особенно начальных курсов) — научиться
    > гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.
    > НИ В КОЕМ СЛУЧАЕ!!!!! На начальных курсах надо учить _думать_
    А вы думаете студент, не умеющий думать, сможет достать из спеки нужную
    информацию?
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: bkat  
    Дата: 04.04.06 13:20
    Оценка: +1 :)
    Здравствуйте, 8bit, Вы писали:

    8>Утверждение:

    8>Программист на ассемблере будет нужен ВСЕГДА.

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

    Программист на ассемблере в общем тоже не нужен.
    Нужны инженеры, умеющие эффективно решать инженерные задачи.
    Инженер умеющий решать только одну задачу
    только одним средством — это даже в общем и не инженер.
    Задач, где требуется только ассемблер, исчезающе мало...
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Кодт Россия  
    Дата: 04.04.06 13:37
    Оценка:
    > Есть такой анекдот:
    > Заходит программист на ассемблере (A) в кафе.
    > К нему подходит программист на алгол (B).
    > Диалог:
    > A: Можно мне чашечку кофе.
    > B: Одну минуточку.
    B: Эй, гарсон, два кофе!.. Ну, рассказывай, как дошёл до такой жизни?

    Мораль: поддержка экзотических систем...
    Posted via RSDN NNTP Server 2.0
    Перекуём баги на фичи!
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: 8bit  
    Дата: 04.04.06 13:50
    Оценка: -2 :)
    Здравствуйте, bkat, Вы писали:

    B>Здравствуйте, 8bit, Вы писали:


    8>>Утверждение:

    8>>Программист на ассемблере будет нужен ВСЕГДА.

    B>Угу...

    B>А официанты были нужны и до появления компьютеров
    B>и будут нужны, когда компьютеры исчезнут

    B>Программист на ассемблере в общем тоже не нужен.

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

    я не говорил что мол давайте учить студентов только ассемблеру.
    Смысл именно в том что бы научить программировать не на конкретном языке, а вообще.
    А уж там пусть выбирают.
    Хотя считаю что программист на ассемблере сможет решить задачу на другом языке эффективнее.
    Так как ассемблер лишает программиста роскоши других языков, мозг у таких парней развит
    очень прилично....
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: 8bit  
    Дата: 04.04.06 13:52
    Оценка:
    Здравствуйте, Кодт, Вы писали:

    >> Есть такой анекдот:

    >> Заходит программист на ассемблере (A) в кафе.
    >> К нему подходит программист на алгол (B).
    >> Диалог:
    >> A: Можно мне чашечку кофе.
    >> B: Одну минуточку.
    К>B: Эй, гарсон, два кофе!.. Ну, рассказывай, как дошёл до такой жизни?

    К>Мораль: поддержка экзотических систем...


    Мораль: заработать можно всегда... было бы желание
    Re: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 14:05
    Оценка: 12 (2) +4 :)
    Здравствуйте, martie, Вы писали:

    M>Сегодня мой научный руководитель (зав. каф. нашего института)

    M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
    M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    Конкурентоспособными с кем? Какую рыночную нишу вы собираетесь рассматривать? Игры? Операционные системы? Серверы баз данных? Искусственный интеллект? Или веб-магазин с бухгалтерией?

    M>На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)


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

    Так, ну если с математикой у выпускников всё в порядке, то реляционное исчисление, теорию графов и булеву алгебру упоминать не буду. Скажу только по практике.

    Необходимо понимание базовых вещей: алгоритм, процедура, процесс (синхронизация), контекст, замыкание, исключение. Минимум языков: Pascal, C, Smalltalk, C++, Lisp, SQL. Системное программирование и основы сетей (я имею ввиду ТМО, протоколы, надёжность передачи данных и т.п.). Минимум по операционным системам: Unix + X-Window (шоб знали дети, откуда у графических операционных систем ноги растут). Алгоритмы шифрования, защищённая передача данных.

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

    Работа с устройствами долговременного хранения данных (вплоть до учёта особеностей геометрии).

    Обязательно! Хотя бы один ассемблер (x86, MCxxx, Sparc — по вкусу и аппаратуре). Обязательно! Понимание того, что есть такое когерентность кэшей и зачем нужен барьер памяти.

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

    Из более общего, естественно, нужно владеть методами разработки и оценки сложности ПО, в том числе, методиками декомпозиции задачи: функциональной, процедурной, объектной.

    M>Объектное читается всего 1 семестр и на этом все (


    Собственно, ОО — это сугубое ответвление ИИ, так что и преподаваться должно в своей исторической нише — в рамках курса по ИИ. Ну, или, во всяком случае, начинаться именно там. После того, как будет ясно понятие фрейма/слота проще будет объяснить такие фишки, как объект-класс-метакласс-метод-сообщение-наследование и т.п. Дальше должны быть CLOS, Smalltalk и C++, потом ObjectPascal, Java и прочее.

    Почти все языки разрабатывались на основе чего-то и для каких-то целей, и, на мой взгляд, глупо отрываться от истории. C++, например, создавался для пропаганды ОО в среде "сишников".

    M>Так вот вопрос к вам многоуважаемый All:

    M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

    Повторюсь: перспективы чего конкретно мы пытаемся прояснить? Если перспективы ИИ, то здесь будет одна группа языков и средств. Если интерфейс пользователя/эргономика — другие языки. Если же высокопроизводительные параллельные вычисления — третьи и т.п.

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

    M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

    M>платформы .NET или Java

    Ширпотреб это, потому и непонятно, куда их воткнуть и как в вузовской программе пользоваться. Индустрия тут обойдётся Гашиш Кумарами. С другой стороны, люди, хорошо закомые с основами быстро вписываются в рабочий контекст на Java/.Net.

    С вебом так вообще всё хитро — нужно сначала понимать, что где и почему лежит, и почему нельзя на сервере оперировать теми переменными, которые лежат в браузере. А для того попервоначалу должно понять, чем отличается программирование в распределённой среде от програмирования в общем адресном пространстве. А если ещё не забыть, что веб-сервер — это система массового обслуживания, а http-запрос браузера можно рассматривать как "обращение с терминала к центральной ЭВМ"...

    M>кроме того необходимы базовые знания функционального программирования


    Главное — не сбить народ с толку, поставив следствие впереди причины.

    Короче: побольше цинизма и поменьше реверансов к коммерчески раскрученным платформам. Это не вы за ними, а они за вами должны бегать и упрашивать ввести факультатив по <нужное вписать>. Обратите сначала внимание на то, что раскрутилось без больших маркетинговых вливаний.

    А чтобы студентам скучно не было — замутите какой-нибудь большой общий проект, скажем, новый Unix написать. Вот и будет занятие для всех слоёв общества на поколения вперёд. А заодно — практика вполне реального проекта.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 14:13
    Оценка:
    Здравствуйте, Кодт, Вы писали:

    >> Есть такой анекдот:

    >> Заходит программист на ассемблере (A) в кафе.
    >> К нему подходит программист на алгол (B).
    >> Диалог:
    >> A: Можно мне чашечку кофе.
    >> B: Одну минуточку.
    К>B: Эй, гарсон, два кофе!.. Ну, рассказывай, как дошёл до такой жизни?

    К>Мораль: поддержка экзотических систем...


    Не... всё не так было.

    Менеджер-официанту: потом сайт долабаешь, у нас клиенты!
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 04.04.06 14:32
    Оценка: +1
    Cyberax wrote:

    >> _>Ещё важное для студентов (особенно начальных курсов) — научиться

    >> гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.
    >> НИ В КОЕМ СЛУЧАЕ!!!!! На начальных курсах надо учить _думать_
    > А вы думаете студент, не умеющий думать, сможет достать из спеки нужную
    > информацию?
    Эмм... Вы оба частично правы. Именно надо уметь читать документацию, находить решения подобных задач, но про форумы я
    немного загнул, похоже. Я имел в виду именно поиск информации. Часто студенты в форумах выпрашивают готовые решения,
    которые используются copy/paste, что тоже не есть хорошо.

    Просто если студент, решая задачу, в которой как _часть_ алгоритома требуется отсортированая последовательность, будет
    писать свою реализацию сортировки, вместо того, чтобы заюзать std::sort — тоже не сликшом хорошо.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[4]: В университете надо давать высшее образование
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 14:33
    Оценка: 12 (1)
    Здравствуйте, Сергей Губанов, Вы писали:

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


    СГ>Такие
    Автор: Сергей Губанов
    Дата: 04.04.06
    студенты не могут найти себе работу? Ха-ха-ха, да это ещё смешнее чем предложение учиться в университетах языкам и платформам вместо получения там высшего образования. Если так дальше дело пойдёт, то я со смеху помру. Помилуйте, ведь сегодня не первое апреля.


    Это ж разве работа?! Вот сайт слабать и отчёт нарисовать — это дело! А то — ни одному ж нормальному человеку (TM) не понять, заумь сплошная!
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 04.04.06 14:44
    Оценка: :))) :)
    Здравствуйте, Mamut, Вы писали:

    M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


    У нас в институте был такой проект по БД на FoxPro. Я в группе был самый главный, группа проект успешно сдала на 5. Я не написал ни одной строчки кода и до сих пор FoxPro практически не знаю. Так что всяко бывает.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 14:48
    Оценка:
    >> _>Ещё важное для студентов (особенно начальных курсов) — научиться
    >> гуглить, т.е. искать инфу в спеках, интернет, форумах, етс.
    >> НИ В КОЕМ СЛУЧАЕ!!!!! На начальных курсах надо учить _думать_
    C>А вы думаете студент, не умеющий думать, сможет достать из спеки нужную
    C>информацию?

    Встречный вопрос — зачем тогда такой студент?

    Поиск информации по Гуглю _ничем_ не отличается от поиска информации в библиотеке. Если студент не умеет пользоваться ни тем ни другим — гнать его.
    ... << RSDN@Home 1.2.0 alpha rev. 647>> ... <<James Last — Hungarian Dance No. 5>> ...


    dmitriid.comGitHubLinkedIn
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 04.04.06 14:55
    Оценка:
    Mamut wrote:
    > C>А вы думаете студент, не умеющий думать, сможет достать из спеки нужную
    > C>информацию?
    > Встречный вопрос — зачем тогда такой студент?
    А что, лучше если студент этого уметь не будет?

    > Поиск информации по Гуглю _ничем_ не отличается от поиска информации в

    > библиотеке. Если студент не умеет пользоваться ни тем ни другим — гнать его.
    Не совсем. Из спеки (обязательно на английском ) надо еще понять что
    там написано.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: the_void Швейцария  
    Дата: 04.04.06 15:00
    Оценка: +1
    Здравствуйте, Mamut, Вы писали:

    M>Эээ. Не надо В итоге в каждой группе весь проект будет делать только один человек, который хоть как-то знает программирование.


    Или будет одна-две группы, которые сделают свои проекты, а остальные будут халтурить или иным образом отмазываться Это если преподаватель не вмешается
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: bkat  
    Дата: 04.04.06 15:04
    Оценка:
    Здравствуйте, 8bit, Вы писали:

    8>Хотя считаю что программист на ассемблере сможет решить задачу на другом языке эффективнее.

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

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

    Программист на ассемблере как раз рискует сильно потерять в квалификации.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: Udjine  
    Дата: 04.04.06 15:11
    Оценка:
    Здравствуйте, martie, Вы писали:

    M>Добрый день,


    M>Сегодня мой научный руководитель (зав. каф. нашего института)

    M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
    M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    Я думаю, что сам язык в определённых рамках не настолько важен. Скажем, Учить ООА на примерах C++ или Java большого значения не имеет. С другой стороны, в такой области как Web надо ориентироваться на мэйнстрим и преподавать языки и технологии, которые наиболее часто используются. А вообще, если хотите получить не только математика хорошего, а ещё и программиста, надо на это дело тоже выделять не 1-2 симестра. И по-больше практики и таких вещей, как методологий и технологий разработки ПО. При чём, тоже с практическим уклоном, что бы преподаватель ещё и объяснить мог, чем то что написано в книжке отличается от того, чем человек будет заниматься на работе.

    Но только вот одна проблема есть — у нас в университетах что бы преподавать далеко не обязательно знать . Я Учусь во втором учебном заведении и среди 4 десятков преподавателей 15 преподавали предметы, относящиеся к программированию (языки, технологии, сети, СУБД и т.д.). Так из этих 15 я могу 2 только назвать, чьи занятия пригодились и не прошли мимо.

    Так что можно составить программу, ориентированную на современный рынок. Можно, в теории, выделить нужное время на каждый курс лекций и практик. Только вот преподавать будет некому... Вернее не то что б некому, но будет как сейчас — по методичке
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 15:11
    Оценка: -1
    Здравствуйте, kan_izh, Вы писали:

    _>Просто если студент, решая задачу, в которой как _часть_ алгоритома требуется отсортированая последовательность, будет

    _>писать свою реализацию сортировки, вместо того, чтобы заюзать std::sort — тоже не сликшом хорошо.

    Это ещё почему?
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 04.04.06 15:15
    Оценка: +1 :)
    Геннадий Васильев wrote:

    > _>Просто если студент, решая задачу, в которой как _часть_ алгоритома

    > требуется отсортированая последовательность, будет
    > _>писать свою реализацию сортировки, вместо того, чтобы заюзать
    > std::sort — тоже не сликшом хорошо.
    >
    > Это ещё почему?
    Велосипедистов — на спортфак.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 15:17
    Оценка:
    Здравствуйте, bkat, Вы писали:

    B>Ну ка напиши тот же MS Офис на ассемблере.

    Ну как, напиши тот же MS Офис на C# без использования офисных ActiveX-компонентов.

    B>Думаю через несколько десятков лет мы дождемся нечто глючное,

    B>но уже никому не нужное.
    Думаю, что не дождёмся вообще.

    B>Программист на ассемблере как раз рискует сильно потерять в квалификации.

    Смотря что под этим подразумевать. Если способность писать офисы — так оно ему и не надо, а если умение строить взаимодействие с железкой, то здесь никаких потерь. Не говоря о том, что порой может понадобиться и БПФ в целых числах.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 15:27
    Оценка: +1 :)
    Здравствуйте, kan_izh, Вы писали:

    >> _>Просто если студент, решая задачу, в которой как _часть_ алгоритома

    >> требуется отсортированая последовательность, будет
    >> _>писать свою реализацию сортировки, вместо того, чтобы заюзать
    >> std::sort — тоже не сликшом хорошо.
    >>
    >> Это ещё почему?
    _>Велосипедистов — на спортфак.

    Значит, показать, что владеешь предметом в той же степени, что и разработчики stl — моветон?
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 04.04.06 15:40
    Оценка: +1 -1
    Геннадий Васильев wrote:

    >> > _>Просто если студент, решая задачу, в которой как _часть_ алгоритома

    >> > требуется отсортированая последовательность, будет
    >> > _>писать свою реализацию сортировки, вместо того, чтобы заюзать
    >> > std::sort — тоже не сликшом хорошо.
    >> >
    >> > Это ещё почему?
    > _>Велосипедистов — на спортфак.
    >
    > Значит, показать, что владеешь предметом в той же степени, что и
    > разработчики stl — моветон?
    Показать, что не владеешь Standard library — моветон.
    Написать свой предикат сравнения — более полезная практика, чем ещё одна сортировка.

    Просто в подавляющем большинстве случаев студенты пишут далеко не в той же степени, а как и разработчики stl
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 15:46
    Оценка:
    Здравствуйте, martie, Вы писали:

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


    Фокус в том, что это не "общие моменты разных языков", а "реализация разными языками одних и тех же идей". Почувствуйте разницу.

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


    Во-первых. Студент ещё по определению не грамотен. Выбор будет уже за выпускником.
    Во-вторых. Реалии программистского труда фокусируются одной фразой: нужно написать работающую программу. Чем сложнее программа, которую может написать (спроектировать) специалист — тем выше цена программиста
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: Mamut Швеция http://dmitriid.com
    Дата: 04.04.06 15:50
    Оценка:
    C>Не совсем. Из спеки (обязательно на английском ) надо еще понять что
    C>там написано.

    Кстати, верно. Я б еще в обязательном порядке вводил обучение техническому английскому
    ... << RSDN@Home 1.2.0 alpha rev. 647>> ... <<Original Score — Still>> ...


    dmitriid.comGitHubLinkedIn
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 16:44
    Оценка:
    Здравствуйте, ie, Вы писали:

    ie>А кстати, почему бы и нет. Семестр ФП+scheme, семестр ООП+C#, а еще на пару семестров — большой проект+звать Влада

    ie>Через годик-другой глядишь уже можно будет и по такой схеме.
    ie>А пока Nemerle еще очень сырой, недавно решил один некритический кусочек некритического проекта на нем забацать.

    Самое смешное, что сейчас кто-нить обвинит меня, что я и эту тему в тему про Nemerle превращу.

    ie>Удовольствие честно скажу ниже среднего. Язык хорош, но документация и ошибки компилятора убивают и отнимают боольшую кучу времени. Не знаю даже хватит терпения доделать или плюну и забацаю на C#.


    Ошибки есть. Это правда. Но не все так уж грустно. Они дружными темпами устраняются. Если брать версию комилятора с SVN-а, то она довольно надежная.

    Что до документации, то и это правад. Но буквально в следующем номере РСДН-а будет большой материал по Немерлу (считайте это анонсом). И для русскоязычной публики будет таки неплохой хэлп.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 16:44
    Оценка: 6 (2) +2 -1 :))) :)
    Здравствуйте, martie, Вы писали:

    Думаю, что большинство завсевгдатых этого форума заранее знают, что я скажу, что учить нужно Nemerle и соотвественно .Net.

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

    Но здесь я хочу дотести одну очень важную вещь.

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

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

    Так вот эти языки — это

    C, C++ и Pascal


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

    Учить же нужно парадигмам и паттернам.

    Совеременный программист обязан знать следующие парадигмы:
    1. Структурное программирование.
    2. ООП.
    3. Функциональное программирование.
    4. Метапрограммирование.
    5. Компонентное программирование.

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

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

    ЗЫ

    Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 17:46
    Оценка: +2 :)
    Здравствуйте, VladD2, Вы писали:

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

    Тогда речь нужно вести о критериях оценки "правильности", не правда ли?

    [...]

    VD>Учить же нужно парадигмам и паттернам.

    Паттернам? В университете? Факультативом... И зачёт всем автоматом.

    VD>Совеременный программист обязан знать следующие парадигмы:

    VD>1. Структурное программирование.
    VD>2. ООП.
    VD>3. Функциональное программирование.
    Ладно, с этим ещё можно согласиться.

    VD>4. Метапрограммирование.

    Это что за "парадигма" такая? Чем она отличается от трёх предыдущих?

    VD>5. Компонентное программирование.

    А почему не "модульное" программирование? В чём глобальный дифференс?

    Да и список, в общем-то, не полный: я бы ещё добавил "атрибутную", "декларативную", "логическую", "списочную". Почему же нет?

    VD>Кроме того он должен понимать для решения каких задач лучше та или иная парадигма.

    VD>Вот исходя из этого и нужно искать базовый язык для обучения.

    Хм... Странный какой-то кругозор получается — если все парадигмы в одном языке, то как тогда удовлетворить требованию знания 3-х разнопарадигмных языков? А базовый язык для обучения давно известен: русский. В иных местах — английский. Бывает — французский. Это действительно — базовые языки. Всё остальное — только иллюстрации тех или иных подходов и методов решения относительно узкого круга задач управления компьютерами. Инструменты, короче. В том-то и беда, что среди них ищут "лучшее форева", а это неправильно...

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


    Вы можете выбрать любой цвет, при условии, что это — чёрный.

    VD>ЗЫ

    VD>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.
    +1
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 17:47
    Оценка: :))) :)
    Здравствуйте, 8bit, Вы писали:

    8>Так как ассемблер лишает программиста роскоши других языков, мозг у таких парней развит

    8>очень прилично....

    Тогда лучше брать бабок с базара. Они целыми днями кросворды решают. У них моз так равит, что им можно стены ломать.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 17:47
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

    ГВ>Ну как, напиши тот же MS Офис на C# без использования офисных ActiveX-компонентов.


    А что есть какие-то проблемы кроме объема?
    Это будет куда проще чем на С/С++.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 17:47
    Оценка: :)))
    Здравствуйте, Pavel Dvorkin, Вы писали:

    PD>По крайней мере если давать каждому индивидуальное задание и убедиться в том, что он его сам сделал, то вероятность этого уменьшается.


    А если выполнит не сам, то станет руководителем или организатором.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: fionbio  
    Дата: 04.04.06 17:55
    Оценка: 23 (4) +2
    http://www.norvig.com/21-days.html
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 17:56
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

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

    ГВ>Тогда речь нужно вести о критериях оценки "правильности", не правда ли?

    Правда, но это длинный разговор.

    VD>>Учить же нужно парадигмам и паттернам.

    ГВ>Паттернам?

    Ага.

    ГВ>В университете?


    Где угодно, если учат на прграммиста.

    VD>>4. Метапрограммирование.

    ГВ>Это что за "парадигма" такая?

    Ага.

    ГВ> Чем она отличается от трёх предыдущих?


    Тем что отдельная парадигма.

    VD>>5. Компонентное программирование.

    ГВ>А почему не "модульное" программирование?

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

    ГВ>Да и список, в общем-то, не полный: я бы ещё добавил "атрибутную", "декларативную", "логическую", "списочную". Почему же нет?


    Логическое программирование а-ка Пролог пожалуй я упустил. Отсальное отношения к парадигмам не имеет. Это скорее демонстрация того что ты полохо умешь классифицировать вещи.

    VD>>Кроме того он должен понимать для решения каких задач лучше та или иная парадигма.

    VD>>Вот исходя из этого и нужно искать базовый язык для обучения.

    ГВ>Хм... Странный какой-то кругозор получается — если все парадигмы в одном языке, то как тогда удовлетворить требованию знания 3-х разнопарадигмных языков?


    Нда. Не успел начать говорить как начинается подмена слов и понятий.

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

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

    ГВ> А базовый язык для обучения давно известен: русский.


    Ага. На немл чеше всего демагогию изучать.

    VD>>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.

    ГВ>+1

    Ну, хоть в чем-то сошлись. Уже приятно.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 04.04.06 20:38
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>>>Учить же нужно парадигмам и паттернам.

    ГВ>>Паттернам?
    VD>Ага.
    Ну, на факультативе, согласен. Или в рамках какого-то более общего курса системостроения. Как иллюстративный момент.

    ГВ>>В университете?

    VD>Где угодно, если учат на прграммиста.
    Нет уж. То, чему учат "где угодно" в университете лучше дальше факультатива не пускать.

    VD>>>4. Метапрограммирование.

    ГВ>>Это что за "парадигма" такая?
    VD>Ага.
    Почему? На основании каких признаков? Первые три "програмирования" упомянутые тобой, вкупе с логическим можно отнести к парадигмам, поскольку они предполагают вполне определённый подход к декомпозиции задачи и размещению программ и данных:
    1. Процедурное программирование -> императивные программы + данные
    2. ООП -> данные агрегируются с императивными методами их обработки
    3. ФП -> функции + контексты
    4. ЛП -> факты + правила вывода

    ГВ>> Чем она отличается от трёх предыдущих?

    VD>Тем что отдельная парадигма.

    По каким признакам можно отнести метапрограммирование к парадигме? Почему на его место нельзя поставить "обобщённое ФП", "обобщённое ООП"?

    VD>>>5. Компонентное программирование.

    ГВ>>А почему не "модульное" программирование?
    VD>Потому что это это уже не парадигма, а частное решение.

    Правильно. Компонентное программирование — бастард маркетинга, модульного и объектного программирования.

    VD>И вообще, в этой области чаще всего спорят о терминах. Вот ты например хочешь этим заняться.


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

    Ты вот, используя весьма неустойчивую терминологическую базу предлагаешь вполне конкретные действия — ввести .Net и Nemerle как "стержень" (нефритовый? ) дальнейшего обучения. Почему? Неясно.

    ГВ>>Да и список, в общем-то, не полный: я бы ещё добавил "атрибутную", "декларативную", "логическую", "списочную". Почему же нет?

    VD>Логическое программирование а-ка Пролог пожалуй я упустил. Отсальное отношения к парадигмам не имеет. Это скорее демонстрация того что ты полохо умешь классифицировать вещи.

    "Сам такой!" (c) Давай уж тогда своё определение парадигмы.

    [skip, хорошо, допустим, я тебя неверно понял]

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


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

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

    +1

    ГВ>> А базовый язык для обучения давно известен: русский.

    VD>Ага. На немл чеше всего демагогию изучать.
    В частности. А ещё на нём хорошо мысли излагать. При наличии.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 04.04.06 21:55
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

    VD>>>>4. Метапрограммирование.

    ГВ>>>Это что за "парадигма" такая?
    VD>>Ага.
    ГВ>Почему?

    По определению http://en.wikipedia.org/wiki/Programming_paradigm

    ГВ>На основании каких признаков? Первые три "програмирования" упомянутые тобой, вкупе с логическим можно отнести к парадигмам, поскольку они предполагают вполне определённый подход к декомпозиции задачи и размещению программ и данных:

    ГВ>1. Процедурное программирование -> императивные программы + данные
    ГВ>2. ООП -> данные агрегируются с императивными методами их обработки
    ГВ>3. ФП -> функции + контексты
    ГВ>4. ЛП -> факты + правила вывода

    Парадигма не определяет способ декомпозиции. Парадигма определяет то как программист видит программу, то есть ее философию. Но метапрограммирование безусловно влияет на то как программист видет декомпозицию кода.

    И вообще ты не верно строишь классификацию. Для меня все перечисленные парадигмы общи тем, что они по разному смотрят на главный аспект программирования — на абстракцию. В структруном программировании абстракция выражается в виде структур и процедур. В ООП в виде объектов. В ФП в виде функций. А в метапрограммировании абстракцией является паттерн. Мои метапрограммы позволяют составлять конечные программы из высокоуровневых блоков — паттернов. Метакод преобразует эти абстракции в более низкоуровневый код. Толькои всего. Но это позволяет очень сильно поднять уровень абстракции.

    ГВ>>> Чем она отличается от трёх предыдущих?

    VD>>Тем что отдельная парадигма.

    ГВ>По каким признакам можно отнести метапрограммирование к парадигме? Почему на его место нельзя поставить "обобщённое ФП", "обобщённое ООП"?


    По тому как программист видет себе абстракциюю.

    ГВ>Правильно. Компонентное программирование — бастард маркетинга, модульного и объектного программирования.


    Ну, это твое мнение. По-моему не правильное. По крайней мере аргументации нет, так что обсуждать нечего.
    Мой аргумент прост. Как и метапрограммирование (а так же все остальные парадигмы) КОП позволяет по другому взгянуть на прогрмму, точнее на абстракции из которых она состоит. В даннм случае еденицей абстракции становится компонет — некий изолированный код который можно загружать динамически и заменять на другой без перекомпиляции.

    VD>>И вообще, в этой области чаще всего спорят о терминах. Вот ты например хочешь этим заняться.


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


    Я ничего не предлагаю. Все давно есть. То что ты что-то отказываешся принимать или понимать — это твои личные проблемы.

    ГВ>Ты вот, используя весьма неустойчивую терминологическую базу предлагаешь вполне конкретные действия — ввести .Net и Nemerle как "стержень" (нефритовый? ) дальнейшего обучения. Почему? Неясно.


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

    ГВ>Обоснуй, почему некий язык должен быть своеобразным стержнем?


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

    ГВ>Чем плох подход "изучили и отложили в багаж знаний"?


    Тем, что ни один язык не будет реально изучен. Они все будут "пройдены".

    ГВ>>> А базовый язык для обучения давно известен: русский.

    VD>>Ага. На немл чеше всего демагогию изучать.
    ГВ>В частности. А ещё на нём хорошо мысли излагать. При наличии.

    Когда они без демагогии, то конечно.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Дарней Россия  
    Дата: 05.04.06 01:23
    Оценка:
    Здравствуйте, Pavel Dvorkin, Вы писали:

    PD>По крайней мере если давать каждому индивидуальное задание и убедиться в том, что он его сам сделал, то вероятность этого уменьшается.


    практика показывает, что не уменьшается
    ... << RSDN@Home 1.1.4 stable rev. 510>>
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[6]: В университете надо давать высшее образование
    От: Дарней Россия  
    Дата: 05.04.06 02:08
    Оценка: +1
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>Главное — образование как таковое, специальность — вторична.


    главное — мозги. А формальный факт наличия пройденного в университете образования — это вообще как вишенка на торте. С ней всё выглядит немного красивее, но без нее абсолютно ничего не изменится.
    ... << RSDN@Home 1.1.4 stable rev. 510>>
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: _INDY_ Россия  
    Дата: 05.04.06 03:11
    Оценка:
    Здравствуйте, Mamut, Вы писали:

    M>Кстати, верно. Я б еще в обязательном порядке вводил обучение техническому английскому


    А оно вообще-то и так есть, по крайней мере кто на пары не забивал в сврё время хоть говорить и не умеет но доки читать может точно.
    Per Aspera Ad Astra
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: _INDY_ Россия  
    Дата: 05.04.06 03:15
    Оценка: -2
    Здравствуйте, Геннадий Васильев, Вы писали:

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


    B>>Ну ка напиши тот же MS Офис на ассемблере.

    ГВ>Ну как, напиши тот же MS Офис на C# без использования офисных ActiveX-компонентов.

    B>>Думаю через несколько десятков лет мы дождемся нечто глючное,

    B>>но уже никому не нужное.
    ГВ>Думаю, что не дождёмся вообще.

    B>>Программист на ассемблере как раз рискует сильно потерять в квалификации.

    ГВ>Смотря что под этим подразумевать. Если способность писать офисы — так оно ему и не надо, а если умение строить взаимодействие с железкой, то здесь никаких потерь. Не говоря о том, что порой может понадобиться и БПФ в целых числах.

    Ну bkat вобщем-то прав — офисы приходят и уходят а вот железо при помощи которого они так или эдак работают остаётся ... так что программист железячник будет востебован всегда — но это получается по сути очень маленкая каста .... но одна из самых самых ... ИМХО
    Per Aspera Ad Astra
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: martie Россия  
    Дата: 05.04.06 04:29
    Оценка: +1
    Спасибо за конструктив,

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


    Согласен, а чтобы обучать ПРАВИЛЬНОМУ программированию нужно чтобы и преподаватель знал что это такое. Т.е. был бы практикующий, иначе это не передать, как мне кажется.
    Я согласен читать ООП, С#, метапрограммирование просто потому что мне это интересно и я знаю зачем это нужно, как и для каких задач использовать. Примеры и практика, практика, практика.
    Я сейчас вспоминаю что у нас даже было несколько лекций по CORBA, зато лабораторные по этому же предмету — HTML. не странно ли..

    VD>Эти языки на сегодны скорее научат плохому нежели хорошему. Так что учить их можно, но только после того как будет сформировано мировозрение в области разработки ПО.

    +1
    Наоборот переучиваться крайне сложно
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 05.04.06 09:04
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

    ГВ> Обязательно! Хотя бы один ассемблер


    Я бы это усугубил. Обязательно более одного ассемблера. Одно дело теоретически знать, что машинные команды у разных архитектур процессоров разные, и другое дело действительно попрограммировать на паре-тройке разных instruction set ( гы-гы, чтоб потом аргументированно плеваться на то какой плохой x86).

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


    Например, в ETH так Bluebottle пишут.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: 8bit  
    Дата: 05.04.06 09:15
    Оценка:
    Здравствуйте, bkat, Вы писали:

    B>Здравствуйте, 8bit, Вы писали:


    8>>Хотя считаю что программист на ассемблере сможет решить задачу на другом языке эффективнее.

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

    B>Ну ка напиши тот же MS Офис на ассемблере.

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

    B>Программист на ассемблере как раз рискует сильно потерять в квалификации.


    Повторюсь:
    <<я не говорил что мол давайте учить студентов только ассемблеру.
    Смысл именно в том что бы научить программировать не на конкретном языке, а вообще.
    А уж там пусть выбирают.>>
    Re[7]: В университете надо давать высшее образование
    От: kan_izh Великобритания  
    Дата: 05.04.06 10:44
    Оценка:
    Дарней wrote:

    > СГ>Главное — образование как таковое, специальность — вторична.

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

    Высшее образование даёт хороший шанс проапгрейдить мОзги. Но всего лишь шанс.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 05.04.06 10:48
    Оценка:
    _INDY_ wrote:

    > Ну bkat вобщем-то прав — офисы приходят и уходят а вот железо при помощи

    > которого они так или эдак работают остаётся ... так что программист
    > железячник будет востебован всегда — но это получается по сути очень
    > маленкая каста .... но одна из самых самых ... ИМХО
    А что железо? Ну пишется драйвер какого-нибудь штрих-сканера, это обычно не слишком большая задача.
    Гораздо бОльшая задача — написать систему учёта куда эти штрихи будут поступать.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[8]: В университете надо давать высшее образование
    От: Дарней Россия  
    Дата: 05.04.06 10:54
    Оценка:
    Здравствуйте, kan_izh, Вы писали:

    _>Интересно, а откуда мозги берутся?


    мозги берутся от желания их использоватью. Ну и наследственность тоже накладывает свои ограничения, конечно.
    некоторых высшее образование подталкивает начать процесс апргрейда, но таких мало. У большинства желание учиться формируется еще в школе.
    ... << RSDN@Home 1.1.4 stable rev. 510>>
    Всех излечит, исцелит
    добрый Ctrl+Alt+Delete
    Re[9]: В университете надо давать высшее образование
    От: kan_izh Великобритания  
    Дата: 05.04.06 11:07
    Оценка: :)
    Дарней wrote:

    > _>Интересно, а откуда мозги берутся?

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

    > некоторых высшее образование подталкивает начать процесс апргрейда, но

    > таких мало.
    На самом деле ради этих единиц всё ВО и задумывается. Какие ты ещё знаешь способы подтолкнуть к апгрейду (которые хоть
    для малого кол-ва работают, но работают более менее надёжно)?

    > У большинства желание учиться формируется еще в школе.

    Не знаю, в универе учиться у меня было большее желание.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Pavel Dvorkin Россия  
    Дата: 05.04.06 11:58
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>А если выполнит не сам, то станет руководителем или организатором.


    Кто умеет — тот делает. Кто не умеет — тот учит других, как делать. Кто не умеет учить — тот руководит.

    Эту фразу я поклялся не забывать, как только начал заниматься преподавательской работой
    With best regards
    Pavel Dvorkin
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Pavel Dvorkin Россия  
    Дата: 05.04.06 12:01
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    Д>практика показывает, что не уменьшается


    Уменьшается. Просто-напросто этих студентов исключают за неуспеваемость, вот и все.
    У нас на факультете выпуск составляет примерно 60% от числа тех, кто поступил 5 лет назад.
    Я сам в этом не особенно повинен. Веду я занятия на 3 курсе, к этому времени обычно все те, кому положено, уже отчислены.
    Но если мне станет ясно, что студент не сам писал программу — незачет гарантирован.
    With best regards
    Pavel Dvorkin
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 07.04.06 16:16
    Оценка: 21 (1) -1 :))
    Здравствуйте, VladD2, Вы писали:

    VD>>>>>4. Метапрограммирование.

    ГВ>>>>Это что за "парадигма" такая?
    VD>>>Ага.
    ГВ>>Почему?

    VD>По определению http://en.wikipedia.org/wiki/Programming_paradigm


    Хммм...

    A programming paradigm provides (and determines) the view that the programmer has of the execution of the program. For instance, in object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations.

    Перевод:

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


    Тыыкс. Что имеем?

    1. Речь идёт о взгляде на работу программы, т.е. — таким образом упоминается продукция метода декомпозиции задачи.
    2. Условный, т.е., необязательный характер самого предмета — "программист может думать о программе...". Самой сущности понятия "парадигмы" не сформулировано (и не может быть сформулировано).
    3. Кроме того, дальнейший текст определения носит примерно такой характер, как определение любви, даваемое воспитанниками детского сада: "ну, это когда дядя ходит с тётей под ручку, они там, целуются, мороженое едят вместе".

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

    Единственный объективный фрагмент — упоминание метода декомпозиции. Неявное. Он и придаёт "объективный дух" этому определению.

    ГВ>>На основании каких признаков? Первые три "програмирования" упомянутые тобой, вкупе с логическим можно отнести к парадигмам, поскольку они предполагают вполне определённый подход к декомпозиции задачи и размещению программ и данных:

    ГВ>>1. Процедурное программирование -> императивные программы + данные
    ГВ>>2. ООП -> данные агрегируются с императивными методами их обработки
    ГВ>>3. ФП -> функции + контексты
    ГВ>>4. ЛП -> факты + правила вывода

    VD>Парадигма не определяет способ декомпозиции. Парадигма определяет то как программист видит программу, то есть ее философию. Но метапрограммирование безусловно влияет на то как программист видет декомпозицию кода.


    См. выше.

    VD>И вообще ты не верно строишь классификацию.


    Ну, я-то её хоть попытался построить на объективных признаках, а не свалить все свои загибы в одну большую кучу под названием "классификация". Про атрибутную парадигму я грубо стебался, если ты не понял. Извини, больше не буду.

    VD>Для меня все перечисленные парадигмы общи тем, что они по разному смотрят на главный аспект программирования — на абстракцию. В структруном программировании абстракция выражается в виде структур и процедур. В ООП в виде объектов. В ФП в виде функций. А в метапрограммировании абстракцией является паттерн.


    Э... вот тут ты не прав. Весь прикол в том, что четыре упомянутых мной "программирования" подразумевают на выходе точное распределение исполняемых элементов (функций, процедур, машины вывода, методов) и данных. Где такая фишка на выходе у метапрограммирования?

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


    Ну, очень хорошо, рад за тебя.

    ГВ>>>> Чем она отличается от трёх предыдущих?

    VD>>>Тем что отдельная парадигма.
    ГВ>>По каким признакам можно отнести метапрограммирование к парадигме? Почему на его место нельзя поставить "обобщённое ФП", "обобщённое ООП"?
    VD>По тому как программист видет себе абстракциюю.

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

    В общем, схема такая: либо есть определение в объективных терминах, либо его нет. Если такого определения нет — то и обсуждать тут воистину нечего, и уж тем более, бессмысленно пытаться на этой базе строить рекомендации для университетов. У каждого свой взгляд на мироздание, как известно. Вопрос же не в том, кто как на что смотрит, а в том, что он способен выделить и как это сформулировать.

    ГВ>>Правильно. Компонентное программирование — бастард маркетинга, модульного и объектного программирования.

    VD>Ну, это твое мнение. По-моему не правильное. По крайней мере аргументации нет, так что обсуждать нечего.

    Это был сарказм.

    VD>Мой аргумент прост. Как и метапрограммирование (а так же все остальные парадигмы) КОП позволяет по другому взгянуть на прогрмму, точнее на абстракции из которых она состоит. В даннм случае еденицей абстракции становится компонет — некий изолированный код который можно загружать динамически и заменять на другой без перекомпиляции.


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

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

    VD>>>И вообще, в этой области чаще всего спорят о терминах. Вот ты например хочешь этим заняться.

    ГВ>>Я исхожу из простой посылки, что если предлагающий знает, почему он что-либо предлагает, то он может выразить причинно-следственную связь явлений на русском языке без подмен понятий и апелляций к личностям. Если не может — значит не стоит к нему и прислушиваться.
    VD>Я ничего не предлагаю. Все давно есть.

    Ну, как минимум, "агитируешь за", ergo — предлагаешь предпринять вполне конкретные действия.

    VD>То что ты что-то отказываешся принимать или понимать — это твои личные проблемы.


    Точно также, как твоей личной проблемой (на мой взгляд) является безусловное (судя по всему) приятие всего того, что написано в википедии. Однако, в наших позициях по обсуждаемой теме есть некоторая существенная разница. Я не предлагаю брать за основу обучения в университете "взгляд" на программирование и прочие сугубо субъективные вещи. Есть вполне объективные "артефакты", знание которых необходимо. "Парадигмы" в данном случае — сугубо субъективная штука, следовательно — они могут быть прошуршены в факультативном курсе. И не более того. Например, в курсе риторики.

    ГВ>>Ты вот, используя весьма неустойчивую терминологическую базу предлагаешь вполне конкретные действия — ввести .Net и Nemerle как "стержень" (нефритовый? ) дальнейшего обучения. Почему? Неясно.

    VD>Я не собираюсь с тобой обсуждать, что является устаявшимся, а что нет. Мне достаточно, что меня понимаю, и даже многие поддерживают(Курсив мой, — ГВ.).

    Знаменитое высказывание Нильса Бора по этому поводу, думаю, сам вспомнишь?

    VD>Nemerle хорош просто тем, что хорошо поддерживает большую часть парадигм которые мне кажутся ценными. Только и всего. Причем это мнение на сегодня. Что будет завтра я не знаю.(Курсив мой, — ГВ.)


    Вот-вот. А курс обучения в университете — 5 лет, если мне не измеяет мой склероз.

    ГВ>>Обоснуй, почему некий язык должен быть своеобразным стержнем?

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

    Для научных изысканий нужен научный подход и достаточный базис. Язык программирования здесь дело десятое. Не является же фундаментом научных изысканий детальное знание параметров какого-нибудь спектрографа? Достаточно общего понимания принципа действия. Где какие кнопки нажимать — по ходу разберёмся.

    ГВ>>Чем плох подход "изучили и отложили в багаж знаний"?

    VD>Тем, что ни один язык не будет реально изучен. Они все будут "пройдены".

    Туда им и дорога, в общем-то. Из десятка-двух предлагаемых для изучения языков впоследствии любой здравомыслящий студент выберет несколько предпочтительных для него лично. Или напишет свой, что тоже неплохо. Ну а нездравомыслящие предметом обсуждения в даном контексте быть не должны.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 07.04.06 16:20
    Оценка: -1 :)
    Здравствуйте, martie, Вы писали:

    M>Спасибо за конструктив,

    VD>>На самом деле важно, чтобы люди обучались не языку, а правильному программированию и выбору правильных подходов к решению задачь.
    M>Согласен, а чтобы обучать ПРАВИЛЬНОМУ программированию нужно чтобы и преподаватель знал что это такое. Т.е. был бы практикующий, иначе это не передать, как мне кажется.

    Значит, такого явления, как ПРАВИЛЬНОЕ програмирование не существует, если оно не формулируется объективным, т.е., отчуждаемым от носителя образом. Если по поводу ПРАВИЛЬНОСТИ (да-да, большими буквами!) нужно спрашивать посвящённых, то речь идёт, скорее всего, о глюках. К Кастанеде, короче, таких рекомендаторов. Нехай делают правильным Тоналем связь с истинным Нагвалем и будет всем рулез и вечная Сила. А, ещё про пузыри осознания забыл — про них тоже не забыть! И точку сборки — без неё никак, ибо она определяет парадигму восприятия окружающего мира.

    M>Я согласен читать ООП, С#, метапрограммирование просто потому что мне это интересно и я знаю зачем это нужно, как и для каких задач использовать. Примеры и практика, практика, практика.

    M>Я сейчас вспоминаю что у нас даже было несколько лекций по CORBA, зато лабораторные по этому же предмету — HTML. не странно ли..

    А что, одна из библиотек — это отдельный предмет? Уж не фундаментальный ли, позволю себе спросить?

    VD>>Эти языки на сегодны скорее научат плохому нежели хорошему. Так что учить их можно, но только после того как будет сформировано мировозрение в области разработки ПО.

    M>+1
    M>Наоборот переучиваться крайне сложно

    Ну, чтобы переучиваться, нужно сначала научиться.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 07.04.06 22:30
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

    ГВ>1. Речь идёт о взгляде на работу программы, т.е. — таким образом упоминается продукция метода декомпозиции задачи.


    Нда, логикой это назвать язык не поворачивается. Работа программы == метод декомпозиции.

    ГВ>2. Условный, т.е., необязательный характер самого предмета — "программист может думать о программе...". Самой сущности понятия "парадигмы" не сформулировано (и не может быть сформулировано).


    Серьезно? И правда если нельзя но очень хочется...

    Цитирую твой же перевод

    программирования, о программе можно думать, как о последовательности функц


    ГВ>3. Кроме того, дальнейший текст определения носит примерно такой характер, как определение любви, даваемое воспитанниками детского сада: "ну, это когда дядя ходит с тётей под ручку, они там, целуются, мороженое едят вместе".


    ГВ>Вывод: упомянутое определение годится для "энциклопедии гламурных домохозяек", ибо пытается назвать субъективные вещи объективными. Я так думаю, что ряд "парадигм" програмирования смело можно продолжить — например, добавить туда "критические дни супруги программиста", "недобор горючего вчера", "как меня задрала моя собака". Ну, и что-то ещё в этом роде.


    ГВ>Единственный объективный фрагмент — упоминание метода декомпозиции. Неявное. Он и придаёт "объективный дух" этому определению.


    Ясно, но, твое определение даже для домохозяек не катит. Оно просто высосоно из пальца.

    ...

    В общем, ввязываться в бессмысленную дискуссию не считаю нужным. Можешь называть что угодно чем угодном. Все что я хотел сказать я сказал.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 07.04.06 23:25
    Оценка: :)
    Здравствуйте, VladD2, Вы писали:

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


    Ну что же, в общем-то, я тоже не сомневался в исходе этой ветви дискуссии.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re: Какие языки перспективны? Что преподавать студентам?
    От: IO Украина  
    Дата: 08.04.06 14:03
    Оценка: -1
    Здравствуйте, martie, Вы писали:

    M>Так вот вопрос к вам многоуважаемый All:

    M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

    Псевдокод.
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 09.04.06 11:47
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.


    А не 10-20? три это что-то совсем мало.

    Теперь по теме.
    Я бы предложил примерно такую программу (без учёта естественно научных и гум дисциплин).


    Основы программирования — SICP/scheme
    Дискретая математи — мат логика/теория множеств и др.
    (много ДМ)

    Дискретная математика — графы
    Структуры данных — C/pascal
    Низкоуровневое программироваине — основы железа asm
    Основные принципы разработки — модульность архетекура системы (несколько сисместров) и.т.д
    Языковой курс.
    Трансляторы (Dragon Book) создать трансятор на C и Haskell/Ocaml
    декларативные языки (создание своих декларативных языков)
    LOP, метапрограммирование CL/Nemerle
    ОС
    Функциональное программирование Haskell
    ООП Smalltalk, Ruby, C#
    Логическое программирование Prolog
    ОСновы программирования в юникс принципы юникс-вэй
    БД — проектирвоание/ SQL
    Отдельный бы курс очень важно посвятить инструментарию разрботки — VS, Eclipse, Emacs, Vi, Unix как интегрированная среда
    Автоматическое тестирование
    ОООЧень важно сразу приучить студентов разработывать программы с отловом всех ошибок, посвятить этому как минимум 2 симестра.
    Также большое количество времени стоит уделить ведению разработки в команде, управлению проектов, созданию тех заданий.

    Паралельно всему этому вести практику такого рода, что студентам придётся учить различные новых технологии, фрэймворки, библиотеки дома и создавать на их основе приложения, причём приложения с реальным применением, возможно создавать/развивать какие-либо опенсорс проекты. Но все технологические вещи не должны быть в лекциях, это совершенно бесполезная трата времени... Но с другой стороны преподователи должны научить студентов самим быстро изучать новые технологии.

    А вообще только сейчас понял весь курс нужно делить не три уровня.

    1 БАЗА — парадигмы/архитектуры/ДМ — программа почти не должна меняться.
    2 Технологии — трансляторы/ БД/ комп. графика, ИИ и.т.д курсы пересматриваються каждые несколько лет
    3 Техники -- средства разработки, фрэймворки, библиотеки, новые языки это должен быть динамический курс, план которого меняется каждый год....

    весьма сумборно получилось, нужно бы это всё привести в порядок, но пока времени нет. Вообще тема интересная я бы с удовольствием этим занялся....
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 09.04.06 12:07
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

    Насчёт метпрограммирования как парадигмы. Скорее не метопрограммирование есть парадигма, а LOP языко-ориентрованное программирование — это парадигма, для реализации которой метапрограммирование подходит лучше всего. Здесь всё придельно ясно у нас есть программа написанная на нескольких DSL, спецификации и реализации DSL. Здесь абстрация произвольна она может быть и объектом и правилом и фунцией, а часто просто набором слов и предложений всё зависит от задачи, с помощью LOP можно объеденять ВСЕ необходимые парадигмы для данного проекта, правда некоторые из этих парадигм будут редко "всплывать" наверх ибо слишком низкоуровневые.
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 09.04.06 13:21
    Оценка: +1
    Здравствуйте, CrazyPit, Вы писали:

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


    VD>>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.


    CP>А не 10-20? три это что-то совсем мало.


    10-20 — это уже спорт. Работать то когда? К тому же речь идет о минимуме. Естественно, что знание 6-8 языков не помешает.
    К тму же с языками оно как... изучив 3 действительно разных языков остальные уже будут даваться довольно легко. Ведь концепции, то будут знакомы.

    CP>Основы программирования — SICP/scheme


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

    CP> Дискретая математи — мат логика/теория множеств и др.

    CP> (много ДМ)

    По-моему, автор темы осбуждал именно языковый оспект обучения. Уж они сами как-то додумаются какие предметы будут изучаться параллельно.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 09.04.06 13:21
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

    Метапрграммирование > ЯОП. И оно само по себе определят видение программы по новому.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 09.04.06 16:56
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    CP>>А не 10-20? три это что-то совсем мало.


    VD>10-20 — это уже спорт. Работать то когда? К тому же речь идет о минимуме. Естественно, что знание 6-8 языков не помешает.

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

    В студенческие/школьные годы пока мозг быстро всё усваивает, время чтобы учить есть. Я могу сказать что знаю 5-6 языков и знаком с ~14-17. Всё это за 3 года учения в универе, до этого был знаком с VB, C, pascal.

    CP>>Основы программирования — SICP/scheme


    VD>А я бы предложил Схуму на сладкое, когда будет изучаться функциональная прадигма. Язык без синтаксиса не лучшее начало.


    Как раз для начала синтаксис только мешает. ИМХО в MIT знают своё дело.

    CP>> Дискретая математи — мат логика/теория множеств и др.

    CP>> (много ДМ)

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


    Дискретка очень близко к проганью, по крайней мере практика вся делаеться с помощью проганья.
    Re[9]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 09.04.06 16:58
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    VD>Метапрграммирование > ЯОП. И оно само по себе определят видение программы по новому.


    Метапрограммирование может быть без LOP, можно под каждый язык писать свой транслятор. И наоборот можно использовать например синтаксические абстрации с помощью макросов, но это не будет LOP просто расширение языка.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 09.04.06 19:18
    Оценка: +1
    Здравствуйте, CrazyPit, Вы писали:

    CP>Насчёт метпрограммирования как парадигмы. Скорее не метопрограммирование есть парадигма, а LOP языко-ориентрованное программирование — это парадигма, для реализации которой метапрограммирование подходит лучше всего.


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

    CP>Здесь всё придельно ясно у нас есть программа написанная на нескольких DSL, спецификации и реализации DSL. Здесь абстрация произвольна она может быть и объектом и правилом и фунцией, а часто просто набором слов и предложений всё зависит от задачи, с помощью LOP можно объеденять ВСЕ необходимые парадигмы для данного проекта, правда некоторые из этих парадигм будут редко "всплывать" наверх ибо слишком низкоуровневые.


    Я бы сказал проще — на естественном языке можно выразить почти всё, что нужно, для решения любой задачи. Знаешь, почему? Потому что задача формулируется на естественном же языке. Просекающий — да просечёт.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[10]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 09.04.06 21:12
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

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


    С этим я не спорю. Однако метпаропраммирование само по себе тянет на парадигму, так как менят представление о программе.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 09.04.06 21:12
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

    CP>В студенческие/школьные годы пока мозг быстро всё усваивает, время чтобы учить есть. Я могу сказать что знаю 5-6 языков и знаком с ~14-17. Всё это за 3 года учения в универе, до этого был знаком с VB, C, pascal.


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

    В общем, если изучение языков — это хобби, то еще куда не шло. Но заставлять учить 15-20 языков — это бесполезное и даже вредное занятие.

    CP>Как раз для начала синтаксис только мешает.


    Это требует обоснования. Лично мне так не кажется.

    CP> ИМХО в MIT знают своё дело.


    А это не аргумент. В других вузах тоже знают свое дело. Да и море программистов вообще не имея специального образования могут дать фору многим MIT-оцам.
    Короче, приведение авторитетов не являеся аргументом. Это скорее воздействие на чувства.

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


    CP>Дискретка очень близко к проганью, по крайней мере практика вся делаеться с помощью проганья.


    Близко, далего... Человек обозначил вопрос. Что переводить обсуждение черт знает куда. В рельных вузах есть кому подумать над всесторонностью обучения. Но надо думать и над качеством каждого звена.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 09.04.06 21:46
    Оценка: 9 (1) :)
    Здравствуйте, VladD2, Вы писали:

    VD>Мозг не бездонный мешок в который можно закладывать все что угодно и в каких угодно объемах. Любая информация из него или выветрется, или будет занимать место не давая положить туда новую. Так что изучать лишнее не нужно. Обзорно проглядеть может быть. Но изучать 20 языков должны только те кто собирается разрабатывать новые языки или проводить другие научные работы в этой области.


    VD>В общем, если изучение языков — это хобби, то еще куда не шло. Но заставлять учить 15-20 языков — это бесполезное и даже вредное занятие.


    В тему. Однажды Луговский привёл списочек типов ЯП, которые по его мнению должен знать программист, должно быть интересно:

    Низкоуровневые императивные регистровые (включая почти все ассемблеры и Си с Паскалями)
    Низкоуровневые императивные стековые
    Стековые макроязыки (семейство Форта)
    Dataflow
    Конечные автоматы (всякие там flex-ы с bison-ами сюда же попадают)
    Подстановочные (Tcl, Javascript, Awk, ...)
    Обработка списков (все родственники лиспа)
    Макроязыки (могут относиться к любой другой семантике из перечисленных)
    Комбинаторные (unlambda)
    Функциональные строгие нетипизированные (R, Mathematica, Erlang, ...)
    Функциональные строгие типизированные (ML)
    Функциональные ленивые нетипизированные
    Функциональные ленивые типизированные (Clean)
    Языки логики предикатов первого порядка (Пролог, Дейталог, Make, ...)
    Языки логик высших порядков (HOL)
    Языки нечёткой логики, байессовские языки
    Нетипизированные декларативные языки обработки графов (XSLT)
    Типизированные декларативные графовые языки (CDuce)
    Не Тьюринг-полные:
    Языки описания структур данных (часть SQL, DTD, XML Schema, ...)
    Языки запросов (часть SQL, XQuery, XPath)




    CP>>Как раз для начала синтаксис только мешает.


    VD>Это требует обоснования. Лично мне так не кажется.


    CP>> ИМХО в MIT знают своё дело.


    VD>А это не аргумент. В других вузах тоже знают свое дело. Да и море программистов вообще не имея специального образования могут дать фору многим MIT-оцам.

    VD>Короче, приведение авторитетов не являеся аргументом. Это скорее воздействие на чувства.


    Согласен. Тогда приведу аргумент, базируясь на собственном опыте обучения. Ставил экспиремент на двух различных людях, первый раз столкнувшихся с прогарммированием, обучал основам одновременно на Python и Scheme, так вот с scheme люди осваивались лучше и быстрее. Конечно выборка очень маленькая но о чём то уже говорит.
    Re: Какие языки перспективны? Что преподавать студентам?
    От: iZEN СССР  
    Дата: 09.04.06 22:12
    Оценка:
    Здравствуйте, martie, Вы писали:

    M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

    Здесь нужно выдержать идеальный баланс между императивным программированием и функциональным.
    Конечно, время, отводимое на курс, не резиновое и хочется впихнуть туда всё. Но так не бывает. Нужно всегда искать компромисс.
    Во главу угла стоит поставить объектно-ориентированную парадигму программирования, не зацикливаясь на какой-то одной её реализации в виде конкретного языка программирования. Пусть студенты сами выберут для себя один из ООП-языков и после прослушивания курса предоставят проект на этом языке.
    Лекции лучше посвятить базовым понятиям мира ООП. Например, как это делает Бертран Мейер в своей книге.
    Лабораторки должны нести практические цели: постановку задачи и её решение на выбранном языке программирования. Кстати, практика процедурного программирования не отменяется (задачи сортировки, например).

    M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование, платформы .NET или Java

    M>кроме того необходимы базовые знания функционального программирования
    M>Как вы думаете?

    Что касается Java, то языку и платформе уже скоро 11 лет, и она захватила практически все ниши: от смарткарт до многопроцессорных систем. Причём API только совершенствуется, добавляется новая функциональность, но не подменяется одно другим. Мало осталось ниш, где нет Java в том или ином виде.

    А вот с точкаNet не всё ясно: слишком динамично меняется отношение к ней от восторженных отзывов в начале до равнодушия сейчас. Многие не понимают место этой технологической задумки в реальной жизни. То ли эта очередная компонентная среда для Windows-приложений, то ли это попытка скопировать уже известные идеи в угоду маркетингу, опять же: только для Windows. К чему эта точка-Нет? Зачем она? Чтобы украсить и без того нелёгкую жизнь Windows-программистов?

    Сначала было IPC, DDE, потом OLE/COM/ActiveX/DCOM, потом появилось ADO на смену RDO, ну и так далее. Так зачем городить этот огород всё снова и снова, когда одни технолоигические решения повторяют возможности других, но на более высоких уровнях, чтобы снова и снова наступать на грабли, более новых версий с улучшенной функциональностью и более изощрённой системой нанесения ударов по голове? И к каждой новой технологии от MS собственный API, в котором необходимо разбираться заново вместо того, чтобы учиться на прежних ошибках и эффективно решать задачи на том, что работает! Круговорот технологий на Windows — это постоянный обмен старого шила на новое мыло. И конца-края этому не видно.
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 10.04.06 08:20
    Оценка:
    Здравствуйте, iZEN, Вы писали:

    ZEN>Круговорот технологий на Windows — это постоянный обмен старого шила на новое мыло.


    По этому поводу Джоэль написал сочинение "Огонь и движение".

    ZEN>И конца-края этому не видно.


    В конце-концов Microsoft лопнет (или, наоборот, коллапсирует) под гнётом накопившейся сложности (ложности, уязвимости).
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: zitz  
    Дата: 11.04.06 16:50
    Оценка:
    Здравствуйте, Udjine, Вы писали:

    U>Но только вот одна проблема есть — у нас в университетах что бы преподавать далеко не обязательно знать . Я Учусь во втором учебном заведении и среди 4 десятков преподавателей 15 преподавали предметы, относящиеся к программированию (языки, технологии, сети, СУБД и т.д.). Так из этих 15 я могу 2 только назвать, чьи занятия пригодились и не прошли мимо.

    []
    U>Только вот преподавать будет некому... Вернее не то что б некому, но будет как сейчас — по методичке

    Аж икнулось ;.(..
    Первая здоровая мысль!

    Да и изменять в обучении особо ничего не нужно, все что сдесь перечисляют все есть! Халтурить меньше надо! Студент — дебил, нечего ему делать в высшем учебном заведении, для него есть другие места. Больше практики, меньше трепа.
    Как тут уже правильно высказывались, нужно учить пользовться Гуглом (я вот только относительно недавно для себя его открыл как бездонный источник инфы). Если студент нашел нужную информацию, сделал копи/паст, да еще и ссылоску оставил значит нужно ему ставить 5 с плюсом, т.к. нечего велосипед изобретать! Ну а если у Вас была задана тривиальная задача, так чего удивляться, что решение на поверхности.
    Проверка на вшивость — изменение чего-нибудь в коде найденной проги. А вообще нужно такую практику ввести — задать всем разные лабы, вторая лаба — сделать апгрейд первой, но только поминявшись (т.е. друг другу код передать, через препода естественно). Тут сразу же появляется работа в коллективе, а как они между собой договоряться по сути не важно, т.к. все равно понятно писал он сам или нет, а если все понимает и не писал, ну флаг ему в руки! Тут все в препода упирается...
    Сразу же вся кака на поверхность всплывает, что писать нужно кратко, красиво и понятно, думать о ближнем и т.д. и т.п. Т.е. то чему по сути не учат вообще!
    Высшее образование должно быть превелегией людей с мозгами, а не всех подряд! Не успевает студент за всеми, туго соображает — да не нужен такой специалист! Чего непонятного? К сожалению почему то считается что каждый дебил должен иметь ВО, для чего? Чтобы он потом ныл, мол у меня высшее образование, а я работу найти не могу? Или и того хуже — по помойкам роюсь имея инженерное образование???
    Поймите меня правильно, я не могу отнести себя к "дебилам" или людям с "мозгами", по той простой причине, что данная система не позволяет это выявить!
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 11.04.06 17:13
    Оценка:
    zitz wrote:

    > Да и изменять в обучении особо ничего не нужно, все что сдесь

    > перечисляют все есть! Халтурить меньше надо! Студент — дебил, нечего ему
    > делать в высшем учебном заведении, для него есть другие места. Больше
    > практики, меньше трепа.
    > Как тут уже правильно высказывались, нужно учить пользовться Гуглом (я
    > вот только относительно недавно для себя его открыл как бездонный
    > источник инфы). Если студент нашел нужную информацию, сделал копи/паст,
    > да еще и ссылоску оставил значит нужно ему ставить 5 с плюсом, т.к.
    Это да, хуже если они постят вопрос в какой-нибудь форум/эху и кто-нибудь добрый им это решает.

    > нечего велосипед изобретать! Ну а если у Вас была задана тривиальная

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

    Для меня было сущим мучением придумывать лабы. Как говорилось выше — всем разные лабы. А попробуй придумать 20 разных
    заданий, чтобы они не были слишком тривиальными, чтобы не искались тривиально в сети, чтобы между собой не очень
    пересекались. И притом на каждую тему, т.е. за семестр приходится придумывать гораздо больше.
    В общем, когда я преподавал — самое сложное было это. Хотя у меня опыта особого нет... В общем поплакался, можете не
    обращать внимание.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[7]: В университете надо давать высшее образование
    От: AVC Россия  
    Дата: 11.04.06 18:37
    Оценка:
    Здравствуйте, Дарней, Вы писали:

    СГ>>Главное — образование как таковое, специальность — вторична.


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


    Иметь мозги мало.
    Надо уметь ими пользоваться.
    Хорошее образование, IMHO, в этом и заключается.

    Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

    Хоар
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 12.04.06 10:14
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    ГВ>>Ну как, напиши тот же MS Офис на C# без использования офисных ActiveX-компонентов.


    VD>А что есть какие-то проблемы кроме объема?

    VD>Это будет куда проще чем на С/С++.

    Надо еще на .Net разрабтать систему, аналогичную OLE. В принципе, ничего сложного, но вот незадача — эта система намертво привязывается к выбранному GUI.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 12.04.06 10:30
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    Че-то я не помню в институте мэйнстримового языка для себя. Прилично сидел и на Паскаль, и на С и на С++ позже, и на Прологе, и на Форте и на куче ассемблеров, и на даже на Матлабе в особенности. Мне тогда и в голову не приходило выделять "самый главный" (наверно, потому что форумов не было )

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

    --------
    если кого задел насчет "приниженной роли некоторых языков" — уточню, что это были 90-95гг.
    Да и позже всегда с удовольствием использовал сразу несколько технологий, то бишь инструментов.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 12.04.06 12:47
    Оценка:
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>В конце-концов Microsoft лопнет (или, наоборот, коллапсирует) под гнётом накопившейся сложности (ложности, уязвимости).

    ... а Сергей Губанов от любви к Никлаусу Вирту (шучу )

    По мне, так .NET — это стремление к упрощению, так с чего же Microsoft'у лопаться? Конечно, переучиваться не всем хочется, но надо рано или поздно
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 12.04.06 12:47
    Оценка:
    Здравствуйте, iZEN, Вы писали:

    ZEN>Во главу угла стоит поставить объектно-ориентированную парадигму программирования, не зацикливаясь на какой-то одной её реализации в виде конкретного языка программирования. Пусть студенты сами выберут для себя один из ООП-языков и после прослушивания курса предоставят проект на этом языке.


    Нет уж, лучше взять какой-нибудь язык за основу. Так лучше, а то к курсу 4-5 все будут программировать на разных языках. (Жалейте преподов! ) Или конечный студент выберет какой-нибудь Pаscal, который в школе давали. Привычный (..и IMHO уродливоненавидческиймною) синтаксис, никакого напряжения на мозги. Нужно хоть какую-нибудь встряску для мозгов; а лучше то, что поом в жизни пригодится.

    ZEN>Лабораторки должны нести практические цели: постановку задачи и её решение на выбранном языке программирования. Кстати, практика процедурного программирования не отменяется (задачи сортировки, например).

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

    M>>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование, платформы .NET или Java

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

    M>>кроме того необходимы базовые знания функционального программирования

    M>>Как вы думаете?
    Можно

    ZEN>А вот с точкаNet не всё ясно: слишком динамично меняется отношение к ней от восторженных отзывов в начале до равнодушия сейчас. Многие не понимают место этой технологической задумки в реальной жизни. То ли эта очередная компонентная среда для Windows-приложений, то ли это попытка скопировать уже известные идеи в угоду маркетингу, опять же: только для Windows. К чему эта точка-Нет? Зачем она? Чтобы украсить и без того нелёгкую жизнь Windows-программистов?

    Ну как зачем? Нехватку явы же надо затыкать, вот и появилась эта точка-Нэт.

    ZEN>Сначала было IPC, DDE, потом OLE/COM/ActiveX/DCOM, потом появилось ADO на смену RDO, ну и так далее.

    Сначала были перфокарты...
    ZEN>Так зачем городить этот огород всё снова и снова, когда одни технолоигические решения повторяют возможности других, но на более высоких уровнях, чтобы снова и снова наступать на грабли...
    ... Давайте программировать на перфокартах
    Вот Вам практическое задание : угадайте, кто быстрее (и качественнее) выполнить задачу по использыванию вторичного кода — рядовой COM'овец или дотнетчик? ... И на сколько процентов
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 12.04.06 12:47
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

    CP>Низкоуровневые императивные регистровые (включая почти все ассемблеры и Си с Паскалями)

    ::вырезано::
    CP>Языки запросов (часть SQL, XQuery, XPath)

    Чтобы все это изучить потребуется время, которого как всегда мало
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 12.04.06 13:20
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Надо еще на .Net разрабтать систему, аналогичную OLE. В принципе, ничего сложного, но вот незадача — эта система намертво привязывается к выбранному GUI.


    Дотнету не нужны костыли вроде OLE. Это полностью КОП-среда.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[9]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 12.04.06 14:03
    Оценка:
    VladD2 wrote:
    > V>Надо еще на .Net разрабтать систему, аналогичную OLE. В принципе,
    > ничего сложного, но вот незадача — эта система намертво привязывается к
    > выбранному GUI.
    > Дотнету не нужны костыли вроде OLE. Это полностью КОП-среда.
    Ага. Нудно: "как мне динамическ подключать мультиметоды"?

    Еще нуднее: "А как документ одной программы заставить рисоваться в другой?"
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[10]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 12.04.06 14:16
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    >> Дотнету не нужны костыли вроде OLE. Это полностью КОП-среда.

    C>Ага. Нудно: "как мне динамическ подключать мультиметоды"?

    Какое это имеет отношение к OLE? Это уже смахивает на болезненное состояние. Совершенно не впопад упоминаются вещи имеющие сомнительную необходимость и штатно реализованные тлько в одном Клосе.

    C>Еще нуднее: "А как документ одной программы заставить рисоваться в другой?"


    Как контрол. Для этого и делать ничего не надо. Только реализовать сами приложения в виде библиотек. Хотя и это не обязательно. Ведь контролы можно держать и в ехе-шнике.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[9]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 12.04.06 14:28
    Оценка: +2
    Здравствуйте, VladD2, Вы писали:

    V>>Надо еще на .Net разрабтать систему, аналогичную OLE. В принципе, ничего сложного, но вот незадача — эта система намертво привязывается к выбранному GUI.


    VD>Дотнету не нужны костыли вроде OLE. Это полностью КОП-среда.


    При чем тут? OLE — не костыль, а протокол (набор интерфейсов и сценариев их юзанья), обеспечивающий возможность формировать "матрешки" из серверных документных элементов и просматривать/печатать/редактировать составные документы из любого OLE-клиента. Все это должно быть так же завязано на реестр (регистрация серверов), работать "само" и быть прозрачным для использования. Без предварительной разработки аналогичной OLE среды ты не сделаешь это в дотнете.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 12.04.06 14:38
    Оценка:
    VladD2 wrote:
    >> > Дотнету не нужны костыли вроде OLE. Это полностью КОП-среда.
    > C>Ага. Нудно: "как мне динамическ подключать мультиметоды"?
    > Какое это имеет отношение к OLE? Это уже смахивает на болезненное
    > состояние. Совершенно не впопад упоминаются вещи имеющие сомнительную
    > необходимость и штатно реализованные тлько в одном Клосе.
    Это я про "полностью КОП". Ничерта оно не полностью КОП. Хотя поддержка
    компонентов есть.

    > C>Еще нуднее: "А как документ одной программы заставить рисоваться в

    > другой?"
    > Как контрол. Для этого и делать ничего не надо. Только реализовать сами
    > приложения в виде библиотек. Хотя и это не обязательно. Ведь контролы
    > можно держать и в ехе-шнике.
    А как мне контролы печатать на принтере (с разрешением 4000dpi)? А можно
    их в метафайлы преобразовать?
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re: Какие языки перспективны? Что преподавать студентам?
    От: Ranger_XL  
    Дата: 12.04.06 14:42
    Оценка: -1
    Здравствуйте, martie, Вы писали:

    M>Добрый день,


    M>Сегодня мой научный руководитель (зав. каф. нашего института)

    M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
    M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    Все достаточно элементарно:
    1) Программирование (любое) 10 часов в неделю в каждом семестре — МИНИМУМ (часто в сетке часов всего 2-4 часа)
    2) Обязательно хорошее знание языка С (дальше можно изучать все, что угодно С++/С#/Java/Smalltalk/Object Pascal, но С — это твердая программистская база)
    3) Желательно что-нибудь из функционального/логического программирования (для общего развития)
    4) Выполнение РЕАЛЬНЫХ проектов хотя бы 1 раз в 2 семестра

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

    Поэтому (самое важное):
    5) Пригласить профессиональных программистов вести курсы для студентов!!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 12.04.06 14:51
    Оценка: 77 (7)
    Здравствуйте, kan_izh, Вы писали:

    _>zitz wrote:


    _>Для меня было сущим мучением придумывать лабы. Как говорилось выше — всем разные лабы. А попробуй придумать 20 разных

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

    Не смог утерпеть — вставлю свои три копейки...
    Совершенно верно! Самое трудное — создать задания...
    Я вот подсуетился тут на досуге, и сдал в издательство Питер сборник заданий по ООП... Ведь, кроме сборника Павловской — ну нифига нет на тему заданий по С++...
    Не бог весть что, но все же некая отправная точка... Сугубо для начинающих...
    Но есть все — и шаблоны и STL...
    Трудно было придумывать тривиальные примеры по виртуальным функциям и смежным с этими делами вопросам...
    Нужно это дело развивать — писать дальше задания повышенного уровня...
    Но это ближе к Этюдам на С++...
    По примеру Уэзерелла... Мож года через два сподоблюсь...

    Для того, чтобы выбрать языки — нужно ответить на несколько вопросов:
    1. Какой студент пришел учиться: слабый или сильный?
    2. Кто преподает? Это, пожалуй, самый важный вопрос
    3. Для какой специальности преподавать...

    Сначала на последний вопрос... Моя кафедра (Автоматизированных систем) преподает языки программирования для нескольких специальностей, у которых в плане есть языки программирования...
    Но!
    Прикладная информатика в экономике хочет VB...
    Связисты — те ничего не хотят, но нужно... Ну, договариваемся — либо на Васик, либо паскаль...
    Защитники информации — нужно с уклоном в аппаратуру давать... Значит С++ с ассемблерными вставками...


    Первый вопрос: что за студент...
    25% — это отсев, которых запихнули родители за деньги... Они ничего не хотят... Учебную нагрузку не тянут... И вылетают, как правило, после первого курса... Или в середине второго...
    5% — это наши кадры, которые хотят, умеют, могут... Они — сами все освоить могут...
    70% — от почти "наши кадры" до "отсева"... Середина — просто хочет получить именно сумму знаний... Для них важнее техника, а не идея...
    На уровне идей они соображают с трудом... Но зато хорошо научаются конкретным техническим приемам... Вот им нужно давать КОНКРЕТИКУ... КАК ИСПОЛЬЗОВАТЬ, а не почему оно такое...

    А в нашем учебном плане все есть — можно преподавать все, что только угодно...
    То есть ВСЕ, что здесь упоминалось — мы можем реализовать в рамках нашего учебного плана...
    Но тут встает во весь рост второй вопрос: КТО ПРЕПОДАЕТ?!!!!!
    Ну никак я на первом курсе не могу дать додиез, поскольку нет качественного препода, который не только освоит додиез, но и эти самые лабы качественно придумает... А на паскале — все давно есть...
    Первачков из этих 70% нужно "строить"... Они ведь после школы приходят — и наступает эйфория... Оценки-то каждый день не ставячт... А потому — можно не учить... А когда сессия приходит — начинаются проблемы... И слезы...
    В общем, на эту тему много можно говорить... Лучше вопросы мне позадавайте, а я отвечу...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[10]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 12.04.06 15:24
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>При чем тут? OLE — не костыль,


    Костыли, костыли. С/С++ не КОП-языки. Вот им и нежен был COM.

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


    На фиг это все не упало. А "серверные документны" — это вообще новоя терминалогия.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[12]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 12.04.06 15:27
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Это я про "полностью КОП". Ничерта оно не полностью КОП. Хотя поддержка

    C>компонентов есть.

    Глупость говорите, уважаемый.

    C>А как мне контролы печатать на принтере (с разрешением 4000dpi)? А можно

    C>их в метафайлы преобразовать?

    А в чем проблема? Принтер такое же GDI+ или Avalon- устройство.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 12.04.06 15:33
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

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

    ГВ>Тогда речь нужно вести о критериях оценки "правильности", не правда ли?
    Тем более, что когда создавался Паскаль, речь шла о том же самом — учить правильному программированию...

    VD>>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.

    ГВ>+1
    Ну, эт еще Кнут сказал: Нет ничего удивительного в том, что в течении недели приходится использовать пять разных языков...
    Примерно так...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 12.04.06 16:53
    Оценка: +2
    Здравствуйте, Ranger_XL, Вы писали:


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


    R_X>Поэтому (самое важное):

    R_X>5) Пригласить профессиональных программистов вести курсы для студентов!!
    R_X>
    Вот это — полная фигня! Преподаваьтелей, конечно мало, но еще меньше профессиональных программистов, которые СМОГУТ преподавать...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 12.04.06 17:00
    Оценка: +2
    Здравствуйте, LaptevVV, Вы писали:

    R_X>>Поэтому (самое важное):

    R_X>>5) Пригласить профессиональных программистов вести курсы для студентов!!
    R_X>>
    LVV>Вот это — полная фигня! Преподаваьтелей, конечно мало, но еще меньше профессиональных программистов, которые СМОГУТ преподавать...

    Труднее найти тех, кто захочет преподавать (и за такую зарплату в том числе )
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 12.04.06 17:45
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

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

    ГВ>>Тогда речь нужно вести о критериях оценки "правильности", не правда ли?
    LVV>Тем более, что когда создавался Паскаль, речь шла о том же самом — учить правильному программированию...

    Да. Правда, тогда под ним понималось только структурное программирование. Хотя должен сказать, что идея обучать структурному программированию в первую очередь мне представляется не плохой и сейчас. Собственно, мозги проходят первоначальную "обточку" как раз отучаясь использовать goto. Дальше структурирование входит в привычку (в шутку об этом говорят: "Программист — это диагноз!"), появляется какой-никакой первый опыт, первые шишки и пошло-поехало. А иначе трудно понять, зачем вообще всё это ООП, АОП и прочее.

    Здесь, конечно, можно спорить, "кто перед кем стоял", но если нет какого-то ммм... конкретного воплощения некоторых базовых ограничений (ну хоть тот же запрет на goto или, в более случае ООП — требование соблюдать LSP), то можно попасть в ситуацию с неопределённостью критериев "правильно-неправильно", что весьма не гуд для обучения. Чему учить-то тогда? Быстро выдать что-то работающее? Хех...

    VD>>>Хороший программист не может ограничиваться одним языком. Просто для собственного развития он обязан знать не менее 3 языков. Желательно разнопарадигмных.

    ГВ>>+1
    LVV>Ну, эт еще Кнут сказал: Нет ничего удивительного в том, что в течении недели приходится использовать пять разных языков.
    Ага, тоже +1
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 12.04.06 17:54
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    V>>При чем тут? OLE — не костыль,

    VD>Костыли, костыли. С/С++ не КОП-языки. Вот им и нежен был COM.

    Да ну? Это костыли не в большей степени, чем любое соглашение о взаимодействии компонентов. Что нужно делать с документом после его подгрузки? Какой метод звать? Первый-попавшийся-потому-что-нам-всё-пофиг? Или, всё-таки, OnLoad() какой-нибудь?

    Более общий вопрос: загружаем DLL. Какую функцию вызывать первой? Если её не вызывает прикладной код, тогда кто занимается инициализацией?

    Короче говоря, COM там или не COM — дело десятое. А вот инфраструктура, которая определяет прикладные абстракции и методы управления объектами — это уже да... А без инфраструктуры, как известно, и компонентов нет как таковых. Есть только поддержка возможности реализации компонентных инфраструктур. То есть, можно сделать new MyObjectType и отдать его мусорщику. Усё.

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


    VD>На фиг это все не упало. А "серверные документны" — это вообще новоя терминалогия.

    Спасибо, смешно.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 12.04.06 17:59
    Оценка:
    Здравствуйте, Freezy, Вы писали:

    СГ>>В конце-концов Microsoft лопнет (или, наоборот, коллапсирует) под гнётом накопившейся сложности (ложности, уязвимости).

    F>... а Сергей Губанов от любви к Никлаусу Вирту (шучу )
    F>По мне, так .NET — это стремление к упрощению, так с чего же Microsoft'у лопаться? Конечно, переучиваться не всем хочется, но надо рано или поздно

    Э... "Новые системы плодят новые проблемы". Закон Мерфи. Да-с.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 12.04.06 18:17
    Оценка: +1
    Здравствуйте, VladD2, Вы писали:


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


    VD>На фиг это все не упало.


    Смелый ты на подобного рода заявления. Я, напротив, уверен, что MS Office "всех поборол" именно с помощью OLE. По отдельности его продукты уступали аналогичным от конкурентов на момент "борьбы". Зато умели работать совместно, что и решило исход схватки.

    VD>А "серверные документны" — это вообще новоя терминалогия.


    Не документы, а элементы документов. Различают серверный и клиентский элемент (item) в OLE.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: GlebZ Россия  
    Дата: 12.04.06 18:40
    Оценка:
    Здравствуйте, kan_izh, Вы писали:

    _>_INDY_ wrote:


    >> Ну bkat вобщем-то прав — офисы приходят и уходят а вот железо при помощи

    >> которого они так или эдак работают остаётся ... так что программист
    >> железячник будет востебован всегда — но это получается по сути очень
    >> маленкая каста .... но одна из самых самых ... ИМХО
    _>А что железо? Ну пишется драйвер какого-нибудь штрих-сканера, это обычно не слишком большая задача.
    А зачем на ассемблере? Уже под все есть С. Под кое-что — Java.
    _>Гораздо бОльшая задача — написать систему учёта куда эти штрихи будут поступать.
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 12.04.06 18:43
    Оценка: :)
    Здравствуйте, VladD2, Вы писали:

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


    VD>На фиг это все не упало.


    Тьфу ты, блин! Я понял! .Net и есть та самая "программа для автоматизации всего". Сбылась мечта ид... тьфу, миллионов! Ура, я теперь владею великим знанием!

    PS.: Доктор, меня вылечат?
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[10]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 12.04.06 18:50
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

    VD>>Метапрграммирование > ЯОП. И оно само по себе определят видение программы по новому.


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


    Попробуй ответить ещё на один вопрос: с помощью каких формализмов новоявленные абстракции будут переводиться в машинный код. Здесь без формалистики на том или ином уровне дело не пойдёт вообще. У принцыпэ.

    PS.: Что-то мне эти разговоры о LOP напоминают. Ой напоминают... Уж не 4GL-истерию ли середины 90-х...
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 12.04.06 20:38
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Че-то я не помню в институте мэйнстримового языка для себя. Прилично сидел и на Паскаль, и на С и на С++ позже, и на Прологе, и на Форте и на куче ассемблеров, и на даже на Матлабе в особенности. Мне тогда и в голову не приходило выделять "самый главный" (наверно, потому что форумов не было )


    Мейнстрим-язык появляется, когда появляются достаточно объемные проекты.
    ... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
    AVK Blog
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 12.04.06 20:38
    Оценка:
    Здравствуйте, Freezy, Вы писали:

    F>По мне, так .NET — это стремление к упрощению


    Поэтому C# существенно сложнее Java?
    Не существует правильной крайности, оптимум как правило по середине. А вот где эта середина никто точно не знает.
    ... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
    AVK Blog
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 13.04.06 04:12
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

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


    СГ>>>В конце-концов Microsoft лопнет (или, наоборот, коллапсирует) под гнётом накопившейся сложности (ложности, уязвимости).

    F>>... а Сергей Губанов от любви к Никлаусу Вирту (шучу )
    F>>По мне, так .NET — это стремление к упрощению, так с чего же Microsoft'у лопаться? Конечно, переучиваться не всем хочется, но надо рано или поздно

    ГВ>Э... "Новые системы плодят новые проблемы". Закон Мерфи. Да-с.

    Зато старых нету
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 13.04.06 04:25
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Поэтому C# существенно сложнее Java?


    я Этого не говорил . А вот что имелось ввиду :

    ZEN>Сначала было IPC, DDE, потом OLE/COM/ActiveX/DCOM, потом появилось ADO на смену RDO, ну и так далее. [bla bla bla]

    СГ>В конце-концов Microsoft лопнет (или, наоборот, коллапсирует) под гнётом накопившейся сложности (ложности, уязвимости).

    Где легче повторно использовать написанный код: в COM или .NET ?

    Про Яву мною ничего не было написано... Заметьте, здесь речь шла о продуктах Microsoft
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[3]: В университете надо давать высшее образование
    От: Кодёнок  
    Дата: 13.04.06 06:33
    Оценка:
    Здравствуйте, SteMage, Вы писали:

    СГ>>В университете надо давать высшее образование.

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

    Работу не могут найти те, кто наивно надеялся, что работодателю нужен диплом.

    SM>Знаете нам один преподователь сказал. Я знаю, что все то, чему я вас учу никому не надо, но у меня УЖЕ есть квартира и машина, а у вас еще нет.

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

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

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

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

    SM>Из моей группы 80% устоилось на работу только благодаря дополнительному образованию полученному вне стен ВУЗа.

    Давай уж сразу честно — просите у государства квартиру, машину и миллиард. Ждете, что оно вам все обустроит? Удачи
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 13.04.06 07:15
    Оценка: :)
    Здравствуйте, Геннадий Васильев, Вы писали:


    ГВ>PS.: Что-то мне эти разговоры о LOP напоминают. Ой напоминают... Уж не 4GL-истерию ли середины 90-х...


    Да ничего такого нет, люди спокойно используют LOP десятки лет, правда некоторые называют это по другому. Например та же традиция создания миниязыков в UNIX не что иное как LOP.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 13.04.06 07:25
    Оценка:
    Здравствуйте, Геннадий Васильев, Вы писали:

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


    ГВ>Да. Правда, тогда под ним понималось только структурное программирование. Хотя должен сказать, что идея обучать структурному программированию в первую очередь мне представляется не плохой и сейчас. Собственно, мозги проходят первоначальную "обточку" как раз отучаясь использовать goto. Дальше структурирование входит в привычку (в шутку об этом говорят: "Программист — это диагноз!"), появляется какой-никакой первый опыт, первые шишки и пошло-поехало. А иначе трудно понять, зачем вообще всё это ООП, АОП и прочее.

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

    ГВ>Здесь, конечно, можно спорить, "кто перед кем стоял", но если нет какого-то ммм... конкретного воплощения некоторых базовых ограничений (ну хоть тот же запрет на goto или, в более случае ООП — требование соблюдать LSP), то можно попасть в ситуацию с неопределённостью критериев "правильно-неправильно", что весьма не гуд для обучения. Чему учить-то тогда? Быстро выдать что-то работающее? Хех...

    Ну, я студентам говорю так: сначала программа должна правильно работать, а потом посмотрим на недостатки реализации..
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 13.04.06 07:28
    Оценка: :)
    Здравствуйте, Freezy, Вы писали:

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


    R_X>>>Поэтому (самое важное):

    R_X>>>5) Пригласить профессиональных программистов вести курсы для студентов!!
    R_X>>>
    LVV>>Вот это — полная фигня! Преподаваьтелей, конечно мало, но еще меньше профессиональных программистов, которые СМОГУТ преподавать...

    F>Труднее найти тех, кто захочет преподавать (и за такую зарплату в том числе )

    Ну, зарплата — эт конечно, отдельная песня...
    Но из действующих программеров действительно РЕДКО выходят преподаватели... Это ж совсем другое мышление нужно и совсем другая работа...
    По себе знаю, так как был и программером и преподом...
    Пока был программером — нифига преподавать не мог...
    Стал преподом — практика программирования просто атрофировалась... Программерская форма теряется мгновенно!
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Ranger_XL  
    Дата: 13.04.06 08:36
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

    LVV>Вот это — полная фигня! Преподаваьтелей, конечно мало, но еще меньше профессиональных программистов, которые СМОГУТ преподавать...

    LVV>

    Работающие программисты нужны не для того, чтобы преподавать, а для того, чтобы вправлять мозги в нужном направлении! Невозможно научиться реально программировать, если писать только игрушечные примеры.
    Re[11]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 13.04.06 08:42
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>Костыли, костыли. С/С++ не КОП-языки. Вот им и нежен был COM.


    Не обратил внимание в начале. Ты наверно путаешь COM и OLE. Первое — лишь инструмент для реализации второго. Согласен, COM для .Net не нужен.
    Re[12]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 13.04.06 09:42
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Не обратил внимание в начале. Ты наверно путаешь COM и OLE. Первое — лишь инструмент для реализации второго. Согласен, COM для .Net не нужен.


    Я ничего не путаю. COM разрабатывался для OLE и OLE ни что иное как набор COM-интерфейсов.

    Набор надо признать не хитрый. Интерфейсы контролов процентов на 80% его повторяют. Описать оставшиеся 20 ничего не стоит. При этом можно не делать того моря ошибок которые были сделаны при разработке OLE. По-моему, OLE это одна из самых криво спроектированных технологий МС.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[12]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 13.04.06 09:42
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Смелый ты на подобного рода заявления.


    Я уверенно завявляю потому что уверен в своих словах.

    V> Я, напротив, уверен, что MS Office "всех поборол" именно с помощью OLE.


    Это преувеличение.

    V> По отдельности его продукты уступали аналогичным от конкурентов на момент "борьбы".


    А это просто не соотвествует действительности.

    V> Зато умели работать совместно, что и решило исход схватки.


    Откровенно говоря я не часто встречаю использование OLE2. Мы являемся действительно активными пользователями Офиса, но OLE2 настолько криво, что используем мы его очень редко. Так что скорее оно оказалось рекламным трюком.

    VD>>А "серверные документны" — это вообще новоя терминалогия.


    V>Не документы, а элементы документов. Различают серверный и клиентский элемент (item) в OLE.


    Это была твоя цитата. Прикажешь домысливать за тобой?
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Pavel Dvorkin Россия  
    Дата: 13.04.06 09:58
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

    LVV>Пока был программером — нифига преподавать не мог...

    LVV>Стал преподом — практика программирования просто атрофировалась... Программерская форма теряется мгновенно!

    А сочетать не удается ? Или нагрузка часов 25 в неделю ?
    Я себе все преподавание в один день вынес, 10 часов , ну плюс еще 2 часа спецкурса. В остальное время можно программировать
    With best regards
    Pavel Dvorkin
    Re[13]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 13.04.06 11:48
    Оценка:
    VladD2 wrote:
    > Набор надо признать не хитрый. Интерфейсы контролов процентов на 80% его
    > повторяют. Описать оставшиеся 20 ничего не стоит.
    Ну давайте смотреть. Начнем с объектов передачи данных:
    1. IDataObject с поддержкой сериализации, прозрачного создания проксей,
    различными типами форматов.
    2. IOleObject — управление размерами, отображением, моникерами для
    linking'а. Так же, управление состоянием и глаголы.
    3. IOLEClientSite/IOleContainer — взаимодействие с объектом.
    4. IOleControl — управление акселераторами.
    5. IDropSource/IDropTarget — управление OLE D&D.
    6. IOleInPlaceSite — управление inplace-сайтом.
    7. IOleInPlaceUIWindow — согласование места для тулбаров.
    8. IOleUndoManager — совместный Undo/Redo.
    9. IViewObject — отображение содержимого документа без создания окон.
    10. И т.п.

    Из этого всего контролы в .NET обеспечивают примерно функциональность
    IOleControl и часть IOleObject. Это совсем небольшая часть от всей
    функциональности OLE.

    Причем сильно в этой системе ничего изменить не получится — просто
    интерфейсы из COMовских станут .NETовскими.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Freezy Россия  
    Дата: 13.04.06 13:05
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

    LVV>Но из действующих программеров действительно РЕДКО выходят преподаватели... Это ж совсем другое мышление нужно и совсем другая работа...

    Можно доказать :
    Программисты церемониться не любят. Есть вопрос — есть ответ. Опять тот же вопрос — программист может послать (или очень разозлиться) . Теперь представьте программиста, который вынужден преподавать. Злобу он не может на ком-то выразить (погуглить тоже не может заставить) . Как известно подавление злобы вызывает гипертонию. Отсюда вывод: такой вид либо уже не состоянии преподовать, либо вымер. (однако бывают исключения).
    Кстати, насчет повторно задаваемых вопросов, это можно заметить на каждом программерском форуме (в том числе и в нашей тепленькой берлоге RSDN )
    Да и вообще по большинству студентов плачет армия. Приперлись в институт (точнее их родители за денежку...), чтоб от армии откосить (зачем косить, мозгов все равно с грецкий орех). Им нафиг эта информатика не нужна. Как тут преподовать?! Сужу по нашей группе: не интересны им ни информатика, ни психология...

    LVV>По себе знаю, так как был и программером и преподом...

    у меня похожая ситуация в программировании: раньше вообще ничего не умел делать, но было много идей; щас программировать более менее умею, но идей — намного меньше

    LVV>Стал преподом — практика программирования просто атрофировалась... Программерская форма теряется мгновенно!

    Возможно, Вы сейчас много меньше программ создаете? (или вообще прекратили?)
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[4]: В университете надо давать высшее образование
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 13.04.06 13:14
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

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


    Я тоже так думал. В школе у меня были плохие оценки (один раз даже по геометрии за четверть была 2). В 11 классе к нам пришёл очень хороший учитель по физике. Я его очень уважал. По физике у меня было 5. Однажды он меня спросил каковы мои успехи по остальным дисциплинам. Был очень удивлён моим ответом и спросил: "А почему?". Действительно, почему? Вроде не дурак и не из америки приехал... Я не смог ответить на его вопрос. Почему бы и по остальным дисциплинам не иметь 5? Почему нет? До сих пор не знаю ответа на его вопрос.
    Re[5]: В университете надо давать высшее образование
    От: Кодёнок  
    Дата: 13.04.06 13:29
    Оценка:
    Здравствуйте, Сергей Губанов, Вы писали:

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


    СГ>Я тоже так думал. В школе у меня были плохие оценки (один раз даже по геометрии за четверть была 2). В 11 классе к нам пришёл очень хороший учитель по физике. Я его очень уважал. По физике у меня было 5. Однажды он меня спросил каковы мои успехи по остальным дисциплинам. Был очень удивлён моим ответом и спросил: "А почему?". Действительно, почему? Вроде не дурак и не из америки приехал... Я не смог ответить на его вопрос. Почему бы и по остальным дисциплинам не иметь 5? Почему нет? До сих пор не знаю ответа на его вопрос.


    А я знаю. Потому что для меня — оно того не стоит. Я пойду на улицу, на солнышко, чем заставлять себя заниматься тем, что мне неинтересно и не нужно.
    Re[13]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 13.04.06 13:52
    Оценка: -1
    Здравствуйте, VladD2, Вы писали:

    VD>Я ничего не путаю. COM разрабатывался для OLE и OLE ни что иное как набор COM-интерфейсов.


    Прозвучало как новость...

    VD>Набор надо признать не хитрый. Интерфейсы контролов процентов на 80% его повторяют. Описать оставшиеся 20 ничего не стоит. При этом можно не делать того моря ошибок которые были сделаны при разработке OLE. По-моему, OLE это одна из самых криво спроектированных технологий МС.


    Ну опиши, и увидишь, что был не прав, насчет 80/20. Скорее там соотношение 20/80.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[6]: В университете надо давать высшее образование
    От: Кодёнок  
    Дата: 13.04.06 13:52
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

    Кё>А я знаю. Потому что для меня — оно того не стоит. Я пойду на улицу, на солнышко, чем заставлять себя заниматься тем, что мне неинтересно и не нужно.


    Молодость потом не вернешь

    А у твоего учителя физики я бы спросил "А зачем?". И добавил бы, что человек, который вкладывает кучу усилий, не зная что хочет получить, — дурак. Но это конечно, с ним надо говорить. Мои учителя меня не переспорили. Догадываюсь почему — за 20 лет они прекрасно видели, как и куда шли их выпускники. Знали, что во времена СССР результат получить хорошее место по распределению можно было в основном только от мохнатой лапки, чем от оценок. А сейчас у них в памяти свежо, как отличницы с прошлых выпусков себе работу нормальную найти не могут. Сколько раз я слышал такое (цитата из нескольких сообщений назад):

    Из моей группы 80% устоилось на работу только благодаря дополнительному образованию полученному вне стен ВУЗа.


    А вот многие ли сделали из всего этого вывод, что принцип, заложенный в систему образования (учись так, чтобы получать одни пятерки, и все у тебя потом будет хорошо) — не работает? Если кто-то считает, что тот мизерный процент действительно наученных людей — это и есть успех В/О... удачи. По мне, так это полный провал. Да и эти люди как раз не отличники! Вспомните самых талантливых людей своей группы. Т.е. с точки зрения системы образования, они не самые лучшие, ведь идеал — это отличник, все пятерки.
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 13.04.06 13:59
    Оценка:
    Здравствуйте, Pavel Dvorkin, Вы писали:

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


    LVV>>Пока был программером — нифига преподавать не мог...

    LVV>>Стал преподом — практика программирования просто атрофировалась... Программерская форма теряется мгновенно!

    PD>А сочетать не удается ? Или нагрузка часов 25 в неделю ?

    PD>Я себе все преподавание в один день вынес, 10 часов , ну плюс еще 2 часа спецкурса. В остальное время можно программировать

    К сожалению я еще и завкафедрой...
    Это ж еженедельные планерки у декана, заседания кафедры, совет института, распределение нагрузки, проведение госов и защиты дипломов, отчеты трех видов... В общем, сосредоточиться на писании программ не удается...
    Вот пока нашел отдушину книжки писать... По утрам — с 6 утра до занятий...
    Вот закончу еще две — потом буду под докторскую себе проги писать...
    Заодно и для обучения студентов...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 13.04.06 14:01
    Оценка:
    Здравствуйте, Ranger_XL, Вы писали:

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


    LVV>>Вот это — полная фигня! Преподаваьтелей, конечно мало, но еще меньше профессиональных программистов, которые СМОГУТ преподавать...

    LVV>>

    R_X>Работающие программисты нужны не для того, чтобы преподавать, а для того, чтобы вправлять мозги в нужном направлении! Невозможно научиться реально программировать, если писать только игрушечные примеры.

    Фокус в том, что сначала нужно показать ЭЛЕМЕНТАРНОЕ — народ жиж нифига этого не знает...
    А какой действующий программер на это способен?! Да практически никакой... Я сам не мог этого, пока не стал преподавать...
    А для уже действующих программистов препод фактически не нужен, поскольку они сами умеют учиться...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[7]: В университете надо давать высшее образование
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 13.04.06 14:43
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

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


    Не надо обобщать. У нас в группе школьные отличники оставались отличниками максимум до 3 семестра. Дальше отличниками становились как раз те, кто действительно что то приобретал от обучения. Я, к примеру, в первом семестре ходил на пересдачу по одному предмету, а по остальным были тройки. Начиная же с 4 семестра я всегда сдавал 100% экзаменов на пятерки, даже если предметы были непрофильными. Вот так вот.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 13.04.06 14:43
    Оценка: 1 (1)
    Здравствуйте, LaptevVV, Вы писали:

    LVV>Фокус в том, что сначала нужно показать ЭЛЕМЕНТАРНОЕ — народ жиж нифига этого не знает...

    LVV>А какой действующий программер на это способен?! Да практически никакой... Я сам не мог этого, пока не стал преподавать...

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

    LVV>А для уже действующих программистов препод фактически не нужен, поскольку они сами умеют учиться...


    Не скажи, не скажи.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[8]: В университете надо давать высшее образование
    От: Кодёнок  
    Дата: 13.04.06 17:14
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    AVK>Не надо обобщать. У нас в группе школьные отличники оставались отличниками максимум до 3 семестра. Дальше отличниками становились как раз те, кто действительно что то приобретал от обучения. Я, к примеру, в первом семестре ходил на пересдачу по одному предмету, а по остальным были тройки. Начиная же с 4 семестра я всегда сдавал 100% экзаменов на пятерки, даже если предметы были непрофильными. Вот так вот.


    Интересно у вас там.

    1. Что случилось с 4-го семестра? Все предметы стали интересными без разбору?

    2. Писал все лекции, посещал все практики и др.?

    3. Сколько было отличников и всего людей в группе?

    4. ВУЗ, факультет, кафедра?
    Re[14]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 14.04.06 00:03
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Ну давайте смотреть.


    Давай.

    C>Начнем с объектов передачи данных:

    C>1. IDataObject с поддержкой сериализации, прозрачного создания проксей,
    C>различными типами форматов.

    На фиг не упал. Сериализация и так есть. Причем логично было бы на сегодня текстовые и векторые форматы сериализовать в ХМЛ.

    C>2. IOleObject — управление размерами, отображением, моникерами для

    C>linking'а. Так же, управление состоянием и глаголы.

    Бред фантазии неопытных разработчиков из МС. Дизайн OLE содержит тонны таких уродцев.

    C>3. IOLEClientSite/IOleContainer — взаимодействие с объектом.

    C>4. IOleControl — управление акселераторами.
    C>5. IDropSource/IDropTarget — управление OLE D&D.

    Аналоги уже есть в подсистеме контролов.

    C>5. IDropSource/IDropTarget — управление OLE D&D.


    Есть обертка над ОЛЕ, но само ОЛЕ-решине довольно кривое. Я бы переписал на менеджед коде.

    C>7. IOleInPlaceUIWindow — согласование места для тулбаров.


    Тоже бы сделал более простую реализацию.

    C>8. IOleUndoManager — совместный Undo/Redo.


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

    C>9. IViewObject — отображение содержимого документа без создания окон.


    Опять же задача пустяковая.

    C>10. И т.п.


    И т.п. там конечно много. Но ты уж меня извени, я знаю об этой кухни не по наслышке. За дизайн ОЛЕ и ОЛЕ-контролов нужно отрезать разные части тела. Это полнейший бедлам и бессмыслица. Изучение этого дерьма становится сущим адом. Особненно если учесть качесво документации.
    Все тоже самое можно сделать куда проще.

    C>Из этого всего контролы в .NET обеспечивают примерно функциональность

    C>IOleControl и часть IOleObject. Это совсем небольшая часть от всей
    C>функциональности OLE.

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

    Рельно для создания аналога ОЛЕ на дотнете нужно не так много. И сделать это не сложно. Так что проблема только в одном. В совместимости с прошлыми версиями.

    Главное, что сама основа у дотнета куда более подходит для этой задачи. А интерфейсы ОЛЕ нужно выбросить на помойку хотя бы из-за их противоречивости и запутанности.

    Думаю, что рано или поздно будет создан некий управляемый ОЛЕ3. Не удивлюсь если на базе Авалона.

    C>Причем сильно в этой системе ничего изменить не получится — просто

    C>интерфейсы из COMовских станут .NETовскими.

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

    Я уже не раз ворчал на WinAPI. По сравнению с FCL из дотнета — это чудовищьное уродство. ОЛЕ здесь ничем не отличается. Его давно пора переписывать. Настало время чистых решений.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[9]: В университете надо давать высшее образование
    От: Sinclair Россия https://github.com/evilguest/
    Дата: 14.04.06 02:43
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:
    Кё>1. Что случилось с 4-го семестра? Все предметы стали интересными без разбору?
    А как раз примерно с 4-5 семестра студент наконец понимает, что именно от него требуется на сессии, и подбирает верный баланс между пьянкой и учебой. Я на все пятерки не вышел, но головняков и неожиданных троек на третьем-четвертом курсах уже не было. Даже скучновато стало — интрига ушла, сессия перестала быть пугающим водоворотом, стало понятно, что собственно зубрежка — вещь бесполезная в принципе, и главное — не донести максимум знаний до экзамена, а максимально эффективно подать донесенные.
    1.1.4 stable rev. 510
    Уйдемте отсюда, Румата! У вас слишком богатые погреба.
    Re[15]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 14.04.06 05:12
    Оценка:
    VladD2 wrote:
    > C>Начнем с объектов передачи данных:
    > C>1. IDataObject с поддержкой сериализации, прозрачного создания проксей,
    > C>различными типами форматов.
    > На фиг не упал. Сериализация и так есть. Причем логично было бы на
    > сегодня текстовые и векторые форматы сериализовать в ХМЛ.
    Сериализация — это мелочь (IStreamPersist/IStoragePersist я тут даже не
    упомянул). Нужно именно согласование форматов.

    Я уже приводил пример — картинка из Visio вставляется в Word как
    OLE-объект, а в MSPaint как растровая картинка.

    > C>2. IOleObject — управление размерами, отображением, моникерами для

    > C>linking'а. Так же, управление состоянием и глаголы.
    > Бред фантазии неопытных разработчиков из МС. Дизайн OLE содержит тонны
    > таких уродцев.
    Придумай лучше. Глаголы, положим, можно заменить на reflection+атрибуты.
    Но что делать с моникерами и управлением extent'ами?

    > C>3. IOLEClientSite/IOleContainer — взаимодействие с объектом.

    > C>4. IOleControl — управление акселераторами.
    > C>5. IDropSource/IDropTarget — управление OLE D&D.
    > Аналоги уже есть в подсистеме контролов.
    Только для IOleControl, для сайта и контейнера — далеко не полная
    функциональность.

    > C>5. IDropSource/IDropTarget — управление OLE D&D.

    > Есть обертка над ОЛЕ, но само ОЛЕ-решине довольно кривое. Я бы переписал
    > на менеджед коде.
    Чтобы получить кривое решение на managed-коде?

    Я работал с D&D на Java (managed-код!) — разницы нет никакой по
    сравнению с COM. Просто интерфейсы становятся не COM-интерфейсами, а
    просто Java-интерфейсами.

    > C>7. IOleInPlaceUIWindow — согласование места для тулбаров.

    > Тоже бы сделал более простую реализацию.
    Чего там упрощать? Там 6 методов для согласования границ объекта.

    > C>8. IOleUndoManager — совместный Undo/Redo.

    > Аналогично. К тому же в студии уже есть подобные интерфейсы, но более
    > универсальные (управление транзакциями).
    Так кто же спорит, что оно по-отдельности все просто?

    > C>9. IViewObject — отображение содержимого документа без создания окон.

    > Опять же задача пустяковая.
    Ага. Оно все пустяковое по-отдельности.

    > И т.п. там конечно много. Но ты уж меня извени, я знаю об этой кухни не

    > по наслышке. За дизайн ОЛЕ и ОЛЕ-контролов нужно отрезать разные части
    > тела. Это полнейший бедлам и бессмыслица. Изучение этого дерьма
    > становится сущим адом. Особненно если учесть качесво документации.
    В Inside OLE Крейга Брокшмдта все подробно объяснено. Да, общую
    структуру OLE понять сложно, но это из-за сложности самой задачи.

    У MS дальше начались проблемы на почве ActiveX — совершенно ненужная и
    усложненная система windowless-контролов, плохо продуманные оптимизации
    рисования (типа поддержки opaque/transparent частей, но без возможности
    узнать заранее есть ли у объекта прозрачная часть) и т.п.

    Но база OLE сделана на твердую 4.

    > Все тоже самое можно сделать куда проще.

    Как? Сами попробуйте набросать скелет такой системы.

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

    > пишется на дотнете в чистом виде.
    Я писал свой собственный AD контейнер/сервер на С++ и представляю какой
    это объем работ (и хостинг контролов — это такая маленькая часть).

    > Главное, что сама основа у дотнета куда более подходит для этой задачи.

    > А интерфейсы ОЛЕ нужно выбросить на помойку хотя бы из-за их
    > противоречивости и запутанности.
    Так может весь .NET FW выбросить и писать на понятном и незапутанном VB6?

    > Думаю, что рано или поздно будет создан некий управляемый ОЛЕ3. Не

    > удивлюсь если на базе Авалона.
    А Авалон еще жив? Я удивлен.

    > Я уже не раз ворчал на WinAPI. По сравнению с FCL из дотнета — это

    > чудовищьное уродство. ОЛЕ здесь ничем не отличается. Его давно пора
    > переписывать. Настало время чистых решений.
    Ага. Какой пафос...

    При том что та часть API в .NET, которая соответствует Win32API — это
    просто тонкая обертка, которая дает слегка более цивиллизованый вид, не
    меняя сути.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Ranger_XL  
    Дата: 14.04.06 05:38
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

    R_X>>Работающие программисты нужны не для того, чтобы преподавать, а для того, чтобы вправлять мозги в нужном направлении! Невозможно научиться реально программировать, если писать только игрушечные примеры.


    LVV>Фокус в том, что сначала нужно показать ЭЛЕМЕНТАРНОЕ — народ жиж нифига этого не знает...


    Даже элементарное можно показать неправильно!

    LVV>А какой действующий программер на это способен?! Да практически никакой... Я сам не мог этого, пока не стал преподавать...

    LVV>А для уже действующих программистов препод фактически не нужен, поскольку они сами умеют учиться...

    Мое убеждение, что лучшие преподаватели — это те, кто сначала были проф. программистами (архитекторами, менеджерами), а потом переключился на преподавание/консультирование. П.Нортон, Д.Кнут, Б.Керниган, Б.Страуструп, Д.Рихтер, Д.Круглински и т.д.
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
    Дата: 14.04.06 05:59
    Оценка:
    Здравствуйте, LaptevVV, Вы писали:

    LVV>Мой опыт работы со студентами различного ума и уровня подготовки это подтверждает... Ктио научился писать процедуры — у того и в дальнейшем проблем не возникает...



    ГВ>>Здесь, конечно, можно спорить, "кто перед кем стоял", но если нет какого-то ммм... конкретного воплощения некоторых базовых ограничений (ну хоть тот же запрет на goto или, в более случае ООП — требование соблюдать LSP), то можно попасть в ситуацию с неопределённостью критериев "правильно-неправильно", что весьма не гуд для обучения. Чему учить-то тогда? Быстро выдать что-то работающее? Хех...

    LVV>Ну, я студентам говорю так: сначала программа должна правильно работать, а потом посмотрим на недостатки реализации..

    Ну, тоже подход. Главное — недостатки реализации не прощать на определённом этапе.
    Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
    P.S.: Винодельческие провинции — это есть рулез!
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: LaptevVV Россия  
    Дата: 14.04.06 06:50
    Оценка:
    Здравствуйте, Ranger_XL, Вы писали:

    R_X>Мое убеждение, что лучшие преподаватели — это те, кто сначала были проф. программистами (архитекторами, менеджерами), а потом переключился на преподавание/консультирование. П.Нортон, Д.Кнут, Б.Керниган, Б.Страуструп, Д.Рихтер, Д.Круглински и т.д.


    Знаешь, тут ты прав...

    Я сам такой же путь прошел...
    И студенты предпочитают общаться со мной, а не с другими преподами...
    Хочешь быть счастливым — будь им!
    Без булдырабыз!!!
    Re[9]: В университете надо давать высшее образование
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 14.04.06 07:38
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

    Кё>1. Что случилось с 4-го семестра? Все предметы стали интересными без разбору?


    Нет, состав преподавателей сменился.

    Кё>2. Писал все лекции, посещал все практики и др.?


    Неа.

    Кё>3. Сколько было отличников


    не помню. Человека 4 наверное, может 5.

    Кё> и всего людей в группе?


    18

    Кё>4. ВУЗ, факультет, кафедра?


    РГРТА, ФВТ, каф. ЭВМ
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[15]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 14.04.06 07:52
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    C>>различными типами форматов.


    VD>На фиг не упал. Сериализация и так есть.


    VD>Причем логично было бы на сегодня текстовые и векторые форматы сериализовать в ХМЛ.


    Да хоть в крестики-нолики. Есть интерфейс, описывающий иерархический персистентный стрим. А что лежит по ту сторону персистенции клиентам сугубо фиолетово, хоть даже реляционная или иерархическая БД.

    Этот интерфейс — наследник IStream хорош тем, в качестве эелементов иерархии возвращает точно такие же стримы.
    Например, сможешь ли ты восстановить из потока объект, если сборки, где он описан, на машине нет??? (поэкспериментируй)
    А в OLЕ — запросто, десериализация всего остального не пострадает. Отсутствующий серверный элемент будет отображать пиктограмкой, но остальной док-т можно будет даже править и без ущерба сохранять.

    C>>2. IOleObject — управление размерами, отображением, моникерами для

    C>>linking'а. Так же, управление состоянием и глаголы.

    VD>Бред фантазии неопытных разработчиков из МС. Дизайн OLE содержит тонны таких уродцев.


    Ты не понял насчет линкинга. Объект ведь может быть в 3-х вариациях, от embedded до linked.

    C>>3. IOLEClientSite/IOleContainer — взаимодействие с объектом.

    C>>4. IOleControl — управление акселераторами.

    VD>Аналоги уже есть в подсистеме контролов.


    Насчет акселераторов — дудки, остальное — может быть.

    C>>5. IDropSource/IDropTarget — управление OLE D&D.


    VD>Есть обертка над ОЛЕ, но само ОЛЕ-решине довольно кривое. Я бы переписал на менеджед коде.


    А как твой буфер тогда будет работать с не-менейджет кодом? Он же один на всю винду.

    C>>7. IOleInPlaceUIWindow — согласование места для тулбаров.


    VD>Тоже бы сделал более простую реализацию.


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

    C>>8. IOleUndoManager — совместный Undo/Redo.


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


    Речь о реализации. Интерфейсы везде более чем простые.

    C>>9. IViewObject — отображение содержимого документа без создания окон.


    VD>Опять же задача пустяковая.


    Разве наследник System.Windows.Forms сможет нормально работать без СОБСТВЕННОГО окна??? Я как ни пытался его заставить — получается очень плохо, у них все завязано на собственный хендл, буквально в каждом внутреннем методе, где события обрабатываются. И даже сама MC сделала ActiveXHost таким, что он выделяет себе окно.

    C>>10. И т.п.


    VD>И т.п. там конечно много. Но ты уж меня извени, я знаю об этой кухни не по наслышке. За дизайн ОЛЕ и ОЛЕ-контролов нужно отрезать разные части тела. Это полнейший бедлам и бессмыслица. Изучение этого дерьма становится сущим адом. Особненно если учесть качесво документации.

    VD>Все тоже самое можно сделать куда проще.

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


    VD>Рельно для создания аналога ОЛЕ на дотнете нужно не так много. И сделать это не сложно.


    Да, реально это сделать примерно вдвое проще, и было бы неплохо, чтобы кто-нить большой и тяжелый (типа MS) устаканил набор интерфейсов и их протокол для задач, аналогичных OLE. Реализацию можно будет сделать какую угодно и даже сделать бинды на разные GUI библиотеки. Просто если эти интерфейсы разработаем мы, то это так и останется YAOLE2.

    VD>Так что проблема только в одном. В совместимости с прошлыми версиями.


    У меня есть клиентская реализация для существующего OLE. http://files.rsdn.ru/21096/ss1.PNG (как вам фирма-заказчик?)
    Обрати внимание на скрин-шоте на таб-контрол и кнопки Print, Close внизу активной формы.

    Серверную часть написать сложнее
    Но именно она и представляет наибольший интерес.

    VD>Главное, что сама основа у дотнета куда более подходит для этой задачи. А интерфейсы ОЛЕ нужно выбросить на помойку хотя бы из-за их противоречивости и запутанности.


    Нет противоречивости. Есть дополнения, когда OLE2 научился работать с windowsless + еще несколько оптимизаций, чтобы некие действия за 1 раз выполнялись. К тому же не забывай, что COM-интерфейсы не допускают перегрузок сигнатур, т.к. COM может использоваться с языками, не имеющими такой возможности, поэтому в названиях методов там некая пестрота. Да, если сделать на дотнете, то можно упорядочить это дело. (Но для меня эти вопросы совершенно не принципиальны, это внутренние кишки енжина и базовых классов, их никто напрямую не юзает)

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


    Ну, уйдет весь код по сериализации и часть кода по GUI. Если ориентироваться на windowless, то интерфейсы должны быть спроектированы так, чтобы не завязываться на Windows.Forms (!!!). Дополнительно надо разработать windowsless библиотеку (у меня есть заготовка, если кому интересно).

    VD>ОЛЕ здесь ничем не отличается. Его давно пора переписывать.


    Разочаровало и заставило бросить эксперименты в этом направлении то, что даже следующий офис не будет менейджед. Может быть уже было бы у меня серверное OLE и отлаженный windowsless.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[13]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 14.04.06 07:52
    Оценка:
    Здравствуйте, VladD2, Вы писали:


    V>> Я, напротив, уверен, что MS Office "всех поборол" именно с помощью OLE.


    VD>Это преувеличение.


    V>> По отдельности его продукты уступали аналогичным от конкурентов на момент "борьбы".


    VD>А это просто не соотвествует действительности.


    Это признает сам Стив Балмер в своей книге. Кому мне больше доверять? И кстати, мне довелось попользоваться Lotus 123 и Excel-ем того времени, первый был гораздо интереснее и дружелюбнее. Второй постепенно, от версии к версии "слизывали" с первого (постепенно догоняли)

    V>> Зато умели работать совместно, что и решило исход схватки.


    VD>Откровенно говоря я не часто встречаю использование OLE2. Мы являемся действительно активными пользователями Офиса, но OLE2 настолько криво, что используем мы его очень редко. Так что скорее оно оказалось рекламным трюком.


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

    И MS-биндером ты тоже не пользовался?


    VD>>>А "серверные документны" — это вообще новоя терминалогия.


    V>>Не документы, а элементы документов. Различают серверный и клиентский элемент (item) в OLE.


    VD>Это была твоя цитата. Прикажешь домысливать за тобой?


    Приказываю читать по написанному а не по придуманному. Еще приказываю вернуться на тот пост и самолично посмотреть.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[14]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 14.04.06 10:16
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Это признает сам Стив Балмер в своей книге. Кому мне больше доверять? И кстати, мне довелось попользоваться Lotus 123 и Excel-ем того времени, первый был гораздо интереснее и дружелюбнее. Второй постепенно, от версии к версии "слизывали" с первого (постепенно догоняли)


    Мне плевать на вторитеты. Я вижу факты.

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


    Вставляю. Но не как ОЛЕ. А как ссылки на файлы. Ранее вставляли Визио-объекты, но это приводило к куче проблем и мы отказались и от этого.

    V> Мы, например, составляем тех-документацию в Ворде, так вот, у нас этого всего как грязи в каждом док-те.


    Не эффективно и неудобно работать тоже конечно можно. Мы пришли к отказу от ОЛЕ не сразу и тому было много причин. Уверен, что объем обрабатываемой информации у нас значительно больше чем у вас. А людей занимающихся ее обработкой меньше.

    V>И MS-биндером ты тоже не пользовался?


    Более того. Вообще считаю его извращением.

    VD>>Это была твоя цитата. Прикажешь домысливать за тобой?


    V>Приказываю читать по написанному а не по придуманному. Еще приказываю вернуться на тот пост и самолично посмотреть.


    Яволь май Фурер! Тока цитаты твои и скопрированы они через клипборд.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[16]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 14.04.06 10:16
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>Сериализация — это мелочь (IStreamPersist/IStoragePersist я тут даже не

    C>упомянул). Нужно именно согласование форматов.

    Еще одно уродливое решение.

    C>Я уже приводил пример — картинка из Visio вставляется в Word как

    C>OLE-объект, а в MSPaint как растровая картинка.

    И что? Какие выводы?

    C>Придумай лучше. Глаголы, положим, можно заменить на reflection+атрибуты.

    C>Но что делать с моникерами и управлением extent'ами?

    Придумать хуже уже будет очень сложно. Проектирование ОЛЕ2 я оцениваю на 2.

    Моникеры вообще переусложненное решение. Реально унжно было ввести отдельно ссылки, и отдельно вложенные объекты. Это разные вещи и не фига их смешивать.

    Заниматься гипотетическим проектированием прямого ОЛЕ наверно смысла нет. Или мы очень далеко зайдем.

    >> C>3. IOLEClientSite/IOleContainer — взаимодействие с объектом.

    >> C>4. IOleControl — управление акселераторами.
    >> C>5. IDropSource/IDropTarget — управление OLE D&D.
    >> Аналоги уже есть в подсистеме контролов.
    C>Только для IOleControl, для сайта и контейнера — далеко не полная
    C>функциональность.

    Все что нужно есть. А лишнее оно и есть лишнее.

    >> C>5. IDropSource/IDropTarget — управление OLE D&D.

    >> Есть обертка над ОЛЕ, но само ОЛЕ-решине довольно кривое. Я бы переписал
    >> на менеджед коде.
    C>Чтобы получить кривое решение на managed-коде?

    Чтобы получилось прямое решение. Идея называть форматы текстовой строкой — бредовая идея. Нужна просто сериализация объектов и 3-5 стандартных и не замороченных форматов. Сегодня в дрыг-дропе и клипборде используется в основном плоский текст, растровые изображения и весма замороченный формат HTML. Это очень криво.

    Интерфейсы IDropSource/IDropTarget тоже криво спроектированы. Куча лишнего и непонятного. Но даже управляемые обретки и те лучше выглядят.

    C>Я работал с D&D на Java (managed-код!) — разницы нет никакой по

    C>сравнению с COM.


    Это в сравнении с менеджед обертками или с КОМ-опвскми интерфейсами?
    Начать хотя бы с того, что половина функций вообще к интерфейсам отношения не имеет. Это прос глобальные методы:
    WINOLEAPI DoDragDrop(
       IDataObject  * pDataObject,   // Pointer to the data object
       IDropSource  * pDropSource,   // Pointer to the source
       DWORD          dwOKEffect,    // Effects allowed by the source
       DWORD        * pdwEffect      // Pointer to effects on the source
       );
    
    typedef struct
    {
        CLIPFORMAT      cfFormat;     // Clipboard format  
        DVTARGETDEVICE *ptd;          // (NULL)       Target device for rendering
        DWORD           dwAspect;     // (DV_CONTENT) How much detail is required for data rendering
        LONG            lindex;       // (-1)         Used when data is split across page boundaries
        DWORD           tymed;        // Storage medium used for data transfer (HGLOBAL, IStream etc)
        
    } FORMATETC;
    ...


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

    Даже используя менеджед-обертку реализовать дрыг-дроп не так то и просто. А на С++ вообще задалбывает.


    >> C>7. IOleInPlaceUIWindow — согласование места для тулбаров.

    >> Тоже бы сделал более простую реализацию.
    C>Чего там упрощать? Там 6 методов для согласования границ объекта.

    Вот их и упрощать. Половина этих методов реально не используется. И вообще работа на уровен "зарезервировать кусок окна" — это лажа полнейшая. Надо вводить абстракции тулбаров и меню и уже на их основе делать расширение.

    >> C>8. IOleUndoManager — совместный Undo/Redo.

    >> Аналогично. К тому же в студии уже есть подобные интерфейсы, но более
    >> универсальные (управление транзакциями).
    C>Так кто же спорит, что оно по-отдельности все просто?

    Не, в ОЛЕ оно и по отдельности все крайне переусложнено. Крив сам дизайн. Так что даже если ОЛЕ преписать хотя бы на базе КОМ и С++, то все равно можно упростить эту технологию в разы и сделать ее более вменяемой.

    Одна из стратегических ошибок — это межпроцессное взаимодействие. Не нужно это для вложенных документов и кратинок! Наоборот нужна внутрипроцессная активация как в случае ОЛЕ-контролов. Тогда и скорости будет хватать, и комуникации упростятся.

    >> И т.п. там конечно много. Но ты уж меня извени, я знаю об этой кухни не

    >> по наслышке. За дизайн ОЛЕ и ОЛЕ-контролов нужно отрезать разные части
    >> тела. Это полнейший бедлам и бессмыслица. Изучение этого дерьма
    >> становится сущим адом. Особненно если учесть качесво документации.
    C>В Inside OLE Крейга Брокшмдта все подробно объяснено. Да, общую
    C>структуру OLE понять сложно, но это из-за сложности самой задачи.

    Спасибо за рассказ это тому, кто 7 лет назад тыкал носом в эту книгу кого не попадя. Толко вот второе издание этой книги было удалено из МСДН еще лет 5 назад (если не раньше). Так что найти ее современному программисту крайне сложно. Когда я попытался выяснить почему ее убрали, то оказалось, что она уже "сильно отстала от жизни".

    C>У MS дальше начались проблемы на почве ActiveX — совершенно ненужная и

    C>усложненная система windowless-контролов, плохо продуманные оптимизации
    C>рисования (типа поддержки opaque/transparent частей, но без возможности
    C>узнать заранее есть ли у объекта прозрачная часть) и т.п.

    Идея безоконных контролов как раз разумна. Проблемы у МС в переусложненности интферйсов и в отсуствии продуманной стратегии. ОЛЕ2 рождалось как-то итеративно и в итоге вышел уродец. К тому же в те времена в МС к дизайну интерфейсов относились довольно халтурно. Именно тогда родились все переусложненные интерфейсы КОМ-а и понимание того, то нужен дотнет позволяющих устранить переусложненность и имеющий четкие принцыпы дизайна.

    C>Но база OLE сделана на твердую 4.


    На 3 в лучем случае. А рельно на 2. Может это и было круто в 94-ом, но на сегодня это сильно морально устаревшее решение. И я бы давно занялся бы его переписыванием.

    >> Все тоже самое можно сделать куда проще.

    C>Как? Сами попробуйте набросать скелет такой системы.

    Что значит как? Сесть, проанализировать чего нехватает, и пспроетировать. Далее реализовать пару контролов для упрощения реализации и включить во фрэймворк.

    Думаю, что если бы не совместимость то давно так бы и сделали.

    C>Я писал свой собственный AD контейнер/сервер на С++ и представляю какой

    C>это объем работ (и хостинг контролов — это такая маленькая часть).

    Я тоже писал и ActiveX-контейнер и поддержку многих вещей из ОЛЕ2. Так что не надо мне мозги пудрить. Я знаю о кривизне дийайна ОЛЕ2 не по нслышке. Более того недавно я писал текствый редактор и был вынужден реализовывать вещи вроде дрыг-дропа и анду. И скажу тебе как на духу, то что проектировалось с нуля выглядит изумительно. А то что основано на обертках ОЛЕ2 очень некрасиво.

    >> Главное, что сама основа у дотнета куда более подходит для этой задачи.

    >> А интерфейсы ОЛЕ нужно выбросить на помойку хотя бы из-за их
    >> противоречивости и запутанности.
    C>Так может весь .NET FW выбросить и писать на понятном и незапутанном VB6?

    Фрэймворк чистая абстракция. Практически все интерфейсы в нем свои. Ну, а про VB6 — это уже чистая демагогия.

    >> Думаю, что рано или поздно будет создан некий управляемый ОЛЕ3. Не

    >> удивлюсь если на базе Авалона.
    C>А Авалон еще жив? Я удивлен.

    Не каждая неразумная фраза тянет на сарказм.

    >> Я уже не раз ворчал на WinAPI. По сравнению с FCL из дотнета — это

    >> чудовищьное уродство. ОЛЕ здесь ничем не отличается. Его давно пора
    >> переписывать. Настало время чистых решений.
    C>Ага. Какой пафос...

    Никакого. Это мое мнение основаное на немалом опыте использования обоих миров.

    C>При том что та часть API в .NET, которая соответствует Win32API — это

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

    У тебя явный пробел в понимании. Важна не реализация, а интерфейс. Именно его ты используешь в программе. По этому если интерфейс устраивает, то и ладушки, пусть будет обертка. Проблема с ОЛЕ в том, что хорошо обернуть его очень сложно. Спроектировано все так, что то и дело вылезают уши вроде окон или мет для тулбаров. Плюс ко всему очень большой проблемой является дублирование функций и отсуствие четкого понимания что нужно реально использовать.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[16]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 14.04.06 10:16
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Да хоть в крестики-нолики. Есть интерфейс, описывающий иерархический персистентный стрим. А что лежит по ту сторону персистенции клиентам сугубо фиолетово, хоть даже реляционная или иерархическая БД.


    V>Этот интерфейс — наследник IStream хорош тем, в качестве эелементов иерархии возвращает точно такие же стримы.

    V>Например, сможешь ли ты восстановить из потока объект, если сборки, где он описан, на машине нет??? (поэкспериментируй)
    V>А в OLЕ — запросто, десериализация всего остального не пострадает. Отсутствующий серверный элемент будет отображать пиктограмкой, но остальной док-т можно будет даже править и без ущерба сохранять.

    Это не проблема и для ХМЛ-сериализации. Интерфейс тоже можно оставить чистым.

    V>Ты не понял насчет линкинга. Объект ведь может быть в 3-х вариациях, от embedded до linked.


    Спасибо за оценку моих знаний, но она не врена. Я знаю, что такое моникиры и знаю всю прееусложненность и кривизну этого решения. Жить надо проше. Пусть ссылки будут просто ссылками (как в ХТМЛ), а вложенные объекты вложенными объектами. Не нужна тут абстракция. Или если и нужна, то очнь легенькая.

    V>Насчет акселераторов — дудки, остальное — может быть.


    Курим System.Windows.Forms.IMessageFilter. Так же укрим подсистему предварительной обработки сообщений контролом метод Control.PreProcessMessage() (на его основе, кстати, делается обработка сообщений для OCX-ов). С их помощью черта лысого можно реализовать. Но нет проблем и еще интерфейс ввести.

    V>А как твой буфер тогда будет работать с не-менейджет кодом? Он же один на всю винду.


    В этом и проблема. Но думаю, что не так уж трудно будет мостик совместимости наладить.

    C>>>7. IOleInPlaceUIWindow — согласование места для тулбаров.


    VD>>Тоже бы сделал более простую реализацию.


    V>Там итак достаточно просто в этом интерфейсе.


    Там не просто, там убого и завязано на примитивы Виндовс.

    V>И еще я не уверен, что они оба смогут работать внутри окна другого процесса.


    Считаю межпроцессную активацию объектов в ОЛЕ ошибкой. Но если что ремоутинг и Индигу никто не отменял.

    V>Речь о реализации. Интерфейсы везде более чем простые.


    Нет речь именно об интерфейсах. Они в ОЛЕ2 переусложнены и запутаны. А реализация для конторы класса МС не самая большая проблема.

    V>Разве наследник System.Windows.Forms сможет нормально работать без СОБСТВЕННОГО окна???


    К сожалению нет. Но это не проблема. Да и можно пользоваться сразу Авалоном в котором окон вообще нет.

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


    Мне плевать на исходники. Меня интересует простота использования.

    VD>>Рельно для создания аналога ОЛЕ на дотнете нужно не так много. И сделать это не сложно.


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


    Вот и я о том же.

    V> Реализацию можно будет сделать какую угодно и даже сделать бинды на разные GUI библиотеки. Просто если эти интерфейсы разработаем мы, то это так и останется YAOLE2.


    Полностью согласен. Потому даже не заикаюсь об этом.

    Не ясно тогда, о чем ты опять со мной споришь?

    ЗЫ

    Вообще у меня часто складывается печатление, что ты вроде бы как со мной согласен, но цепляшся к мало значимым мелочам или интерпретации терминов и начинается бессмысленный и долгий спор.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[17]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 14.04.06 11:08
    Оценка: +1
    VladD2 wrote:
    > C>Я уже приводил пример — картинка из Visio вставляется в Word как
    > C>OLE-объект, а в MSPaint как растровая картинка.
    > И что? Какие выводы?
    Простой сериализацией не обойдешься.

    > C>Придумай лучше. Глаголы, положим, можно заменить на reflection+атрибуты.

    > C>Но что делать с моникерами и управлением extent'ами?
    > Придумать хуже уже будет очень сложно. Проектирование ОЛЕ2 я оцениваю на 2.
    > Моникеры вообще переусложненное решение. Реально унжно было ввести
    > отдельно ссылки, и отдельно вложенные объекты. Это разные вещи и не фига
    > их смешивать.
    В OLE нет ссылок, есть _linked_ objects. Для пользователя с ними работа
    точно так же прозрачно идет.

    > Заниматься гипотетическим проектированием прямого ОЛЕ наверно смысла

    > нет. Или мы очень далеко зайдем.
    А попробуй. Просто опиши интерфейсы/классы и что они будут делать.

    > C>Только для IOleControl, для сайта и контейнера — далеко не полная

    > C>функциональность.
    > Все что нужно есть. А лишнее оно и есть лишнее.
    Нет Бога кроме Аллаха и Microsoft пророк Его? Хотя нет, вроде цитата
    по-другому звучала.

    > Чтобы получилось прямое решение. Идея называть форматы текстовой строкой

    > — бредовая идея. Нужна просто сериализация объектов и 3-5 стандартных и
    > не замороченных форматов.
    Ага. Чтобы когда потребовалось передавать свои объекты — нужно было
    курить бамбук. Еще умные идеи будут?

    > Сегодня в дрыг-дропе и клипборде используется

    > в основном плоский текст, растровые изображения и весма замороченный
    > формат HTML. Это очень криво.

    > C>Я работал с D&D на Java (managed-код!) — разницы нет никакой по

    > C>сравнению с COM.
    > Это в сравнении с менеджед обертками или с КОМ-опвскми интерфейсами?
    Вот пример кода на Java:
      Transferable transferable =(Transferable) dragNode.getUserObject();
      Cursor cursor = selectCursor (e.getDragAction())
      dragSource.startDrag(e, cursor, transferable, this);


    Вот аналог на C++:
    DragSrcHelper dragSrcHelper;
    CComPtr<IDataObject> pdobj=getTransferObject(&dragSrcHelper);
    ::DoDragDrop(pdobj, &dragSrcHelper, DROPEFFECT_COPY, NULL);

    Разница только в синтаксисе.

    > Начать хотя бы с того, что половина функций вообще к интерфейсам

    > отношения не имеет. Это прос глобальные методы:
    О Боже! Ну заверните их в синглтоны для полного спокойствия разума. Типа
    чтобы все объектно-ориентировано было.

    > typedef struct

    > {
    > CLIPFORMAT cfFormat; // Clipboard format
    > DVTARGETDEVICE *ptd; // (NULL) Target device for rendering
    > DWORD dwAspect; // (DV_CONTENT) How much detail is required for data rendering
    > LONG lindex; // (-1) Used when data is split across page boundaries
    > DWORD tymed; // Storage medium used for data transfer (HGLOBAL, IStream etc)
    > } FORMATETC;
    > ...
    > Все значения не типизированные.
    Нетипизированы здесь только dwAspect (который есть комбинация флагов из
    enum'ов DVASPECT и DVASPECT2) и tymed (enum TYMED).

    CLIPFORMAT, DVTARGETDEVICE — это _типизированые_ поля.

    > Используются странные структуры,

    > текстовые строки, и куча указателелей в любом из которого без проблем
    > можно ошибиться.
    Просто смешно. Ну замените DWORD'ы на умные enum'ы и будет вам щастье.

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

    > просто. А на С++ вообще задалбывает.
    Писать нормально надо, значит. У меня добавление D&D к моему контролу
    заняло 40 минут. Потребовалось:
    1. Написать обработчик OnDrag, в нем сделать объект данных типа
    CF_STREAM, куда сериализовать указатель на текущий объект
    (CoMarshalInterface), а потом вызавать DoDragDrop.
    2. В объекте-приемнике подключить
    http://www.codeproject.com/shell/dragdrop.asp
    3. Реализовать метод OnDrop у наследника CIDropTarget. Вот его полный код:
    virtual bool OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium, DWORD *pdwEffect)
    {
        if(pFmtEtc->cfFormat == CF_3DD && medium.tymed == TYMED_ISTREAM)
        {
            com_ptr<DCF2::IDataSample> sample;
            HRESULT hr = CoUnmarshalInterface(
                medium.pstm,__uuidof(DCF2::IDataSample),
                (LPVOID*)sample.out());
            if (FAILED(hr))
                return true;
            ctrl->BindData(sample);
        }
        return true; //let base free the medium
    }

    Все! Система OLE мне обеспечивает полную прозрачность между приложениями.

    Где аналог не .NET?

    >> > C>7. IOleInPlaceUIWindow — согласование места для тулбаров.

    >> > Тоже бы сделал более простую реализацию.
    > C>Чего там упрощать? Там 6 методов для согласования границ объекта.
    > Вот их и упрощать. Половина этих методов реально не используется. И
    > вообще работа на уровен "зарезервировать кусок окна" — это лажа
    > полнейшая. Надо вводить абстракции тулбаров и меню и уже на их основе
    > делать расширение.
    В этом куске окна я могу нарисовать все что мне угодно. Ну ладно,
    введите IWindowPiece для успокоения объектно-ориентированой совести.

    > Одна из стратегических ошибок — это межпроцессное взаимодействие. Не

    > нужно это для вложенных документов и кратинок! Наоборот нужна
    > внутрипроцессная активация как в случае ОЛЕ-контролов. Тогда и скорости
    > будет хватать, и комуникации упростятся.
    А в OLE можно и внутрипроцессную активацию использовать (Брокшмидта,
    говорите, читали?). Просто возможна и внешняя активация без особых затрат.

    > C>Но база OLE сделана на твердую 4.

    > На 3 в лучем случае. А рельно на 2. Может это и было круто в 94-ом, но
    > на сегодня это сильно морально устаревшее решение. И я бы давно занялся
    > бы его переписыванием.
    Ага. Поменял бы глобальные функции на синглтоны и вместо уродливых
    страшных указателей типа DVTARGETDEVICE сделал бы ITargetDevice?

    >> > Все тоже самое можно сделать куда проще.

    > C>Как? Сами попробуйте набросать скелет такой системы.
    > Что значит как? Сесть, проанализировать чего нехватает, и
    > пспроетировать. Далее реализовать пару контролов для упрощения
    > реализации и включить во фрэймворк.
    Так я уже пробовал написать свою компонентную систему. Как в анекдоте —
    OLE получилось.

    Нет, в OLE можно кое-что доработать (хотя бы интерфейсы упорядочить и
    ввести методы настройки трансформаций координат). Но сам дизайн и
    архитектура — вполне себе нормальны.

    > Я тоже писал и ActiveX-контейнер и поддержку многих вещей из ОЛЕ2. Так

    > что не надо мне мозги пудрить.
    AX-контейнер (вы сами мне ссылку на него посылали) — это едва четверть
    всего, что нужно сделать.

    > C>Так может весь .NET FW выбросить и писать на понятном и незапутанном VB6?

    > Фрэймворк чистая абстракция. Практически все интерфейсы в нем свои. Ну,
    > а про VB6 — это уже чистая демагогия.
    OLE2 — тоже чистая абстракция. И что?

    > C>А Авалон еще жив? Я удивлен.

    > Не каждая неразумная фраза тянет на сарказм.
    В Vista: WinFS отменили, Monad shell отменили, .NET сильно урезали в
    значимости. Так что я действительно удивлен.

    > У тебя явный пробел в понимании. Важна не реализация, а интерфейс.

    Странно. Я всегда считал важным прежде всего архитектуру. А интерфейс —
    деталью реализации. Своеобразным "usability-сахаром".

    Поэтому пользоваться libxml с простым С-интерфейсом удобнее
    красивоинтерфейсного MSXMLя.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[10]: В университете надо давать высшее образование
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 14.04.06 21:30
    Оценка:
    Здравствуйте, Sinclair, Вы писали:

    S>А как раз примерно с 4-5 семестра студент наконец понимает, что именно от него требуется на сессии, и подбирает верный баланс между пьянкой и учебой. Я на все пятерки не вышел, но головняков и неожиданных троек на третьем-четвертом курсах уже не было. Даже скучновато стало — интрига ушла, сессия перестала быть пугающим водоворотом, стало понятно, что собственно зубрежка — вещь бесполезная в принципе, и главное — не донести максимум знаний до экзамена, а максимально эффективно подать донесенные.


    Значит вас хорошо учили. Вот этот поты и нужно развивать. Имело бы смысл тебе поделиться тем как у вас обтояли дела в учебном процессе.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[15]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 18.04.06 10:04
    Оценка:
    Здравствуйте, VladD2, Вы писали:


    V>>Это признает сам Стив Балмер в своей книге. Кому мне больше доверять? И кстати, мне довелось попользоваться Lotus 123 и Excel-ем того времени, первый был гораздо интереснее и дружелюбнее. Второй постепенно, от версии к версии "слизывали" с первого (постепенно догоняли)


    VD>Мне плевать на вторитеты. Я вижу факты.


    В данном случае Стив Балмер не то, чтобы просто авторитет со стороны, а первоисточник.

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


    VD>Вставляю. Но не как ОЛЕ. А как ссылки на файлы.


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

    V>>И MS-биндером ты тоже не пользовался?


    VD>Более того. Вообще считаю его извращением.


    Согласен, с помощью OLE можно было бы обойтись, если бы не одно НО! — Оформление заголовков страниц, разрывы и т.д. в документах, сделаных в разных ср-вах: Word, Excel, PPoint.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[17]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 18.04.06 10:04
    Оценка:
    Здравствуйте, VladD2, Вы писали:

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


    V>>Да хоть в крестики-нолики. Есть интерфейс, описывающий иерархический персистентный стрим. А что лежит по ту сторону персистенции клиентам сугубо фиолетово, хоть даже реляционная или иерархическая БД.


    V>>Этот интерфейс — наследник IStream хорош тем, в качестве эелементов иерархии возвращает точно такие же стримы.

    V>>Например, сможешь ли ты восстановить из потока объект, если сборки, где он описан, на машине нет??? (поэкспериментируй)
    V>>А в OLЕ — запросто, десериализация всего остального не пострадает. Отсутствующий серверный элемент будет отображать пиктограмкой, но остальной док-т можно будет даже править и без ущерба сохранять.

    VD>Это не проблема и для ХМЛ-сериализации. Интерфейс тоже можно оставить чистым.


    Как это не проблема? Ты хочешь сказать, что если одной из сборок нет на целевой машине, я смогу "поднять" документ, затем снова сохраню и ничего не потеряю из информации? А можно код этого чуда на дотнет?

    V>>Ты не понял насчет линкинга. Объект ведь может быть в 3-х вариациях, от embedded до linked.


    VD>Спасибо за оценку моих знаний, но она не врена. Я знаю, что такое моникиры и знаю всю прееусложненность и кривизну этого решения. Жить надо проше. Пусть ссылки будут просто ссылками (как в ХТМЛ), а вложенные объекты вложенными объектами. Не нужна тут абстракция. Или если и нужна, то очнь легенькая.


    Именно для описываемого и нужна, и не легенькая, а полновесная. Помнишь с чего ветка началась, ты сказал, что в дотнет "и так уже все есть". На самом деле, там есть только аналог COM, хоть и более удобный. А именно OLE придется все же делать дополнительно, если хотим получить аналогичную функциональность.

    V>>Насчет акселераторов — дудки, остальное — может быть.


    VD>Курим System.Windows.Forms.IMessageFilter. Так же укрим подсистему предварительной обработки сообщений контролом метод Control.PreProcessMessage() (на его основе, кстати, делается обработка сообщений для OCX-ов). С их помощью черта лысого можно реализовать. Но нет проблем и еще интерфейс ввести.


    Не надо рассказывать как это можно сделать. Тем более, что ты перечислил не все методы.
    Речь о том, что ничего не готово прямо сейчас.

    V>>А как твой буфер тогда будет работать с не-менейджет кодом? Он же один на всю винду.


    VD>В этом и проблема. Но думаю, что не так уж трудно будет мостик совместимости наладить.


    Еще один?
    Этот мостик — суть танцы вокруг сериализаций и меток форматов. Не слишком ли жирно для такой ерунды кучу мостиков?


    V>>И еще я не уверен, что они оба смогут работать внутри окна другого процесса.


    VD>Считаю межпроцессную активацию объектов в ОЛЕ ошибкой.


    Да ну как тебе сказать... А по мне — очень удобно. Если сервак элемента накроется — не накроется контент остального документа.

    VD>Но если что ремоутинг и Индигу никто не отменял.


    Ты опять про пути реализации. Прямо сейчас есть возможность помещать свои тулбары в окна других процессов или нет? Т.е., все-таки делать надо? И почему ты считаешь, что там все убого? Только лишь потому, что ориентировано на винды? Я просмотрел интерфейсы — нифига подобного. HWND-это просто хендл. На винды завязана лишь РЕАЛИЗАЦИЯ, при желании можно сделать реализацию на любой GUI.

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


    VD>Мне плевать на исходники. Меня интересует простота использования.


    Какие-то проблемы в использовании OLE в разработке? Да, под дотнетом проблематично без собственных велосипедов. В MFC или ATL — весьма просто. Ну да это мы отвлеклись...

    VD>>>Рельно для создания аналога ОЛЕ на дотнете нужно не так много. И сделать это не сложно.


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


    VD>Вот и я о том же.


    V>> Реализацию можно будет сделать какую угодно и даже сделать бинды на разные GUI библиотеки. Просто если эти интерфейсы разработаем мы, то это так и останется YAOLE2.


    VD>Полностью согласен. Потому даже не заикаюсь об этом.


    VD>Не ясно тогда, о чем ты опять со мной споришь?


    Ты же говорил, что все уже есть
    А я оцениваю разработку OLE-подобной схемы как минимум в человеко-год. (и то оптимистично) Со всеми режимами, удобствами в меню, тулабарах, независимостью от Windows.Forms и пр.

    VD>ЗЫ


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


    Да нет, просто за живое задел, с этим ОЛЕ
    Я потратил 2 недели безвылазно, а ты мне — "да все было готово"
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[18]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 18.04.06 11:34
    Оценка: +1
    vdimas wrote:
    > Как это не проблема? Ты хочешь сказать, что если одной из сборок нет на
    > целевой машине, я смогу "поднять" документ, затем снова сохраню и ничего
    > не потеряю из информации? А можно код этого чуда на дотнет?
    Писал в свое время такое "чудо" для Java. Всего-то надо написать
    реализацию обхода по графу объектов

    > HWND-это просто хендл. На винды завязана лишь РЕАЛИЗАЦИЯ, при желании

    > можно сделать реализацию на любой GUI.
    Кстати, в OpenOffice так и сделано. У них обобщенная реализация OLE,
    которая в Винде использует Виндовые средства. В Линуксе используется
    самопальная эмуляция.

    > Ты же говорил, что все уже есть

    > А я оцениваю разработку OLE-подобной схемы как минимум в человеко-год.
    > (и то оптимистично) Со всеми режимами, удобствами в меню, тулабарах,
    > независимостью от Windows.Forms и пр.
    Больше бери. Тем более, что если делать — то надо некоторые недоработки
    в OLE будет исправлять.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[18]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 18.04.06 12:51
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    VD>>Это не проблема и для ХМЛ-сериализации. Интерфейс тоже можно оставить чистым.


    V>Как это не проблема? Ты хочешь сказать, что если одной из сборок нет на целевой машине, я смогу "поднять" документ, затем снова сохраню и ничего не потеряю из информации? А можно код этого чуда на дотнет?


    На событие XmlSerializer.UnknownNode глядел?
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[19]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 18.04.06 23:12
    Оценка:
    Здравствуйте, Cyberax, Вы писали:

    C>vdimas wrote:

    >> Как это не проблема? Ты хочешь сказать, что если одной из сборок нет на
    >> целевой машине, я смогу "поднять" документ, затем снова сохраню и ничего
    >> не потеряю из информации? А можно код этого чуда на дотнет?
    C>Писал в свое время такое "чудо" для Java. Всего-то надо написать
    C>реализацию обхода по графу объектов

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

    C>Больше бери. Тем более, что если делать — то надо некоторые недоработки

    C>в OLE будет исправлять.

    Ну там рефакторинг небольшой, и надо закрыть пару хаков в нем, когда он сообщения виндов в окошки других процессов посылает. Надо все явно на интерфейсы перевести.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[19]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 18.04.06 23:12
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:


    AVK>На событие XmlSerializer.UnknownNode глядел?


    А с индексами референсов что делать? Нумерация-то объектов ведь сквозная.

    Я не говорю, что нерешаемо, понятное дело, что потратив энное кол-во человеко-дней можно будет сделать в чистом виде. Речь все это время шла о том, что без написания специализированного фреймворка вот так "в лоб" эта задача сложновата даже на дотнет.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[20]: Какие языки перспективны? Что преподавать студентам?
    От: Cyberax Марс  
    Дата: 19.04.06 04:35
    Оценка:
    vdimas wrote:
    > C>Писал в свое время такое "чудо" для Java. Всего-то надо написать
    > C>реализацию обхода по графу объектов
    > Э-э нет, мне подавай готовое решение ср-вами дотнет. Это нужно писать
    > собственные форматтеры на каждый из вариантов — бинарный и XML, которые,
    > встретив неразрешимый референс, будут десериализовать его в некий
    > "черный ящик", который сумеет сериализовать свое содержимое обратно.
    У меня все проще было — я обходил по графу объектов, записывал
    содержимое объектов в "словарь", затем отдельно записывал ссылки между
    объектами.

    С форматтерами не заморачивался (их в Java нет ), а просто писал
    сразу в поток.

    > если учесть, что предлагается сохранение произвольного графа объектов,

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

    Хотя да, если все делать аккуратно, то потребуется немного больше
    времени. Да и сериализовать .NET-объекты немного сложнее.

    > C>Больше бери. Тем более, что если делать — то надо некоторые недоработки

    > C>в OLE будет исправлять.
    > Ну там рефакторинг небольшой, и надо закрыть пару хаков в нем, когда он
    > сообщения виндов в окошки других процессов посылает. Надо все явно на
    > интерфейсы перевести.
    Ага, еще хотелось бы уметь делать объекты, состоящие не только из одного
    прямоугольника.
    Posted via RSDN NNTP Server 2.0
    Sapienti sat!
    Re[20]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 19.04.06 07:53
    Оценка: +1
    Здравствуйте, vdimas, Вы писали:

    AVK>>На событие XmlSerializer.UnknownNode глядел?


    V>А с индексами референсов что делать? Нумерация-то объектов ведь сквозная.


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

    V>Я не говорю, что нерешаемо, понятное дело, что потратив энное кол-во человеко-дней можно будет сделать в чистом виде. Речь все это время шла о том, что без написания специализированного фреймворка вот так "в лоб" эта задача сложновата даже на дотнет.


    Не надо никакого фреймворка. Эта задача уже решена. См. surrogate selector.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[21]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 19.04.06 09:20
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    V>>А с индексами референсов что делать? Нумерация-то объектов ведь сквозная.


    AVK>А зачем в хранилище референсы?


    Ну, поступило предложение "просто сериализовать". Если "просто сериализовать", то 3 св-ва, скажем, в объекте верхнего уровня, ссылающиеся на экземпляр одного и того же большого объекта, приведут к тому, что будет сериализовано в 3 раза больше данных. После десериализации восстановится 3 экземпляра, что может вообще нарушить логику объекта. Поэтому мне кажется приемлимой лишь сериализация типа SOAP-сериализации. Иначе мы рискуем "хотеть как лучше, а получить как всегда" — то бишь сделать просто, но наложить серьезные ограничения на использование. Т.к. ограничения не контролируемые ни компилятором ни чем иным, то это все будет заявкой на очередное глюкалово.

    AVK>Впрочем если так захотелось, то без проблем, только вместо XmlSerializer придется использовать какой нибудь форматтер.


    Речь о том, что "захотелось" использовать имеющиеся ср-ва, то бишь задействовать готовый фреймворк сериализации вместо пихания в иерархические стримы. Хотя, само требование пихания в иерархические стримы организует информацию "однонаправленно", в отличие от "обычных объектов".


    V>>Я не говорю, что нерешаемо, понятное дело, что потратив энное кол-во человеко-дней можно будет сделать в чистом виде. Речь все это время шла о том, что без написания специализированного фреймворка вот так "в лоб" эта задача сложновата даже на дотнет.


    AVK>Не надо никакого фреймворка. Эта задача уже решена. См. surrogate selector.


    Он не для того. Органпизовать насильно данные однонаправленно он не сможет.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[22]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 19.04.06 09:43
    Оценка: +1
    Здравствуйте, vdimas, Вы писали:

    V>Ну, поступило предложение "просто сериализовать". Если "просто сериализовать", то 3 св-ва, скажем, в объекте верхнего уровня, ссылающиеся на экземпляр одного и того же большого объекта, приведут к тому, что будет сериализовано в 3 раза больше данных.


    Граф надо грамотно проектировать.

    AVK>>Впрочем если так захотелось, то без проблем, только вместо XmlSerializer придется использовать какой нибудь форматтер.


    V>Речь о том, что "захотелось" использовать имеющиеся ср-ва, то бишь задействовать готовый фреймворк сериализации вместо пихания в иерархические стримы.


    А ворматтеры это не имеющиеся средства?

    AVK>>Не надо никакого фреймворка. Эта задача уже решена. См. surrogate selector.


    V>Он не для того.


    Для того. В частности этим пользуется ремоутинг для сериализации ссылок.

    V> Органпизовать насильно данные однонаправленно он не сможет.


    А это и не нужно.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[23]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 19.04.06 13:00
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

    V>>Ну, поступило предложение "просто сериализовать". Если "просто сериализовать", то 3 св-ва, скажем, в объекте верхнего уровня, ссылающиеся на экземпляр одного и того же большого объекта, приведут к тому, что будет сериализовано в 3 раза больше данных.


    AVK>Граф надо грамотно проектировать.


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

    AVK>>>Впрочем если так захотелось, то без проблем, только вместо XmlSerializer придется использовать какой нибудь форматтер.


    V>>Речь о том, что "захотелось" использовать имеющиеся ср-ва, то бишь задействовать готовый фреймворк сериализации вместо пихания в иерархические стримы.


    AVK>А ворматтеры это не имеющиеся средства?


    Ну дык, побежали по кругу, что ли? Я же и говорил, что в большинстве форматтеров (в 2-х из 3-х) есть сквозная нумерация ссылок. При восстановлении отсутствующего на машине объекта (частая ситуация в ОЛЕ) и последующем сохранении надо будет грамотно эти ссылки корректировать. Если не обеспечить все это каким-нибудь строгим непробиваемым ограничением (а не "граф надо грамотно проектировать"), и позволить ссылки из объекта "наверх" по графу, то задача кажется вообще неразрешимой на имеющихся ср-вах даже с подпорками.

    Имеющиеся ср-ва весьма универсальны, а тут требуется очертить узкий круг задач. В обмен на получаемую надежность и интероперабельность по "узкому", то бишь несложному и недвусмысленному протоколу.

    AVK>>>Не надо никакого фреймворка. Эта задача уже решена. См. surrogate selector.


    V>>Он не для того.


    AVK>Для того. В частности этим пользуется ремоутинг для сериализации ссылок.


    Они используются для любых случаев, где нам надо вмешиваться в сериализацию. Ты, по сути, пытаешься натолкнуть меня на мысль, как реализовать процесс вмешательства в стандартную сериализацию — десериализацию. Но это не проблема — вклинюсь. Вклиниться можно даже без суррогат-селекторов, если самим граф перебирать (несложно, ИМХО). Можно тогда понасоздавать своих интерфейсов-аналогов этим селекторам и юзать вовсю совместно с уже имеющимися кусками фреймворка относительно сериализации. Т.е. это все не проблема. Проблема в самих данных, кои в общем случае частенько рекурсивные без четко выраженной однонаправленности. Количество побочных эффектов от "частичной" десериализации такой каши способно превзойти все ождания.

    V>> Органпизовать насильно данные однонаправленно он не сможет.


    AVK>А это и не нужно.


    Наверно у меня плохо получается выражать свои мысли. Ну представь, что у тебя есть некий объект А, который умеет сериализоваться. Мы его "редактируем", и присваиваем одному из его св-в ссылку на другой объект B. Потом пытаемся восстановить это все из потока на другой машине. Часть А не работает — нету сборки на машине, например (это был вложенный документ со ссылкой на стиль из отцовского док-та). В процессе редактирования мы убили "соседний" объект B, на который ссылалось поле из А. Наши действия при обратном сохранении всего док-та?

    Все-таки, однонаправленный граф без рекурсий ОЧЧЕНЬ удобная и надежная штука. Каждая ветка такого графа независима от вышестоящих и может рассматриваться как отдельный жизнеспособный элемент.

    В принципе, я тут оговорился насчет ручной беготни по графу... Может сойти на первое время, если в процессе сериализации выстраивается тот самый граф, и проверяется на рекурсивность (при проходе). Запросто можно использовать весь имеющийся фрейморк сериализации (всякие BinaryReader-ы и ObjectManager-ы).
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[24]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 19.04.06 13:19
    Оценка: 8 (1)
    Здравствуйте, vdimas, Вы писали:

    V>Ну дык, побежали по кругу, что ли? Я же и говорил, что в большинстве форматтеров (в 2-х из 3-х) есть сквозная нумерация ссылок. При восстановлении отсутствующего на машине объекта (частая ситуация в ОЛЕ) и последующем сохранении надо будет грамотно эти ссылки корректировать.


    Ну и в чем проблема?

    V> Если не обеспечить все это каким-нибудь строгим непробиваемым ограничением (а не "граф надо грамотно проектировать"), и позволить ссылки из объекта "наверх" по графу, то задача кажется вообще неразрешимой на имеющихся ср-вах даже с подпорками.


    Она уже разрешена в ремоутинге.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re[25]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 19.04.06 14:27
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:


    AVK>Она уже разрешена в ремоутинге.


    Кстати да, похожая задача. Будет работать для MBR. Я только не помню навскидку, можно ли генерировать URI без поднятия каналов, а самое главное — можно ли потом эти URI насильно присваивать и заставлять ресолвить при десериализации?

    Похоже, там пахнет разработкой своего канала/синка.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[26]: Какие языки перспективны? Что преподавать студентам?
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 19.04.06 14:42
    Оценка:
    Здравствуйте, vdimas, Вы писали:

    V>Кстати да, похожая задача. Будет работать для MBR. Я только не помню навскидку, можно ли генерировать URI без поднятия каналов,


    А зачем? Канал это абстракция, вполне подходящая и в обсуждаемом случае.

    V> а самое главное — можно ли потом эти URI насильно присваивать и заставлять ресолвить при десериализации?


    Зачем?

    V>Похоже, там пахнет разработкой своего канала/синка.


    Канального синка достаточно.
    ... << RSDN@Home 1.2.0 alpha rev. 642>>
    AVK Blog
    Re: Какие языки перспективны? Что преподавать студентам?
    От: Thornik  
    Дата: 19.04.06 15:58
    Оценка: -1
    M>что с моей "программистской" точки зрения нужно преподавать студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    Надо смотреть на рынок. Сейчас это C#, C++ — для них работу найти элементарно.
    Загружать всякой академической муднёй типа пролога и рефала — категорически не нужно, кому надо — разберутся сами.
    В том, что они изучили "просто процедурные языки" нет ничего плохого — будут лучше понимать машину.
    Настоятельно рекомендую немного пройтись по прикладным отраслям — Базы данных (соединился, выполнил пару команд, отсоединился), сеть (всё про сокеты), threads. Ну а реальные навыки они всё равно получат на работе. Главное — не перегнуть палку с теорией — чем больше вы даёте информации, тем она скучнее (лучше меньше, да лучше).
    Не помешают основы Web — сам HTML, XML, принцип работы сервера, ASP. Компьютерная графика — про неё стоит упомянуть, но без особой размазни — уж больно сложная/примитивная на данном этапе технология.

    Если хотите, найдите одного хорошего человека: Подбельский Вадим Валерьевич (преподаватель в МГИЭМ). Он владеет и программированием, и преподаванием — найдёте что подчерпнуть.
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: Andrei N.Sobchuck Украина www.smalltalk.ru
    Дата: 20.04.06 10:28
    Оценка:
    Здравствуйте, Thornik, Вы писали:

    M>>что с моей "программистской" точки зрения нужно преподавать студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?


    T>Надо смотреть на рынок. Сейчас это C#, C++ — для них работу найти элементарно.


    Ну этому в бурсах должны учить. Но мы же вроде о ВУЗах?
    http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Я ненавижу Hibernate
    Автор: Andrei N.Sobchuck
    Дата: 08.01.08
    !
    Re[3]: Какие языки перспективны? Что преподавать студентам?
    От: Thornik  
    Дата: 20.04.06 11:11
    Оценка:
    T>>Надо смотреть на рынок. Сейчас это C#, C++ — для них работу найти элементарно.

    ANS>Ну этому в бурсах должны учить. Но мы же вроде о ВУЗах?


    Э-э-э... не понимаю вашего жаргона. "Бурсы" — это... "курсы"?

    Неважно, о чём мы. Выходя из ВУЗа программист просто ОБЯЗАН знать хотя бы один ООП язык. Лучше, если он ещё к тому же будет коммерчески востребованным. Безусловно, Smalltalk — лучший представитель ООП, но работу проще найти именно по Ц++ и Це-четыре-плюса.
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 20.04.06 11:51
    Оценка:
    Thornik wrote:

    > Неважно, о чём мы. Выходя из ВУЗа программист просто ОБЯЗАН знать хотя

    > бы один ООП язык. Лучше, если он ещё к тому же будет коммерчески
    > востребованным. Безусловно, Smalltalk — лучший представитель ООП, но
    > работу проще найти именно по Ц++ и Це-четыре-плюса.
    Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[7]: В университете надо давать высшее образование
    От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
    Дата: 20.04.06 12:01
    Оценка:
    Здравствуйте, Кодёнок, Вы писали:

    Кё> А вот многие ли сделали из всего этого вывод, что принцип, заложенный в систему образования (учись так, чтобы получать одни пятерки, и все у тебя потом будет хорошо) — не работает? Если кто-то считает, что тот мизерный процент действительно наученных людей — это и есть успех В/О... удачи. По мне, так это полный провал. Да и эти люди как раз не отличники!


    А Вам никто и не говорил, что: "получай одни пятерки, а за это все у тебя будет потом хорошо". Я говорил об ином: "почему бы тебе не получать пятёрки если ты не дурак и не из америки приехал?".

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


    Вспомнил себя (два красных диплома, все пятёрки, + кандидатский диплом) и своих бывших одногрупников. Все получили по своим творческим способностям... Кто вечно прогуливал, списывал, пил и курил, тот и сейчас работает на дурацкой работе, пьёт и курит; а кто проявлял творческие способности — сейчас работает в нормальных компаниях. Вчера шел по улице и встретил одного бывшего сокурсника, которому на экзамене помогал решить задачу. Да он от пива круглый стал. Продавцом компьютерной техники работает.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: Thornik  
    Дата: 20.04.06 12:09
    Оценка:
    _>Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.

    гыыы А деньги ему за что платить будут? За умничанье на форумах? Вы хоть прежде чем писать, посмотрите на буржуев: может они и не столь сильны в полит-истории и убирании картошки, но зато каждый из них, выходя во "взрослый мир", способен уже ОТДАВАТЬ, а не нудить перед коллегами "научите меня плюсам".
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 20.04.06 13:06
    Оценка:
    Thornik wrote:

    > _>Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.

    >
    > гыыы А деньги ему за что платить будут? За умничанье на форумах? Вы хоть
    > прежде чем писать, посмотрите на буржуев: может они и не столь сильны в
    > полит-истории и убирании картошки, но зато каждый из них, выходя во
    > "взрослый мир", способен уже ОТДАВАТЬ, а не нудить перед коллегами
    > "научите меня плюсам".
    Если ты считаешь, что выпускнику сразу обязаны давать крутую работу, да крутую зарплату — ну-ну...
    Обычно человек должен как минимум пол года "поработать за еду", чтобы понять, что такое "работать". ВУЗ никогда не давал
    такой опыт, и не должен давать. А за пол года при хорошем образовании можно и яву, и шарпы, и плюсы освоить.
    Если студент толковый, то он уже пытается куда-нидь пристроится на 4-5 курсе, дабы получить опыт работы, чтобы
    выпустившись из ВУЗа уже "иметь лицо".

    По используемым технологиям ВУЗ всегда отстаёт на несколько лет, ибо нужно писать программу курса, да потом несколько
    семестров отлаживать. Поэтому если сейчас пытаться вводить, например, C#, то только через года 3-4 когда наконец
    появятся более менее эффективные, отработанные методы преподавания, а скорее всего через эти 3-4 года С# умрёт, появится
    какой-нибудь C#++ и всё, опять мимо тазика.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[4]: Какие языки перспективны? Что преподавать студентам?
    От: Andrei N.Sobchuck Украина www.smalltalk.ru
    Дата: 20.04.06 13:36
    Оценка:
    Здравствуйте, Thornik, Вы писали:

    T>>>Надо смотреть на рынок. Сейчас это C#, C++ — для них работу найти элементарно.


    ANS>>Ну этому в бурсах должны учить. Но мы же вроде о ВУЗах?


    T>Э-э-э... не понимаю вашего жаргона. "Бурсы" — это... "курсы"?


    ПТУ.

    T>Неважно, о чём мы. Выходя из ВУЗа программист просто ОБЯЗАН знать хотя бы один ООП язык. Лучше, если он ещё к тому же будет коммерчески востребованным. Безусловно, Smalltalk — лучший представитель ООП, но работу проще найти именно по Ц++ и Це-четыре-плюса.


    Еще раз — рабочие (а именно ими являются кодеры со знанием одного языка) свои знания для работы всегда получали в профессиональных технических училищах. Кстати, не знаю как сейчас, но раньше там учились сразу после 8 класса (при 10 летнем обучении). А значит и бабло можно раньше начать загребать раньше, чем после 2 лишних лет школы и 5 института.
    http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Я ненавижу Hibernate
    Автор: Andrei N.Sobchuck
    Дата: 08.01.08
    !
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: Thornik  
    Дата: 20.04.06 13:39
    Оценка: -1
    _>Если ты считаешь, что выпускнику сразу обязаны давать крутую работу, да крутую зарплату — ну-ну...

    Это твои слова. Хочешь сам с собой поспорить? Дурная привычка. Вернись к исходному сообщению и ещё раз перечитай.


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


    ) А в монахи ему не постричься? Я считаю, что в 24 года надо уже кое-что из себя представлять.
    Разумеется, практика работы в проф.коллективе для него — новое, но сам процесс программирования должен быть не сложнее завязывания шнурков.


    _> ВУЗ никогда не давал такой опыт, и не должен давать.


    Это ваше личное мнение. Возможно, ошибочное.


    _> А за пол года при хорошем образовании можно и яву, и шарпы, и плюсы освоить.


    Не вопрос. А кто за это ПЛАТИТЬ будет?


    _>Если студент толковый, то он уже пытается куда-нидь пристроится на 4-5 курсе, дабы получить опыт работы


    Увы, именно порочная практика СССР по выпуску <...> (извините, "инженеров") и породила такое недоразумение.

    Мат удален.

    Студент, как ОБУЧАЕМЫЙ, должен тратить время не в шарашках "на-пол-дня", а семинарах и лабораторках.


    _>По используемым технологиям ВУЗ всегда отстаёт на несколько лет


    Не ВУЗ, а старые пердуны без желания обучаться. Я лично обучался у человека (ему за 60), который осваивал HTML и сам же его преподавал.
    А благодаря хорошей преподавательской подготовке и компьютерным навыкам сделал это ПОНИМАЕМЫМ для студентов.


    _> Поэтому если сейчас пытаться вводить, например, C#, то только через года 3-4 когда наконец

    _>появятся более менее эффективные, отработанные методы преподавания, а скорее всего через эти 3-4 года С# умрёт, появится
    _>какой-нибудь C#++ и всё, опять мимо тазика.

    Ну во-первых, языки так быстро не умирают. А во-вторых, как вы правильно заметили, изучить новый синтаксис — вопрос пары месяцев. Но как бы то ни было, изучать ООП без конкретного языка — пустая трата времени. Я более чем уверен, изучая ООП по С++, можно преспокойно перейти на другие языки.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 20.04.06 15:57
    Оценка:
    Здравствуйте, kan_izh, Вы писали:

    _>Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.


    Извините, но кому тогда будет нужен этот недоделанный теоретик? Ведь он ни в науке ничего сделать не сможет, ни работать.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[5]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 20.04.06 15:57
    Оценка:
    Здравствуйте, Andrei N.Sobchuck, Вы писали:

    T>>Э-э-э... не понимаю вашего жаргона. "Бурсы" — это... "курсы"?


    ANS>ПТУ.


    Предлагаю закочить говорить о псевдонаучной фантастике. В ПТУ программистов не готовят. Вот когда начнут, тогда и поговорим. А пока что программистов готовят в ВУЗ-ах и т.п.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 20.04.06 16:03
    Оценка:
    Thornik wrote:

    > _>Если ты считаешь, что выпускнику сразу обязаны давать крутую работу,

    > да крутую зарплату — ну-ну...
    > Это *твои* слова. Хочешь сам с собой поспорить? Дурная привычка. Вернись
    > к исходному сообщению и ещё раз перечитай.
    Хм. Цитату, плз.

    > _>Обычно человек должен как минимум пол года "поработать за еду", чтобы

    > понять, что такое "работать".
    > ) А в монахи ему не постричься? Я считаю, что в 24 года надо уже кое-что
    > из себя представлять.
    Пусть представляет. ВУЗ тут не причём.

    > Разумеется, практика работы в проф.коллективе для него — новое, но сам

    > процесс программирования должен быть не сложнее завязывания шнурков.
    Ну ладно, был курс по Яве, выпускник досканально знает яву. А работодателю надо C#. Та же ситуация. А включать все
    модные языки в учебный курс — получится ПТУ.

    > _> ВУЗ никогда не давал такой опыт, и не должен давать.

    > Это ваше личное мнение. Возможно, ошибочное.
    Очевидно. То, что ошибочно — не очевидно.

    > _> А за пол года при хорошем образовании можно и яву, и шарпы, и плюсы

    > освоить.
    > Не вопрос. А кто за это ПЛАТИТЬ будет?
    Кому это надо.

    > _>Если студент толковый, то он уже пытается куда-нидь пристроится на 4-5

    > курсе, дабы получить опыт работы
    > Увы, именно порочная практика СССР по выпуску долбоёбов (извините,
    > "инженеров") и породила такое недоразумение.
    > Студент, как ОБУЧАЕМЫЙ, должен тратить время не в шарашках "на-пол-дня",
    > а семинарах и лабораторках.
    Дело в том, что семинары/лабораторки и реальная работа — две большие разницы. Второе не сводится к первому по
    определению, а первое лучше не сводить ко второму ибо работа слишком конкретна, а ВУЗовское образование должно быть
    абстрактно.

    > _>По используемым технологиям ВУЗ всегда отстаёт на несколько лет

    > Не ВУЗ, а старые пердуны без желания обучаться. Я лично обучался у
    > человека (ему за 60), который осваивал HTML и сам же его преподавал.
    > А благодаря хорошей преподавательской подготовке и компьютерным навыкам
    > сделал это ПОНИМАЕМЫМ для студентов.
    Ну почему бы и нет, да и к тому же html — тема максимум занятий на 3-4. Нормальный семестровый курс по вебу должен
    включать в себя гораздо больше.

    > _> Поэтому если сейчас пытаться вводить, например, C#, то только через

    > года 3-4 когда наконец
    > _>появятся более менее эффективные, отработанные методы преподавания, а
    > скорее всего через эти 3-4 года С# умрёт, появится
    > _>какой-нибудь C#++ и всё, опять мимо тазика.
    > Ну во-первых, языки так быстро не умирают. А во-вторых, как вы правильно
    Вот Дельфи уже умирает, а его только-только начали изучать.
    А вспомнить borland?

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

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

    Безусловно, Smalltalk — лучший представитель ООП, но работу проще найти именно по Ц++ и Це-четыре-плюса.

    Так значит по теме ООП нужно изучать именно smalltalk, а не С++, в котором намешано куча стилей.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 20.04.06 16:37
    Оценка:
    VladD2 wrote:

    > _>Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.

    >
    > Извините, но кому тогда будет нужен этот недоделанный теоретик? Ведь он
    > ни в науке ничего сделать не сможет, ни работать.
    Не обязан, но может. Это уже дело выпускника в каком языке стать экспертом. Естественно, инициатива студентов должна
    поддерживаться ВУЗом: если студент написал (или собирается) прогу на smalltalk никто его не должен заставлять писать на
    С++, т.к. мы тут С++ изучаем на предмете "ООП".
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 20.04.06 17:13
    Оценка:
    Здравствуйте, kan_izh, Вы писали:

    _>VladD2 wrote:


    >> _>Выпускник ВУЗа не обязан знать язык, он обязан знать ООП.

    >>
    >> Извините, но кому тогда будет нужен этот недоделанный теоретик? Ведь он
    >> ни в науке ничего сделать не сможет, ни работать.
    _>Не обязан, но может.

    Что он может? Ты всерьез считашь, что можно ни попробывав на прктике программирования быть экспертом в нем?

    _> Это уже дело выпускника в каком языке стать экспертом.


    И когда он должен будет изучать язык? Когда его приймут на работу? Не странно, что при этом никто не хочет брать на работу выпускников ВУЗ-ов, а хотя чтобы они отработали лет 5 по специальности.

    А если он должен изучать языки во внеучебное время, то чем он вообще занимается в этом ВУЗ-е? Это провождение времени, а не обучение.

    _> Естественно, инициатива студентов должна

    _>поддерживаться ВУЗом: если студент написал (или собирается) прогу на smalltalk никто его не должен заставлять писать на
    _>С++, т.к. мы тут С++ изучаем на предмете "ООП".

    Нет, уж. Лучше пусть он Смолток изучает в свободное время. По окончанию института он обязан быть программистом/архитектором. А уж займется ли он наукой или будет простым кодером в мелкой конторе будет зависить от его талантов.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
    Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[8]: Какие языки перспективны? Что преподавать студентам?
    От: kan_izh Великобритания  
    Дата: 20.04.06 19:19
    Оценка:
    VladD2 wrote:

    >> > Извините, но кому тогда будет нужен этот недоделанный теоретик? Ведь он

    >> > ни в науке ничего сделать не сможет, ни работать.
    > _>Не обязан, но может.
    > Что он может? Ты всерьез считашь, что можно ни попробывав на прктике
    > программирования быть экспертом в нем?
    Вот именно, что на практике, ВУЗ фокусирует внимание на теории.

    > _> Это уже дело выпускника в каком языке стать экспертом.

    > И когда он должен будет изучать язык? Когда его приймут на работу? Не
    > странно, что при этом никто не хочет брать на работу выпускников ВУЗ-ов,
    > а хотя чтобы они отработали лет 5 по специальности.
    Кому должен? ВУЗу не должен. Когда понадобится (и _что_ понадобится) — изучит, хорошее образование позволит это сделать
    быстро.

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

    > занимается в этом ВУЗ-е? Это провождение времени, а не обучение.
    Учить теорию. Теория алгоритмов, логика, матструктуры, да даже физика, биология, КСЕ, философия — гораздо более важно
    для высшего образования, чем С++.

    > _> Естественно, инициатива студентов должна

    > _>поддерживаться ВУЗом: если студент написал (или собирается) прогу на
    > smalltalk никто его не должен заставлять писать на
    > _>С++, т.к. мы тут С++ изучаем на предмете "ООП".
    > Нет, уж. Лучше пусть он Смолток изучает в свободное время. По окончанию
    > института он *обязан быть* программистом/архитектором. А уж займется ли
    > он наукой или будет простым кодером в мелкой конторе будет зависить от
    > его талантов.
    Ок, согласен на факутальтивные курсы по модным на момент обучения языкам на 5-м курсе.
    Posted via RSDN NNTP Server 2.0
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: z00n  
    Дата: 20.04.06 19:58
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    ANS>>ПТУ.


    VD>Предлагаю закочить говорить о псевдонаучной фантастике. В ПТУ программистов не готовят. Вот когда начнут, тогда и поговорим. А пока что программистов готовят в ВУЗ-ах и т.п.


    Это у нас. В USA, разумеется, готовят в том, что у них является аналогом ПТУ( Сommunity сollege )
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: CrazyPit  
    Дата: 20.04.06 20:49
    Оценка:
    Здравствуйте, VladD2, Вы писали:


    VD>Предлагаю закочить говорить о псевдонаучной фантастике. В ПТУ программистов не готовят. Вот когда начнут, тогда и поговорим. А пока что программистов готовят в ВУЗ-ах и т.п.



    Просто Россия по этому пункту отстсталая в индии и на западе уже давно готовят.
    Re[7]: Какие языки перспективны? Что преподавать студентам?
    От: iZEN СССР  
    Дата: 20.04.06 21:19
    Оценка:
    Здравствуйте, CrazyPit, Вы писали:

    VD>>Предлагаю закочить говорить о псевдонаучной фантастике. В ПТУ программистов не готовят. Вот когда начнут, тогда и поговорим. А пока что программистов готовят в ВУЗ-ах и т.п.

    CP>Просто Россия по этому пункту отстсталая в индии и на западе уже давно готовят.

    Раньше (конец 80-х — начало 90-х) в ПТУ готовили по специальности "Оператор ЭВМ". Но не это суть. Из стен ПТУ выходили (не знаю, как сейчас) девушки, которые умели припаивать золотые проволочки к кристаллам советских микросхем. Их учили этому три года после школы-восьмилетки.
    Re[6]: Какие языки перспективны? Что преподавать студентам?
    От: Andrei N.Sobchuck Украина www.smalltalk.ru
    Дата: 21.04.06 06:36
    Оценка:
    Здравствуйте, VladD2, Вы писали:

    VD>Предлагаю закочить говорить о псевдонаучной фантастике. В ПТУ программистов не готовят.


    Даже у нас в забитых Черкассах, лет семь назад в техникуме готовили экономистов и программистов. Но поскольку техникум не даёт отсрочки от армии, то они толи закрылись, то ли перепрофилировались в "институт". Вот так и живём...

    VD>Вот когда начнут, тогда и поговорим. А пока что программистов готовят в ВУЗ-ах и т.п.


    От чего ж тогда тут все жалуются, что в ВУЗах не программистов готовят, а инженеришок не способных выучить С++?
    http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Я ненавижу Hibernate
    Автор: Andrei N.Sobchuck
    Дата: 08.01.08
    !
    Re[8]: В университете надо давать высшее образование
    От: vdimas Россия  
    Дата: 28.04.06 04:54
    Оценка:
    Здравствуйте, AndrewVK, Вы писали:

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


    AVK>Не надо обобщать. У нас в группе школьные отличники оставались отличниками максимум до 3 семестра. Дальше отличниками становились как раз те, кто действительно что то приобретал от обучения. Я, к примеру, в первом семестре ходил на пересдачу по одному предмету, а по остальным были тройки. Начиная же с 4 семестра я всегда сдавал 100% экзаменов на пятерки, даже если предметы были непрофильными. Вот так вот.


    Более того, разница в оценках не совсем адекватно отражает суть картины. У нас в группе была "троица" (с моим участием), так вот, если брать программирование и как оно давалось на первых курсах, так у всех этих медалистов (4 их в группе было) не то что плохо получалось, а в сравнении с нами — практически вообще никак. Правда, надо отдать должное, некоторые подтянулись к 4-му и 5-му курсу и у них стало кое-что получаться, даже у некоторых девочек.

    И прикольное совпадение, кстати, насчет 4-го семестра. У меня тоже за 2-й курс вышли все отлично, даже по философии . (Хотя из первого вынес несколько четверок и одну дурацкую тройку). И как раз в этом же семестре окончательно "сдулись" все медалисты. Хорошо запомнился тот прикол, ибо обнаружил себя вместе с другом во-первых — круглыми отличниками впервые, во-вторых — мы были единственные такие (в группе), в третьих — за оценками никогда не гнались, все вышло случайно. Даже получив последнюю 5-ку обнаружил себя этой роли только после того, как заглянул в зачетку посмотреть на все оценки за 2-й курс из интереса — как оно вышло. В общем, весьма неожиданно получилось. Следущий за нами шел парень из нашей же тесной компании — у него по физкультуре 4-ка была . Что характерно, наша "троица" считалась малость "несерьезной". На лекции по всякой ерунде мы практически не ходили, но имели в распоряжении отличные конспекты в обмен на курсовики и лабы по профильным.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[9]: Какие языки перспективны? Что преподавать студентам?
    От: vdimas Россия  
    Дата: 28.04.06 04:54
    Оценка:
    Здравствуйте, kan_izh, Вы писали:

    _>Показать, что не владеешь Standard library — моветон.


    Ты неверно представляешь себе, чем студент должен в ВУЗе заниматься.

    _>Написать свой предикат сравнения — более полезная практика, чем ещё одна сортировка.


    ИМХО на порядок более бесполезная, ибо не добавляет ни знаний, ни умений.

    _>Просто в подавляющем большинстве случаев студенты пишут далеко не в той же степени, а как и разработчики stl


    Разумеется, особенно в начале семестра по изучению всех этих структур данных и алгоритмов. В принципе, соглашусь с тобой, если бы речь шла о дипломной работе. Но если речь о процессе обучения, то ты категорически не прав.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re: Какие языки перспективны? Что преподавать студентам?
    От: Garb  
    Дата: 28.04.06 15:52
    Оценка:
    Здравствуйте, martie, Вы писали:

    M>Добрый день,


    M>Сегодня мой научный руководитель (зав. каф. нашего института)

    M>попросил меня написать что с моей "программистской" точки зрения нужно преподавать
    M>студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?

    M>На данный момент имеем: математическую подготовку — 5+, программисткую же — 3- (здесь все еще паскаль и процедурное программирование)

    M>Объектное читается всего 1 семестр и на этом все (

    M>Так вот вопрос к вам многоуважаемый All:

    M>Какие языки, платформы преподавать студентам, что наиболее перспкективно с Вашей точки зрения?

    M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

    M>платформы .NET или Java
    M>кроме того необходимы базовые знания функционального программирования
    M>Как вы думаете?

    Вопрос настолько непростой!!!

    Но есть моменты, которые просто нельзя обойти:

    1.Математика и в первую очередь дискретная. Причём, надо давать всё значимое не вадваясь в подробности с упором на практику. Теория графов, вычислимость, сложность, формальные языки. Профессионал должен знать существующие подходы и их ограничения.

    2.Наиболее значимые концепции программирования вообще. Обязательно показать различные парадигмы программирования, показать что мир не ограничивается только императивным стилем. Есть ещё функциональный, логический(реляционный) и т.д.. Дать почувствовать отличие одного от другого(это самое сложное).

    3.Практическая часть с упором на реальные широкоиспользуемые технологии. Тут и без меня советов надают.

    Но без первых двух частей получить приличного инженера не получится однозначно!
    Re[8]: В университете надо давать высшее образование
    От: EvilChild Ниоткуда  
    Дата: 29.04.06 11:11
    Оценка:
    Здравствуйте, Сергей Губанов, Вы писали:

    СГ>А Вам никто и не говорил, что: "получай одни пятерки, а за это все у тебя будет потом хорошо". Я говорил об ином: "почему бы тебе не получать пятёрки если ты не дурак и не из америки приехал?".


    При чём здесь Америка? Там все дураки?
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[2]: Какие языки перспективны? Что преподавать студентам?
    От: AVC Россия  
    Дата: 30.04.06 20:26
    Оценка: :))
    Здравствуйте, Thornik, Вы писали:

    M>>что с моей "программистской" точки зрения нужно преподавать студентам чтобы повысить общий уровень выпускников, сделать ихболее конкуртноспособными?


    T>Надо смотреть на рынок.


    Точно.
    И чтобы таблица умножения была привязана к курсу доллара.

    Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

    Хоар
    Re[9]: В университете надо давать высшее образование
    От: AVC Россия  
    Дата: 30.04.06 20:28
    Оценка: :)
    Здравствуйте, EvilChild, Вы писали:

    EC>При чём здесь Америка? Там все дураки?


    Не-е... ну не все...

    Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

    Хоар
    Re: Какие языки перспективны? Что преподавать студентам?
    От: RI Украина  
    Дата: 03.05.06 13:34
    Оценка:
    Здравствуйте, martie, Вы писали:

    M>Сам я склоняюсь что желательн бы смещать акцент на сетевое и web программирование,

    M>платформы .NET или Java
    M>кроме того необходимы базовые знания функционального программирования
    M>Как вы думаете?

    Java, .net — это все очень хорошо. Но не это главное, завтра придумают новые технологии.
    Суть в том, чтобы научить мышлению. Чтобы человек, например, понимал чем алгоритмическая декомпозиция отличается от объектной и т.п. Еще надо научить учиться, причем постоянно, тогда появление очередной технологии не поставит человека в тупик.

    С другой стороны, для того, чтобы выпускник мог реально работать после окончания вуза, все-таки необходимо знать парочку популярных языков/технологий. Таких как, Java, .NET, C++.

    Лично мне очень нравится Java. Я имею ввиду не только язык, но и платформы (j2ee, j2se, j2me). Но читать яву как первый язык не стоит, человек может не понять что такое байт-код, например, если он не представляет что такое обычный exe.
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.