Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 10 11 [12] 13 14 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#166
,
|
|
|
|
Навскидку: Свойства Индексаторы (для свойств) Делегаты События Override методов(сахар конечно, но всё же) Интерфейсы (в какой-то степени) Оператор Switch RTTI try-finally Локальные функции (вроде от нас) Строгая типизация Компонентность Добавлено И вообще, откуда такие вопросы? Цитата Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи, из компании Borland Ltd. в Microsoft Corp. |
|
Сообщ.
#167
,
|
|
|
|
Цитата DesweR @ Оператор Switch C++ же! |
|
Сообщ.
#168
,
|
|
|
|
Цитата Мяут-Настоящий @ Цитата DesweR @ Оператор Switch C++ же! который и так был уродский, а в C# его ещё изуродовали: ![]() ![]() switch (i) { case 0: CaseZero(); goto case 1; case 1: CaseZeroOrOne(); goto default; default: CaseAny(); break; } http://bobcongdon.net/blog/2003/12/c-switch-statement/ (конечно в С++ есть goto, но я не думал, что его ещё реализуют при дизайне более современных высокоуровневых языков) |
|
Сообщ.
#169
,
|
|
|
|
korvin, шарп ни чуть не более высокоуровневый, чем плюсы.
|
|
Сообщ.
#170
,
|
|
|
|
Цитата korvin @ который и так был уродский, а в C# его ещё изуродовали: Упс ошибочка вышла, а мне почему то казалось, что в C# его излечили |
|
Сообщ.
#171
,
|
|
|
|
Цитата korvin @ который и так был уродский, а в C# его ещё изуродовали: Это case fall-through. Эта фича используется не так часто, зато в C# сэкономили на break; Короче не лезь, коли не знаешь. Это не классический goto. Добавлено Цитата DesweR @ Упс ошибочка вышла, а мне почему то казалось, что в C# его излечили ![]() Как в Delphi реализуется case fall-through? |
|
Сообщ.
#172
,
|
|
|
|
Цитата Мяут-Настоящий @ Как в Delphi реализуется case fall-through? А зачем он? Case - выбор одного действия в зависимости от условий. А так вообще через обычный If Then. |
|
Сообщ.
#173
,
|
|
|
|
Цитата DesweR @ А зачем он? Case - выбор одного действия в зависимости от условий. ![]() ![]() switch(message) { case EAT_PIE_AND_COOKIES: /*...*/ case EAT_COOKIES: /*...*/ break; } Позволяет избежать дублирования кода. |
|
Сообщ.
#174
,
|
|
|
|
Цитата Мяут-Настоящий @ Позволяет избежать дублирования кода. ![]() ![]() if message = EAT_PIE_AND_COOKIES then {...} if message = EAT_COOKIES then {...} |
|
Сообщ.
#175
,
|
|
|
|
Цитата DesweR @ До Delphi жизни не было Навскидку: Свойства Индексаторы (для свойств) Делегаты События Override методов(сахар конечно, но всё же) Интерфейсы (в какой-то степени) Оператор Switch ![]() RTTI try-finally Локальные функции (вроде от нас) Строгая типизация Компонентность Сотворение мира началось с Delphi. |
|
Сообщ.
#176
,
|
|
|
|
Замена switch на if - неравноценна, т.к. усложняет читаемость кода.
Но это уже Pascal vs. C |
|
Сообщ.
#177
,
|
|
|
|
Цитата Мяут-Настоящий @ Замена switch на if - неравноценна, т.к. усложняет читаемость кода По нам, так вполне нормально Цитата trainer @ До Delphi жизни не было Сотворение мира началось с Delphi. Не спорю, я уже говорил, что всё давным давно придумано ещё бог знает сколько лет назад. |
|
Сообщ.
#178
,
|
|
|
|
Цитата DesweR @ А C# - это значит новый век? Окей, тогда назовите в C# хоть одну инновационную идею, которая бы ещё не существовала 30 лет назад Да, в нём реализованы уже существующие идеи. Включая те, которые не реализованы ни в плюсах, ни в делфях. Добавлено Цитата DesweR @ Цитата Мяут-Настоящий @ Как в Delphi реализуется case fall-through? А зачем он? Дальше мог бы и не писать. Добавлено А что касается последних версий делфи - так налицо копирование тех самых 30-летних фич из шарпа: дженерики, анонимные функции и др. Только вот в делфи они не так удобны в илу специфики синтаксиса, отсутствия сборки мусора и т.д. Добавлено Цитата korvin @ который и так был уродский, а в C# его ещё изуродовали: Имхо, лучше, чем в плюсах - избавляет от возможности забыть брейк, который совсем не очевиден. А "goto" - это всего лишь название оператора из 4-х букв. Не обязательно того, от которого отучивают школьнегов. |
|
Сообщ.
#179
,
|
|
|
|
Цитата IL_Agent @ Дальше мог бы и не писать. Замечательно обходимся без "такого" Switch'а Цитата IL_Agent @ А что касается последних версий делфи - так налицо копирование тех самых 30-летних фич из шарпа И что? Шарп тоже их скопировал. Цитата IL_Agent @ Только вот в делфи они не так удобны в илу специфики синтаксиса, отсутствия сборки мусора и т.д. А функциональщики, в тоже время, говорят о убогости их реализации в С++ и C# К слову, а у кого-нибудь есть Case в структурах? ![]() ![]() LongRec = packed record case Integer of 0: (Lo, Hi: Word); 1: (Words: array [0..1] of Word); 2: (Bytes: array [0..3] of Byte); end; |
|
Сообщ.
#180
,
|
|
|
|
Цитата DesweR @ Навскидку: Свойства Индексаторы (для свойств) Делегаты События Override методов(сахар конечно, но всё же) Интерфейсы (в какой-то степени) Оператор Switch RTTI try-finally Локальные функции (вроде от нас) Строгая типизация Компонентность А что из этого появилось в Delphi ?Ничего Добавлено Цитата DesweR @ А функциональщики, в тоже время, говорят о убогости их реализации в С++ и C# ![]() В С++. В C# все неплохо в этом смысле. Только синтаксически перегружено... И без сборки мусора полноценной реализации, наверно, не сделать... |