Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему все любят С++? 
:(
    Опции темы
Mayk
Дата 22.7.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(ManiaK @ 22.7.2005, 09:39)
Первое. Не очень понял, что ты этим хотел сказать. С дровами надо как-то общаться, чтобы управлять устройствами. Один из вариантов - драйвера как Slave, ядро оськи - как Master.

То, что инкапсуляция рулит в большем объеме. В малом - нет. get/set'ы не люблю.
Цитата(ManiaK @ 22.7.2005, 09:39)
Есть ещё одна огромнейшая сфера - встроенные системы..

Ну не знаю. Видел только сишные. Да и то мельком.


Цитата(ManiaK @ 22.7.2005, 09:39)
Вот пример:

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

Цитата(ManiaK @ 22.7.2005, 09:39)
Время компиляции увеличивается в разы!
И что?

То, что в один и тот же участок времени ты меньшее число раз успеешь собрать и запустить и, значит, протестировать. Значит, меньшее число отлавленных багов в единицу времени.




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
fevdokimov
  Дата 22.7.2005, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 16.10.2004

Репутация: нет
Всего: нет



Цитата(Vadim999 @ 12.7.2005, 00:13)
А чё на Delphi можно OSь написать?  smile
smile  smile  smile

[quote]
на Delphi не уверен, но на OBERON уже написана smile
PM MAIL   Вверх
CosmoMan
Дата 22.7.2005, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 12.7.2005
Где: Харьков

Репутация: нет
Всего: 0



И пришли таким образом к выводу, что С++ (пусть Си) - язык ниского уровня, годный для написания драйверов, встроенных сисем, ядер операционок.
Пользовательский интерфейс пусть пишется на Delphi, Javа и С#.

C++ для одних целей, ObjectPascal & Java для других.

Cогласен, что на Pascal & Asm сложнее написать оперционку, чем на Си
PM MAIL   Вверх
DENNN
Дата 22.7.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата(CosmoMan @ 22.7.2005, 10:57)
И пришли таким образом к выводу, что С++ (пусть Си) - язык ниского уровня, годный для написания драйверов, встроенных сисем, ядер операционок.

Не надо обобщать smile Это только ты пришел к такому мнению, множества же других людей с большим успехом используют плюсы и для создания интерфейсов, и для математических алгоритмов, и для 3Dграфики, и для CGI-приложений, и для ..., да собственно зачем я объясняю?
PM ICQ   Вверх
Петрович
Дата 22.7.2005, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 2
Всего: 55



Цитата(ManiaK @ 22.7.2005, 00:49)
1. Не спорю, написать операционку на Паскале можно. Но ответьте на вопрос: почему таковых нет в массовом употреблении в наше время, а не в каких-то там 80-х?


Цитата(ManiaK @ 22.7.2005, 00:49)
То, что до сих пор организация интерфейса пользователя в Си++ - задача более сложная, чем в языках вроде Си#, Java (не говоря уже о Дельфи) - указывает только на одно: не написано ещё удобных библиотек к нему.


smile Для полноты, не хватает вопроса "А почему за все время существования C++ не написано еще удобных библиотек к нему?" smile
На самом деле, это лишь свидетельствует об наиболее вероятной области применения тех или иных языков.
А вообще то, я не верю что "не написано ещё удобных библиотек к нему". Просто наверное их слишком много, и среди них нет абсолютного лидера. Да и область распространения C++ куда шире (в смысле платформ). Что соответственно не позволяет иметь универсальную библиотеку на все случаи жизни.
С Delphi проще. Тут только для Windows и Linux.

Цитата(bel_nikita @ 22.7.2005, 01:20)
Народ, а Delphi стандартизирован кем-либо или это только детище Borland?  И если умрет Borland, то умрет и Delphi.

Ну... Это уж слишком. Во первых, Borland жил, Borland жив, Borland будет жить. Шутка smile.
А если серьезно, то смерть Borlan'да совершенно не означает смерть Delphi. Как ни странно, эфект может даже быть обратным.
В конце концов, кто вспомнит авторов и поставщиков компиляторов для Cobol'а? А вот язык до сих пор существует. Хотя, молодежь о таком и не слыхивала. И слава богу smile.

Чтоже касается стандартизации, для Delphi это не имеет существенного значения поскольку на сегодняшний день, компиляторы под него поставляет лишь одна группа разработчиков (Borland). Т.е. его можно считать стандартизированным - см.описание языка.
Вопрос стандартизации очень существенен для C и C++. Это для них существуют куча постащиков, и поэтому крайне важно добиться их совместимости на уровне входного языка.


Цитата(ManiaK @ 22.7.2005, 00:49)
Начали мы с этого:

Цитата
Почему все любят С++?

Да, да. smile

Лично я считаю что C++ своей популярности обязан прежде огромным распространением C на момент появления C++. Ведь именно от него он и родился. А если даже быть более точным, то C++, это язык C, который расширен в соответствии с велением времени (ООП).
А вот почему C популярен был (и есть)?
Думаю, что прояснить это, поможет небольшой экскурс в историю. Ведь кому как не мне, старому седому аксакалу, не порассказывать байки о том как я в сибири яй..... Ой забылся smile
Что ж, да простят меня модераторы, Начнем.
В 70-е годы, в эру "больших" (IBM и т.п.) и особенно "средних" (DEC PDP, и т.п.) машин, большинство высших учебных заведений было оборудовано именно ими. Особенно в США. Более того, уже тогда они объединялись в глобальные сети (тогда это еще не называлось Internet). Так вот, именно в те времена, для удобного использования имеющихся ресурсов и была создана ОС UNIX. А вот для ее создания, как раз и были созданы языки, сначала B, а затем и сам C. Студенты вообще не любят стандартных решений smile. Более того, поскольку разработка изначально велась на машинах DEC PDP-11, производительность которых тогда была невелика, разработчики не могли себе позволить построения автоматически-оптимизирующих компиляторов. Они пошли другим путем. Они отдали оптимизацию программ в руки программисту. Т.е., они просто создали "высокоуровневый ассемблер" - дешево и сердито. Именно поэтому, архитектура DEC PDP-11 наложила неизгладимый отпечаток на язык C. Это и используемая восьмеричная система счисления, и операторы ++ --, базовые типы данных, и еще много чего.
ОС UNIX получилась весьма удачной. Именно по этому она и живет по сей день, и даже реинкарнировалась в виде Linux'а.
Но, вернемся к основной теме лекции smile. Так вот, ОС UNIX получилась весьма удачной. Поэтому, в максимально короткие сроки, она стала стандартом для компьютерных систем университетов и других учебных заведений. Да и альтернативы ей, как сетевой ОС, в то время практически не было.
Естественно, поскольку сама она была написана на C, то именно этот язык и стал основным при разработке программ под эту ОС. Как следствие, преподавание программирования и смежных дисциплин, тоже стало вестись на примерах языка C. А открытые исходные тексты UNIX'а позволяли любому программеру еще и повышать свой уровень.
Ну и какому языку программирования будет отдавать предпочтение программист закончивший такое учебное заведение? А какому языку программирования будет обучать преподаватель закончивший такое учебное заведение? .... Ответ очевиден. (это Вам на домашнее заданиеsmile)

Ну а в завершение лекции, немножко о последующих событиях. Некоторые наверное уже их застали и сами. smile
Позже, появились "персоналки", причем тогда еще даже не "завязанные" в сеть. Их пользователями становились не профессианалы-компьютерщики (какому профессионалу интересен программируемый калькулятор smile), а простые менеджеры, писатели, продавцы и пр. Для них, ОС UNIX была сложна и непонятна, да и не нужна. Не говоря о том, что к тому времени UNIX стала в некотором роде "монстром" которого было невозможно "затолкать" в IBM-PC (напомню: 64Kb RAM, No HDD, 360Kb FDD). Поэтому, и появились сначала ОС CP/M, а затем MS-DOS - "нечто", являющееся жалкой попыткой сделать выжимку (пятого отжима) из идей UNIX. Там, по началу, основным языком был ассемблер.
Но, поскольку кагорта потребителей быстро росла, и среди них стали появляться доморощенные программисты, им нужен был язык. Ну не на птичем-же языке ассемблера будут писать домохозяйки. Да и C для них был неоправданно сложен. Так и родился всеми любимый Basic smile. Позже, когда уже Microsoft стала прикладывать к нему руки, он стал преображаться в QBasic, Word Basic, Visual Basic, и прочие.
Время не стояло на месте, персоналки становились мощнее, а потребности больше. Но как и прежде, UNIX не мог предложить дружественного интерфейса для рядового пользователя. Вот так и родился Windows. Но, это уже другая история smile. Для нас важно только то, что к этому времени, рынком ПО для ПК заинтересовались профессионалы. Ну и как следствие, на ПК пришел C, со всеми вытекающими.
Причем, еще до прихода C на персоналки, было создано великое множество его реализация и расширений. В общем бардак. Благо во время одумались, и таки застандартизировали его. Правда, как всегда было много противников большинство из которых справидливо считали что стандарт это смерть. Хорошо что они ошибались.
Теперь, при наличии мощных, многопроходных оптимизирующих компиляторов, все богатство низкоуровневых возможностей языка C принципе без надобности. Но, стандарт есть стандарт. Да и привычки чего стоят.
Вот кажется и вся история появления, и распространения языка C, естественно в кратком изложении smile.

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

В последнее же время, на арену борьбы за души программистов, стало выходить множество других языков, а порою даже не языков а вообще не понятно чего smile. Это, по моему мнению, является следствием того, что традиционные языки уже с трудом удовлетворяют все возрастающим потребности пользователей, и все возрастающим возможностям современной техники. Естественно, опять активно ищутся компромиссы между прототой языка, его функцианальной мощью, способностью адаптироваться к предметной среде, мультиплатформенностью, и прочее, прочее прочее... Так рождаются языки .java, C# и др. Но, время, лучший судья. Некоторые новые языки ожидает долгая и счастливая жизнь (типа как у C), других же, легкая и быстрая смерть в почти еще зародышевом состоянии (типа как было с языком ADA). Поживем (надеюсь), увидим.

P.S. В своей лекции я специально не затронул историю Delphi - тема то не о нем smile.
Добавлено @ 12:17
Цитата(fevdokimov @ 22.7.2005, 11:55)
А чё на Delphi можно OSь написать? 

Я уже писал выше про ось на Pascal-е.
Что же касается Delphi - не вижу препятствий кроме двух:
1. А зачем?
2. Кто это будет оплачивать?

Добавлено @ 12:21
А еще, про то что можно а что нельзя, хотя и не совсем в тему.
А знаете ли Вы, что компиляторы большинства языков, особенно серьезных, пишутся именно на этих-же языках, методом раскрутки? Это позволяет сразу же и проводить их тестирование и отладку.

Так, практически изначально компиляторы C писались на C, Pascal'я на Pascal'е и т.п.



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
ManiaK
Дата 22.7.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Петрович - ЦАРЬ!..

Цитата
Так, практически изначально компиляторы C писались на C, Pascal'я на Pascal'е и т.п.

Неужели C# трансляторы написаны на C#? smile smile
PM MAIL WWW   Вверх
Петрович
Дата 22.7.2005, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 2
Всего: 55



Цитата(ManiaK @ 22.7.2005, 15:07)
Неужели C# трансляторы написаны на C#? 


Цитата
компиляторы большинства языков

т.е. не всех. Что касается C#, то про него не скажу, не знаю.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
ManiaK
Дата 22.7.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Хотя чем чёрт не шутит, можт лет через пять создадут такой комп, который будет интерпретаторы щёлкать как орехи smile Пока что слишком уж тормозно даже для среднего уровня сложности приложений, не говоря уже об компиляторах...
PM MAIL WWW   Вверх
Poseidon
Дата 22.7.2005, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Цитата
А знаете ли Вы, что компиляторы большинства языков, особенно серьезных, пишутся именно на этих-же языках, методом раскрутки?

smile
Пусть не в тему, простите уж. Но вот всегда хотелось узнать, это как? Вопрос по моему сродни такому: "Что появилось ранше: яйцо или курица?". Как можно написать компилятор на том языке, для каторого пишется компилятор? Чем тогда этот компилятор компилировался?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
ManiaK
Дата 22.7.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Цитата(Poseidon @ 22.7.2005, 16:08)
Как можно написать компилятор на том языке, для каторого пишется компилятор? Чем тогда этот компилятор компилировался?


Цитата
А знаете ли Вы, что компиляторы большинства языков, особенно серьезных, пишутся именно на этих-же языках, методом раскрутки?


Мне так кажется это примерно так: написали на стороннем языке наипростейшую версию копилятора языка нового. А потом по-нарастающей, всё сложней и сложней до полной версии.
PM MAIL WWW   Вверх
Петрович
Дата 22.7.2005, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 2
Всего: 55



Цитата(ManiaK @ 22.7.2005, 16:40)
Мне так кажется это примерно так: написали на стороннем языке наипростейшую версию копилятора языка нового. А потом по-нарастающей, всё сложней и сложней до полной версии.

Да да. Именно так. Именно поэтому такой способ и называется "метод раскрутки".



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
TP@MB@Y
Дата 23.7.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: 1
Всего: 4



Хех. Сегдня всю ночь не мог заснуть и в итоге решил поближе познакомиться с С++ smile
Для этого буду пытаться написать пошаговую игрушку типа Дисайпелс(со смесью хирос).

Так вот, хотел поинтересоваться: у меня тут на выбор Visual C++6, Visual C++6.5 Update или мне нужно просто С++? Чем они отличаются?

Если я собираюсь писать игру, то мне нужно юзать ОпенЖеЛе или ДиректорИкс, т.е. мне достаточно будет подключить их библиотеки и визуальные классы из Visual C++ мне не понадобятся?
PM   Вверх
Poseidon
Дата 23.7.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



TP@MB@Y, думаю этот вопрос лучше было бы задать в специализированном разделе, там больше сишников крутится, они тебе подскажут и покажут smile


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
batigoal
Дата 23.7.2005, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 4
Всего: 151



Цитата(TP @ 23.7.2005, 11:47)
у меня тут на выбор Visual C++6, Visual C++6.5 Update или мне нужно просто С++? Чем они отличаются?

С++ - это язык. Он один. А у тебя - среды разработки. На тот момент, когда я еще писал на Си, последней была Visual Studio 2003.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
TP@MB@Y
Дата 24.7.2005, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: 1
Всего: 4



Poseidon
Догадываюсь... просто хотелось "не отходя от кассы" smile


Lamer George
Ну я про среду и спрашиваю. С++ он и в африке С++ smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.