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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  09:51[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

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

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

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


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

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

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

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

<<<... | 5206—5197 | 5196—5187 | 5186—5177 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 107


№ 5196   25-09-2007 02:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5192« (Стэн)
___________________________
По крайней мере, Оберон здесь не хуже любого другого языка. И не понимаю, с чем вы спорите. Вам говорят, что Оберон лучше других решает какую-то задачу, а вы отвечаете, что зато, мол, совсем другую задачу он решает не лучше других. Ну и что? То, что он решает первую - уже достоинство.


№ 5195   25-09-2007 02:43 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5190« (Стэн)
___________________________

Ответ на »сообщение 5189« (AVC)
___________________________
>>> Например, Вы написали Замечательную Функцию :) , суммирующую некий ряд:
Ладно, на самом деле на С это делается так:
#define SIZE  100

int a[ SIZE ];
int s = sum( a, SIZE );
А на С++ вообще не надо выпендриваться:
int s = std::accumulate( a.begin(), a.end(), 0 );

Какой всё-таки ужас этот ваш С++... То ли дело Хаскелл:

s = sum a



№ 5194   25-09-2007 02:42 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5193« (Beginner)
___________________________

FAX - это будет переменная или константа типа char ?

Идентификатор, потому что константа типа Char обязана начинаться с digit, а F - это не digit, это hexDigit. Соответственно, константа типа Char записывается как 0FAX.


№ 5193   25-09-2007 02:32 Ответить на это сообщение Ответить на это сообщение с цитированием
Читаю описание Оберона.

ident = letter {letter | digit}.
...
CharConstant = """ character """ | digit {hexDigit} "X".

Внимание, вопрос!
FAX - это будет переменная или константа типа char ?


№ 5192   25-09-2007 01:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5191« (Антон Григорьев)
___________________________
>>> А вы не путайте корректность самих данных и корректность размещения данных в памяти. Оберон гарантирует, что если на массив выделено 100 байт, то к 101-му байту через этот массив вы доступ не получите. Это уже очень много. А целостность тех данных, которые лежат в этом массиве - это уже действительно задача не компилятора.
А я ничего и не путаю... а говорю о том, что контролируемые массивы это конечно хорошо, но это не панацея. И аргументы типа: "а вот в С программист сам должен следить за размерами массива, а вот Оберон сам все делает", либо закрывание глаз на общую проблему, либо постулирование, что мы ограничиваемся только определенным очень узким классом задача...
Вот идет сборка сетевого потока пакетами по 100 байт, а иногда приходят по 80. И в результате необходимо следить за размерами приходящих пакетов, и укладывать их в динамические структуры, которые все равно руками придется описывать, если объем потока очень большой... И где Оберон?


№ 5191   24-09-2007 23:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5190« (Стэн)
___________________________

И вот такой Вам вопрос: А может Оберон гарантировать, что из сети поступят именно 100 байт, а не 80 (хакерская атака на реализацию протокола)? Что-то мне подсказывает, что нет... Все равно программист должен следить за корректностью обращения с данными...

А вы не путайте корректность самих данных и корректность размещения данных в памяти. Оберон гарантирует, что если на массив выделено 100 байт, то к 101-му байту через этот массив вы доступ не получите. Это уже очень много. А целостность тех данных, которые лежат в этом массиве - это уже действительно задача не компилятора.


№ 5190   24-09-2007 16:49 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5189« (AVC)
___________________________
>>> Например, Вы написали Замечательную Функцию :) , суммирующую некий ряд:
Ладно, на самом деле на С это делается так:

#define SIZE  100

int a[ SIZE ];
int s = sum( a, SIZE );


А на С++ вообще не надо выпендриваться:

int s = std::accumulate( a.begin(), a.end(), 0 );



И вот такой Вам вопрос: А может Оберон гарантировать, что из сети поступят именно 100 байт, а не 80 (хакерская атака на реализацию протокола)? Что-то мне подсказывает, что нет... Все равно программист должен следить за корректностью обращения с данными...



№ 5189   24-09-2007 15:06 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5166« (Стэн)
___________________________

Ответ на »сообщение 5161« (AVC)
___________________________
>>> Представьте, что a -- массив, переданный как параметр некоей функции.
Вот представить это гораздо проще... Так как в С существуют два вида массивов - строки и все остальные. И строки обрабатываются очень легко, а для всех остальных передается длинна...


И кто/что гарантирует передачу размера массива?
Компилятор?
Нет, сишный компилятор себя этим не утруждает (в отличие от обероновского).
Если же Вы имеете в виду, что это должен делать программист, то, опять же, где средства контроля?
(Это старая тема "Почему бы нам не писать все на ассемблере?")
Например, Вы написали Замечательную Функцию :) , суммирующую некий ряд:

int sum(int *a, size_t n)
{
    int s = 0;
    while (n-- > 0)
        s += *a++;
    return s;
}


А программист, использующий эту функцию, взял и машинально написал (если взять недавний случай):

    s = sum(a, sizeof a);

 AVC


№ 5188   24-09-2007 15:04 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5181« (Илья Ермаков)
___________________________

Интересно почитать Кауфмана "Языки программирования" (Руслан, наверное, может посодействовать ссылкой).
Вот ссылки на некоторые позабытые полезные книги по языкам программирования:

1. В.Ш.Кауфман "Языки программирования. Концепции и принципы" (1986)
http://www.europrog.ru/book/plvk1986r.pdf (1,8 Мбайт)

2. С.Янг "Алгоритмические языки реального времени. Конструирование и разработка" (1986)
http://www.europrog.ru/book/rtsy1986r.pdf (2,8 Мбайт)

3. Р.Бар "Язык Ада в проектировании систем" (1988)
http://www.europrog.ru/book/adrb1988r.pdf (17 Мбайт)
http://www.europrog.ru/book/adrb1988r.djvu (2,9 Мбайт)

4. Дал У.-И., Мюрхауг Б., Нюгорд К. "Симула-67. Универсальный язык программирования" (1969)
http://www.europrog.ru/book/smod1969r.pdf (4 Мбайт)
http://www.europrog.ru/book/smod1969r.djvu (1 Мбайт)


№ 5187   24-09-2007 14:56 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5186« (pepper)
___________________________

Вроде хаскеля :)

Раз мы именно его планируем в "Росе", то не вижу проблем. Зачем еще куда-то что-то прикручивать.

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

Мне это чем-то напомнило фразу Дейкстры: "Эта линия защиты столь же убедительна, сколь и аргумент, что курение полезно для здоровья, потому что так много людей курят". Цену вопроса неплохо знать. Как бы не пришлось потом оплачивать по счетам за такое кредитование.


<<<... | 5206—5197 | 5196—5187 | 5186—5177 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 107


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

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

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

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

Перейти на конкретную страницу по номеру
  
Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

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