Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Delphi - язык программирования?


Автор: skyboy 29.10.2006, 00:43
Надоело, когда заявляют "Delphi - отдельный язык" или "Delphi - это не язык, язык - Object Pascal" и спорят, практически не приводя аргументов. Предлагаю выложить, что кто знает, в поддержку одной или другой точки зрения.
в http://ru.wikipedia.org/wiki/Delphi_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29
Цитата

Delphi (Де́льфи) — язык программирования, ранее известный как Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название. По сути является наследником языка Pascal с объектно-ориентированными расширениями.

в справке по Borland Delphi:
Цитата

Delphi is a high-level, compiled, strongly typed language that supports structured and object-oriented design. Based on Object Pascal, its benefits include easy-to-read code, quick compilation, and the use of multiple unit files for modular programming.
Delphi has special features that support Borland's component framework and RAD environment. For the most part, descriptions and examples in this language guide assume that you are using Borland development tools.

Т.е. язык признан законным наследником Object Pascal, а не им же ,но в другом макияже. Кто знает, что за дата "2003 год" или имеет другую аргументацию, касательно "законнорожденности" Delphi - прошу проявлять себя smile

Автор: Romikgy 29.10.2006, 10:14
Цитата(skyboy @  28.10.2006,  23:43 Найти цитируемый пост)
язык признан законным наследником Object Pascal

и где ты такое прочитал?
имхо 
Цитата(skyboy @  28.10.2006,  23:43 Найти цитируемый пост)
Based on Object Pascal

означает немного другое!

Автор: Snowy 29.10.2006, 12:24
Просто обджект паскаль достиг того уровня концепта, что можно считать его самостоятельным языком, а не паскалем.
Как например Модула и Оберон. Тоже последователи паскаля, но имеют собственное имя.
То есть это уже не модификация паскаля, а другой концептуальный язык с синтаксисом паскаля.
Базовый паскаль в него конечно тоже входит, но его доля в Delphi с каждой версией всё меньше и меньше, т.к. язык постоянно расширяется. Причём некоторые вещи стандартного паскаля там вообще присутствуют только для совместимости.

Автор: skyboy 29.10.2006, 17:20
Цитата(Romikgy @  29.10.2006,  09:14 Найти цитируемый пост)
имхо 
Цитата(skyboy @  28.10.2006,  23:43 Найти цитируемый пост)
Based on Object Pascal
означает немного другое! 

Там и прочитал.
Цитата(skyboy @  28.10.2006,  23:43 Найти цитируемый пост)
Delphi is a high-level, compiled, strongly typed language that supports structured and object-oriented design.

Переводится "Delphi - высокоуровневый, компилируемый, строго-типизированный язык, который поддерживает структуризацию и объектно-ориентированное проектирование".
Если сократиь до 3 слов, то "Delphi - это язык", вот откуда я взял.
Цитата(Snowy @  29.10.2006,  11:24 Найти цитируемый пост)
обджект паскаль
 - то же самое, что и Pascal with objects?

Автор: Snowy 29.10.2006, 17:45
Цитата(skyboy @  29.10.2006,  18:20 Найти цитируемый пост)
то же самое, что и Pascal with objects?
Вряд ли. Объекты и так в паскале в наличии.
Фраза "Pascal with objects" вообще не несёт никакого смысла, ИМХО.

Автор: skyboy 29.10.2006, 18:18
А когда появился язык Object Pascal?

Автор: Snowy 29.10.2006, 19:12
В Delphi 1.0 smile

Автор: nerezus 29.10.2006, 20:07
Snowy,  а это было в каком году? Просто в турбопаскале(с 5 вроде версии) уже был ОбжектПаскаль )

Автор: pythonwin 30.10.2006, 10:02
Цитата(Snowy @  30.10.2006,  00:45 Найти цитируемый пост)
Вряд ли. Объекты и так в паскале в наличии.

согласен!
Цитата(nerezus @  30.10.2006,  03:07 Найти цитируемый пост)
Snowy,  а это было в каком году? Просто в турбопаскале(с 5 вроде версии) уже был ОбжектПаскаль ) 


В на OP можно рисовать формы, таблицы, окна и т.д. smile

Автор: Akella 7.11.2006, 17:30
Delphi, начиная с версии 7 официально считается языком программирования.

Автор: Beltar 29.12.2006, 15:30
В Delpi 6 был Object Pascal В Delphi 7 стал Delphi. Из чего следует, различия надо искать между ними. smile А так нет никаких сомнений, что язык придуманый Виртом в 1969-ом и язык BP 7.0 уже фактически разные языки, как древнерусский и русский. Точно также отличаются друг от друга языки BP 7 и Delphi 2005.

Автор: S.A.G. 21.1.2007, 20:31
Может кто-то приведет хронологию развития Pascal-based языков чтобы подытожить тему?

Автор: Snowy 21.1.2007, 20:48
Цитата(main @  21.1.2007,  20:31 Найти цитируемый пост)
Может кто-то приведет хронологию развития Pascal-based языков чтобы подытожить тему?
А нет хронологии.
Есть паскаль и есть его наследники.
Никакой хронологии.
Единственное, что подходит под хронологию - это Паскаль -> Модула -> Модула 2 -> Оберон
Дельфи - это другая ветка.

Автор: S.A.G. 21.1.2007, 20:59
Паскаль начиная с даты создания не видоизменялся а просто появлялись наследники?

Например хронология развития C: K&R - ANSI/ISO(C90) - C99 (примерно)
На Паскаль не разрабатывались стандарты?

Автор: Daevaorn 21.1.2007, 21:20
Цитата(main @  21.1.2007,  21:59 Найти цитируемый пост)
На Паскаль не разрабатывались стандарты?

Конечно разрабатывались. Раньше это было "Справка в Turbo/Borland Pascal", а сейчас "справка Delphi/BDS Studio"
 smile  smile  smile 

Автор: Void 21.1.2007, 21:28
Daevaorn, зря смеёшься, есть два стандарта ISO на Паскаль: 7185 и 10206, оба 1990 года. Другой вопрос, что им мало кто следовал.

Автор: S.A.G. 21.1.2007, 21:28
smile smile Не разрабатывались но почему?

Добавлено @ 21:31 
Цитата
Daevaorn, зря смеёшься, есть два стандарта ISO на Паскаль: 7185 и 10206, оба 1990 года. Другой вопрос, что им мало кто следовал.

Я тоже так думаю что зря. Новичек задает глупые вопросы и становиться опытным а ламер попрежнему остаеться ламером в вопросе. Это общее высказывание (не к Deavorn).

Void, почему мало следовали?
Это были стандарты на Виртовский Паскаль (Snowy утверждает что другого не было)?

Автор: Alexeis 21.1.2007, 21:36
Daevaorn, 
Есть еще 
Free Pascal
Virtual Pascal
TMT Pascal
GNU Pascal Compiler (GPC)

и менее известные 
Pascal X
P2C Pascal-compiler - для микроконтролеров
Embedded Pascal 
....

Так что веток много...



Автор: Void 21.1.2007, 21:53
Цитата(main @  21.1.2007,  23:28 Найти цитируемый пост)
Это были стандарты на Виртовский Паскаль?

Нет. 7185 ещё с натяжкой сойдёт за оригинальный Паскаль (и, кажется, GNU Pascal имеет режим совместимости с ним), но 10206 (Extended Pascal), насколько я знаю, никем и никогда в полной мере не реализовывался.

Добавлено @ 21:54 
Цитата(main @  21.1.2007,  23:28 Найти цитируемый пост)
почему мало следовали?

Потому что в 1990 г. судьбы Паскаля уже определялись Борландом.

Автор: Snowy 21.1.2007, 21:58
Я говорю о том, что нет строгой линии развития.
Есть разные ветки.
Дельфи - одна из наиболее жизнеспособных.
Оберон - наиболее перспективная, но коммерчески не выгодная.
Баланс - штука сложная - не всегда побеждает лучший. В нашем мире деньги важнее.
Побеждает не тот, кто лучше, а тот, кто "круче" и имеет бабло за спиной.
Из существующих языков - все [censored34! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме]. А более совершенные умерли просто потому, что не несут бабло.
Писимиси, но проза жизни smile
И то, что дельфи жива - доказательство, что не всё так плохо в этом мире.

Автор: S.A.G. 21.1.2007, 21:59
Цитата
судьбы Паскаля уже определялись Борландом.

Не внесло ясности. smile

Автор: Void 21.1.2007, 22:03
main, ISO нельзя рассматривать как какую-то высшую инстанцию с неограниченными возможностями. Её стандарты применяются, только если это выгодно по коммерческим или иным соображениям.

Проще говоря: никому этот Extended Pascal нафиг не упал в то время.

Автор: S.A.G. 21.1.2007, 22:05
А кто его создал?

Автор: Void 21.1.2007, 22:08
http://www.moorecad.com/standardpascal/iso10206.pdf
В самом начале расписана история, зачем и почему.

Добавлено @ 22:10 
http://www.moorecad.com/standardpascal/iso7185.pdf — это другой стандарт, если кому интересно.

Автор: nerezus 21.1.2007, 22:20
Короче смысл в том, что все должны повторять за борландом, а борланд может придумывать, что хочет?  smile 

Автор: Daevaorn 21.1.2007, 22:22
Цитата(Void @  21.1.2007,  22:28 Найти цитируемый пост)
зря смеёшься

ну не знаю, смеяться полезно.
Цитата(Void @  21.1.2007,  22:28 Найти цитируемый пост)
есть два стандарта ISO на Паскаль: 7185 и 10206, оба 1990 года

где мы и где 90ый год?smile Индустрия совсем изменилась
Цитата(Alexeis @  21.1.2007,  22:36 Найти цитируемый пост)
Так что веток много...

Да. Много голов, а змей всё равно глупыйsmile

Автор: Void 21.1.2007, 22:27
Цитата(Daevaorn @  22.1.2007,  00:22 Найти цитируемый пост)
где мы и где 90ый год?smile Индустрия совсем изменилась

Ну это не аргумент. Стандартом Си тех же времён до сих пор пользуются (C99 вползает в production с большим скрипом).

Автор: Alexeis 21.1.2007, 22:29
Цитата(Daevaorn @  21.1.2007,  22:22 Найти цитируемый пост)
Да. Много голов, а змей всё равно глупый

Делая такие утверждения не забывай ставить "ИМХО".

Автор: S.A.G. 21.1.2007, 22:34
Есть там 4,...,7 версии - их выпускал Борланд? Я имею ввиду Turbo Pascal. Или может быть правильнее Borland Pascal?
Цитата
main, ISO нельзя рассматривать как какую-то высшую инстанцию с неограниченными возможностями.

На что тогда опираться если не на стандарты если говорить о развитии языка?

Автор: Daevaorn 21.1.2007, 22:35
Цитата(Void @  21.1.2007,  23:27 Найти цитируемый пост)
Стандартом Си тех же времён до сих пор пользуются 

а многие сейчас пользуются паскалем стандарта 90го года? И насколько Delphi совместим с ним?
Цитата(Alexeis @  21.1.2007,  23:29 Найти цитируемый пост)
Делая такие утверждения не забывай ставить "ИМХО". 

Не ставлю это глупое сокращение никогда.

Автор: Void 21.1.2007, 22:43
Цитата(main @  22.1.2007,  00:34 Найти цитируемый пост)
На что тогда опираться если не на стандарты если говорить о развитии языка?

Языков сотни. Широко применяющихся — десятки. Международные стандарты на ЯП из этого числа можно пересчитать по пальцам. Обходятся как-то. Тут два варианта: либо язык проталкивает крупная корпорация (примеры: Java — Sun, C# — Microsoft, правда они протолкнули ECMA-стандарт), либо он развивается усилиями community (Perl, Python, Ruby и др.).

Цитата(Daevaorn @  22.1.2007,  00:35 Найти цитируемый пост)
а многие сейчас пользуются паскалем стандарта 90го года

Я сразу сказал: никто. Вопрос был о стандарте на Паскаль, а не на Дельфи.

Автор: Alexeis 21.1.2007, 22:47
Цитата(main @  21.1.2007,  22:34 Найти цитируемый пост)
Я имею ввиду Turbo Pascal. Или может быть правильнее Borland Pascal

  Это разные продукты. Borland Pascal - позволяет писать программы в защищенном режиме, а также под винду.

Добавлено @ 22:50 
Цитата(Daevaorn @  21.1.2007,  22:35 Найти цитируемый пост)
Не ставлю это глупое сокращение никогда. 

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

Автор: Daevaorn 21.1.2007, 23:05
Цитата(Void @  21.1.2007,  23:43 Найти цитируемый пост)
Я сразу сказал: никто. Вопрос был о стандарте на Паскаль, а не на Дельфи. 

понятно
Цитата(Alexeis @  21.1.2007,  23:47 Найти цитируемый пост)
Оно совсем не глупое, а указывает, что это только лишь лично твое мнение а не обще принятое. Иначе нужно приводить доказательство, своей правоты, а ты привести его не смог. Потому будь добр. 

В любом случае всё что говорит человек это его мнение, если человек не робот. Поэтому такие сокращения пишут либо те у кого комплекс неполноценности, либо те кто считает это модным и необходимым в их речи. Я не отношусь ни к первым, ни ко вторым.

Автор: S.A.G. 21.1.2007, 23:14
Цитата
такие сокращения пишут либо те у кого комплекс неполноценности, либо те кто считает это модным и необходимым в их речи.

А еще вариант - когда человек хочет подчеркнуть, что мнение сугубо его и не претендует на эталон.

Автор: aktuba 21.1.2007, 23:36
Daevaorn, слишком часто в твоих словах проскакивает слово "глупый", не кажеться?
Это показывает, что ты сам человек не дальновидный и не умный.

Цитата

Да. Много голов, а змей всё равно глупый


Если глупый, почему большинство использует? Не потому ли, что лучше чем ...  smile 

Автор: Romikgy 21.1.2007, 23:44
Daevaorn, как ты же говоришь smile 
Цитата(Daevaorn @  21.1.2007,  22:05 Найти цитируемый пост)
Поэтому такие сокращения пишут либо те у кого комплекс неполноценности, либо те кто считает это модным и необходимым в их речи. Я не отношусь ни к первым, ни ко вторым. 

мега слив smile

Цитата(aktuba @  21.1.2007,  22:36 Найти цитируемый пост)
Это показывает, что ты сам человек не дальновидный и не умный.

Аналогичный вывод почему то и у меня по всем постам в холиваре smile

Автор: nerezus 22.1.2007, 07:44
Цитата

Если глупый, почему большинство использует?
 Эм... какое нахрен большинство?
Приведи статистику.

Добавлено @ 07:47 
Вот что выдал Великий Гуголь:

python programming 56.600.000
delphi programming 1.800.000
perl programming 82.600.000

Так что насчет распространенности делаем выводы.

Автор: skyboy 22.1.2007, 10:16
Цитата(nerezus @  22.1.2007,  06:44 Найти цитируемый пост)
Так что насчет распространенности делаем выводы.

а лучше вводим слова "**** **** ***" и делаем вывод, что кроме секса миру ничего не надо, потому как статистика с языками программирования нервно курит в сторонке  smile Лучшая статистика - соотношение предложений/спроса на рынке труда по выбранным направлениям....
aktuba, давай на личности переходить не будем, а?

Автор: Daevaorn 22.1.2007, 10:21
Цитата(aktuba @  22.1.2007,  00:36 Найти цитируемый пост)
Daevaorn, слишком часто в твоих словах проскакивает слово "глупый", не кажеться?
Это показывает, что ты сам человек не дальновидный и не умный.

а если бы я писал IMHO, то не выглядел бы умно в твоих глазах?smile
Цитата(Romikgy @  22.1.2007,  00:44 Найти цитируемый пост)
Аналогичный вывод почему то и у меня по всем постам в холиваре 

У меня аналогичное мнение по поводу тебя, и ещё на основе личной сообщений, помнишь?;)
Цитата(aktuba @  22.1.2007,  00:36 Найти цитируемый пост)
Если глупый, почему большинство использует? Не потому ли, что лучше чем ...  

Где большинство?

Автор: Romikgy 22.1.2007, 10:35
Цитата(Daevaorn @  22.1.2007,  09:21 Найти цитируемый пост)
У меня аналогичное мнение по поводу тебя

каждый имеет право думать о другом так как ему заблагорасудиться

Цитата(Daevaorn @  22.1.2007,  09:21 Найти цитируемый пост)
и ещё на основе личной сообщений, помнишь?

нет
Цитата(Daevaorn @  22.1.2007,  09:21 Найти цитируемый пост)
Где большинство? 

да хоть здесь
Цитата(skyboy @  22.1.2007,  09:16 Найти цитируемый пост)
потому как статистика с языками программирования нервно курит в сторонке

100%
Цитата(skyboy @  22.1.2007,  09:16 Найти цитируемый пост)
давай на личности переходить не будем, а? 

и я против таких вещей, но чесн слово некоторые личности до такой степени раздражают, что с трудом сдерживаешься что бы не нахамить, и в эти моменты радуешься что ты не модератор, а то бы как разашелся....... smile
Цитата(nerezus @  22.1.2007,  06:44 Найти цитируемый пост)
Вот что выдал Великий Гуголь:

python programming 56.600.000
delphi programming 1.800.000
perl programming 82.600.000

2 круг

Автор: nerezus 22.1.2007, 10:43
Цитата

2 круг 
 А начал его некто aktuba фразой "Если глупый, почему большинство использует?"

Цитата

да хоть здесь
 сравни уровень жизни "здесь" и "там". Сделай выводы =)
так что не надо мерять по "здесь"  smile

Цитата

Лучшая статистика - соотношение предложений/спроса на рынке труда по выбранным направлениям....
 Соберешь статистику? естественно не по exUSSR, а глобально.


Автор: Alexeis 22.1.2007, 11:25
nerezus, конечно с большинством aktuba сильно загнул. Вроде сейчас на первом место Java, а за ним уже плюсы и вся остальная братия. Но большинство редко идет за лучшим, скорее за тем на чем можно заработать больше денег. Сейчас идет бум веб программирования, т.е. кроссплатфоменности, Java и Python как интерпретируемые языки лучше всего вписываются в концепцию веб программирования. За ними неизменно идет пойдет C#, он конечно менее гибкий, но более производительный и более современный. А Delphi.NET в настоящий момент уже жутко похож C#. С одной ограничения, которые ввел в него Microsoft с другой стороны расширения введенные в Delphi.NET максимально их сблизили. Дальше все дело в маркетинге. Кого сумеют двинуть тот и будет доминировать.

Автор: nerezus 22.1.2007, 11:34
Цитата

Вроде сейчас на первом место Java, а за ним уже плюсы и вся остальная братия.
 Угу, именно такую статистику и видел(TIOBE Programming Community Index  for January 2007).

Питон держит целых 3.5%
Делфи - 2.3%
Это так, для добавления к предыдущему посту.


Цитата

Java и Python как интерпретируемые языки
 Оба компилируемые(VM), причем с JIT(к питону JIT прикручивать отдельно).

Автор: Alexeis 22.1.2007, 11:40
Цитата(nerezus @  22.1.2007,  11:34 Найти цитируемый пост)
 Оба компилируемые(VM), причем с JIT. 

  Не суть Ява машина есть интерпретатор ява кода. С# - же дает компиляцию во время исполнения, это все же разные вещи. 

Автор: nerezus 22.1.2007, 11:52
Alexeis, у Java тоже идет компиляция во время выполнения.

Автор: Romikgy 22.1.2007, 12:24
Цитата(nerezus @  22.1.2007,  09:43 Найти цитируемый пост)
сравни уровень жизни 

уже что то новенькое smile уровень жизни вспомнили smile про евангелистов было , про питон было , терь про жизнь , интересно что дальше будет ?

Автор: Alexeis 22.1.2007, 12:30
Цитата(nerezus @  22.1.2007,  11:52 Найти цитируемый пост)
у Java тоже идет компиляция во время выполнения.

Если метод ява класса вызовется второй раз, разве он не будет заново второй раз компилироваться?

Автор: skyboy 22.1.2007, 16:15
Цитата(nerezus @  22.1.2007,  09:43 Найти цитируемый пост)
Соберешь статистику? естественно не по exUSSR, а глобально.

сосчитаешь море по каплям? нельзя определять востребованность специалистов по количеству ссылок в Гугле. 

Автор: Hidrag 22.1.2007, 16:27
все эти темы о делфе сплошной user posted image

Автор: Alexeis 22.1.2007, 16:39
Hidrag, не нравиться не читай, а мы в споре узнаем много нового и полезного. 

Автор: VectorMan 22.1.2007, 16:41
Цитата(Alexeis @ 22.1.2007,  14:30)
Если метод ява класса вызовется второй раз, разве он не будет заново второй раз компилироваться?

нет

Автор: Alexeis 22.1.2007, 16:46
VectorMan, ух ты получается ява тоже вырулила на компиляцию кода во время исполнения?

Автор: Void 22.1.2007, 16:58
Alexeis, ты где спал последние лет пять? smile HotSpot в Java появился очень давно.

Автор: Alexeis 22.1.2007, 17:20
Цитата(Void @  22.1.2007,  16:58 Найти цитируемый пост)
ты где спал последние лет пять?

  Дома под одеялом smile. А что на яве лучше спиться?  smile 

  Специальную литературу я не читал (типа учебники по яве), а вот не в специальной такое пишут!! smile))) причем даже в довольно свежих изданиях. И че теперь проблемы быстродействия уже решили? Каково соотношение (Java - С++) / C++ * 100% smile  Microsoft заявляет, что (С# - С++) / С++ * 100% = 5%.

Автор: Void 22.1.2007, 17:23
Цитата(Alexeis @  22.1.2007,  19:20 Найти цитируемый пост)
И че теперь проблемы быстродействия уже решили?

Скорость JVM, несомненно, увеличивается, но «решили» — это как-то расплывчато smile
Цитата(Alexeis @  22.1.2007,  19:20 Найти цитируемый пост)
Каково соотношение (Java - С++) / C++ * 100%

It depends.
Цитата(Alexeis @  22.1.2007,  19:20 Найти цитируемый пост)
Microsoft заявляет, что (С# - С++) / С++ * 100% = 5%.

Microsoft может заявлять что угодно и даже приводить тесты в подтверждение. Даже корректные тесты. Но всё-таки it depends smile

Автор: Alexeis 22.1.2007, 17:37
Цитата(Void @  22.1.2007,  17:23 Найти цитируемый пост)
Но всё-таки it depends

  Microsoft заявляют, что не хуже 5%, а иногда даже быстрее C++, за счет оптимизации под конкретный процессор. Хотелось бы знать порядок величин, потому что бытует мнение, что ява тормознутая. А это значит что падение производительности 50% и больше(10-20% на глаз не заметишь).

Автор: nerezus 22.1.2007, 18:08
Цитата

Каково соотношение (Java - С++) / C++ * 100%
 (Java - С++) ~ 0% (погрешность берем 10%  smile )
Подробности есть тут: http://forum.vingrad.ru/topic-24644/view-all.html


Цитата

потому что бытует мнение, что ява тормознутая
 Гуй - тормознутый =\ А встречают, как правило, по одежке.

Автор: Void 22.1.2007, 18:39
Цитата(Alexeis @  22.1.2007,  19:37 Найти цитируемый пост)
 Microsoft заявляют, что не хуже 5%

А ссылочку можно? Не могут они такого заявлять, ибо не идиоты.
Тем более компиляторы C++ разные бывает. icc с его векторизацией на иных задачах не догонишь.

Автор: Амортизатор2 23.1.2007, 20:26
Цитата(Alexeis @  22.1.2007,  17:37 Найти цитируемый пост)
Microsoft заявляют, что не хуже 5%, а иногда даже быстрее C++, за счет оптимизации под конкретный процессор. Хотелось бы знать порядок величин, потому что бытует мнение, что ява тормознутая. А это значит что падение производительности 50% и больше(10-20% на глаз не заметишь).


Что вообще может быть такое 5%?. Пустая, ничего не значащая цифра. Программа на .NET  - не константная величина, ибо компилируется в зависимости от конфигурации системы. О каких процентах вообще может идти речь? За счет этого на новых процах она может быть быстрее, и даже наверняка будет быстрее, чем С++ без оптимизации. Однако, по крайней мере под интеловские процы, нет ничего такого, что может сравниться с С++, если откомпилировать с оптимизацией SSE3 (P4) Intel C++ Compiler-ом. Само собой, даже в таком случае, можно за пять минут придумать тест, который "опровергает" это.

Автор: Alexeis 23.1.2007, 23:05
Цитата(Амортизатор2 @  23.1.2007,  20:26 Найти цитируемый пост)
Что вообще может быть такое 5%?. Пустая, ничего не значащая цифра. Программа на .NET  - не константная величина, ибо компилируется в зависимости от конфигурации системы. О каких процентах вообще может идти речь? За счет этого на новых процах она может быть быстрее, и даже наверняка будет быстрее, чем С++ без оптимизации.

  Не 5%, а не хуже чем 5. Т.е. 5% и лучше. Это из одного весьма авторитетного издания. 
   - "С# для профессионалов" Том1. Введение. Симон Робинсон и т.д.

Автор: Амортизатор2 23.1.2007, 23:40
Уже сказано было, что невозможно какой-бы то не было процентной характеристикой описать преимущество одного из этих языков над другим. Производительность может разительно - не на 5, а на 500% может различаться: 1. От задачи 2. От конфигурации системы. 3. От вариантов компиляции С++-кода (компилятор, оптимизация, расширения) 4. От качества и доверительности тестового С++-кода (в первую очередь непредвзятый подход к операциям выделения-освобождения памяти).

Добавлено @ 23:41 
Кто такой Симон Робинсон? Я не знаю. Вот если бы такой зубр системного программирования, как Джефри Рихтер в своей книге про .NET такое написал... но он бы такое никогда не написал. 

Автор: Амортизатор2 23.1.2007, 23:56
Цитата(nerezus @  22.1.2007,  18:08 Найти цитируемый пост)
Гуй - тормознутый =\ А встречают, как правило, по одежке.


Это ложная быстрота. Ява сразу после запуска отгребает себе метров 10 памяти. Выделенную память системе нифига не возвращает - ибо с одной стороны это затраты на исполнение GC, с другой - траты на операции освобождения памяти с необходимостью последующих выделений памяти для новых объектов. Как таковое исчезновение из контекста явашного объекта вовсе не означает, что память из-под него непременно будет возвращена системе (не важно, когда). На самом деле эта память используется для объектов, которые будут созданы в будущем. Именно поэтому heap всех явашных программ чудовищно разбухает прямо на глазах.

Автор: Alexeis 24.1.2007, 01:09
Амортизатор2, ну конечно, Джефри Рихтер у нас единственный приличный программист  smile . Почитайте, очень хорошо написано, на доступном языке без выкрутасов объясняются довольно сложные вещи. Правда автор чуток перегибает, когда сравнивает .NET с другими технологиями, но в целом книга весьма достойная. 

Автор: aktuba 24.1.2007, 01:23
Alexeis, поддерживаю. Такое ощущения, что кроме Рихтера никого больше нет. А может просто не знают...

Автор: SergeCpp 24.1.2007, 09:55
user posted image
http://www.tiobe.com/tpci.htm

http://rsdn.ru/Forum/?mid=2315566

Автор: Void 24.1.2007, 17:38
Alexeis, понимаешь, таким утверждениям нельзя верить, от кого бы они не исходили. Это абсурд. Это противоречит элементарной логике. Если бы это написал Рихтер, он точно также шёл бы лесом.

Автор: Alexeis 24.1.2007, 18:15
Цитата(Void @  24.1.2007,  17:38 Найти цитируемый пост)
Alexeis, понимаешь, таким утверждениям нельзя верить, от кого бы они не исходили. Это абсурд. Это противоречит элементарной логике

  Почему? Что из того что компиляция производиться в 2 этапа? Разве это значит, что не производиться оптимизация? С# написан недавно, и в его компилятор заложены методики оптимизации полученные за многлетний опыт развития С++. Кроме того также производится оптимизация на этапе компиляции IL в машнные коды с учетом развитой архитектуры процессоров. С++ обычно оптимизируется под Pentium, а если у вас стоит Athlon 64, с поддержкой 3DNOW!, SSE, SSE2, MMX с их 128 разрядными регистрами, то их использование должно ускорить вычисления. При этом IL разробатывался учитывая опыт JAVA для того чтобы потери при динамической компиляции были минимальны. Если это все грамотно реализовано, то не вижу причин для того, чтобы код работал медленно. И там машинный код и тут. Оба оптимизированы и еще не извесно который из них оптимизирован лучше. 
  Если говорить о работе программы целиком, то тут можно согласится, что сборщик мусора, который может вмешаться и остановить выполнение программы или компиляция очередного блока, вместо его выполнения, но после того как эти операции выполнены код должен работать быстро. По крайней мере возможно сделать так чтобы это работало быстро, как оно в действительности сделано у Microsoft я не знаю.

Автор: Void 24.1.2007, 18:35
Alexeis, всё правильно говоришь. Но дело не в этом. «Не более 5%» — это бред по определению, какие бы переменные не стояли в X vs Y. Надо указать конкретные тесты или хотя бы написать что-то вроде: «Проведённые нами исследования показывают, что C# отстаёт от Vasya Pupkin C++ compiler не более чем на 5% на задачах такого-то рода».

Что касается процессоро-зависимых оптимизаций, то это пока только планы, хотя, быть может, планы ближайшего будущего. JIT в .NET не умеет использовать SIMD. В этом легко убедиться, посмотрев сгенерированный им машинный код с помощью cordbg.

Автор: Амортизатор2 25.1.2007, 21:23
Цитата(aktuba @  24.1.2007,  01:23 Найти цитируемый пост)
Alexeis, поддерживаю. Такое ощущения, что кроме Рихтера никого больше нет. А может просто не знают...


Если  вам это неизвестно, Рихтер прежде всего знаменит книгой "Windows для профессионалов", в которой детально описывает API Windows и программирование под эту систему с учетом внутренней специфики Windows. Именно поэтому я его и упомянул. Его книга про .NET - это уже поздний, и не такое значительный труд.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)