Re[5]: Как обучать технике программирования?
От: ZevS  
Дата: 13.05.10 12:12
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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

LVV>Мне кажется — это именно техника. Только это техника программистского мышления, а не конкретного написания программных текстов. Как я понимаю теперь — именно этому и надо обучать...
Большенство людей думает на родном языке. Так что техника программистского мышления и техника написания программных текстов тесно связаны, как мне кажется. Разные языки — разные подходы. Техника императивного мыщления не очень поможет с SQL или Lisp. Под аксиомами я понимаю некие надязыковые ценности : KISS, high cohesion, low coupling, testability, maintainability, modularity... Приемчики для решения задач в каждом языке свои.

LVV>Но обучать-то придется с помощью конкретного писания конкретного кода. Вот такая диалектика — единство и борьба противоположностей...

Pascal -> C# -> SQL -> Lisp -> Prolog ?
Re[7]: Как обучать технике программирования?
От: ZevS  
Дата: 13.05.10 12:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


ZS>>>>Цикл — тоже паттерн, не использовать goto — тоже паттерн, в своем роде. )

I>>>Это базовая техника кодирования.
ZS>>Неужели. Лично я, как SQL-программист, ничего о такой технике не знаю...
I>И ?
Выходит не базовая, а если и базовая то далеко не для всех языков. А вот паттерн будет — "многократное исполнение одного кода над различными (меняющимися) данными". И цикл — одна из его реализаций. Хотя согласен, это не мешет ему быть одновременно и базовой техникой кодирования. ))
Re[6]: Как обучать технике программирования?
От: LaptevVV Россия  
Дата: 13.05.10 13:20
Оценка:
Здравствуйте, ZevS, Вы писали:

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


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

LVV>>Мне кажется — это именно техника. Только это техника программистского мышления, а не конкретного написания программных текстов. Как я понимаю теперь — именно этому и надо обучать...
ZS>Большенство людей думает на родном языке. Так что техника программистского мышления и техника написания программных текстов тесно связаны, как мне кажется. Разные языки — разные подходы. Техника императивного мыщления не очень поможет с SQL или Lisp. Под аксиомами я понимаю некие надязыковые ценности : KISS, high cohesion, low coupling, testability, maintainability, modularity... Приемчики для решения задач в каждом языке свои.
Наверное да.

LVV>>Но обучать-то придется с помощью конкретного писания конкретного кода. Вот такая диалектика — единство и борьба противоположностей...

ZS>Pascal -> C# -> SQL -> Lisp -> Prolog ?
Интересная последовательность...
Component Pascal -> C# (Java) -> F# (Lisp-Scala-Schema-Haskell) -> SQL -> Prolog ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Как обучать технике программирования?
От: ZevS  
Дата: 13.05.10 14:09
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Component Pascal -> C# (Java) -> F# (Lisp-Scala-Schema-Haskell) -> SQL -> Prolog ?

Ну или так. ))
А еще, наверно, можно начать с довольно сложной общей теории, а уже из нее выводить ее частные приложения. Это может дать системное понимание конкретных приемов: зачем, когда, как... Например, в цифровой фотографии понимание того что такое цвет, цветовые пространства, контраст и так далее позволяет подойти к применению конкретных инструментов того же фотошопа гораздо осознанней. При этом, теория цвета — далеко не простая вещь. Не уверен правда, что тут можно провести прямую аналогию с программированием.
Re[8]: Как обучать технике программирования?
От: LaptevVV Россия  
Дата: 13.05.10 14:40
Оценка:
Здравствуйте, ZevS, Вы писали:

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


LVV>>Component Pascal -> C# (Java) -> F# (Lisp-Scala-Schema-Haskell) -> SQL -> Prolog ?

ZS>Ну или так. ))
ZS>А еще, наверно, можно начать с довольно сложной общей теории, а уже из нее выводить ее частные приложения. Это может дать системное понимание конкретных приемов: зачем, когда, как... Например, в цифровой фотографии понимание того что такое цвет, цветовые пространства, контраст и так далее позволяет подойти к применению конкретных инструментов того же фотошопа гораздо осознанней. При этом, теория цвета — далеко не простая вещь. Не уверен правда, что тут можно провести прямую аналогию с программированием.
Вот этот подход для начинающих точно не проходит — пробовали. На третьем, при обучении уже специальным дисциплинам — проходит. А новички — не получается так.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Как обучать технике программирования?
От: ZevS  
Дата: 13.05.10 15:01
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вот этот подход для начинающих точно не проходит — пробовали. На третьем, при обучении уже специальным дисциплинам — проходит. А новички — не получается так.

Вопрос лишь в том когда человек перестает быть новичком...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.