Здравствуйте, VladD2, Вы писали:
ГВ>>3. Википедия — очень опасный источник определений. Ссылка на википедию в ответе должна приравниваться автонезачёту. VD>Скорее твои слова будут приравниваться к пустому сотрясению воздуха. Википедия — это ценный источник информации, а твои злапыхания неимеют ровно никакой ценности.
Влад, ну когда ты отучишься апеллировать к личности оппонента?
ГВ>>PS.: Я теперь знаю о чём это: «Какова вероятность, что случайно рассыпанные литеры сложатся в «Войну и Мир»?» Это про википедию. VD>Глупость сказанная с пафасом все равно является глупостью.
Угу, даже если она записана в википедии.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, vdimas, Вы писали:
VD>>Про усложнение вообще нонсенс. V>Я тут намекал на пристрастие или даже фанатизм в отношении парадигм. Просто сам термин "способ" рассматривается мною как некий будничное техническое слово. А "парадигмы" ассоциируются с "последователями", любителями и фанатами.
Вот именно поэтому замена "парадигмы" на "способ" лишает всяческие "программирования" налёта "доступности немногим".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Voblin, Вы писали:
ГВ>>Достойна ли "парадигма программирования" изучения в университете? V>Несомненно. Человек, не понимающий смысл этого понятия и не знающий некоего базового набора этих самых парадигм (а также границ их применимости), достоен стать только дешёвой рабсилой (например, кодером по подробной спецификации). Впрочем, если университет специализируется на выпуске IT-чернорабочих, то деткам, конечно, не нужно забивать слабые головки такими мутными вещами. Пусть учат синтаксис C++ и, как верх сложности, сортировку пузырьком.
Как может быть ограничен "взгляд"? Он ограничен только фантазией глядящего.
ГВ>>Википедия — очень опасный источник определений. Ссылка на википедию в ответе должна приравниваться автонезачёту. V>Это слова человека, только что пережившего глубокое разочарование. Если бы Вы изначально относились к Википедии не как к истине в последней инстанции, а просто как к одному из источников информации (очень, кстати, полезному!), то вместо горечи разочарования испытали бы радость от обнаружения очччччень тонкого логического ляпа.
Поверь, я ни в коей мере не расцениваю википедию как источник чего-то значимого. Что-то на уровне ммм... анекдотов под пиво. Трёхтомник Кнута значит куда как больше. "Ахоульман", кстати — тоже.
V>Кстати, я, например, не согласен с тем, что этот логический ляп в этой статье есть. Я просто не понимаю, почему содержимое статьи противоречит вполне справедливому утверждению, что «набор взглядов» относится к характеристике субъекта, а не объекта.
Содержимое статьи этому утверждению не противоречит. И ляпа там нет. Ребята честно попытались сформулировать неформулироемое. Вся беда в том, что им не хватило самоиронии. А так... для энциклопедии метафизики — пойдёт.
ГВ>>Ещё раз услышу про парадигму программирования — заклеймлю нафиг. V>И, спрашивается, зачем?
Задолбала глупость.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>При таком подходе вообще непонятно — зачем его формировать. На фига нужно ещё одно "определение" космического масштаба, если оно касается каких-то мировоззренческих вещей?
Но речь ведь идёт не о мировоззрении одного человека. За парадигмой — поколение программистов, мыслящих одинаково, новые языки программирования, отражающие парадигму.
ГВ>В упомянутых названиях найди одно вхождение слова "парадигма". Так почему от "парадигмы" никуда не деться?
А что тогда такое "функциональное программирование"? Метод, стиль, течение? Все говорят, что это парадигма. А вы пытаетесь заткнуть уши и не слышать этого слова.
_>>Если преподаватель не раскажет студенту, что такое парадигма, значит он узнает об этом из википедии. ГВ>А ещё студент много чего узнает из надписей на заборах. Преподавателям об этом тоже рассказывать?
ИМХО эта фраза гораздо ближе к тому, что пишут на заборах, чем те статьи, в которых встречается термин "парадигма".
Здравствуйте, vdimas, Вы писали:
V>Парадигма — это как инструмент самого нижнего уровня, как раз на уровне кодирования, так что пусть останется на прежнем месте в общей классификации, не надо придавать ей столько важности.
ПАРАДИГМА (греч. paradeigma — пример, образец), 1) образец, тип, модель (например, общественных отношений). 2) В философии, социологии — исходная концептуальная схема, меняющаяся со временем и характерная для определённого этапа в развитии науки модель постановки проблем и их решения. 3) В риторике — пример, взятый из истории для доказательства, сравнения. 4) В грамматике — система форм изменяющегося слова, конструкции, например имени, глагола.
Обратите внимание на п. 2.
Короче, парадигма — это такая штука, которая обычно закладывается куда-то в задний мозг и воспринимается как само собой разумеющееся.
Хороший программер (или архитектор, или прожэкт манагер, или... да мало ли?), как и хороший писатель или, допустим, актёр, должен уметь переключаться между парадигмами. Только актёр в нужный момент переключается, например, с модели поведения приличного человека на модель поведения мерзавца (или наоборот ), а программер должен уметь спрыгнуть, например, с горячо любимого ООП на что-нибудь типа автоматного программирования. А это, между прочим, не тривиально — взять и перестать искать в решаемой задаче объекты! И притягивать дерево классов за уши туда, где оно отродясь не применимо...
V>А зачем ты употребил "кодер" в ругательном смысле? Хороших кодеров еще поискать, что б ты знал. И не может быть хорошего кодера без очччень мощной базы.
Ну, во-первых, не просто "кодер", а "кодер по спецификации". Кстати, я очень ценю и уважаю тех, кто умеет работать руками. В конце концов, для того, чтобы быть хорошим слесарем, тоже нужна мощная база.
Здравствуйте, last_hardcoder, Вы писали:
ГВ>>При таком подходе вообще непонятно — зачем его формировать. На фига нужно ещё одно "определение" космического масштаба, если оно касается каких-то мировоззренческих вещей? _>Но речь ведь идёт не о мировоззрении одного человека. За парадигмой — поколение программистов, мыслящих одинаково, новые языки программирования, отражающие парадигму.
И что из этого следует? Пусть парадигма програмирования будет объектом исследования социологического факультета.
ГВ>>В упомянутых названиях найди одно вхождение слова "парадигма". Так почему от "парадигмы" никуда не деться? _>А что тогда такое "функциональное программирование"? Метод, стиль, течение? Все говорят, что это парадигма. А вы пытаетесь заткнуть уши и не слышать этого слова.
"функциональное программирование" — это, по большому счёту, сокращение более длинной фразы. Есть функциональная декомпозиция и набор способов её выражения в исходном коде. Есть языки, прямо поддерживающие те или иные способы выражения. То же справедливо и для остальных "программирований".
_>>>Если преподаватель не раскажет студенту, что такое парадигма, значит он узнает об этом из википедии. ГВ>>А ещё студент много чего узнает из надписей на заборах. Преподавателям об этом тоже рассказывать? _>ИМХО эта фраза гораздо ближе к тому, что пишут на заборах, чем те статьи, в которых встречается термин "парадигма".
О, да! Наукообразия в таких статьях куда как больше.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Как может быть ограничен "взгляд"? Он ограничен только фантазией глядящего.
А фантазию можно и нужно развивать. Это про преподавание в университетах... гм... ну, скажем так, подходов к решению задач.
ГВ>Поверь, я ни в коей мере не расцениваю википедию как источник чего-то значимого. Что-то на уровне ммм... анекдотов под пиво. Трёхтомник Кнута значит куда как больше. "Ахоульман", кстати — тоже.
А откуда тогда такое искреннее негодование?
ГВ>Содержимое статьи этому утверждению не противоречит. И ляпа там нет. Ребята честно попытались сформулировать неформулироемое. Вся беда в том, что им не хватило самоиронии. А так... для энциклопедии метафизики — пойдёт.
Здравствуйте, Кодёнок, Вы писали:
Кё>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>"Образ мышления" — это что такое? Вот попробуй, передай мне свой "образ мышления". Как ты будешь это делать?
Кё>Есть яркий пример очень необычного нового способа думать о числах — это числа Черча [поиск по форуму]. Если человек понял пример с числами Черча, дописал для них новые операции — он обучился новому способу мышления, получил возможность по-другому думать о числах. Не в ущерб своему старому, кстати, а наоборот, на пользу. Это и есть передача образа мышления — придумавший такой способ думать о числах передал его другим.
Что передаётся из рук в руки? Правильно — задачи и образцы решения. То есть — методика того или иного рода. То, что при этом у реципиента появился "новый способ мышления" — побочный эффект, достигаемый не всегда. Этот самый "новый способ" может и не понадобиться.
ГВ>>Дело в том, что оперирование такими субъективными понятиями как "образ мышления", "мировоззрение" на уровне объективных понятий — это признак тумана в голове, ты уж не обижайся. Я понимаю, что ты не злобы для, а просто по ошибке. Кё>Да, я считаю, что мировоззрение и образ мышления можно передать. И понятия для меня абсолютно конкретные. Туман в голове, это если не знаешь, что значит — мировоззрение, но оперируешь этим понятием. А если знаешь — то нет.
Ну, на здоровье. Считай, что они есть и их можно передать. Я разве против? Я так... Считай, что просто предупредил о возможном риске.
Кё>А данном случае речь идет не о передаче образа мышления в общем, а просто например, о показе студенту уже готовых декомпозиций. Путем их осмысления и сравнения с формулировкой задачи, он и узнает новый для него способ мышления.
Бедный студент! Насколько же он скуден разумом, что новый способ решения задачи порождает у него аж чуть ли не цельное новое мировоззрение. Да уж, воистину: "освободи свой разум, ж... освободится сама!" (c) Гоблин.
Кё>Повторяю, это не означает кардинально сменить способ мышления, ничего общего не имеющем с тем, как он уже мыслит. Это всего лишь по-другому взглянуть на некоторый аспект, а то и просто, систематизировать и привести в порядок те мыслительные шаблоны, которые он уже выработал.
Так. Мы о чём вообще? О приведении в порядок мыслительных шаблонов или о новых способах решения задач? Шаблоны, как известно, сначала должны появиться. Для того, чтобы упорядочить их тем или иным способом, как правило, нет никакой нужды в даче новых "парадигм" и прочего. Кто склонен упорядочивать — упорядочит сам, кто не склонен — хоть кол на башке теши.
Кё>Если человек уже умеет писать работающие программы, то дать ему какую-то парадигму будет означать скорее обратить внимание на то, что он и так уже знает и умеет, и систематизировать это.
Ну да. И смысл тогда в самой парадигме? В дзенском коане его больше...
Кё>Думаешь, кого-то надо учить видеть в окружеющем мире взаимодействующие объекты? Да все не только их видят, но и твердо убеждены, что они существуют. Обучить ООП — значит, обратить на это внимание, сказать чтобы попробовал на все состояния в своей программе смотреть как на независимые объекты. Далее идет стандартная терминология, методики...
Эм... Что-то я не припомню, чтобы кого-то можно было чему-то обучить, начиная со сфероконей в вакууме. Так и с ООП — сначала показывают саму программу и объясняют простейшие вещи. То есть, сначла дают основы метода и плоды его применения. А потом уже "раскручивают" остальное. А то так можно на всё смотреть, как на взаимодействие инь и янь — тоже парадигма...
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Voblin, Вы писали:
ГВ>>Как может быть ограничен "взгляд"? Он ограничен только фантазией глядящего. V> А фантазию можно и нужно развивать. Это про преподавание в университетах... гм... ну, скажем так, подходов к решению задач.
Хмм.... что-то мне сдаётся, что способность к фантазированию развивается где-то задолго до школы. Дальше просто нужно дать методы воплощения фантазий.
ГВ>>Поверь, я ни в коей мере не расцениваю википедию как источник чего-то значимого. Что-то на уровне ммм... анекдотов под пиво. Трёхтомник Кнута значит куда как больше. "Ахоульман", кстати — тоже. V>А откуда тогда такое искреннее негодование?
Какая разница?
V>P.S. Кто такой "Ахоульман"?
Эх... Например, сюда
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, vdimas, Вы писали:
V>А если я использую совместно несколько парадигм, то это как? Это значит, что я не использую ни одной?Мне как-то Влад пытался именно это доказать, что если я смешиваю в одном проекте на разных подзадачах функциональную парадигму с объектной, то у меня функциональная парадигма "пропадает"... Странно, что при этом не "пропадает" объектная...
Здравствуйте, Voblin, Вы писали:
V>>Парадигма — это как инструмент самого нижнего уровня, как раз на уровне кодирования, так что пусть останется на прежнем месте в общей классификации, не надо придавать ей столько важности.
V>Обратимся к господам гуманитариям — http://dictionary.fio.ru/article.php?id=30232 : V>
V>ПАРАДИГМА (греч. paradeigma — пример, образец), 1) образец, тип, модель (например, общественных отношений). 2) В философии, социологии — исходная концептуальная схема, меняющаяся со временем и характерная для определённого этапа в развитии науки модель постановки проблем и их решения. 3) В риторике — пример, взятый из истории для доказательства, сравнения. 4) В грамматике — система форм изменяющегося слова, конструкции, например имени, глагола.
V>Обратите внимание на п. 2.
Найди здесь хоть одну ссылку на субъект, а не на объект!
V>Короче, парадигма — это такая штука, которая обычно закладывается куда-то в задний мозг и воспринимается как само собой разумеющееся.
Так... Слушай, про "задний мозг" — это покруче падонкофф будет. Я запишу, можно?
.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, VladD2, Вы писали:
VD>>Сам себе противоречишь. То по-твоему полезно "для каждой задачки использовать наиболее подходящий способ решения", то "какой-то из этих способов будет предпочтительней остальных". Ты бы определился, что ли.
V>Прочитай еще раз что ты написал
Ты сам почитай. Это твои цитаты.
VD>>Владение разными парадигмами только упрощает выбор того самого самого подходящего способа решения конкретной задачи/подзадачи.
V>Я же именно это и написал Замени "парадигма" на "способ".
Ты умудрился написать в одном сообщении две совершенно противоречивые мысли.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>Я только не понял, это было согласие или возражение? В принципе, ты развернул мой тезис... Наверно, для тех, кто в танке.
Раз ты согласен с создателем темы, то явно возражение. Но так как ты вообще имешь привычку крайне запутывать свои ответы и менять мнение, то с уверенностью на этот вопрос вообще ответить невозможно. Так что ты сначала определись со своей позицией, вырази ее прямо и однозрачно. А потом можно будет скать согласны с тобой другие или нет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Voblin, Вы писали:
V>Хороший программер (или архитектор, или прожэкт манагер, или... да мало ли?), как и хороший писатель или, допустим, актёр, должен уметь переключаться между парадигмами. Только актёр в нужный момент переключается, например, с модели поведения приличного человека на модель поведения мерзавца (или наоборот ), а программер должен уметь спрыгнуть, например, с горячо любимого ООП на что-нибудь типа автоматного программирования. А это, между прочим, не тривиально — взять и перестать искать в решаемой задаче объекты! И притягивать дерево классов за уши туда, где оно отродясь не применимо...
Так вот для того, чтобы не путаться в "парадигмах", и нужно э... освобождать свой разум от оков субъективных определений. Методы! Это просто методы. Один метод, другой третий... пятьдесят пятый... какая разница? А вот если возвести метод в ранг Сияющей Истины Доступной Посвящённым — вот тут и начинается полный привет.
Притом трудно спорить с тем, что "в науке господствует парадигма...", поскольку речь здесь идёт о концептуальной модели. Ну дык не парадигма же является предметом изучения, а сама модель.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, Трурль, Вы писали:
ГВ>>>И что мы в этом видим? Правильно. Нет такой вещи, как «парадигма программирования». Поскольку «набор взглядов» относится к характеристике субъекта, а не объекта.
Т>>
The term computation model makes precise the imprecise notion of "programming paradigm".
Т>>Peter Van Roy, Seif Haridi
ГВ>Вычислительная модель = "парадигма программирования"... Ну так и давайте тогда оперировать термином "вычислительная модель". Модель! А не моделист — вот, в чём дело.
A computation model is a formal system that defines how computations are done.
Peter Van Roy, Seif Haridi
В принципе можно продолжить цитировать замечательную книгу "Concepts, Techniques, and Models of Computer Programming"
от разработчиков Mozart\Oz, но думаю более эффективно будет скачать и прочитать ее.
Здравствуйте, Mikl Kurkov, Вы писали:
MK>В принципе можно продолжить цитировать замечательную книгу "Concepts, Techniques, and Models of Computer Programming" MK>от разработчиков Mozart\Oz, но думаю более эффективно будет скачать и прочитать ее.
MK>Ссылка
Особенно полезно в контексте данного обсуждения обратить внимание на употребление термина "парадигма программирования" в этой книге. Очень поучительно.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, last_hardcoder, Вы писали:
_>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>При таком подходе вообще непонятно — зачем его формировать. На фига нужно ещё одно "определение" космического масштаба, если оно касается каких-то мировоззренческих вещей?
_>Но речь ведь идёт не о мировоззрении одного человека. За парадигмой — поколение программистов, мыслящих одинаково, новые языки программирования, отражающие парадигму.
Не совсем так. Язык может позволять отражать сколько угодно парадигм — это зависит от выразительности языка. За языком стоит не парадигма, а модель вычислений, а сие понятие "грубо техническое" и от парадигмы далекое.
Например в модели вычислений языка С++:
— набор базовых типов (не буду перечислять все, озвучу только особенности), несколько видов целых и рациональных чисел, привязка числового типа к платформе исполнения, представление строки в null-terminated виде и т.д..
— способ реализации полиморфизма — через таблицу виртуальных ф-ий
— единичное и множественное наследование, виртуальное наследование
— автоматический вызов деструкторов локальных объектов и мемберов-полей
— реализация исключений в виде значений произвольного типа, раскрутка стека и выполнение пред. пункта
— препроцессорные вычисления (макросы)
— compile-time ср-ва кодогенерации (шаблоны)
— run-time вычисления константных выражений (и аргументов шаблонов в т.ч. коими могут быть некоторые виды константных выражений) — как часть процесса, упомянутого в пред. пункте
Lisp:
— базовые типы: число — не зависит от платформы, строка, символ, ячейка/пара
— все остальные типы — это графы объектов указанных типов в памяти, образованных с помощью ячейки.
— список — как соглашение о специальной конфигурации графа, куча ср-в по оперированию списками
— программа и данные хранятся в виде списков, на спискахъ реализованы замыкания и все-все-все...
— выполнение программы — суть вычисление объектов Лиспа, атомы вычисляют сами себя, символы — вычисляют связанный объект, ячейка вычисляется как ф-ия, у которой car — ссылка на тело, а cdr — ссылка на список агрументов.
Пролог — модель вычислений представляет из себя логический автомат, который сопоставляет факты и правила, пытаясь найти путь к цели как результат последовательных применений фактов и правил. Автомат крайне тупой и ищет решения рекурсивным перебором.
ГВ>>В упомянутых названиях найди одно вхождение слова "парадигма". Так почему от "парадигмы" никуда не деться?
_>А что тогда такое "функциональное программирование"? Метод, стиль, течение? Все говорят, что это парадигма. А вы пытаетесь заткнуть уши и не слышать этого слова.
К сожалению, я слышу слова "парадигма" и "функциональный стиль" в связке с мнением, что если мы используем функциональный стиль, то он должен быть предельно чистым, т.е. ни в коем случае не сочетаться ни с какими другими стилями. Соответственно у меня слово "парадигма" ассоциируется со словом "глупость", аналогично слову "фанатизм".
ГВ>>А ещё студент много чего узнает из надписей на заборах. Преподавателям об этом тоже рассказывать?
_>ИМХО эта фраза гораздо ближе к тому, что пишут на заборах, чем те статьи, в которых встречается термин "парадигма".
А вот это очень спорно, что ближе к надписям на заборах.
Тебе сюда: http://lib.aswl.ru/books/methodology/programming/
Простая и ясная классификация подходов, и никакого зацикливания на "парадигмах".
VD>>>Сам себе противоречишь. То по-твоему полезно "для каждой задачки использовать наиболее подходящий способ решения", то "какой-то из этих способов будет предпочтительней остальных". Ты бы определился, что ли.
V>>Прочитай еще раз что ты написал
VD>Ты сам почитай. Это твои цитаты.
И в чем противоречие?
Разумеется, в зависимости от характера задачи какой-то из способов будет предпочтительнее. Он же — наиболее подходящий. Один из нас тормозит, ИМХО... Или по-твоему "предпочтительный" не синоним "наиболее подходящему"?
Там основной смсл был в том, что слепое следование какой-либо "парадигме" при написании программы, состоящей обычно из множества подзадач, приведет к тому, что часть этих задач будет решена неэфективно, как с т.з. процесса программирования/отладки, так и с т.з. эффективности решения в рантайме.