Re[11]: Оберон vs все остальное
От: Курилка Россия http://kirya.narod.ru/
Дата: 14.01.05 08:50
Оценка: 2 (1)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Cyberax, Вы писали:


C>>Плевать, два потока, исполняющие один код я запустить уже не смогу.

C>>А контекст нужно передавать ВСЕГДА (в 99.99% случаев), иногда только
C>>можно для целей оптимизации использовать глобальные переменные.

СГ>А если система встроенная и там потоков нет?


Т.е. получаем, что оберон имеет всего лишь узкую нишу применения и не более того? Приведи-ка, плиз, реализации его в embedded systems, если не трудно, конечно...
(просто интересно )
Re[14]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 08:56
Оценка: :)
Здравствуйте, Курилка, Вы писали:


К>Берём ситуацию, что в with ты забудешь один из типов по запарке, бывает такое, ну и оберон твой нихрена не скажет, всё будет ништяк, но работать-то будет в итоге прога не правильно.



If no type test is satisfied and if an ELSE clause is missing the program is aborted.
Re[12]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 09:00
Оценка: :))) :)
Здравствуйте, Курилка, Вы писали:

К> Приведи-ка, плиз, реализации его в embedded systems, если не трудно, конечно...

К>(просто интересно )

Несколько ссылок можно найти там: http://www.inr.ac.ru/~info21/info/wirth_avia.htm

Еще один проект, в котором Н.Вирт участвовал в течение нескольких лет начиная с 1995 г., был посвящен созданию беспилотного вертолета, способного автономно пролететь по заданному маршруту (проект, предпринятый в the Institute of Automatic Control and Measurement; создание "умных" беспилотных летательных аппаратов вызывает огромный интерес во всем мире, в том числе и в России, и прежде всего, конечно, у военных). Н.Вирт написал для проекта все программное обеспечение, начиная с компилятора для процессора StrongARM и кончая бортовой управляющей системой реального времени. Бортовой компьютер (получивший, кстати, имя OLGA = Oberon Language Goes Airborne) оказался настолько компактным благодаря компактности и эффективности получившихся программ (использовалось подмножество языка Оберон), что вес машины удалось резко снизить по сравнению с предыдущими версиями конструкции — всего до 15 кг. (Потомки компьютера OLGA используются в компании weControl.)

Читатель может прикинуть, сколько весила бы машина, если бы ее ПО создавалось на основе таких популярных языков как Java или C++ — и когда был бы закончен проект. В качестве масштабного множителя можно предложить отношение объемов описаний языков — 16 стр. для Оберона, 200 для Java и больше 1000 для C++. )

Re[15]: Оберон vs все остальное
От: Курилка Россия http://kirya.narod.ru/
Дата: 14.01.05 09:01
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Курилка, Вы писали:



К>>Берём ситуацию, что в with ты забудешь один из типов по запарке, бывает такое, ну и оберон твой нихрена не скажет, всё будет ништяк, но работать-то будет в итоге прога не правильно.



СГ> If no type test is satisfied and if an ELSE clause is missing the program is aborted.


Супер
Значит вместо ошибки компиляции мы получим, что у заказчика прога просто закроется ничего даже не сказав, нет, ну такие системы понравятся заказчикам, особенно в критически важных приложениях такое поведение просто то, что нужно!
Re[13]: Оберон vs все остальное
От: Cyberax Марс  
Дата: 14.01.05 09:07
Оценка: 1 (1) +4
Сергей Губанов пишет:

> Бортовой компьютер (получивший, кстати, имя OLGA = Oberon Language

> Goes Airborne) оказался настолько компактным благодаря компактности и
> эффективности получившихся программ (использовалось подмножество языка
> Оберон), что вес машины удалось резко снизить по сравнению с
> предыдущими версиями конструкции — всего до 15 кг. (Потомки компьютера
> OLGA используются в компании weControl.)
>
Ой, ну не надо ля-ля. Однокристалки в 10 грамм веса с JVM на борту
сейчас почти в каждом мобильнике.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[15]: Оберон vs все остальное
От: Курилка Россия http://kirya.narod.ru/
Дата: 14.01.05 09:08
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Курилка, Вы писали:



К>>Берём ситуацию, что в with ты забудешь один из типов по запарке, бывает такое, ну и оберон твой нихрена не скажет, всё будет ништяк, но работать-то будет в итоге прога не правильно.



СГ> If no type test is satisfied and if an ELSE clause is missing the program is aborted.



Теперь подумай о "грязности"

— И эти люди запрещают мне в носу ковыряться? (ц) Вовочка
Re[15]: Оберон vs все остальное
От: Кодёнок  
Дата: 14.01.05 09:28
Оценка:
К>>Берём ситуацию, что в with ты забудешь один из типов по запарке, бывает такое, ну и оберон твой нихрена не скажет, всё будет ништяк, но работать-то будет в итоге прога не правильно.

СГ> If no type test is satisfied and if an ELSE clause is missing the program is aborted.


Бедный беспилотный вертолет! . Хочешь доказать, что одну дополнительную проверку правильности программы можно переложить на рантайм?
Re[13]: Оберон vs все остальное
От: Кодёнок  
Дата: 14.01.05 09:46
Оценка:
СГ>Еще один проект, в котором Н.Вирт участвовал в течение нескольких лет начиная с 1995 г.,

Вирт добивается успеха не потому что использует Оберон, а потому что он Вирт Как будто, если бы он был вынужден исопльзовать С++, этот вертолет ждал бы полный крах! Или ему бы потребовалось времени больше? (Только если языка не знает ) Или отлаживал бы дольше?

СГ>Читатель может прикинуть, сколько весила бы машина, если бы ее ПО создавалось на основе таких популярных языков как Java или C++ — и когда был бы закончен проект. В качестве масштабного множителя можно предложить отношение объемов описаний языков — 16 стр. для Оберона, 200 для Java и больше 1000 для C++. )


Не может читатель такого прикинуть, т.к. принципиальной разницы между Oberon и Java, например, в данном случае не видит. Половину восхвалений Вирта и Оберона можно было заменить на объяснение, какова принципиальная проблема в использовании другого языка? Java например.
Re[14]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 09:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ой, ну не надо ля-ля. Однокристалки в 10 грамм веса с JVM на борту

C>сейчас почти в каждом мобильнике.

Да я не против Java или даже C#, я против Си/Си++.

Только у Java и C# есть свои области применения (интернет/бизнес), а вот Си/Си++ позиционируются как системный/универсальный, так вот языки Oberon/Component Pascal позиционируются тоже как системный/универсальный как раз вместо Си/Си++, но не вместо Java и C#.
Re[15]: Оберон vs все остальное
От: Курилка Россия http://kirya.narod.ru/
Дата: 14.01.05 10:03
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Только у Java и C# есть свои области применения (интернет/бизнес), а вот Си/Си++ позиционируются как системный/универсальный, так вот языки Oberon/Component Pascal позиционируются тоже как системный/универсальный как раз вместо Си/Си++, но не вместо Java и C#.


А какже сказанное тобою тут про встроенные системы и отсутствие потоков? Как это с универсальностью соотносится?
Re[14]: Системность
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 10:23
Оценка: :)
Здравствуйте, Кодёнок, Вы писали:

Кё> ...объяснение, какова принципиальная проблема в использовании другого языка? Java например.


Причина просто в том что Oberon — системный язык, в то время как Java или С# таковыми не являются.

Просто посмотрим на типы данных:

RECORD — запись в памяти, переменная размещается статически на стеке (аналог struct в C#, Java — просто отдыхает)

EXTENSIBLE RECORD, ABSTRACT RECORD — тоже самое, но с возможностью расширения типа (C# + Java отдыхают вместе, в Java нет статики, а в C# нет наследования от value type)

POINTER TO RECORD, POINTER TO EXTENSIBLE RECORD, POINTER TO ABSTRACT RECORD — в C# и Java этому эквивалентны sealed class, class и в некотором смысле interface, хотя ABSTRACT RECORD может иметь данные, в то время как интерфейс может иметь только методы.

ARRAY Dim1, Dim2, Dim3,... OF SomeType — многомерный массив чего-то, который размещается на стеке (C# + Java отдыхают вместе — там массивов на стеке не бывает)

POINTER TO ARRAY Dim1, Dim2, Dim3,... OF SomeType тот же массив только в динамической памяти

POINTER TO ARRAY OF SomeType динамический массив — только такие есть в Java и C#.


Передача параметров по ссылке (VAR, IN, OUT), например, процедуре

PROCEDURE f(VAR points: ARRAY OF REAL);

можно передать:
p1: ARRAY N OF REAL; (* статический массив *)
p2: POINTER TO ARRAY OF REAL; (* динамический массив *)
VAR|IN|OUT p3: ARRAY OF REAL; (* ссылка на массив полученная как входной параметр в объемлющей процедуре. Например для рекурсии, когда f(points) вызывает себя передавая points — полученный ею самой на предыдущем шаге рекурсии *)


Короче говоря, в языках Java и C# просто нету возможности создавать системно необходимые типы данных.
Re[15]: Оберон vs все остальное
От: Кодёнок  
Дата: 14.01.05 10:23
Оценка:
C>>Ой, ну не надо ля-ля. Однокристалки в 10 грамм веса с JVM на борту
C>>сейчас почти в каждом мобильнике.

СГ>Да я не против Java или даже C#, я против Си/Си++.


СГ>Только у Java и C# есть свои области применения (интернет/бизнес), а вот Си/Си++ позиционируются как системный/универсальный, так вот языки Oberon/Component Pascal позиционируются тоже как системный/универсальный как раз вместо Си/Си++, но не вместо Java и C#.


Мало ли что как позиционируется. Интересно, что они реально могут. А как тут уже показали на паре примеров, до универсальности им далеко, и даже попыток что-то не делается.

P.S. Microsoft не суется с Windows во встроенные системы с повышенными требованиями к надежности, а Вирт похоже не собирается приводить язык на рынок бизнес- и десктопных приложений. А если кто-то возьмется, тот тут-то и начнутся в правильном и красивом языке хак на хаке и разные расширения компилятора, как у Borland. В научных статьях Вирта оно конечно здорово смотрится но не более того.
Re[16]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 10:25
Оценка:
Здравствуйте, Курилка, Вы писали:

К>А какже сказанное тобою тут про встроенные системы и отсутствие потоков? Как это с универсальностью соотносится?


Так ведь в Си/Си++ многопоточность тоже появляется только через внешние библиотеки.
Re[15]: Системность
От: Кодёнок  
Дата: 14.01.05 10:30
Оценка:
Кё>> ...объяснение, какова принципиальная проблема в использовании другого языка? Java например.

СГ>Причина просто в том что Oberon — системный язык, в то время как Java или С# таковыми не являются.


СГ>Просто посмотрим на типы данных:


Ну не все так плохо с Java Железо может быть специально предназначено для JVM и только для нее. Но можно признать. А почему тогда не C++?
Re[16]: Системность
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 10:43
Оценка: :)
Здравствуйте, Кодёнок, Вы писали:

Кё> А почему тогда не C++?


А потому что:

1) Полное исчерпывающее описание Оберона занимает 16-30 страниц (в зависимости от шрифта), а полное исчерпывающее описание С++ занимает несколько сотен страниц. Проблема обучения.

2) Сколько ресурсов надо затратить чтобы написать новый правильно работающий компилятор С++ под новый тип чипа просто не сопоставимо с той же работой для Оберона. В ETH портирование Оберона на новый тип чипа делают студенты за месяц.

3) Сопровождение кода на С++ эффективно может делать только автор этого кода, любой другой программист лучше заново по своему напишет чем разбереться с уже написанным.

4) С++ — unsafe, Оберон — safe (работа с адресной арифметикой, если таковая необходима, в Обероне осуществляется через внешние библиотеки).
Re[17]: Оберон vs все остальное
От: Cyberax Марс  
Дата: 14.01.05 10:44
Оценка: +1
Сергей Губанов пишет:

> К>А какже сказанное тобою тут про встроенные системы и отсутствие

> потоков? Как это с универсальностью соотносится?
> Так ведь в Си/Си++ многопоточность тоже появляется только через
> внешние библиотеки.

Так ведь в языке С++ есть все средства, чтобы многопоточность можно было
сделать библиотеками (кстати, а в Oberon'е есть volatile?). В этом-то и
суть С++ — к нему с помощью библиотек почти все можно подключить.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[15]: Системность
От: Cyberax Марс  
Дата: 14.01.05 10:47
Оценка:
Сергей Губанов пишет:

> Кё> ...объяснение, какова принципиальная проблема в использовании

> другого языка? Java например.
> Причина просто в том что Oberon — системный язык, в то время как Java
> или С# таковыми не являются.

Да какой он, нафиг, системный? Он же не умеет работать без GC и
runtime-системы. Он такой же системный как и Java.

Системный язык — это С, с натяжкой, С++.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[15]: Оберон vs все остальное
От: Cyberax Марс  
Дата: 14.01.05 10:50
Оценка:
Сергей Губанов пишет:

> C>Ой, ну не надо ля-ля. Однокристалки в 10 грамм веса с JVM на борту

> C>сейчас почти в каждом мобильнике.
> Да я не против Java или даже C#, я против Си/Си++.
> Только у Java и C# есть свои области применения (интернет/бизнес), а
> вот Си/Си++ позиционируются как системный/универсальный

А он такой и есть, так как существует множество _работающих_ систем всех
видов на С++. Начиная от ОС и кончая сложными бизнес-приложениями. Это
доказательство того, что С++ — универсальный.

> так вот языки Oberon/Component Pascal позиционируются тоже как

> системный/универсальный как раз вместо Си/Си++, но не вместо Java и C#.

Только вот себя они не доказали на реальных примерах (да и не докажут —
нафиг они никому кроме Вирта не нужны).

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[16]: Системность
От: tarkil Россия http://5209.copi.ru/
Дата: 14.01.05 10:51
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Системный язык — это С, с натяжкой, С++.


А почему С++ — с натяжкой?
--
wbr, Peter Taran
Re[10]: Оберон vs все остальное
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 10:51
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>ИМХО только благодаря "борландовским поделкам" паскаль все еще остается популярным.


Однако Delphi 8, Delphi 2005 многих разочаровали. Например я так и остался на Delphi 7, а есть люди оставшиеся на Delphi 6 (поскольку в семерке для них ничего нового не было а QReports был заменен на Rave) или даже на Delphi 5.


Ошибки и особенности обнаруженные в Delphi 2005
http://asysoev.nm.ru/ForForums/Delphi2005_is_Bugs_Bag.htm
последнее обновление 11.01.2005 число записей 17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.