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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 5786—5777 | 5776—5767 | 5766—5757 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 49


№ 5776   26-10-2007 16:28 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5775« (Сергей Перовский)
___________________________

Есть у меня коллега, очень толковый программист. Как доходит до оператора For он жалобно спрашивает: "тут единичку вычитать надо?".

В Обероне с этим просто. Ответ: надо. :)
 AVC


№ 5775   26-10-2007 16:10 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5773« (AVC)
___________________________
Если foreach действительно нужен (вряд ли это так в случае простого массива)...
Есть у меня коллега, очень толковый программист. Как доходит до оператора For он жалобно спрашивает: "тут единичку вычитать надо?". За пятнадцать лет работы программистом он считанные разы правильно поставил граничные значения переменной цикла. Вот такая особенность мышления. Если бы он мог просто написать foreach для массива, сколько бы времени сэкономил...
А объект-контейнер с методом foreach мы писать пробовали, вот только туда нужно процедуру подставлять, для пары операторов это неудобно. Сразу встает вопрос о введении анонимных функций и т.д.


№ 5774   26-10-2007 15:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5773« (AVC)
___________________________
>>> Если foreach действительно нужен (вряд ли это так в случае простого массива), почему бы его не экспортировать в качестве процедуры из модуля, определяющего соответствующую структуру данных?
Лучше спросить о том, почему никто так обычно не делает на языках тип C, Оберон, Delphi (7.0)...
А ответ очень простой - таким решением почти невозможно нормально пользоваться. Вы просто так не напишите код типа:

ls = [1,2,3,4,5,6,7]
a  = 3;
foreach (l in ls)
  print(l + a);
end;


или

ls = [1,2,3,4,5,6,7]
proc x =
  map (\y => y + x) ls
proc 3



№ 5773   26-10-2007 15:38 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5768« (Сергей Перовский)
___________________________

Избыточная или нет конструкция FOR? Для кого-то избыточная, а для кого-то и foreach совершенно необходимая конструкция.

Если foreach действительно нужен (вряд ли это так в случае простого массива), почему бы его не экспортировать в качестве процедуры из модуля, определяющего соответствующую структуру данных?
Будет ли компилятор транслировать foreach в одинаковый код для произвольных структур данных?
 AVC


№ 5772   26-10-2007 15:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5769« (Jack Of Shadows)
___________________________
Как можно говорить о "задачах которые привычны" в отношении к универсальному языку программирования ?
А как можно не говорить? Разработка языка дело субъективное и зависит от личного опыта. Человек писал некоторые программы на некоторых языках и почувствовал, что его что-то не устраивает. Определенные задачи на определенных языках решались неудобно. И он создает новый язык, на котором ЭТИ задачи решать удобно. То, что упрощая решение одних задач он усложняет решение других, остается незаметным.
Люди, которые решают задачи, сходные с задачами автора в восторге.
Те, кто решает принципиально другие задачи в недоумении.

Вот мы решаем очень разные задачи и оцениваем языки и компиляторы с очень разных позиций. Для Вас крайне важно наличие сборщика мусора, а для меня безразлично. В большинстве моих задач моменты создания/уничтожения объектов (выделения/освобождения памяти) определяются математически задолго до всякого программирования.
А Илья Ермаков использует язык программирования, прежде всего как инструмент мышления и автоматический вывод типов для него смысла не имеет.

Все очень субъективно и единой истины тут нет.


№ 5771   26-10-2007 13:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5770« (Stargazer)
___________________________
Угу, индустрии настоящие бойцы не нужны, индустрии нужно мясо, да побольше.

Настоящие бойцы нужны всем. У вас есть методика выращивания "настоящих бойцов" в миллионных количествах в короткие сроки ?
Вы знаете как заменить пехоту на спецназ ? Бегом в министерство обороны! Сразу станете министром :))

НУ а если серьезно, то вся история развития человечества говорит в пользу автоматизации.
Автоматизация всегда лучше ручной, пусть даже и высокопрофессиональной работы.
Спросите у расстрелянных самураев.


№ 5770   26-10-2007 13:14 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5769« (Jack Of Shadows)
___________________________
На воспитании монахов шаолиньского монастыря оберона, индустрию необходимым количеством программистов не обеспечить.


Угу, индустрии настоящие бойцы не нужны, индустрии нужно мясо, да побольше.


№ 5769   26-10-2007 12:20 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5768« (Сергей Перовский)
___________________________
Виртовские языки отражают не только его четкость мышления, но и те задачи, которые для него привычны.

Виртовские зяки отражают только лишь мнение Вирта :)) Как можно говорить о "задачах которые привычны" в отношении к универсальному языку программирования ? Это же вам не sql и не пролог.
Существует два подхода в написании компиляторов.
Первый - как можно меньше работы разработчику компилятора.
Второй - Как можно меньше работы пользователю компилятора.

Например в первом случае на программиста возлагается задача освобождения памяти вручную. Зато разработчику компилятора легче. Не нужно заморачиваться со сборщиком мусора.
Во втором случае от программиста это не требуется. Это задача уже возлагается на разработчика компилятора и виртуальной машины.

Позиция Вирта непоследовательна.
В некоторых случаях (как например со сборщиком мусора) он соглашается усложнить компилятор. В других - например декларация типов, по старнике возлагает эту задачу на программиста.
Почему ? Разве нельзя выводить типы ? Можно, и механизм уже давно отработан.
Разве при этом теряется строгая типизация и ошибки о несовместимости типов на этапе компиляции ? Нет, компилятор все также прекрасно ловит эти ошибки.
Разве теряется возможность определать типы вручную если на то есть надобность ? Нет, во всех ML языках можно точно также вручную определать типы.
Разве при этом падает производительность программ ? Нет. OCAML например быстрее любого паскаля и оберона.

Но вот возни с выведением типов для разработчика компилятора много. Понять Вирта можно. Он уже старичок. Самому возиться ему неохота и времени уже нет. Мешка денег на команду раработчиков у него тоже нет.
Да какое там выведение типов. Тут даже от перечислимых типов приходится отказываться :))

Для Вирта это может быть логическое завершение его долгого пути в программировании.
Для нас же с вами - это тупик.
Чтобы двигаться дальше нужно продолжать усложнять компилятор, возлагая на него все больше и больше задач.
На воспитании монахов шаолиньского монастыря оберона, индустрию необходимым количеством программистов не обеспечить.


№ 5768   26-10-2007 06:39 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5767« (Дядя .СЭМ)
___________________________
следуя обоим пунктам можно сделать компилятор проще... 
+1
Язык невозможно оценивать безотносительно к области решаемых задач.
Избыточная или нет конструкция FOR? Для кого-то избыточная, а для кого-то и foreach совершенно необходимая конструкция.
Нужен ли сверлильный станок, если есть токарный? Если сверлить раз в год, то не нужен - да здравствует минимализм. А если каждые пять минут?
Виртовские языки отражают не только его четкость мышления, но и те задачи, которые для него привычны.


№ 5767   25-10-2007 20:38 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5762« (info21)
___________________________

- Если бы сейчас была дискуссия, - начала женщина, волнуясь и загораясь румянцем, - я бы доказала Петру Александровичу...
М. Булгаков "Собачье сердце"


И все-таки не все так просто, пара утверждений:

1. всю целочисленную арифметику можно реализовать с помощью одной операции - вычитания.
2. практически все управляющие конструкции языка программирования можно заменить на комбинации IF и GOTO без потери функциональности.

следуя обоим пунктам можно сделать компилятор проще...  со всеми вытекающими последствиями для корректности, надежности, переносимости ...

Не могу отнести полноценную реализацию целочисленной арифметики или управляющих структур языка к избыточной сложности. Так что с этих позиций сложность реализации компилятора не может служить прямым мерилом избыточной сложности.

В случае с FOR наверное все-таки более корректно говорить об избыточной сложности существующих реализаций самого оператора.


<<<... | 5786—5777 | 5776—5767 | 5766—5757 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 49


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

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

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

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

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

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