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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

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


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

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

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


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

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


    № 267   06-09-2005 05:38 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 266« ()
    ___________________________

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


    № 266   06-09-2005 04:44 Ответить на это сообщение Ответить на это сообщение с цитированием
    Чего-то я не понимаю. Чисто теоретически, компилятор языка можно написать на любом языке, если в нем есть функция вывода в файл. Ведь нужно всего лишь создать exe, не так ли?

    А если так, то что особенного в том, что Delphi написана на Delphi?

    Далее просто компилятор ПОМ напишут на Delphi, а далее на самом ПОМ можно его же (ПОМ) и развивать.
    Сообщение не подписано


    № 265   05-09-2005 06:35 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 264« (Руслан Богатырев)
    ___________________________

    Небольшая поправка: разумеется, на 6-ти и 7-ми дискетах.


    № 264   05-09-2005 06:20 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 255« (panda)
    ___________________________

    Delphi 1 была написана на Delphi 1.

    История -- вещь весьма деликатная, вот и в этом конкретном случае далеко не все ясно.

    Вот выдержка из интервью Андерса Хейльсберга (март 2005 г., http://dotnet.sys-con.com/read/48156_3.htm

    I wanted to write an ALGOL compiler because I liked ALGOL, but my partner said there was a new thing called Pascal, so we should go and check it out. It is a simpler language both to teach and to implement, so we went with that!

    As far as Pascal for .NET, Delphi is backwards-compatible all the way back to Turbo Pascal, and it can create .NET code quite nicely! Delphi is what Turbo Pascal became. In fact, the 16-bit Delphi was the actual Turbo Pascal code base!



    Предположение напрашивается такое: Delphi 1 делался в несколько этапов и первоначально для его разработки использовался Turbo Pascal.

    То, что было несколько этапов, подтверждают косвенные данные, связанные с подготовкой Delphi к выходу на рынок.

    Как пишет Чак Язджевски (Chuck Jazdzewski, июнь 1998 г.), руководитель проекта Borland Delphi, "Имя Delphi было предложено Дэнни Торпом (Danny Thorpe) во время одной мозговой атаки. Мы хотели, чтобы в имени отразились уникальные способности продукта к работе с базами данных, и Delphi как нельзя лучше перекликалось с таким заслуженным именем в этой области, как Oracle, по крайней мере для тех, кому сочетание "дельфийский оракул" о чем-то говорит... Кроме того, рассматривались (и были отвергнуты) такие имена, как Wasabi, AppBuilder, Mango и VisualFoo. Золотым самородком блеснуло имя VBK (Visual Basic Killer), но увы, было тут же отвергнуто бывшим президентом компании..."

    На самом деле, как и в случае с выбором имени Java, реальность несколько отличается от того, что спустя годы говорят даже те, кто непосредственно был причастен к проекту.

    Ранние бета-версии (которые шли сначала на 6-ти, а потом и 7-ми дисках), носили имя Wasabi. На CD-версиях  были указаны уже имена Delphi и Delphi 95. А имя AppBuilder фигурировало на приглашениях к бета-тестированию продукта.

    В то же время в Музее Borland есть документ "Delphi Product Definition. 3rd Draft", написанный Заком Урлокером (Zack Urlocker), который тогда занимал должность product manager для нового продукта Borland. Он датирован 13 мая 1993 г. В нем явно используется имя Delphi.
    http://bdn.borland.com/article/0,1410,32971,00.html

    Насколько мне известно, первый публичный preview-релиз Delphi 1 появился в марте 1994 г., почти за год до официального запуска продукта, который состоялся в День Святого Валентина 14 февраля 1995 г.


    № 263   05-09-2005 06:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 262« (Ack_IO)
    ___________________________
    >>> Но как правило самый читаемый и понятный код - "влоб", без оптимизации.
    Э-э-э-э... А что значит "влоб"? И кому понятный?

    Код должен быть понятен программисту, но никак не предметнику. Предметник его просто не увидит, а программист будет его отлаживать и развивать. Разница в подходе "влоб" с точки зрения предметника и программиста огромная. Мы тут уже слегка поломали копья по данному вопросу. Между предметом и кодом есть такая стадия, как разработка алгоритмов. Именно на данной стадии строятся отношения между элементами предметной области и кодом.

    Грубо говоря, если применять тупо предметный подход, то получится длинная плоская программа, так как никакие методологиии ООП у нас в предметных областях не работаю. Однако разработчик строят какие-то классы и прочую лабуду. Это тоже, в некотором роде, оптимизация.

    Я в свое время сильно пободался со своим боссом: она у меня не программист, да к тому же еще и женщина. Но пыталась указывать мне, как надо правильно писать программы. Кошмар! Короче, все нормализовалось после того, как я стал во всем с ней соглашаться, но писать так, как надо, а не так, как требовала она :-)
     Geo


    № 262   05-09-2005 06:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 261« (Geo)
    ___________________________

    Ответ на »сообщение 260« (Ack_IO)
    ___________________________
    До тех пор, пока выполнение машинных команд занимает время, отличное от нуля, всегда найдется задача, которая заставит тормозить любой сколь угодно мощный компьютер :-)


    Полностью согласен! Но я имел ввиду задачи, время на оптимизацию которых не стоит того, ну будет программа выполняющая функции интерфейса пользователя работать быстрее на 10 мкс, занимать меньше на 1 Мб, но есть предел, и этот предел на современных машинах достаточно мал.

    А вот насчет читаемости кода, так это и была основная мысль моей ремарки:) Но как правило самый читаемый и понятный код - "влоб", без оптимизации.


    № 261   05-09-2005 05:42 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 260« (Ack_IO)
    ___________________________
    До тех пор, пока выполнение машинных команд занимает время, отличное от нуля, всегда найдется задача, которая заставит тормозить любой сколь угодно мощный компьютер :-)

    А по отношению к оптимизации, хочу сказать две вещи.

    Первое. Оптимизация бывает не только по объему. Как минимум, можно рассмотреть еще такие критерии, как быстродействие и читаемость кода.

    Второе. Перейдя на Паскаль, я "заболел" рекурсией. Болезнь протекала в острой форме, так как началась достаточно поздно (на Фортране рекурсия невозможна в принципе). Слава богу, достаточно быстро выздоровел. И вынес из этой болезни два принципа:
    1. Не надо применять рекурсию там, где ее не надо применять.
    2. Не надо избегать рекурсии там, где ее не надо избегать.

    Эти два принципа вполне применимы и к оптимизации.
     Geo


    № 260   05-09-2005 05:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Hi,Уважаемые! Может быть это сообщение и не впишется в контекст разговора, но посмотрев тему думаю будет простительно...
    Вот какая мысль меня посетила по поводу оптимизации кода. Вобще говоря само это понятие возникло из необходимости максимально уменьшить размер программы, занимаемый ею объем памяти, во времена "килобайтов" это еще было оправдано, но сейчас по-моему само это понятие должно стать историей. Не зря думаю языки программирования прошли такой эволюционный путь. Конечно, с опытом "красота" кода приходит сама собой, но лучше потратить время на составление грамотного алгоритма, чем думать "а можем можно еще покруче оптимизировать". Собственно чем козыряют многие на C-льники, тем что C изящный, красивый, просто конфетка, ну а о том, что чтобы сконцентрироваться на самой задаче нужно постоянно держать под рукой гору справочников почему-то умалчивают. Короче заканчиваю этот банальный бред :) Delphi forever!!!


    № 259   05-09-2005 05:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Прочитал я примерно половину темы и вспомнил несколько старых как сам мир истин.
    Истина первая: люди существа необычные и почему-то боятся того, что не понимают.
    Истина вторая: хочешь, чтобы все было сделано хорошо - делай это сам.
    Истина третья: жизнь слишком коротка, чтобы писать на ассемблере.
    А теперь серьезно.
    Несколько лет назад в каком-то источнике я встретил следующую рекомендацию: "...использование оператора Goto не рекомендуется. Если же вы его все-таки используете, то постарайтесь, чтобы весь связанный с ним код уместился на одной странице."
    За дословность не ручаюсь - давно это было.
    Примечание: не припомню ни одного случая употребления мною данного оператора - необходимости не было. За исключением классического Бейсика, где нет иной альтернативы.
    Относительно "вымирающего" ассемблера: имея Athlon XP решил я воспользоваться имеющимися у него командами SSE (зачем добру пропадать) для вычисления примитивного XOR128 для ~1-5 Мб данных - хоть убейте не смог я дурак написать на Object Pascal эту 10-ти строчную функцию - писал на встроенном ассемблере Delphi 7. А что касается создания драйверов из кубиков Лего, то боюсь не дожить мне до этого счасливого момента.
    Небольшой пример со стороны. Для написания прошивок для микроконтроллеров (они же однокристальные микроЭВМ) можно использовать почти все - от ассемблера и С++ до Бейсика, наверное и Паскаль можно при желании достать. Так вот я для этих целей использую, смеяться будете, встроенный ассемблер компилятора Бейсик - бесплатно, удобно, ручная оптимизация и где-то за спиной маячит вся "мощь" Бейсика, что удобно при создании наброска прошивки. А клиентскую часть я по-прежнему пишу на Дельфи, невзирая на необходимость сделать вставку на ассемблере или подключить С-библиотеку (чтобы недокументированный WinAPI на Паскаль не переводить).

    А теперь итог - каждый инструмент имеет свое предназначение - и Goto, и микроскоп. Не забивайте гвозди микроскопом, не суйте Goto куда не надо, не пишите драйвера на Дельфи (иногда и так делают), комбинируйте различные средства для достижения наилучшего по всем параметрам результата. И быть может тогда наконец утихнут бессмысленные споры между приверженцами С++ и Паскаль, Linux и Windows, и т.д. Помните, что "если звезды светят, то это кому-нибудь нужно".


    № 258   05-09-2005 03:41 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 257« (panda)
    ___________________________
    >>> Так речь то шла в первую очередь о инструментальных средах, а отнюдь не о компиляторах
    Слова уж очень многозначные. Под Delphi можно понимать только IDE, в можно -- весь пакет, включая компилятор.
     Geo


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


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

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

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

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

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

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