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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 5636—5627 | 5626—5617 | 5616—5607 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 64


№ 5626   20-10-2007 05:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5624« (Geniepro)
___________________________

Ада, конечно, хороший язык, но побочные эффекты функциям, увы, не запрещает...
<...>
Так что увы и ах...


Так в этом смысле и Лисп их не запрещает...
Интересно, почему большинство языков (в т.ч. хороших) не торопится с полным запретом побочных эффектов хотя бы в функциях?
 AVC


№ 5625   20-10-2007 05:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5622« (Geniepro)
___________________________

Ответ на »сообщение 5619« (info21)
___________________________

Так эта... Хм... Не будет профессионалов -- будут непрофессилоналы. Это ещё хуже... :о)


Во-первых, прочитайте внимательно мое сообщение.
Во-вторых, смотря какие профессионалы.

Мои непрофессионалы дадут лично Вам фору насчет инвариантов цикла, будьте спокойны.


№ 5624   20-10-2007 05:34 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5621« (AVC)
___________________________

Geniepro хвалит Аду за "правильный" цикл for и отсутствие побочных эффектов в функциях.
Побочные эффекты, по идее, должны концентрироваться в proper procedures.

Ада, конечно, хороший язык, но побочные эффекты функциям, увы, не запрещает...

with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;

procedure Test is
 
  X : Integer := 0;
 
  function F(V : in out Integer) return Integer is
                  -- Error: function can only have "in" parameters
  begin
      V := V + 1; -- Error: assignment to "in" mode parameter not allowed
      X := X - 1; -- Побочный эффект, пропущенный компилятором как допустимый в Аде
      Put (X);    -- Аналогично - ввод/вывод ведь тоже побочный эффект...
      return V;
  end F;

begin
  for I in 1..5 loop
      I := 1;    -- Error: assignment to loop parameter not allowed
      Put (F(I));
  end loop;
  Put (I);      -- Error: "I" is undefined
end Test;


Так что увы и ах...


№ 5623   20-10-2007 05:29 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5622« (Geniepro)
___________________________

Ответ на »сообщение 5619« (info21)
___________________________
Так эта... Хм... Не будет профессионалов -- будут непрофессилоналы. Это ещё хуже... :о)

Имеется ввиду подготовка грамотных программистов из "предметников". Чтобы программировали люди, "повёрнутые" на решение реальных задач наиболее эффективными методами программирования, а не на ловлю кайфа от комбинирование искусственных артефактов-фич :-)
Такие "непрофессионалы" будут формировать спрос на эффективные для опять же реальных задач инструменты. А уже сообщество программистов-профессионалов (системщиков) будет вынуждено разрабатывать такие инструменты под здоровый спрос, а не "от балды".


№ 5622   20-10-2007 05:11 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5619« (info21)
___________________________

Так эта... Хм... Не будет профессионалов -- будут непрофессилоналы. Это ещё хуже... :о)


№ 5621   20-10-2007 04:16 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5618« (Jack Of Shadows)
___________________________

Ответ на »сообщение 5617« (AVC)
___________________________
Просто добавим соответствующую опцию компиляции, и компилятор не пропустит "неграмотный" код.
Это невозможно сделать просто опцией компилятора.
Подумайте сами. Любая мало мальски большая программы будет содержать как минимум одну функцию с побочным эффектом.

Почему? Ведь все тут в один голос говорят, что это неправильно.
Geniepro хвалит Аду за "правильный" цикл for и отсутствие побочных эффектов в функциях.
Побочные эффекты, по идее, должны концентрироваться в proper procedures.
 AVC


№ 5620   20-10-2007 03:51 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5616« (Стэн)
___________________________

Ответ на »сообщение 5612« (Илья Ермаков)
___________________________
В котором явно видно, что при определенных условиях появляется зависимость от порядка операндов в условном выражении цикла. Это что, грамотно по-вашему?

Естественно - это безграмотно. То, что выражения и функции не должны иметь побочных эффектов - это азы. Которые объясняются в правильных базовых курсах программирования сразу же, как только объясняются выражения и функции.
Или Вы хотите иметь предохранитель от дурости? Так это уже мало относится к вопросу правильных и неправильных циклов. Переходите на ФЯ, там этот предохранитель есть :-) Но за всё придётся платить.


№ 5619   20-10-2007 03:21 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5605« (Geniepro)
___________________________

И вапще! Нет программиста -- нет проблемы! :о)

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

РЕДУЦИРОВАТЬ КАК КЛАСС


№ 5618   20-10-2007 03:19 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5617« (AVC)
___________________________
Просто добавим соответствующую опцию компиляции, и компилятор не пропустит "неграмотный" код.
Это невозможно сделать просто опцией компилятора.
Подумайте сами. Любая мало мальски большая программы будет содержать как минимум одну функцию с побочным эффектом.
Это означает что опцию запрещающюю ВААБЩЕ побочные эффекты в функциях просто невозможно будет применять.
Единственный способ - это самому явно помечать какие функции с побочными эффектами, чтобы компилятор их пропустил. Но в таком случае вы приходите...к хаскелю :))


№ 5617   20-10-2007 03:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5611« (Стэн)
___________________________

В теории действительно здорово и просто:
while B do S;
Но кто может доказать, что реализация этого выражения будет гарантировать отсутствие side-effect'ов, подобно тем, что я приводил в »сообщение 5606«?

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


<<<... | 5636—5627 | 5626—5617 | 5616—5607 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 64


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

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

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

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

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

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