Форум Сообщества Аналитиков

×


Объектная прививка?(Прочитано 7655 раз)
Объектная прививка? : 14 Января 2008, 01:18:04
Да они сразу должны мылсить объектно, структурно как минимум. Почему не получается? Потому как такова система образования (по крайней мере на нашей кафедре). Что очень жаль.
Потому для них структурный код или ОО код - неестественный :(
А ведь стоит учесть еще и тот факт, что это 5 курс после сдачи квалификационной работы на бакалавра!!!
Alex, давайте не будем путать божий дар с яичницей. Все-таки курс у меня другой, задача подобная бух учету решается на 3 курсе в рамках соотвествующих дисциплин - смотрите мои опыты преподавания в разделе Обучения.
Прадва бухучета у них нет как предмета, что конечно сильно жаль.
Возможно, звучит как ересь, но объектное мышление (интересно, а как ещё можно мыслить?) и ООП - не одно и то же. Да и ООП имеет границы применения:
1) Дополнительная, по сравнению с процедурным программированием, сложность разработки и отладки должна быть оправдана. А ведь алгоритм прост и, судя по тому, что задачи изначально рассчитаны на Pascal, они замечательно решаются в процедурном подходе.
2) Разработка должна быть рассчитана на повторное использование - а ведь студенты знают, что их код после сдачи контрольной никогда никому не пригодится.

IMHO если так уж хотите увидеть ООП, нужно:
1) сказать: идеально работающее решение без ООП - максимум на тройку;
И/ИЛИ
2) потребовать, чтобы предметная область включала большое количество экземпляров сложных классов, у каждого из которых - разные свойства и методы (например, моделирование боя и большое количество различных боевых единиц);
И/ИЛИ
3) сказать, что для решения нельзя использовать язык, на котором простые задачи решаются простыми средствами (нельзя использовать PHP, Delphi или VB; можно использовать C++ и Java).

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

На всякий случай: ООП начал особенно хорошо развиваться, когда начали развиваться GUI. Действительно, рисовать GUI без объектов "глиф" сложно. А ядра всех ОС (хотя проскакивало что-то экзотическое...) и серверные части большинства "старых" приложений (в т.ч. SAP R/3) написаны без применения ООП, хотя ООП тогда уже было - при этом замечательно работают и неплохо развиваются.



Объектная прививка? Ответ #1 : 14 Января 2008, 08:31:00
Alex, возможно Вы правы насчет целесообразности.

Предмет есть основы веб-программирования. Естественно и язык веб-ориентированный. РНР - так уж сложилось исторически.
Да я согласен, что использовать ООП для решения небольших и не очень сложных задач, возможно и не целесообразно. Хотя особой трудности нет: задать класс с методами - создающих матриц по заданным параметрам; выводящих матрицу в табличном виде; реализующих преобразование матрицы.

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

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

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



Объектная прививка? Ответ #2 : 14 Января 2008, 21:00:12
Задача просто замечательная, и не обязательно паскалевская. Одних паттернов к ней прикрутить можно - косой десяток, и добрая половина из них будет к месту :) .
Про бонус... IMHO лучше - нещадно, на 2 балла, штрафовать не использующих, но предупредить об этом в самом начале :).
Про культуру - IMHO это от отвращения к учёбе, своей профессии и работе вообще. Лучше бы шли в музыканты или бармены. Мало их на первых курсах [вы]гоняли. Хотя, возможно, их просто с самого начала плохо учили.



Объектная прививка? Ответ #3 : 14 Января 2008, 21:05:45
К сожалению наша дискуссия пошла в ином русле, от семантической трассировки:-)

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

Перенес только последние, что-то не понял кк одельные сообщения приатачить к этой вот теме. Ну да ладно.

Жалко закручивать гайки - 5 курс, у них курсовой, других предметов не мало. А тут я с драконовскими методами, они и так писщатъ.

А вообще насчет выгонять - тут все просто на 1-2 курсах, в основном ведут женщины сердобольные, к тому же в программировании не очень сильны. Жалеют...

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

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

Такая печальная статистика.

Как мне сказал один приятель - деньги лучшая мотивация.
« Последнее редактирование: 14 Января 2008, 21:21:00 от Galogen »




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19