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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 5716—5707 | 5706—5697 | 5696—5687 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 56


№ 5706   21-10-2007 12:29 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5704« (Jack Of Shadows)
___________________________

Ответ на »сообщение 5690« (Илья Ермаков)
___________________________

Это настолько типовые схемы циклов, что знающий их человек не забудет.

Ага, ну просто как free после new. Знающий человек ведь точно не забудет, правильно ?
В который раз уже встречаю этого мифического "знающего человека" на ветках по оберону. Просто снежный человек какой то :))

Я смеюсь :-) Уровень нормально обученного 11-классника.
Сравнение с free, которое Вы любите, некорректно. Ибо определить, когда объект больше недоступен, машина может, а вот выразить в коде то, что Вы думаете - нет. И не надо опять пропагандировать ФП - то, что я думаю, разрабатывая, к примеру, рантайм или диспетчер памяти, ФП мне выразить слабо поможет. Скорее помешает.


№ 5705   21-10-2007 12:15 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5704« (Jack Of Shadows)
___________________________
Прикол, я думал тег код подсветит exit - Это ведь служебное слово дельфи. А оказалось что подсветка кода не delphikingdom тоже в бедных родственниках ходит.
Вот откуда боязнь break происходит :))


№ 5704   21-10-2007 12:11 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5690« (Илья Ермаков)
___________________________

Это настолько типовые схемы циклов, что знающий их человек не забудет.

Ага, ну просто как free после new. Знающий человек ведь точно не забудет, правильно ?
В который раз уже встречаю этого мифического "знающего человека" на ветках по оберону. Просто снежный человек какой то :))


А вот забыть или незаметить, где в каждом "неповторимо сымпровизированном" цикле стоит break и когда он выполняется - проще простого.


В бедном обероне, в котором для выделения служебных слов используются ПРОПИСНЫЕ быквы вместо цвета и жирности фонта, это конечно проблема. Могут и не заметить.
А вот в любой нормальной IDE в которой


exit;


Выглядит вот так вот, трудно не заметить.
Кстати для дельфи есть такой навесной плагин как CodeRush. Так вот там все выходы из цикла, функций и процедур, то есть все exit, return, Abort итд, помечаются красивой красной стрелкой. Не заметить которую надо очень постараться :))
Вот вам грамотное решение этой роблемы, вместо того чтобы убирать из языка весьма полезные конструкции.
Но каждый ведь идет своим путем, правильно ?


№ 5703   21-10-2007 11:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5661« (pepper)
___________________________
Илья, ты серьезно предпочел бы "лечь под нож" компьютера, запрограммированного врачом (пусть даже на обероне), чем профессиональным программистом?
Если на обероне - то нет. А если на языке описания полостных операций, то да.

Вот негипотетический пример. CAD система TFlex представляет собой систему построения параметрических моделей - для простоты параметрических чертежей. Конструктор описывает зависимости элементов конструкции на двух специализированных языках: языке геометрических построений и языке алгебраических формул. С теми и другими он прекрасно знаком и никакого программиста ему не требуется. В некоторых редких случаях, эта декларативная система работает недостаточно быстро и требуется писать императивные вставки. Тогда зовут программиста (в частности меня) и объясняют, что вот эту последовательность действий нужно автоматизировать. Но и тут проявляется не преимущество профессионального программиста над специалистом в прикладной области, а только более высокая эффективность императивной программы.


№ 5702   21-10-2007 11:01 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5700« (Стэн)
___________________________

Ответ на »сообщение 5695« (Илья Ермаков)
Ошибаетесь, нет у меня замкнутого круга. У меня есть опыт участия в реальных проектах, где мне приходилось разбираться в чужом коде, написанном в шестистраничном стиле, и я знаю, что значит искать в нем ошибки... Приходится код переписывать строчка за строчкой, чтобы найти ошибки...

Слабо я понимаю Ваш ход мыслей. Например, ну никак не вижу связи между использованием того или иного вида циклов и количеством старниц в их теле :-) Это в любом случае плохо, но BREAK от этого никак не спасает. А иногда даже провоцирует (как в приведённом Вами примере из Активного Оберона).



№ 5701   21-10-2007 10:24 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5661« (pepper)
___________________________
Я бы однозначно предпоче врача.


№ 5700   21-10-2007 09:52 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5695« (Илья Ермаков)
___________________________
>>> А в обсуждаемых примерах не было ни side-effects, ни передачи параметров по ссылкам.
Мы же здесь рассматриваем вопрос в общем, а не частный пример... А в общем они быть могут, в этом то все и дело...

>>> ...большинство циклов с ними становятся похожи один на другой...
Похожи. И я полностью с этим согласен. Только вот читать шестистраничный код одной функции, где все циклы похожи как близнецы братья, и где понять, что же в этом коде происходит, можно только помня состояния переменных - крайне затруднительно...

>>> В Вашем сознании, прошу прощения, замкнутый круг - пока не попробуете, не видите преимуществ, а не видите, потому что не пробовали :-)
Ошибаетесь, нет у меня замкнутого круга. У меня есть опыт участия в реальных проектах, где мне приходилось разбираться в чужом коде, написанном в шестистраничном стиле, и я знаю, что значит искать в нем ошибки... Приходится код переписывать строчка за строчкой, чтобы найти ошибки...

>>> И предлагаете всем заняться изобретательством велосипедов на основе занимательного комбинаторного конструктора FOR-BREAK.
Ничего подобного я не предлагаю, а просто показываю, что на практике разница далеко не так однозначна, как это следует из теории...
А после знакомства с функциональными языками, я бы предложил всем перейти на них... ;-) Только там реализации компиляторов должны иметь очень мощные внутренние оптимизаторы кода, а иначе результат буде еще хуже чем на императивных языках...


№ 5699   21-10-2007 09:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5698« (Стэн)
___________________________

Ответ на »сообщение 5693« (Илья Ермаков)
___________________________
Какая разница, что искать - место с BREAK или некорректную логику присваивание условной переменной?
При этом Вы сослались на удобства понимания и чтения, ну вот я их и продемонстрировал...

Вот и я о том - чем продемонстрировали? Как раз циклом с BREAK. Потому что LOOP в Обероне - это и есть while(true) { ... break .. }, со всеми недостатками. Но Оберон хотя бы запрещает while (условие ) break или for break, заставляя программиста сразу выбрать - то ли используем окончание по условию или полному проходу счётчика, то ли прерываем сами и только изнутри.


№ 5698   21-10-2007 09:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5693« (Илья Ермаков)
___________________________
>>> Тогда я тем более не понял, к чему Ваш пример. Привели пример огромного, труднопонятного цикла, в котором используется "специализированный вид цикла (LOOP) и конструкция управления потоком команд (EXIT)" :-)
Ну, Вы же сами написали:
>>> Вот Вам и разница в мотивах. ... Меня волнует, как будет выглядеть чтение и понимание этого цикла.
Я привел пример цикла на замечательном языке Оберон, который по моему мнению ни читать, ни понимать нормально невозможно... Конечно, если над этим текстом помедитировать несколько часов, то все встанет на свои места, но это несерьезно...
Меня тоже волнует чтение и понимание программного кода, но он не художественная литература, и его чтение не самоцель. Конечно, его можно причесать, вынести части в отдельные функции, но вопрос, который я Вам задал »сообщение 5682«, и от которого Вы ушли, звучал так:
Какая разница, что искать - место с BREAK или некорректную логику присваивание условной переменной?
При этом Вы сослались на удобства понимания и чтения, ну вот я их и продемонстрировал...


№ 5697   21-10-2007 09:17 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 5694« (Стэн)
___________________________

Ответ на »сообщение 5689« (Geniepro)
___________________________
Хороший ответ и ничего не попорчено... :-)

Что ж Вы голову морочили с //- - я думал, у Вас там что-то ещё делается внутри цикла :-)


<<<... | 5716—5707 | 5706—5697 | 5696—5687 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 56


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

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

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

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

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

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