Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: CL | DM;

Вниз

Почему программисты на С++ ценятся больше чем на Delphi?   Найти похожие ветки 

 
DiamondShark ©   (2005-11-04 19:45) [120]


> Шаблоны - интересно в чем именно они недоношены?

В том, что реализоваваться они должны на уровне среды исполнения, а не языка.
Чтобы их доносить, надо было сначала додуматься до перехода от языка к среде исполнения.


> Эта.. выполняющие среды - это из другой оперы..

Из той самой.


> Какая принципиальная разница - генерируется конечный код
> для процессора из шаблона на этапе компиляции или средой
> при развертывании?

Для процессора -- никакой.
Для разработки и структурирования программ -- принципиальная.
Библиотеки с шаблонами могут существовать только в виде исходного текста.
Конечно, если все разработки ведутся только на этом языке, это не имеет никакого значения.
Но такая ситуация и есть не что иное, как зародыш среды исполнения.


> Про синтаксис писал когда-то - на вкус и цвет..

Синтаксис, вроде бы, я не трогал. Хотя про него тоже много интересного можно сказать.


> Множественное наследование абстрактных классов - интерфейсы.

Йа, натюрлих.


> Множественное наследование неабстрактных классов - спорный
> пункт

Ничего спорного. Множественное наследование неабстрактных классов -- это агрегация и ничего кроме агрегации.

Множественное наследование в итоге -- эклектика. Т.е. бардак дизайна.


> Но идею - не трожь!

Идею чего? Идей две: идея аспектов (интерфейсов), и идея реюза кода (агрегация). Это ортогональные идеи. Множественное наследование смешивает их в кашу, и этим убивает обе. Фтопку.


 
DiamondShark ©   (2005-11-04 19:50) [121]


> Virgo_Style ©   (04.11.05 19:44) [119]
> Profi ©   (04.11.05 19:27) [117]
> Если два человека могут написать одну и туже программу,
> но один на delphi,а другой на VS например, то второй более
> квалифицированный специалист в своей области, чем первый
> в своей.
>
> imho противоречие. Если могут сделать одно и то же - значит,
>  квалификация разная?

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

;))


 
umbra ©   (2005-11-04 19:53) [122]

2 Virgo_Style ©   (04.11.05 19:44) [119]


> Если могут сделать одно и то же - значит, квалификация разная?


Если могут сделать одно и тоже разными средствами - то если не квалификация, то уж набор навыков точно разный


 
Virgo_Style ©   (2005-11-04 19:53) [123]

DiamondShark ©   (04.11.05 19:50) [121]

Ужасная картина ))) Хорошо хоть, не "на бровях" :o)


 
Цунг Сьяо   (2005-11-04 19:55) [124]

>Ого! Наконец зашел на форум, а тут такая баталия!

С почином.


 
wicked ©   (2005-11-04 19:57) [125]


> Для разработки и структурирования программ -- принципиальная.
>
> Библиотеки с шаблонами могут существовать только в виде
> исходного текста.
> Конечно, если все разработки ведутся только на этом языке,
>  это не имеет никакого значения.
> Но такая ситуация и есть не что иное, как зародыш среды
> исполнения.
>

ээээ..... при правильном подходе к формату промежуточного кода нам ничто не мешает хранить дженерики в удобной precompiled-форме.... что уже меняет дело....


 
begin...end ©   (2005-11-04 19:57) [126]

> Profi ©   (04.11.05 19:27) [117]

> Сама среда разработки на C++ более требовательна, а, следовательно,
> на ней труднее писать.

Не понял. О сравнении каких конкретно сред разработки идёт речь? Или Вы о языке?


 
Virgo_Style ©   (2005-11-04 20:01) [127]

umbra ©   (04.11.05 19:53) [122]

Почти согласен, но какая разница?

У водителя автобуса одни навыки, троллейбуса - другие, а мне надо на работу доехать, и мне эти навыки совершенно безразличны, если приводят к одному результату :-)


 
Igorek ©   (2005-11-04 20:01) [128]


> DiamondShark ©   (04.11.05 19:45) [120]
> Библиотеки с шаблонами могут существовать только в виде
> исходного текста.

> Конечно, если все разработки ведутся только на этом языке,
>  это не имеет никакого значения.
> Но такая ситуация и есть не что иное, как зародыш среды
> исполнения.

Гм, почти убедил.. Еще подумаю..

> > Множественное наследование неабстрактных классов - спорный
> > пункт
> Ничего спорного. Множественное наследование неабстрактных
> классов -- это агрегация и ничего кроме агрегации.
> Множественное наследование в итоге -- эклектика. Т.е. бардак
> дизайна.

Я припоминаю ты вообще был против наследования? Даже одиночного. И в итоге любое наследование - эклектика?
И какого дизайна бардак? Языка или кода?


> > Но идею - не трожь!
> Идею чего? Идей две: идея аспектов (интерфейсов), и идея
> реюза кода (агрегация). Это ортогональные идеи. Множественное
> наследование смешивает их в кашу, и этим убивает обе. Фтопку.

Не трожь идею множественного наследования - как такую, что реализует и интерфейсы и собственно наследование и множественную агрегацию.
Кстати, с чего ты взял, что реюз - суть агрегация? Имхо видов реюза великое множество..
--
З.Ы. И что такое эклектика? Что-то очень плохое наверно.. :)


 
DiamondShark ©   (2005-11-04 20:02) [129]


> wicked ©   (04.11.05 19:57) [125]
>
> ээээ..... при правильном подходе к формату промежуточного
> кода нам ничто не мешает хранить дженерики в удобной precompiled-
> форме.... что уже меняет дело....

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


 
Igorek ©   (2005-11-04 20:03) [130]


> ээээ..... при правильном подходе к формату промежуточного
> кода нам ничто не мешает хранить дженерики в удобной precompiled-
> форме.... что уже меняет дело....

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


 
DiamondShark ©   (2005-11-04 20:24) [131]


> Igorek ©   (04.11.05 20:01) [128]


> Я припоминаю ты вообще был против наследования? Даже одиночного.

На счёт против -- я ещё не совсем решился ;)
Больше SKLоняюсь к "против"...


>  И в итоге любое наследование - эклектика?

Строго говоря -- да, ибо соединяет декларацию интерфейса и механизм повторного использования кода.


> И какого дизайна бардак? Языка или кода?

Языка.


> Не трожь идею множественного наследования

Буду трогать.


> Кстати, с чего ты взял, что реюз - суть агрегация?

Ни с чего. Я утверждал ровно противоположное: агрегация суть реюз.
А множественное наследование неабстракных классов ничем кроме агрегации быть не может.


> Имхо видов реюза великое множество

(*вкрадчиво*) перечислите все, пожалуйста...


> З.Ы. И что такое эклектика? Что-то очень плохое наверно.
> . :)

Эклектика -- это бессистемное соединение разнородных идей.


 
wicked ©   (2005-11-04 20:30) [132]

> Igorek ©   (04.11.05 20:03) [130]

> не представляю, как можно запихнуть библиотеку шаблонов
> в бинарь, который потом только линкуется..

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

> DiamondShark ©   (04.11.05 20:02) [129]

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

и получим .NET 2.... с немногочисленным, но существенным недостатком - огромный runtime... правда, можно оправдаться тем, что он и в 1-й версии немал....
да и джава имеет такой же недостаток........ ;)


 
Igorek ©   (2005-11-04 20:43) [133]

> wicked ©   (04.11.05 20:30) [132]
> между исходным кодом и машинным кодом может существовать
> одно или более представлений исходного кода, которые называются
> промежуточными....

А толку? Все равно выходим на кодогенерацию при инстанциировании шаблона  в коде, который юзает библиотеку.


 
wp2 ©   (2005-11-04 21:31) [134]


> рудимент и непростительный недостаток, оставшийся от си.
> ... а вы видели модульный ассемблер?.... ;)

Ассемблер для небольших прог, для него модульность в принципе и не нужна, а вот если считать, что все проги надо писать на С++, то улучшения конечно-же должны быть!


> Указание не верного возраста говорит либо о юности, либо
> об отклонениях в психике.

Или человек не хочет, чтобы его просекли...


> на vcl никто не пишет.

Как это никто не пишет?


> Да и вообще споры о том кто там ценится обычно характерны
> для юнцов которые выучили азы чего-нибудь и потихоньку мечтают
> как они будут потом цениться (вернее, уже сейчас начинают).
>

Это точно. Профи знает все языки!!! И ему на всё положить.


> > Раньше самым лучшим языком был действительно С (когда
> под
> > DOS программировали). Причём конкурента у С долго небыло
>
> Это кто тебе такое сказал?

Здравый смысл. Или ты думаешь, что на фортране или на алголе, древнем паскеле можно было что-то написать?


> > А вообще С++ язык считается лучшим из-за того, что в нём
>
> > есть сочетание высокого и низкого уровня.
>
> Уровня знаний программистов?

Ты издеваешься, или действительно не знаешь что такое программирование на низком и высоком уровне?


> > То есть программист должен иметь высокую квалификацию
> чтобы
> > написать прогу с прерываниями (DOS) или с WinAPI (Windows).
>
> А при чем здесь C?

Как это причём?
Вы видели исходники прог под Windows на С языке?
Там всё делается с на WinAPI (я не говорю о тех случаях где используется MFC)


> Я не программирую на "VB.NET/C#". Но пусть они попробуют
> снизить зарплату! :)

Ага, будем хакерами и захакерим их... :-))))


> >> У меня в городе максимум 200-300$
> ЭТО ХДЕ ?!

Украина. Небольшой город, но районный центр.

А вообще топик интересный: C++ vs Delphi.
Но спор это никогда не закончится

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


 
isasa ©   (2005-11-04 22:01) [135]

wp2 ©   (04.11.05 21:31) [134]
Здравый смысл. Или ты думаешь, что на фортране или на алголе, древнем паскеле можно было что-то написать?


А мы и не знали.

Поэтому при переводе коммерческой задачи на другую платформу выбрали
ЕС 1033.1045(IBM 360/370) -> СМ 1420 (СМ 1800, IBM XT/AT)
FORTRAN, PL/1, PLO        -> Pascal(Turbo Pascal v.3)

C рассматривался, как конкурент, но не прошел из-за арифметики с плавающей запятой.


 
wicked ©   (2005-11-04 22:22) [136]

> Igorek ©   (04.11.05 20:43) [133]

> А толку? Все равно выходим на кодогенерацию при инстанциировании
> шаблона  в коде, который юзает библиотеку.

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


 
xray   (2005-11-04 22:34) [137]

DiamondShark ©   (04.11.05 20:24)

>>  И в итоге любое наследование - эклектика?
>Строго говоря -- да, ибо соединяет декларацию интерфейса и механизм повторного использования кода.

Интересная дискуссия о повторном использовании (лопата в конце)...
Каждый раз так?
http://www.javable.com/forum/thread.jspa?forumID=3&threadID=11267&messageID=48167
В C++ конечно бардак, но иногда и он бывает полезен.

wp2 ©   (04.11.05 21:31) [134]

>Ассемблер для небольших прог, для него модульность в принципе и не нужна, а вот если считать, что все проги надо писать на С++, то улучшения конечно-же должны быть!

Как-то все разом забыли про namespaces и про static в файлах...

И вообще, есть метапрограммирование, при применении которого, как утверждают гуры, на C++ можно запрограммировать даже лысого черта.
http://anatolix.naumen.ru/Books/ModernCPPDesign?v=16g9
Где оное в Delphi?


 
Loginov Dmitry ©   (2005-11-05 09:53) [138]

Бедный С++ :-)
Опустили ниже плинтуса :-)


 
wp2 ©   (2005-11-05 14:49) [139]


> Бедный С++ :-)
> Опустили ниже плинтуса :-)

А мне он никогда не нравился.
Лучше я уж буду на Ассемблере программировать чем на С++


 
Lamer@fools.ua ©   (2005-11-05 14:57) [140]

>>wp2 ©   (05.11.05 14:49) [139]

>Лучше я уж буду на Ассемблере программировать чем на С++
Хочу увидеть программу с использованием ООП на ассемблере.


 
Igorek ©   (2005-11-05 15:47) [141]


> Loginov Dmitry ©   (05.11.05 09:53) [138]
> Бедный С++ :-)
> Опустили ниже плинтуса :-)

Главное чтоб не ниже Паскаля! :)))


 
Polevi ©   (2005-11-05 15:57) [142]

кгда мне было 15 лет я програмимровал на ассемблере Z80 и считал всяикие там С и виндовсы ацтоем для ламеров
а сейчас считаю что лучше всего программировать карандашом на листе бумаги
и вас вылечат


 
DiamondShark ©   (2005-11-05 16:01) [143]


> Хочу увидеть программу с использованием ООП на ассемблере.

Если найду -- покажу.
На MACRO-11


 
tesseract ©   (2005-11-05 18:04) [144]


> Как-то все разом забыли про namespaces и про static в файлах.
> ..


Все как-то разом забыли про самый важный фактор - срок здачи проекта!!!!1


 
Kerk ©   (2005-11-05 19:49) [145]


> Хочу увидеть программу с использованием ООП на ассемблере.

MASM32 8.0 скачай. Там и примеры есть.


 
Megabyte ©   (2005-11-06 01:43) [146]

Оффтоп: Интересно вас почитать. Много нового узнаю :)



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.81 MB
Время: 0.032 c
2-1131805105
Olga_b
2005-11-12 17:18
2005.11.27
ПРОПИСНЫЕ БУКВЫ!


3-1129111830
iamkate
2005-10-12 14:10
2005.11.27
Проблема с Update blob-поля


5-1112056838
override
2005-03-29 04:40
2005.11.27
Инициализация полей


2-1131443009
pathfinder
2005-11-08 12:43
2005.11.27
Удаление записей в StrinList.


2-1131697453
Perf2k2
2005-11-11 11:24
2005.11.27
DateTimePicker - нужно, чтобы он был пустым