Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

Почему программисты на С++ ценятся больше чем на 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.8 MB
Время: 0.027 c
4-1127657412
Ландграф Павел
2005-09-25 18:10
2005.11.27
Реакция окна программы на taskbar


9-1121272440
Turkish
2005-07-13 20:34
2005.11.27
Движение модели за камерой


2-1131379656
makxi
2005-11-07 19:07
2005.11.27
Информацыя про комп


8-1120431088
flatron84
2005-07-04 02:51
2005.11.27
DSPack


14-1130932629
DVM
2005-11-02 14:57
2005.11.27
Связь 100Мбит по медным парам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский