Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  15:47[Войти] | [Зарегистрироваться]
Обсуждение темы:
Информатика-21. Форум проекта

Форум открыт по просьбам читателей сайта проекта для обсуждения Оберона/Компонентного Паскаля/Блэкбокса как технологической платформы для современной общей системы преподавания программирования, параллельной и дополняющей систему преподавания математики. Мнения за и против, вопросы как и почему, и т.п.

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

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 1147 сообщений

Добавить свое сообщение


Дополнительные ссылки
  1. Проект «Информатика—21»
  2. Обсуждение темы "Мысли об Обероне" на Королевстве

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



Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 27—18 | 17—8 | ...>>>
Всего сообщений в теме: 1147; страниц: 115; текущая страница: 114


№ 17   22-10-2004 15:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 15« (Sergey)
___________________________
На № 15 
>>> 1. Программирование НЕ нужно ЛЮБОМУ школьнику или студенту, или великому ученому! Точно также как им не нужны еще сотни чрезвычайно востребованных областей науки и мастерства.

Даешь User-friendly Mathematics! http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD889.html

>>> 2. Человек, желающий обучаться программированию, должен обучаться именно программированию, а не абстрактной информатике - это взаимосвязанные, но совсем не одинаковые вещи.
Архиверное замечание. Вот пускай и обучается программированию, где-нибудь в ПТУ или в ВУЗе. И там пусть изучает "самые передовые" языки, среды, ООП, UML и прочие погремушки и свистульки.
А пока он в школе, он еще не знает,  желает ли он обучаться именно программированию.
Сообщение не подписано


№ 16   22-10-2004 15:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 14« (S.A.)
___________________________

Приношу свои извинения ..

Вам абсолютно не за что извиняться. Тема "Почему Оберон/Компонентный Паскаль, а не функциональные языки" вполне вписывается в проблематику проекта. Не вписываются только бездоказательные заклинания.

И раз уж речь об этом зашла:
в чистом виде любой из подходов к вычислимости -- процедурный, фукнциональный, "марковский" -- примерно равно- и сильно- удалены от человека в силу своей равной примитивности.

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

Все языки, более близкие человеку, -- синтетические, т.е. в той или иной форме сочетающие элементы как процедурного, так и функционального программирования.
В О/КП есть и рекурсивные процедуры, и сбор мусора -- все гарантированно полезное, что можно было взять из функциональной парадигмы, взято.
Точно так же, скажем, OCaml -- синтетический язык.

Но языки типа О/КП отталкиваются от процедурной парадигмы, что явно имеет смысл по той причине, что наше "железо" -- скорее машина Тьюринга, чем лисп-машина, по экономико-технологическим причинам.
И именно поэтому совершенно прав многоуважаемый S.A., говоря, что изучения процедурной парадигмы избежать невозможно.

Что касается легкости изучения, то обычных 12-летних школьников вполне возможно систематически обучать на Паскале (и тем более на Компонентном Паскале, у которого синтаксис проще).
А на ФЯ -- сомнительно. Во всяком случае некий активный пропагандист OCaml, прекрасный программист (судя по большому и важному куску софта, который он произвел), а ныне редактор журнала Computer Physics Communications, на мой прямой вопрос "можно ли 12-летних ...", после некоторого молчания ответил решительным "нет".

Что касается компактности и крастое программ на ФЯ -- достаточно посмотреть на компактность Блэкбокса, и все вопросы отпадают.
Мое заключение после изучения сего вопроса в последние пару лет состоит в том, что в плане выразительности, экономности и т.п., комбинация полифорфизма с минимумом методов (ABSTRACT+FINAL в КП) -- просто-напросто эквивалентна ФЯ с функционалами, currying, и т.п.
Никакой мистики в ФЯ в этом отношении (компактности и проч.) просто нет и взяться ей  неоткуда.

(Многоуважаемый Trurl скажет, что полиморфизма с процедурными перемеными достаточно, и будет в целом прав, и я просто замечу, что схема ABTRACT/FINAL-методов вместо явного введения процедурных переменных выглядит в моих задачах поизящней.)

Что касается механизмов автоматического распознавания типов, то они не являются, строго говоря, специфичными для функциональных языков: можно было бы и Оберон заставить "выводить" и контролировать типы подобным же образом -- ценой более сложного (и медленного) компилятора.
Дало ли бы это преимущество в правильности и эффективности больших программ по сравнению с принятой сейчас схемой строгой статической типизации, в которой принимается, что компилятору отказано в праве додумывать что-либо за программиста?
Я лично сильно сомневаюсь. Скорее породило бы крайне труднонаходимые ошибки, пусть и в небольшом числе случаев.
Подозреваю, что именно об этом идет речь в фольклорном утверждении (где-то, может быть, в Мыслях его цитировали), что в ФЯ 99% ошибок распознает компилятор, зато оставшийся 1% невозможно найти вообще.
Во всяком случае заставляя программиста объявлять типы, создаются некая избыточность и эксплицитность, обе полезные с т.зр. обеспечения правильности и evolvability.

И, наконец, последний гвоздь в крышку мифа о более высоком уровне ФЯ в смысле близости к человеку:
когда мы сидим перед компьютером и вызываем разные команды, а между ними думаем, а компьютер ждет: разве "железо" не помнит свое состояние (state)? разве в нем нет ничего, кроме определений функций?
Можно, конечно, сказать, что вводя оценки за контрольную/экзамен, мы определяем некие immutable параметры.
Но когда мы исправляем оценки? Разве не естественно мыслить это себе -- разве не ОЧЕВИДНО, что это замена содержимого неких "ячеек" в таблице -- неких "ячеек памяти"?

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

Остается тезис о том, что программистам, особенно профессионалам, полезно (и чем "профессиональнее", тем полезнее) изучить какой-нить ФЯ.

Полезно. Но не в рамках общей системы обучения программированию/"алгоритмике", которая охватывала бы всех 11-19-летних будущих инженеров, физиков, лингвистов...


№ 15   Удалено модератором


№ 14   22-10-2004 13:43 Ответить на это сообщение Ответить на это сообщение с цитированием
Приношу свои извинения автору форума, уважаемому info21 за то, что чуть-было не ввязался в бесплодную дискуссию на тему, далекую от Oberon-family in education.
S.A.


№ 13   22-10-2004 13:12 Ответить на это сообщение Ответить на это сообщение с цитированием
P.S.
Jack, прошу прощения за невежливость. Ваше предложение о расширении кругозора, безусловно, очень верное. Я попробую, что-нибудь сделать.
P.P.S. А насчет ограничения паскалевскими языками, Вы не правы - мы даем и Java/Javascript, и VBA (программирование для Excel/Access), а ученики, которые "advanced" делают проекты на C/C++.


№ 12   22-10-2004 13:04 Ответить на это сообщение Ответить на это сообщение с цитированием
На #6.
>>>Во первых я не совсем понимаю что
>>>такое "скобки в операторах присваивания". Вы
>>>имеете в виду скобки в выражениях ?
>>>Во вторых в Хаскеле операторов присваивания
>>>нет.
Уважаемый Jack! Я всегда подозревал, что Вы иногда делаете вид, что не поняли смысл высказываний собеседника, чтобы легче было "передергивать" :). Я говорил не об операторах присваивания и Вы прекрасно это поняли, хотя и сделали вид, что нет. Я говорил о том, что начинать изучение программирования с функционального - это все равно, что изучать математику сразу с алгебры или анализа, минуя арифметику. Принцип работы компьютера за последние 50 лет не изменился - компьютеры как были, так и остаются просто универсальными машинами Тьюринга, т.е. исполнителями алгоритмов. А следовательно базовые понятия обычного, "процедурного" программирования все равно надо знать: что такое присваивание, что такое условный и циклический алгоритм и т.п. Человек обязательно должен пройти эту цепочку, прежде чем он сможет перейти к освоению других парадигм. Точно так же в математике сначала надо понять, что такое сложение и вычитание, прежде чем, можно будет перейти к обобщенному представлению об алгебраических структурах.
P.S. А что касается моего мнения о восьмиклассниках, то оно очень доброжелательное и уважительное. Просто я писал свой текст после очередной проверки первой контрольной работы по программированию и хорошо знал, о чем говорю.
С уважением,
S.A.


№ 11   22-10-2004 12:17 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 6« (Jack Of Shadows)
___________________________

Оператор присваивания действительно вешь трудно понимаемая для человека далекого от  программирования. Его даже в математике нет :))

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

Задача информатики -- формализовать то, что происходит в компьютере, в виде символической модели, а потом уже математики пусть изучают, что получится.

Тьюринг (между прочим, математик), фон Нейман (тоже математик, и совсем не слабый) и Дейкстра со всем этим успешно справились.

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

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

Строить рекурсивные программы не проще, чем строить циклы (говорю на основе опыта преподавания: только вчера в компьютерном классе начинающие программисты, первокурсники-физики боролись у меня и с инвариантами цикла, и с рекурсией в quicksort).
А заменять простенький цикл рекурсией -- интеллектуальное извращение, перестающее быть таковым только в математическом контексте исследования проблемы вычислимости.

Всему свое место.

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

Разумеется, объяснять это школьникам на уроке программирования столь же неуместно, как и аксиоматику арифметики Пеано при изучении таблицы умножения.


№ 10   22-10-2004 11:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 8« (DROFA)
___________________________

Уважаемый DROFA привел в высшей степени уместную цитату российского математика.

Российское математическое образование, начиная с младших школьников, не имеет аналогов в мире.
Американское среднее образование -- худшее среди развитых стран (об этом говорят все, кто может что-то с чем-то здесь сравнивать; мой собственный опыт: иметь дело с американскими студентами ун-тов с такими знаниями по математике, какие они имеют, мне лично было просто невыносимо, когда я принял решение вернуться в Россию; не видно, чтобы за 10+ лет что-нибудь изменилось, судя по докладу комиссии Гленна: http://www.ed.gov/inits/Math/glenn/index.html).

Поэтому Информатика-21 и утверждает тезис о том, что систему обучения программированию в России надо строить, опираясь на нашу математику.
Смотреть, как в Америке учат тамошних школьников, невредно (че-нить по мелочам всегда можно полезного найти), но ссылаться на американский опыт в фундаментальном смысле -- вредно до крайности.

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

Именно российские прикладные математики оценили и подхватили "научно спроектированный" Алгол-60, и именно благодаря этому мы имеем в России, слава Богу, Паскаль.
От чего и нужно отталкиваться.


№ 9   22-10-2004 10:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Уважаемые участники!
Как модератор сего форума считаю нужным заметить следующее.

Сей форум -- часть проекта Информатика-21, размещенный на Королевстве с любезного согласия и при помощи Е.Филипповой (которой воспользуюсь случаем публично выразить свою благодарность, а также В.Лосю за помощь).

Отсюда следуют пункты:

0) Организация сего форума преследовала цели способствовать проекту Информатика-21 и помочь тем людям, которые заинтересовались проектом, -- но ничему более.

1) В частности, сей форум не следует рассматривать как обычный участок Базарной площади, где можно "базарить" напропалую.

2) Люди, зарекомендовавшие себя как ответственные и/или опытные в преподавании программирования (как многоуважаемые S.A. или Trurl), имеют полную свободу выражать любые мнения и ставить любые вопросы по поводу проекта.

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

4) Если Вы считаете, что у Вас есть что сказать серьезного И содержательного И конкретного по поводу проекта Информатика-21, найдите подходящую форму для своих мыслей (скажем, отложить на день акт выкладывания).
Если у Вас нет времени на то, чтобы обосновать свои мнения и отредактировать свой постинг -- этот форум не для Вас.

Я считаю себя ответственным за проект Информатика-21 и перед теми людьми, которые будут тратить свое драгоценное время, работая с сим форумом.

В качестве демонстрации предельной серьезности своих намерений, я снимаю постинг №3 по следующим причинам:
-- В нем содержится глобальное утверждение, которое никак не подтверждено, а истинность чрезвычайно сомнительна.
-- Постинг содержит явный элемент демагогии (квалификация любимых автором постинга языков как "научных", очевидно, в пику обсуждаемым в проекте Информатика-21).
-- Постинг содержит предложение, не подкрепленное никаким опытом, представляющееся людям с опытом преподавания заведомо нереалистичным, и никак не вписывающееся в обсуждаемый проект.

Убедительно прошу уважать всех тех, кто серьезно заинтересовался проектом Информатика-21 и будет работать с данным форумом.

С уважением


№ 8   22-10-2004 10:18 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 6« (Jack Of Shadows)
___________________________

__________________________
Эко вы однако низкого мнения о восьмикласниках :))
С этого места уже понятно, что Вы не преподавали в школе (впрочем я тоже когда то переоценивал детей в школе - эти мои слова конечно неполиткорректны, но)...

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

Я не преподаватель, поэтому никакого личного опыта преподавания каких бы то ни было языков у меня нет.
Ну наконец-то. Все стало на свои места...
(Именно таким был и я...)

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

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

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

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

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

Тут я вспомнил бы сборник задач Шеня
"ПРОГРАММИРОВАНИЕ: ТЕОРЕМЫ И ЗАДАЧИ" и позволю себе оттуда несколько цитат:

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

Прошу прощения - цитата длинная
"
        Н Е  П О К У П А Й Т Е  Э Т У  К Н И Г У !

                (Предупреждение автора)

    В этой книге ничего не  говорится  об  особенностях  BIOSа,
DOSа, OSа, GEMа и Windows, представляющих основную сложность при
настоящем программировании.

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

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

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

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

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

    Логическое  программирование,  постепенно вытесняющее уста-
ревший операторный стиль программирования, не затронуто.

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

    Проблемы отладки и сопровождения программ,  занимающие,  по
общему  мнению профессионалов, 90% в программировании, игнориру-
ются.

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

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

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





<<<... | 27—18 | 17—8 | ...>>>
Всего сообщений в теме: 1147; страниц: 115; текущая страница: 114


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования