Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет chistyakov ([info]chistyakov)
@ 2004-12-04 18:52:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Подписываюсь обеими руками под каждым словом!
Преподавание информатики: потерянная дорога
Никлаус Вирт
Приветствие на открытии Международной конференции по преподаванию информатики ITiCSE
г. Аархус (Дания), 24 июня 2002 г.

{+}


(Добавить комментарий)

Все так.
[info]tkatchev@lj
2004-12-04 05:15 (ссылка)
Но надо понимать, что программирование -- отнюдь не наука, и даже не техника. Программирование -- гуманитарная дисциплина, и в нем не существует "верных решений", но есть "обоснованные подходы".

(Ответить) (Ветвь дискуссии)

Re: Все так.
[info]ex_chistyak@lj
2004-12-04 05:27 (ссылка)
Программирование -- это искусство выражаться абсолютно точно и однозначно. Я бы так сказал.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Да нет.
[info]tkatchev@lj
2004-12-04 05:53 (ссылка)
Программирование -- искусство управления сложностью.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Сложность -- как проблема
[info]ex_chistyak@lj
2004-12-04 06:20 (ссылка)
Это моя стихия, сложность... Я всю жизнь делаю комплексы ДПЛА. Complex по-латински значит "сложный", "составной". Причём сложность там не только программная, но и физико-техническая, инженерная и конструкторская.
Конечно, нет единого на все случаи жизни решения, как правильно сделать сложную систему, но какие-то принципы можно наметить. Хорошо бы их сформулировать явно, кто как видит.

{+}

(Ответить) (Уровень выше)

Да.
[info]psergant@lj
2004-12-04 06:01 (ссылка)
Только я бы уточнил - инженерное программирование.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 06:34 (ссылка)
Хорошо. А какие виды программирования Вы ещё можете назвать? Я-то, по своей специфике, кроме инженерного, наверное, и не знаю ничего...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 07:28 (ссылка)
Обдолбанные девочки-официантки, рисующие психоделические веб-страницы.

Вирт сильно зациклен на своем детище. Но заключительные параграфы имеют смысл. Хотя преподавание именно Computer Science, а не программирования как ремесла, в России находится на пещерном уровне. А впрочем, и программирование. Все, кто что-либо может, выучили все сами, методом проб и ошибок.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]tarkon@lj
2004-12-04 07:48 (ссылка)
А это программирование? Это именно что дизайнерство сейчас. Программист потом вычитывает полученное дабы написать меньше но с тем же результатом.
Вообще программирование как задание четкой программы действий...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 08:22 (ссылка)
>...программирование как задание четкой программы действий...

Но программа эта обычно чрезвычайно сложна и ветвиста. Что справделиво подчеркнул [info]tkatchev@lj выше.

(Ответить) (Уровень выше)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 08:16 (ссылка)
Не соглашусь. В 70х и первой половине 80х издательство "Мир" переводило много книг по культурному программированию. Кто хотел, то читал. А человек всегда учится сам. Как научить программированию? Можно только дать основы. Вирт от того И страдает, что вместо основ дают преходящие подробности уродливых языков программирования и операционных систем.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 12:19 (ссылка)
"много" - понятие субъективное. Особенно остро я это почувствовал 10 лет назад, приехав в Беркли и обнаружив, что МГУшная математическая библиотека - скромное подмножество берклийской. А computer science - так вообще terra incognito... Нет, книги для перевода были подобраны грамотно, я не спорю. Но набралось бы их в сумме на 2-3 полки. По сравнению с полной библиотекой. Попутно вспоминаю, как я декана ВМК по Беркли водил - тот только головой крутил и вздыхал. Так что про состояние CS России я остюсь при своем мнении.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 12:44 (ссылка)
КОгда информации слишком много, это тоже плохо. Шум получается. "Мир", всё-таки, селекцию проводил и очень качественную. Жириновский, кстати, там работал, юристом:).
А в computer science собственно "сайенса" с гулькин нос. Не фиг там и изучать-то особо, по-моему.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 12:59 (ссылка)
Если бы был шум, я бы так и сказал. В том-то и дело, что не шум. Науки там намного больше, чем принято считать в российских математических кругах. Многие вещи (особенно граничащие с другими науками) остаются просто за пределами восприятия российской классической мат. школы. В качестве затравки упомяну две области: теория гибридных систем и формальная верификация.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 13:10 (ссылка)
Ну, не знаю. Науку можно накрутить на чём угодно, особенно для диссертации:). Про гибридные системы не знаю ничего, а с формальной верификациеей когда-то знакомился. По переводной литературе издательства "Мир":).

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 13:21 (ссылка)
Гибридные системы - новый класс задач, где система описывается на верхнем уровне конечным автоматом, а в каждом из состояний - описывается дифурами (в т.ч. нелинейными) или дифф. включениями. И описаны правила переключения из состояния в состояние. Классические методы динамических систем и теории управления оказываются здесь неприменимы. Т.е. обычная теория рассматривает даже одно такое переключение как эпохальное событие; еще в 60х был ряд работ, описывающих 1-2 переключения динамики системы. А тут их может быть бесконечное множество, причем цепочки переключений описаны в строгом соответствии с заданной семантикой. Применения - прикладные. Системы управления формациями ДПЛА, в частности :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 13:49 (ссылка)
Типа я этим и занимаюсь:). Только без лженауки.
Алгоритм управления ДПЛА так и устроен. Конечно, всё конечно.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 13:52 (ссылка)
Фишка в том, что в 90-х получены качественно новые теор. результаты в области верификации таких систем. Результаты очень практические, алгоритмизуемые. Я ж говорю, в России об этом практически не знают, а вы не верите :) Я все-таки немножко знаю, о чем говорю :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 14:10 (ссылка)
Да, я пока справляюсь имеющимися знаниями. В том числе и с верификацией. Наука такого типа актуальна там, где человек не в силах охватить произведение рук своих. Я пока в силах:)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 14:19 (ссылка)
А вот тут уже вполне серьезно: основная проблема в России - отсутсвие общей _инженерной_ культуры и умения построить наукоемкое _серийное_ производство, которое дает некий гарантированный результат, не зависящий от сиюминутного настроения главного инженера после дождичка в четверг. Подчеркну, что, возможно, единичные экспериментальные образцы из России и перекроют по параметрам серийный продукт такого производства. Но массово и гарантированно воспроизвести их - увы! - никак. В этом смысле и с указанной наукой: появилась возможность формализовать и опубликовать для более широкого применения определенные знания. Это можно сделать, а можно и не делать, все "держать в голове".

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]ex_chistyak@lj
2004-12-04 14:53 (ссылка)
Держать в голове -- преступно. Здоровье слабое уже. Для преемственности существует конструкторская документация, по которой очень и очень сложные и наукоёмкие вещи можно безошибочно воспроизвести даже в авторемонтной мастерской.
Я серьёзен.

(Ответить) (Уровень выше)

Re: Да.
[info]alexf@lj
2004-12-04 09:00 (ссылка)
Хотя преподавание именно Computer Science, а не программирования как ремесла, в России находится на пещерном уровне. А впрочем, и программирование. Все, кто что-либо может, выучили все сами, методом проб и ошибок.

Как будто где-то ещё это по-другому. :) У нас хоть ремеслу учат.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да.
[info]mkay422@lj
2004-12-04 12:23 (ссылка)
Думаю, у вас в Cambridge, MA дела с theoretical CS обстоят довольно неплохо. Ну не Беркли, кАнеШна, но все же, все же :)

(Ответить) (Уровень выше) (Ветвь дискуссии)

Да видел я ваш Кембридж.
[info]tkatchev@lj
2004-12-05 00:13 (ссылка)
Говно несусветное, с МГУ даже рядом не стоит.

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

Поймите же, цель науки -- дать реальных результат, результат, котороый можно пощупать. Вся ваша "умность" вообще никому не нужна.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Да видел я ваш Кембридж.
[info]mkay422@lj
2004-12-05 06:14 (ссылка)
Вы это утверждаете на собственном опыте, поработав и в МГУ, и не Западе? И произвели ли вы результат, который можно пощупать?

(Ответить) (Уровень выше)

Раньше, когда небо было синеЕ,
[info]psergant@lj
2004-12-04 07:46 (ссылка)
трава - зеленее, программирование было только системным и проблемным. Но я считаю, что эти термины недостаточно точно отражают сегодняшнюю ситуацию. Системное, конечно, никуда не делось, а вот проблемное несколько раздвоилось. Раньше проблемщики решали исключительно инженерные задачи. Статистические, управленческие, задачи моделирования и даже бухгалтерские задачи - инженерные, потому что возможна четкая постановка задачи, и сама задача формализуема. Вместе с тем, есть ряд направлений программирования, которые условию формализуемости задачи не удовлетворяют. Например, исследования в области искусственного интеллекта и языков программирования, лингвистика, компьютерный дизайн. А если всю эту болтовню отбросить, то инженерное программирование - средство (одно из) решения инженерных задач. Сам я занимаюсь программированием исключительно инженерным и исключительно в рамках решаемой задачи.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Раньше, когда небо было синеЕ,
[info]ex_chistyak@lj
2004-12-04 08:19 (ссылка)
Я занимаюсь тем же. Но это и управление и моделирование и статистика.

(Ответить) (Уровень выше)

Re: Все так.
[info]lazyreader@lj
2004-12-04 08:48 (ссылка)
Как это вы пришли к нелепому выводу, что программирование - гуманитарная дисциплина? Программирование - инженерная дисциплина в чистом виде.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Все так.
[info]tkatchev@lj
2004-12-05 00:14 (ссылка)
В прграммировании нет "верных решений", т.к. программирование есть задача не формализируемая.

(Ответить) (Уровень выше)


[info]vova_l@lj
2004-12-04 06:52 (ссылка)
полезная ссылка, спасибо. вообще это очень интересно: чему учат на уроках программирования. Например, моего сына учат какую-то графику рисовать на Бейсике. Интересно, кроме школы это где-то надо? и еще: насколько Бейсик соотносится с тем идеалом формальной ясности и строгости, который выдвигает Вирт?

(Ответить) (Ветвь дискуссии)

Бэйсик=Фортран
[info]ex_chistyak@lj
2004-12-04 07:18 (ссылка)
По-моему, так. Это ещё не самое худшее, что можно придумать:). Но на идеал не тянет. Хотя бы y=x и x=y В Бэйсике не одно и то же. Потом, объявления по умолчанию там есть, по-моему... И другие гадости.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Бэйсик=Фортран
[info]vova_l@lj
2004-12-04 07:21 (ссылка)
Спасибо! Будем думать дальше.

(Ответить) (Уровень выше)

Re: Бэйсик=Фортран
[info]lazyreader@lj
2004-12-04 08:52 (ссылка)
Ну, прямо скажем, замену символа "=" на ":=" к "принципам серьёзного программирования" отнести сложно. Символ, не более того.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Бэйсик=Фортран
[info]ex_chistyak@lj
2004-12-04 09:20 (ссылка)
За символом кроется суть. Символ ":=" передаёт совершенно иную суть, чем символ "=". По-моему, важным принципом правильного программирования является явное обозначение сущностей. Поэтому символ ":=" очень серьёзен, на самом деле. А так с Вашей логикой можно докатиться до того, что и явное объявление переменных -- ненужная тягомотина.

(Ответить) (Уровень выше)

Re: Бэйсик=Фортран
[info]mkay422@lj
2004-12-04 13:25 (ссылка)
:)
Вопрос на засыпку - какой результат у выражения
j=i++;
в С++?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Бэйсик=Фортран
[info]ex_chistyak@lj
2004-12-04 13:47 (ссылка)
Для меня, например, это всегда было загадкой:)

(Ответить) (Уровень выше)


[info]tarkon@lj
2004-12-04 07:43 (ссылка)
Согласен. Как студент-информатик.

(Ответить)


[info]cousin_it@lj
2004-12-05 01:38 (ссылка)
А мне не нравится совсем.


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

Не была бы. Живые организмы тоже были бы намного прочнее, если бы их делали из железа, а не слизи =)


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

Клиент всегда прав. Программирование существует ТОЛЬКО для клиента.


и сами пали перед лицом самого недостойного из соперников — C

У успеха Unix и C есть причины. Я так понял, эти причины некоторые не понимают, и предпочитают ругаться =)

(Ответить) (Ветвь дискуссии)

Си -- некрасивый
[info]ex_chistyak@lj
2004-12-05 06:46 (ссылка)
Поэтому неправильный.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]cousin_it@lj
2004-12-05 22:53 (ссылка)
С педагогической точки зрения - да. С педагогической точки зрения самый правильный язык - Паскаль или Scheme (в зависимости от религиозных предпочтений).

Но. "Самая правильная математика" с педагогической точки зрения - это классическая планиметрия. Бухгалтера тоже будем учить классической планиметрии?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Конечно!
[info]ex_chistyak@lj
2004-12-06 01:13 (ссылка)
Бухгалтера тоже надо учить классической планиметрии. Это его разовьёт как человека, хотя бы. Арифметике тоже будем учить, а то дожили, что столбиком складывать не могут.
Паскаль отличается от планиметрии тем, что он может быть применён на практике НЕПОСРЕДСТВЕННО, в том числе бухгалтером.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Конечно!
[info]kocmohabt@lj
2004-12-07 21:00 (ссылка)
Бухгалтеру не нужно применять "Паскаль" на практике. Бухгалтеру нужно бабки считать. Из попытки научить бухгалтеров применять паскаль на практике и вылупляются программисты на оффисном бейсике.

(Ответить) (Уровень выше)


(Анонимно)
2004-12-14 11:16 (ссылка)
Я бы сказал так.

Программирование - написание текстов с однозначным смыслом.

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

(Ответить) (Ветвь дискуссии)


[info]ex_chistyak@lj
2004-12-14 21:45 (ссылка)
Улавливаю:)

(Ответить) (Уровень выше)