Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну тебе виднее Однако ж мой опыт был не самым приятным. В случае с Obj C валидный код на С является и валидным кодом на Obj C, в случае с С и С++ это далеко не всегда так, а значит, видимо, уже не совместимость во главу угла ставится. А раз нет — то чего ее винить в том, что язык вышел таким.
Не знаю, я вообще не понял зачем компилировать сишный код C++ компилятором.
ВВ>Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали.
А получится?
В том же D можно легко так писать, практически D содержит в себе как подмножество яву, так что даже библиотеки в почти автоматическом режиме транслируют http://www.dsource.org/projects/dwt
ВВ>А у скриптовых тоже папы есть, куда без них-то. Какой-то там самый-самый популярный? Правильно, ДжаваСкрипт ВВ>А какой "папа" РОР развивает? Тот же, что и Obj С, как ни странно.
Какие это папы, эти и на отчимов кое-как тянут, а то так можно договориться что гугл папа питону, при том что питон лет на десять старше
ВВ>Да, собственно, и у Obj C изначально "папы" никакого не было, папа уже потом его приютил. А кто, собственно, мешал папе обратить свои взоры на что-то более другое? Так что, видимо, от языка тоже многое зависит.
Ну тут слишком много факторов, не факт что именно достоинства языка хоть как-то повлияли.
Re[8]: Ржавчина - новый системный язык программирования
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
ВВ>>Но, кстати, тут бы определиться — шаблоны и статическая типизация вообще не очень дружат. LCR>Что-то новенькое...
А что вас удивляет-то?
Re[6]: Ржавчина - новый системный язык программирования
Здравствуйте, FR, Вы писали:
FR>Ну если сравнить даже последние версии дельфи с замыканиями и т. п. с тем же D не впечатляет.
Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, gandjustas, Вы писали:
G>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.
Мода закончилась уже 10 лет назад, тогда редко какие компиляторы могли нормально соревноваться с хорошим ассемблерщиком.
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, gandjustas, Вы писали:
G>>>На самом деле зависит от компилятора. G>>>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.
ВВ>>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие. G>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.
При работе с плавающей точкой, а также в некоторых специальных случаях, обогнать компилятор С++ в 2-3 раза по прежнему не представляет особого труда.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[7]: Ржавчина - новый системный язык программирования
Здравствуйте, Mystic, Вы писали:
M>Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.
Что-то мешает использовать подмножество С++?
Re[8]: Ржавчина - новый системный язык программирования
Здравствуйте, FR, Вы писали:
FR>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто FR>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более FR>высокоуровневых языков) и высокоэффективном прикладном языке.
Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.
Здравствуйте, BlackEric, Вы писали:
BE>Здравствуйте, FR, Вы писали:
FR>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто FR>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более FR>>высокоуровневых языков) и высокоэффективном прикладном языке.
BE>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.
BE>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.
Re[14]: Ржавчина - новый системный язык программирования
Здравствуйте, FR, Вы писали:
FR>Не знаю, я вообще не понял зачем компилировать сишный код C++ компилятором.
Ну например хотим дописывать на С++. Я вообще сишные либы упаковывал в менеджд библиотеки. А это как раз и получалось С -> С++, а поверху толстым слоем С++/CLI.
ВВ>>Ну если ты пишешь "в стиле С", то конечно типизация никак не улучшится. Ну так не пишите на Obj С как на простом С, в чем проблема-то? ООП ж для кого-то прикручивали. FR>А получится? FR>В том же D можно легко так писать, практически D содержит в себе как подмножество яву, так что даже библиотеки в почти автоматическом режиме транслируют http://www.dsource.org/projects/dwt
Не очень понял, что получится? На Obj C в ОО-стиле писать? А что мешает?
А для просто С поддерживается кросс-компиляция, собственно, и "странность" синтаксиса Obj C объясняется именно стремлением избежать конфликтов.
ВВ>>А у скриптовых тоже папы есть, куда без них-то. Какой-то там самый-самый популярный? Правильно, ДжаваСкрипт ВВ>>А какой "папа" РОР развивает? Тот же, что и Obj С, как ни странно. FR>Какие это папы, эти и на отчимов кое-как тянут, а то так можно договориться что гугл папа питону, при том что питон лет на десять старше
При таком подходе Apple Obj C тоже не папа, а сугубо отчим. Ибо появился сей язык тоже весьма давно.
ВВ>>Да, собственно, и у Obj C изначально "папы" никакого не было, папа уже потом его приютил. А кто, собственно, мешал папе обратить свои взоры на что-то более другое? Так что, видимо, от языка тоже многое зависит. FR>Ну тут слишком много факторов, не факт что именно достоинства языка хоть как-то повлияли.
Факторов-то много, тут гадать бессмысленно. Опять же не сказать, что у того же Эпла выбор был слишком большой.
Ну и да, изобрести язык можно хоть в гараже, но без "папы" он олимп не завоюет.
Re[8]: Ржавчина - новый системный язык программирования
Здравствуйте, Тот кто сидит в пруду, Вы писали:
ТКС>Здравствуйте, gandjustas, Вы писали:
G>>>>На самом деле зависит от компилятора. G>>>>Раньше было модно писать на asm из-за высокой эффективности, потом внезапно оказалось что компилятор C дает более оптимальный ассемблерный выход, чем может написать человек.
ВВ>>>"Внезапно" ничего не оказалось. Просто со временем стали делать хорошие оптимизирующие компиляторы для С. А в то время, когда "модно" было писать на асме, компиляторы были никакие. G>>Мода закончилась лет 5 назад (а у некоторых до сих пор есть), а компиляторы стали довольно эффективными гораздо раньше.
ТКС>При работе с плавающей точкой, а также в некоторых специальных случаях, обогнать компилятор С++ в 2-3 раза по прежнему не представляет особого труда.
Только умельцев таких становится все меньше.
Re[10]: Ржавчина - новый системный язык программирования
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, BlackEric, Вы писали:
BE>>Здравствуйте, FR, Вы писали:
FR>>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто FR>>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более FR>>>высокоуровневых языков) и высокоэффективном прикладном языке.
BE>>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.
>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.
В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.
А FreePascal (Lazarus) кросплатформенен. Хотя экзотика редкая
Здравствуйте, BlackEric, Вы писали:
BE>Здравствуйте, gandjustas, Вы писали:
G>>Здравствуйте, BlackEric, Вы писали:
BE>>>Здравствуйте, FR, Вы писали:
FR>>>>Речь все-таки не идет о чисто системном языке предназначенном для написания ядра OS тут си еще надолго останется вне конкуренции по чисто FR>>>>историческим причинам. Речь идет об около системном (скажем не ядерный слой OS и всякие системные утилиты, рантаймы и фреймворки для более FR>>>>высокоуровневых языков) и высокоэффективном прикладном языке.
BE>>>Под Win 32 для этого практически идеально подходит Delphi. Можно писать фактически все кроме драйверов.
>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.
BE>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.
А на деле оказывается достаточно. Особенно когда касается бизнес-приложений.
Re[7]: Ржавчина - новый системный язык программирования
Здравствуйте, Mystic, Вы писали:
M>Большинство фич D уже cложно отнести к простым системным языкам. Тут вопрос скорее в том, как бы сильно не усложняя язык, добавить пару вкусных фич. Т. е. добавить к C простые классы, строки и обработку исключений и уже нормально А все сверх этого уже переусложнение.
Мне кажется сама по себе сложность/простота не так важны, важно удобство и простота использования и отсутствие подводных камней.
В том же C++ на эти камни можно наткнутся даже используя "простое" его подмножество.
С другой стороны излишнее упрощение так же легко губит язык как и переусложнение, как пример — Оберон.
D по моему как-раз близок к золотой середине мощный язык которые легко и удобно использовать.
Другой пример питон который только кажется простым.
Re[11]: Ржавчина - новый системный язык программирования
Здравствуйте, BlackEric, Вы писали:
>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов. BE>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.
А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.
BE>А FreePascal (Lazarus) кросплатформенен. Хотя экзотика редкая
.NET вообще-то тоже
Re[11]: Ржавчина - новый системный язык программирования
Здравствуйте, Mystic, Вы писали:
M>Здравствуйте, gandjustas, Вы писали:
BE>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов.
M>Не, некоторые вещи писать тяжело.
Например?
M>Во-первых, напрягает постоянно вставлять unsafe.
А ты что пишешь такое то?
M>Плюс часто генерируется ужасный код.
А оно тебя как волнует? Думаешь на делфи менее ужасный код генерируется со вставкой финализирющих блоков?
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Здравствуйте, BlackEric, Вы писали:
>>>>Под Win 32 для этого практически идеально подходит .NET. Можно писать фактически все кроме драйверов. BE>>В общем-то это верно начиная с Win 7. Для XP таскать за собой .Net желающих не много.
ВВ>А что за проблема-то такая "таскать .NET"? Кстати, в Виста .NET тоже был.
Сейчас вообще не проблема, размеры дистрибутивов для .NET4 стали неприлично маленькими.
Что-то в районе 40 мб для большого фреймворка и 20 с мелочью для Client Profile.
Re[12]: Ржавчина - новый системный язык программирования
Здравствуйте, gandjustas, Вы писали:
G>А на деле оказывается достаточно. Особенно когда касается бизнес-приложений.
В бизнес-приложениях зачастую производительность не главное. В случае .NET хорошо писать не задумываясь о том, что будет в результате на асемблере. В противном случае написание кода вытекает в реверс: мало написать код, надо его в уме откомпилировать и проверить, а не вставит компилятор туда что лишнее. В случае C++ для написания производительного кода иногда надо раскручивать шаблоны и перегрузку. Ну и C++ не очень хорошо дружит с очепятками, пропустил где-нить & в описании параметра, и уже будет вызываться конструктор копирования. Преимущество C в этом случае в том, что будет выполнятся то, что ты видишь глазами. И ничего больше. Иногда это удобно. Но бывает хочется чуть-чуть большего.