Akinfold
13 years ago
у меня теперь свой курс "Новые технологии программирования", it-шнечки посоветуйте, чего юным умам поведать в рамках этого курса?
latest #49
warnes
13 years ago
Для какого курса смотря. Если не первый, то ебаш патерны.
warnes
13 years ago
На то они и "новые"=D Хотя в принципе можно основные патерны давать, или теорию для чего они нужны.
Akinfold
13 years ago
warnes, первый курс... :-)
立即下載
Akinfold
13 years ago
doniv, херня, в худшем случае каждый год немного добавлять. Ничего тотально не меняется. Развитие происходит эволюционно, так что нормуль.
Akinfold
13 years ago
Паттерны принял к сведению. Предлагайте, чо ещё вам не хватало в универе в рамках темы "новых технологий программирования".
grandse
13 years ago
warnes: А что в патернах нового? Если взять основные и для всех ЯП более менее применениые, то их там десятка два будет и все
grandse
13 years ago
akinfold: мне что-то кажется что ничего именно нового нет. Erlang с концепцией легковысных нитей уже 20 лет существует. популярное ФП со
grandse
13 years ago
старого доброго Lisp'а тянется. И не только. Императивное программирования - Fortran. Сборка мусора и система сообщений между обьектами
grandse
13 years ago
и вообще многие элементы ООП пришли из Small Talk, которому уже 30 годков. Для первого курса вообще новые технологии преподавать сложно
grandse
13 years ago
Как можно рассказать о более менее новых достижениях в программировании, о каких-то концепциях и зачем они придуманы, если они и старых то
grandse
13 years ago
не знают. Нужно начинать с фундаментальных процдурно-структурного, ООП, ФП и ЛП, а потому на них уже навешивать.
grandse
13 years ago
Причем тоже ООП может быть проявлено как оно есть в Java, как оно есть в List, как оно есть в JavaScript и как оно есть в SmallTalk
grandse
13 years ago
ну а есть еще немного свои подходы у Python'а, Scala. А вон для ФП и ленивых вычислений тоже своих прелестей хвататет. Например, монады.
Akinfold
13 years ago
grandse, вот я и спрашиваю, чего вам не хватало в стандартном курсе в универе?
Akinfold
13 years ago
Я, в рамках этого курса, могу, в принципе, чо угодно читать... :-)
Akinfold
13 years ago
Да, надо сказать, что первый курс - это первый курс магистратуры... :-)
Akinfold
13 years ago
Не хотел говорить, чтоб не портить сюрприз warnes'у на первой ленте... :-D
grandse
13 years ago
akinfold: А что у вас в универе читается вообще? Расскажи
grandse
13 years ago
тогда смогу сказать, чего бы мне не хватало в этой программе, и что бы я на твоем месте студентам давал
warnes
13 years ago
Т.е. ты хочешь сказать что я увижу тебя помолодевшего с этой прической в роли преподавателя?=) Ыыыы.... Прикольно=)
warnes
13 years ago
grandse я как тока закончивший 4х летний курс бакалавриата скажу что нихрена хорошего. Все чтобы не продолжил скорей всего не читалось.
warnes
13 years ago
*предложил
grandse
13 years ago
Ну тогда я бы начал с краткого экскурса в разнообразие ООП:
grandse
13 years ago
- возвращение к истокам от инкусуляции, наследования и полиморфизма к концепции программа есть обьекты обмненивающиеся сообщениями
warnes
13 years ago
ООП было.... Вот тока все что мы разбирали это что есть объект и наследования. Инкапсуляция, абстракция и полиморфизм
warnes
13 years ago
для 90% наших это набор букв и не более...
warnes
13 years ago
Хотя поверь, даже если бы мы разобрали, то 90% в лучшем случае превратилось бы в 75%....
warnes
13 years ago
Кстати, Akinfold, я бы на твоем месте прочитал бы принципы SOLID, имхо это не изменится никогда, тока обертка может поменяться.
warnes
13 years ago
Хотя как я и сказал, что если даже основные понятия типа абстракция это магические буквы, то тот же "принцип единственной обязанности"
warnes будет
13 years ago
звучать как просто матерное непонятное выражение...
grandse
13 years ago
warnes: Я не знаю, что Вам за ООП читали, но то, что читали нам это фигня.
warnes
13 years ago
Ага, небось "Представьте что объект это...." и понеслось объяснения для детей дошкольного возраста.
grandse
13 years ago
Нужно окунуться в мир реально ООП языков, а не Pascal и C++. Взять например тот же Ruby или Python и показать, какая польза от обьектов
grandse
13 years ago
Что классы тоже есть обьекты, с которыми можно работать. Начиная от проверки типа обьекта, его предков, полей и т.д.
grandse
13 years ago
Интроспекция и рефлексия. Перейти к изменению структуры класса во время выполнения, т.е. к метапрограммированию.
warnes
13 years ago
Я ща буду вести ООП на Delphi... ООП на Delphi.... Я даже не буду придумывать сравнения как это.... Точнее ЧТО ВООБЩЕ ЭТО...
grandse
13 years ago
Потом можно заняться основными патернами: компонентная модель, МВЦ, слушатель, наблюдатель, коллекции, фабрики, синглтоны
grandse
13 years ago
После этого в продолжение обьяснения всей гибкости ООП можно перейти к прототипному ООП на примере javascript. Заодно и каллбеки копнуть
grandse
13 years ago
Потом можно шагнуть в ФП на примере ленивых вычислений. Как пример применения ленивых вычеслений, интроспекции и метапрограммирования можно
warnes
13 years ago
Ага, мечты.... И тогда реально начнут выпускать программистов.... Но видать это никому не надо. Ведь для этого придется урезать
warnes
13 years ago
экологию, правоведение, социологию и множество просто необходимых предметов...дофига сарказм
grandse
13 years ago
сварганить какую-нибудь ORM, или там еще какой-нибудь DSL, например для шаблонизатора или еще чего
warnes
13 years ago
Может где-нибудь в Оксфорде так и учат...
grandse
13 years ago
Ну потом можно заглянуть на огенек к логическому программированию и наиболее популярному его проявлению сейчас - сопоставление по шаблону
grandse
13 years ago
берем пролог с предикатами и сопоставлением, и показываем как те некоторые принципы проявились в Erlang и Haskell, как живых языках
grandse
13 years ago
Можно показать как синтаксис языка может быть использован для построения DSL - взять несколько глав из Practical Common Lisp
grandse
13 years ago
Ну и окунуться в реальный мир: сервис-ориентированные системы, кеширование, многопоточные и асинхронные системы, системы с невесомыми нитями
grandse
13 years ago
Ну здесь правда семестра на 3-4 программы
back to top