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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

Тема открыта по просьбе жителей Королевства и посвящена обсуждению вопросов оптимизации кода. Выставляйте свои лучшие и худшие тексты и не стесняйтесь их обсуждать. В споре рождается истина. Или, по крайней мере, оптимизация.

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

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

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


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

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

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


Смотрите также обсуждения:
Тестирование проекта. Отладка.
  • Подводные камни
  • Централизованная обработка ошибок
  • Бета-тестирование
  • Давайте учиться на ошибках.
  • Почему программисты допускают ошибки?
  • Автоматизированные тесты для GUI
  • О системах контроля ошибок

  • <<<... | 267—258 | 257—248 | 247—238 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 49


    № 257   05-09-2005 03:26 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 256« (Geo)
    ___________________________

    Пример сплошного непонимания двух спорящих сторон. Речь идет, естественно, о компиляторе.
    Так речь то шла в первую очередь о инструментальных средах, а отнюдь не о компиляторах.


    № 256   05-09-2005 00:40 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>> Ну так и на чем они написаны?
    На Ассемблере... Гы! Шутка :-)

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

    Спасибо Руслану Богатыреву: про раскрутку компиляторов. Я этого не знал. Хотя и в этом случае что-то (компилятор усеченной версии) придется писать с помощью других инструментальных средств.
     Geo


    № 255   05-09-2005 00:28 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 250« (Manson)
    ___________________________

    Ответ на »сообщение 253« (J.K.J.)
    ___________________________

    Delphi 1 была написана на Delphi 1. В 90-е гг. это был довольно-таки общеизвестный факт. Единственное, что там было написано не на самой Delphi, это естественно, компилятор. Но, видимо, современная молодежь совсем не любит учить историю :-(
    Кроме того, если внимательно посмотреть на Delphi 3, то становится понятно, что ее нельзя разработать на Delphi 2. Так же, как впрочем, и Delphi 2 нельзя было написать на Delphi 1. Ну так и на чем они написаны?


    № 254   04-09-2005 14:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Небольшая справка по проблеме 'курицы и яйца' для компиляторов.

    В области разработки компиляторов есть такое понятие bootstrapping ('раскрутка'). Этот подход, предложенный еще в 1958 г., применяется в тех случаях, когда требуется получить компилятор языка, написанный на самом языке (для технологической независимости и задач переносимости).

    Когда изначально нет компилятора с входного языка S (от source) на целевой язык T (target) и написанного на языке реализации I (implementation), действуют в несколько этапов: сначала создают компилятор для  усеченного варианта языка, а затем постепенно доводят компилятор до нужного уровня.

    Для описания этой цепочки используют специальные диаграммы в виде буквы T, где в основании указан язык I, слева -- язык S, а справа -- T, т.е. вида S<I>T.  Их используют как конструктор LEGO для описания схемы преобразования. Подробнее об этом см. классическую книгу Ахо и Ульмана 'Компиляторы: принципы, технологии и инструменты' (1985, пер. на русский -- 2001 г.).

    Существует устойчивый стереотип в отношении того, что первый компилятор Паскаля был написан на самом Паскале.

    Это не так. Никлаус Вирт в 1969 г. поручил эту задачу своему ученику Эдуарду Мармье (Eduard Marmier). Поскольку тот владел лишь Фортраном, то первый компилятор и был реализован именно на нем (с генерацией кода для американского мэйнфрейма CDC 6000 фирмы Control Data Corp.). Как вспоминал впоследствии Вирт в 1993 г., неадекватность Фортрана для описания структур данных компилятора потребовала практически полного перепроектирования последующего компилятора Паскаля. Вирт считает, что выбор Фортрана для реализации стал серьезной ошибкой. Работа была в корзину.

    Вторая попытка реализации компилятора Паскаля была предпринята в 1970 г. На этот раз компилятор писали на самом Паскале (упрощенная версия). Его делали аспиранты Вирта: Рудольф Шилд (Rudolf Schild), Урс Амманн (Urs Ammann) и все тот же Эдуард Мармье. После того, как работа была сделана, Шилд  за две недели у себя дома вручную перевел программу в низкоуровневый язык, доступный на CDC 6000. Раскрутка компилятора началась. К лету 1970 г. компилятор был закончен.

    Детали реализации компилятора Паскаля для CDC 6000 изложены в малоизвестном препринте Вирта 'On PASCAL, Code Generation, and the CDC 6000 Computer' (февраль 1972 г.), хранящемся в архивах Стэнфордского университета.

    Уже после того, как второй компилятор Паскаля был готов, Вирт пришел к идее реализации компилятора Pascal-P, который генерировал код для абстрактной стековой машины (знаменитый теперь P-код).

    В первой половине 1971 г. проф. Хоар (Charles Hoare) вместе со своими коллегами из Queen’s University в Белфасте (Хоар переехал в Оксфорд только в 1977 г.) осуществлял раскрутку Паскаль-компилятора для английского компьютера ICL-1900.

    Для краткого введения в проблематику рекомендую посмотреть статьи

    1. Никлаус Вирт 'Проектирование системы с нуля' // Structured Programming, 01/1989.
    http://www.uni-vologda.ac.ru/oberon/infoart/proj0.htm

    2. Андрей Хохлов 'Простой компилятор' // Мир ПК, 05/2005.
    http://www.osp.ru/pcworld/2005/05/068.htm



    № 253   04-09-2005 07:31 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>>Delphi. Учите историю.

    Здорово!
    Значит самый ПЕРВЫЙ Delphi был написан на Delphi.
    Надо рассказать об этом Борланду - пусть посмеются.



    № 252   04-09-2005 07:29 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>>на паскале можно написать паскаль.

    Только в том случае, когда у Вас уже есть хотя бы один паскаль. А когда у Вас еще нет ни одного паскаля, то написать паскаль на еще не существующем паскале не получится. Если, конечно, Вы не чародей.
    Manson прав в главном. Нельзя написать что-то на том, что еще не существует. В ПЕРВЫЙ раз это "что-то" можно написать только на том, что уже написано, т.е. на чем-то другом.



    № 251   03-09-2005 13:53 Ответить на это сообщение Ответить на это сообщение с цитированием
    на ассемблере можно написать паскаль
    на паскале можно написать ассемблер.

    на паскале можно написать паскаль.

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

    ...
    S.R. Russell noticed that eval could serve as an interpreter for LISP, promptly hand coded it, and we now had a programming language with an interpreter.
    ...

    ключевые слова: тьюринг-эквивалентность, теорема чёрча.

    http://www-formal.stanford.edu/jmc/history/lisp/node3.html


    № 250   03-09-2005 05:58 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>>Delphi. Учите историю.

    Delphi 7 создана при помощи Delphi 7 :))))))))
    Учите логику :o).


    № 249   03-09-2005 00:56 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 248« (Manson)
    ___________________________

    Если можете, то приведите хотя бы один пример программы, которая была создана путем использования САМОЙ СЕБЯ в качестве инструментального средства.
    Delphi. Учите историю.


    № 248   02-09-2005 13:02 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>>Ответ на »сообщение 243« (Manson)
    >>>Вы, наверное, тоже не до конца поняли мысль....
    >>>Именно!

    >>>А теперь представь, что можено собрать воедино
    >>>Erwin, Visio, UML, OP, SQL, PL/SQL и т.п. в
    >>>один дизайнер. В котором один раз сказал про
    >>>отношение одной сущности к другой как один ко
    >>>многим, и он тебе создал и БД с соотв.
    >>>констреинтами и VIEW с процедурами
    >>>редактирования наваял, и формочку визуального
    >>>представления сделал... Фантастично? В общем-
    >>>то нет.

    Вы хотите сказать, что Erwin, Visio, UML, OP, SQL, PL/SQL были созданы при помощи этого замечательного дизайнера?
    Если нет, то Вы полностью согласны с моей точкой зрения, хотя и отрицаете это. Единственное, что я хотел донести до Вас: инструмент нельзя создать при помощи самого себя. Если можете, то приведите хотя бы один пример программы, которая была создана путем использования САМОЙ СЕБЯ в качестве инструментального средства. Если не сможете, то не надо больше выяснять, кто тут и что понял не до конца :).



    <<<... | 267—258 | 257—248 | 247—238 | ...>>>
    Всего сообщений в теме: 737; страниц: 74; текущая страница: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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