Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 2596 06-02-2007 05:24 | |
Ответ на »сообщение 2595« (Руслан Богатырев)
___________________________
Если уж так интересно, предлагаю воспользоваться приемом Алана Тьюринга. Он имел обыкновение прерывать собеседника, рассказывавшего о своей задаче, решать ее самостоятельно и только потом выслушивать чужое решение.
Разумный подход.
Конечно, я пытаюсь параллельно обдумывать эти вопросы.
Боюсь только, что мне для этого не хватает кругозора. :(
Помню, когда только начинал программировать, меня удивило различие в подходе Паскаля и Си к указателям (вроде и правда так похожи).
Тогда у меня в сознании не оказалось никаких полезных зацепок, и это удивление осталось без последствий...
№ 2595 06-02-2007 05:05 | |
Ответ на »сообщение 2594« (AVC)
___________________________
Интересно, как справится Руслан с такой постановкой вопроса. :)
А кто сказал, что он справится? :) Но, скажем, неделю свой (возможно, неверный) ответ давать не буду. Если уж так интересно, предлагаю воспользоваться приемом Алана Тьюринга. Он имел обыкновение прерывать собеседника, рассказывавшего о своей задаче, решать ее самостоятельно и только потом выслушивать чужое решение. Основные отправные точки я дал...
№ 2594 06-02-2007 04:55 | |
Ответ на »сообщение 2592« (Trurl)
___________________________
Интересно, как справится Руслан с такой постановкой вопроса. :)
Не знаю, как насчет географической привязки...
Но интересно, что следует считать сходным, а что различным?
Например, Ритчи считал, что Паскаль и Си "очень похожи".
Вместе с тем, Паскаль изначально строился на хоаровских идеях о типах данных, а Си развился из безтипового BCPL.
Вот и спрашивается, действительно ли похожи Си и Паскаль (Оберон)?
№ 2593 06-02-2007 04:52 | |
Ответ на »сообщение 2592« (Trurl)
___________________________
А в чем тогда смысл терминов "американская" и "европейская"? Почему не "жидомасонская" и "православная"?
Прямо как на больную мозоль наступил. То-то я думал, чего это Дейкстра постоянно сокрушался, что едва он заводит разговор о различиях в европейском и американском подходах, так сразу это переводят в плоскость неполиткорректности.
Интересно, нас не удивляют рассуждения о различных математических школах, но удивляет разговор об этом в плоскости программирования. При том, что программирование -- это феномен культуры. Одни люди строят школы, другие их разрушают, третьи -- предают забвению. Как это характерно для нашей цивилизации. И главное - никаких историко-географическо-национальных характеристик в любой сфере человеческой деятельности! Наука и технологии (а заодно и искусство) принадлежат всему человечеству и все имеют одну единственную (разумеется, правильную) школу!
Уж от кого-кого, но от Вас подобного выпада не ожидал. Я понял бы, если бы Вы вдруг задались вопросом, где критерии, по которым эти школы можно различать.
№ 2592 06-02-2007 04:32 | |
Ответ на »сообщение 2590« (Руслан Богатырев)
___________________________
А в чем тогда смысл терминов "американская" и "европейская"? Почему не "жидомасонская" и "православная"?
№ 2591 06-02-2007 03:49 | |
Ответ на »сообщение 2588« (01)
___________________________
"Крайне прост в изучении и освоении."
получает Си тоже крайне прост в изучении и освоении
(конечно возможно ваше мнение изменилось и Оберон не крайне прост в освоении)
Хороший вопрос. Как-то здесь полгода или год назад я уже поднимал тему сложности простоты Оберона. Давайте для определенности разговора зафиксируем целевую аудиторию и спектр решаемых задач. Говорите, обучение? Средняя школа, высшая школа? Значит, преподавательский состав + слушатели (ученики, студенты). Какие задачи решают в школе? Наверное, довольно простые прикладные (вычислительные и "изобразительные"). Для этого нет надобности глубоко разбираться в подводных камнях сочетания module+record. Ну да, есть еще специфическая часть (методы трансляции и формальные языки), ну здесь Оберон просто на коне.
Для прикладного программирования в сфере образования модуль - просто капсула, а запись - она и в Африке запись, только еще расширяется в другом типе. Синтезирующее программирование затрагивается почти полностью, сборочное программирование - в малой степени, а конкретизирующее - в той части, что близка к традиционному ООП, причем в очень упрощенной форме.
Если мы берем сферу прикладников, то Оберон прост в части синтезирующего программирования, достаточно прост (но необычен) в сфере сборочного программирования и далеко не прост (даже сложен) в сфере конкретизирующего программирования. Причина последней сложности - его недоопределенность по используемой объектной модели (даны средства для построения своих моделей). Но эта сложность устранимая - нетрудно зафиксировать рекомендации для той или иной схемы (будь то "Оберон-шина" или что-то еще) и их придерживаться (как и любого стандарта).
хотя си не поддерживает ООП, модульного и расширяющего программирования...
тогда возможно нам нужен Оберон для обучения вместо Си, что бы раскрыть для обучаемого больше парадигм?
А зачем нужно в одном языке раскрывать больше парадигм? Неужели в этом и есть цель обучения программированию в средней и высшей школе? Просто системное программирование - удел немногих, и там Си уместен, даже в сфере образования. Но Оберон-то, как выясняется, и прикладникам очень даже подошел. Значит, если выбирать между ним и Си в образовании, то с точки зрения языка (не инфраструктуры и не подводных течений в том или ином заведении) сомнений в выборе нет.
№ 2590 06-02-2007 03:43 | |
Ответ на »сообщение 2589« (Trurl)
___________________________
Противопоставление Европа-Америка кажется надуманным. Чтобы факты соответствовали теории, придется переселять в Европу авторов многих языков.
Никогда не стоит спешить с выводами. И не надо считать, что если язык создан европейцем или человеком, прошедшим европейскую школу, то он лежит именно в сфере европейских традиций программирования. За примерами далеко ходить не надо: C++ - типичная американская школа, хотя создан европейцем, родившимся в Дании, получившем там образование, учившемся на истинно европейской Simula, но сделавшем язык в традициях американской культуры программирования.
№ 2589 06-02-2007 03:27 | |
Ответ на »сообщение 2586« (Руслан Богатырев)
___________________________
Противопоставление Европа-Америка кажется надуманным. Чтобы факты соответствовали теории, придется переселять в Европу авторов многих языков.
№ 2588 06-02-2007 03:24 | |
Ответ на »сообщение 2586« (Руслан Богатырев)
___________________________
в одной из ваших статей вы пишете про Оберон:
"Крайне прост в изучении и освоении."
получает Си тоже крайне прост в изучении и освоении
(конечно возможно ваше мнение изменилось и Оберон не крайне прост в освоении)
но зачем тогда развивать Оберон для Обучения?
может проще написать какой-нибуть транслятор для Си который будет привносить в него паскалевидный синтаксис?
зато сколько наработок на Си у нас будет
а к Оберону нужно все делать сначало
хм
хотя си не поддерживает ООП, модульного и расширяющего программирования...
тогда возможно нам нужен Оберон для обучения вместо Си, что бы раскрыть для обучаемого больше парадигм?
№ 2587 06-02-2007 03:18 | |
Ответ на »сообщение 2585« (01)
___________________________
разве Си не сложнее Оберона с точки зрения количества исключений из правил?
Вот тут я бы однозначно не ответил. Семантика языка прописывается обычно словами на английском языке (стандарт ISO Modula-2, написанный на формализме VDM-SL, можно в расчет не принимать). Здесь большое поле для "мыслительных экспериментов". Уж как кропотливо Вирт доводил свое описание Оберона до магического значения в 16 страниц (первое описание Алгола-60 в Communications of the ACM занимало ровно 16 страниц), а вопросы были и остаются.
Исключения из правил в Си происходят во многом из-за отсутствия в языке специальной области локализации разных низкоуровневых средств (включая преобразование/приведение типов). Но Деннис Ритчи такую задачу перед собой и не ставил. Он затачивал язык под реализацию UNIX. А Вирт поступил грамотно: имея перед глазами опыт Си, выделил под это особую "песочницу" в лице SYSTEM.
если он всем хорош для системного программирования то почему создалеи юникса и план9, ось инферно писали уже не на нем?
То, что Си подходит лучше всего для системного программирования, совсем не означает, что подходит лучше других. Чтобы совсем не запутались: системное программирование языку Си подходит лучше, чем другие направления в программировании. Да и ОС Inferno и язык Limbo - особое поле экспериментов - распределенные системы.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|