Delphi 2009 vs C# 3.0
От: diatlov Молдова  
Дата: 28.10.08 09:39
Оценка: :))
Обсудим все + и — ?

Что хорошего появилось в Дельфи:
1. Шаблонизация
2. Полная поддержка Unicode
3. Анонимные методы
4. Куча новых поддерживаемых БД
5. Web решения

+ нативность по моему мнению — это очевидный плюс, т.к. с .NET не все так гладко при подготовке shareware продуктов (фреймворк многое запрещает по умолчанию на конечных машинах)
Re: Delphi 2009 vs C# 3.0
От: _d_m_  
Дата: 28.10.08 10:41
Оценка: +5 -2 :))) :))) :))) :))) :)))
Здравствуйте, diatlov, Вы писали:

D>Обсудим все + и — ?


D>Что хорошего появилось в Дельфи:

D>1. Шаблонизация

Ух ты! А это што такое?

D>2. Полная поддержка Unicode


Аллилуя! Не прошло и 10 лет.

D>3. Анонимные методы


Ну нифига себе! Вот это да! Так, глядишь, и C# 2 через лет 5 догонит.

D>4. Куча новых поддерживаемых БД


Прямо таки куча. Еще дымящаяся?

D>5. Web решения


Афигеть! Это новость. Для дельфи .

D>+ нативность по моему мнению — это очевидный плюс, т.к. с .NET не все так гладко при подготовке shareware продуктов (фреймворк многое запрещает по умолчанию на конечных машинах)


Давайте нативность оставим С++. А дельфи — в топку.
Re[2]: Delphi 2009 vs C# 3.0
От: diatlov Молдова  
Дата: 28.10.08 11:06
Оценка: -1
D>>1. Шаблонизация

___>Ух ты! А это што такое?


+1

D>>2. Полная поддержка Unicode


___>Аллилуя! Не прошло и 10 лет.


Дело не в том сколько лет прошло, а в том что это есть, и это несомненный плюс.

D>>3. Анонимные методы


___>Ну нифига себе! Вот это да! Так, глядишь, и C# 2 через лет 5 догонит.




D>>4. Куча новых поддерживаемых БД


___>Прямо таки куча. Еще дымящаяся?


В каком ещё языке по умолчанию есть полнофункциональный набор компонентов для управления ADO, MSSQL, MySQL, Oracle, BDB, и т.д.?

D>>5. Web решения


___>Афигеть! Это новость. Для дельфи .


Не поверите — новость. Значительные улучшения и добавления по сравнению с предыдущими версиями.

D>>+ нативность по моему мнению — это очевидный плюс, т.к. с .NET не все так гладко при подготовке shareware продуктов (фреймворк многое запрещает по умолчанию на конечных машинах)


___>Давайте нативность оставим С++. А дельфи — в топку.


Тут сравнение идет не с C++, а с C#, потому как C++ все таки уступает обоим в плане RAD GUI. А по моему мнению, так Delphi ещё и фору в этом плане всем дает.
Нативность оставить для C++ — это, по моему, зомбирование программистов. Есть такое выражение "Keep It Simple" (KISS если знаете ). Если мне удобно что-то сделать на Delphi, то я не буду использовать C++ только из-за того что он более продвинутый в плане использования WinAPI и возможности вручную рихтовать память.
Re[3]: Delphi 2009 vs C# 3.0
От: swined Россия  
Дата: 28.10.08 11:44
Оценка: +1 -1
diatlov wrote:

> В каком ещё языке по умолчанию есть полнофункциональный набор компонентов

> для управления ADO, MSSQL, MySQL, Oracle, BDB, и т.д.?

perl
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Delphi 2009 vs C# 3.0
От: Константин Л.  
Дата: 28.10.08 13:18
Оценка:
Здравствуйте, diatlov, Вы писали:

[]

___>>Давайте нативность оставим С++. А дельфи — в топку.


D>Тут сравнение идет не с C++, а с C#, потому как C++ все таки уступает обоим в плане RAD GUI. А по моему мнению, так Delphi ещё и фору в этом плане всем дает.

D>Нативность оставить для C++ — это, по моему, зомбирование программистов. Есть такое выражение "Keep It Simple" (KISS если знаете ). Если мне удобно что-то сделать на Delphi, то я не буду использовать C++ только из-за того что он более продвинутый в плане использования WinAPI и возможности вручную рихтовать память.

Delphi — RAD GUI? Ды вы видели этот гуй? Я RAD Studio видели? Как посмотрите — приходите.
Re[2]: Delphi 2009 vs C# 3.0
От: L.Long  
Дата: 28.10.08 13:22
Оценка: 4 (2) :))) :))) :))) :))) :)))
Здравствуйте, _d_m_, Вы писали:

D>>Обсудим все + и — ?

D>>Что хорошего появилось в Дельфи:
D>>1. Шаблонизация
___>Ух ты! А это што такое?

Не, ты чув, як воны generic-и обозвали? Вбыв бы!
Чем совершеннее технически средство, тем более примитивные, никчемные и бесполезные сведения при его помощи передаются.(с)Станислав Лем
Re[3]: Delphi 2009 vs C# 3.0
От: Pro100Oleh Украина  
Дата: 28.10.08 14:36
Оценка: +2
Здравствуйте, diatlov, Вы писали:

D>>>2. Полная поддержка Unicode


___>>Аллилуя! Не прошло и 10 лет.


D>Дело не в том сколько лет прошло, а в том что это есть, и это несомненный плюс.


Это не плюс, а отсутсвие минуса.
Pro
Re[3]: Delphi 2009 vs C# 3.0
От: Mr.Cat  
Дата: 28.10.08 16:40
Оценка:
Здравствуйте, diatlov, Вы писали:
D>В каком ещё языке по умолчанию есть полнофункциональный набор компонентов для управления ADO, MSSQL, MySQL, Oracle, BDB, и т.д.?
Давайте с другого конца укусим? Какие сложности работы с перечисленными СУБД есть в .NET (java, python, ruby, lisp, свой вариант) и нет в дельфи?
Re: Delphi 2009 vs C# 3.0
От: Mr.Cat  
Дата: 28.10.08 16:41
Оценка:
Здравствуйте, diatlov, Вы писали:
D>фреймворк многое запрещает по умолчанию на конечных машинах

Ммм, у любителей дельфи новые аргументы появились. И что же Вам запретил FW?
Re: Delphi 2009 vs C# 3.0
От: Mr.Cat  
Дата: 28.10.08 16:54
Оценка:
Здравствуйте, diatlov, Вы писали:

D>Что хорошего появилось в Дельфи:

D>1. Шаблонизация
D>2. Полная поддержка Unicode
D>3. Анонимные методы
Вы уверены, что этого достаточно, чтобы delphi как язык сравнивать с C# 3.0 как языком?
Re[2]: Delphi 2009 vs C# 3.0
От: Трурль  
Дата: 28.10.08 17:12
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Вы уверены, что этого достаточно, чтобы delphi как язык сравнивать с C# 3.0 как языком?

http://prismwiki.codegear.com/wiki/Delphi_Prism_vs._CSharp
Re: Delphi 2009 vs C# 3.0
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 28.10.08 17:13
Оценка:
Здравствуйте, diatlov, Вы писали:

D>Что хорошего появилось в Дельфи:

D>1. Шаблонизация
D>2. Полная поддержка Unicode
D>3. Анонимные методы
D>4. Куча новых поддерживаемых БД
D>5. Web решения

А что тут обсуждать-то? Это едва дотягивает до C# 2.0, который вышел аж 4 года назад. Так что сравнение будет некорректным и заведомо проигрышным для дельфей.
[КУ] оккупировала армия.
Re[3]: Delphi 2009 vs C# 3.0
От: Mr.Cat  
Дата: 28.10.08 17:31
Оценка:
Здравствуйте, Трурль, Вы писали:
Т>http://prismwiki.codegear.com/wiki/Delphi_Prism_vs._CSharp

По большей части это мусор. Все более-менее полезное из того списка доступно и в C#.
Re[3]: Delphi 2009 vs C# 3.0
От: Константин Л.  
Дата: 28.10.08 17:35
Оценка: -1
Здравствуйте, Трурль, Вы писали:

Т>Здравствуйте, Mr.Cat, Вы писали:


Colon Operator

This is essential to our nullable support, but it is also a surprisingly useful feature for general coding. Basically, instead of using "." to access members and get an NullReferenceException if they are nil, use ":" and the call will be skipped for nil (and the result will be nil itself). For example:

IDisposable(SomeObject):Dispose; // only call dispose if the interface is implemented
x := Button:Parent:Parent:Parent // access the 3rd parent of a control, where any level might be nil.


на фичу не тянет

Inline Property Accessors

Define simple properties within the class declaration, without any extra setter/getters.

property Foo: String; // local field is implied;
property Right: Int32 read Left+Width; // reader expression is provided in line


Autoptoperties in c# 3.0?

"implies" operator

This is mostly helpful for invariants or pre/post-conditions. Basically, the second part only "needs" to be true if the first is; if the first is false, the entire expression is true. this sounds odd, but consider
require

assigned(Customer) implies Customer.CreditRatio > 5;
this translates too
require
(NOT assigned(Customer)) OR (Customer.CreditRatio > 5);
the above is much more readable.


Гм. Жесть. 2 ключевых слова ради непойми чего.

"case type of"

Write a switch/case statement that executes different cases depending on the TYPE of a certain object, i.e.
case type MyControl of:
Edit: // do something
Button: // do something else
end;


anything else? я прям без этого жить не мог

Property Notifications

These save a lot of boilerplate code. Attach the "notify" keyword to a property as directive (like "virtual"), and the compiler generates all the infrastructure and interfaces needed for property notifications to work (in C#, you'll need to implement getters/setters, add interfaces to the class, etc).
[q]

wow!

Enhanced Nullable Types

Unlike C#, the Delphi Prism compiler provides full support for nullable types. You can call their members and use them in expressions; there's extensive support for nullable expressions — if any part that contributes to an arithmetic expression is "nullable", the whole expression becomes nullable. if any part IS null, the whole expression becomes null. For example:
x: nullable Int32;
y: Int;
var a := x+y; // result is a nullable Int32;
var b := 5*x; // if x is null, so is b.

[/q]

wtf???

improved 'for each' loop
for each matching x: Button in Controls do // only run loop for buttons
// use i to count; also type of x is inferred automatically from type of "Controls", if its a generic enum
for each x in Controls index i do


мда....

'locked' directive
The locked directive allows methods, events and properties to be declared implicitly thread safe.


эмм...

Extended Constructor Calls

Set properties as part of the constructor call. This is especially useful if you're not assigning to a local ref. For example:
Controls.Add(new Button(Width := 100; Height := 50));
without this, you; would need a temp var for the button.


c# 3.0

Boolean Double Comparison
if 0 <= x < Count then //...


я чета не припомню, чтобы мне это было нужно?


Iteration delegation
The yield keyword supports delegation of the iterator to a second sequence.


no comments

Empty Methods
Supply the 'empty' directive on a method's interface declaration and you dont need to define the empty method body.

Exception Filters
Catch selective exceptions not only based on type, but also based on any arbitrary condition (supported by VB.NET but not C#).

raising/firing events
You can specify the visibility for raising/firing events. in C#, only the class that defines an event can fire it (from outside you can only add/remove handlers). in Delphi Prism, you can write the following and descendants can fire the event:
public
event Foo:EventHandler protected raise;


эммм....

Единственное, что заслуживает внимание, так это Class Contracts.


Зачем нам очередной клон c#, да еще и убогий?

Ребята, уберите var block! Хотя зачем? Ведь тогда оно умрет
Re[4]: Delphi 2009 vs C# 3.0
От: WolfHound  
Дата: 28.10.08 17:55
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>

КЛ>Boolean Double Comparison
КЛ>if 0 <= x < Count then //...

КЛ>я чета не припомню, чтобы мне это было нужно?
А что код типа:
if (0 <= x && x < Count)

Никогда не писал?

А вобще все эти феньки либо уже сделаны в немерле макросами либо делаются на раз.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Delphi 2009 vs C# 3.0
От: Константин Л.  
Дата: 28.10.08 18:00
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Константин Л., Вы писали:


КЛ>>

КЛ>>Boolean Double Comparison
КЛ>>if 0 <= x < Count then //...

КЛ>>я чета не припомню, чтобы мне это было нужно?
WH>А что код типа:
WH>
WH>if (0 <= x && x < Count)
WH>

WH>Никогда не писал?

представляешь, не писал так давно, что пришлось открывать стадион и проверять, что это не компилиццо

WH>А вобще все эти феньки либо уже сделаны в немерле макросами либо делаются на раз.
Re[5]: Delphi 2009 vs C# 3.0
От: Mr.Cat  
Дата: 28.10.08 18:17
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>немерле

Судя по всему, на rsdn начались осенние деньки с nemerle. Похоже, это заразно, я вот уже читаю вводный курс.
Re[4]: Delphi 2009 vs C# 3.0
От: diatlov Молдова  
Дата: 28.10.08 18:58
Оценка:
Здравствуйте, Pro100Oleh, Вы писали:

PO>Это не плюс, а отсутсвие минуса.


По сравнению с предыдущими latin1 несомненный плюс
Re[4]: Delphi 2009 vs C# 3.0
От: diatlov Молдова  
Дата: 28.10.08 19:01
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, diatlov, Вы писали:

D>>В каком ещё языке по умолчанию есть полнофункциональный набор компонентов для управления ADO, MSSQL, MySQL, Oracle, BDB, и т.д.?
MC>Давайте с другого конца укусим? Какие сложности работы с перечисленными СУБД есть в .NET (java, python, ruby, lisp, свой вариант) и нет в дельфи?

Ну к примеру визуализации не хватает. В C# с этим правда попытались бороться, но все равно многовато вылезает компонент для связи с данными против одного-двух в Delphi.
Re[4]: Delphi 2009 vs C# 3.0
От: diatlov Молдова  
Дата: 28.10.08 19:02
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>Delphi — RAD GUI? Ды вы видели этот гуй? Я RAD Studio видели? Как посмотрите — приходите.


Видел, не сомневайтесь. Это одна из лучших RAD мира
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.