|
|
|
|
Автор:
|
Уткин, Алексей
|
|
Тема:
|
Re: Прочитал...
|
|
Дата:
|
3/10/2001 1:01:00 AM
|
> Честно говоря, вопросов больше, чем ответов.
> 1. Не понял, чем, собственно, C# лучше, чем Java?
Скоростью исполнения? Бог с ней со скоростью, она у Java приемлемая. А потом, я не вижу гарантий, что скорость исполнения будет выше. Все равно нужно выполняться в какой-то среде, иначе сборку мусора не реализовать. Кто гарантирует, что среда будет лучше JVM? JVM уже не одну версию прошли. Там уже опыт наработан. А тут мы глюков получим - по самые уши.
Среда выполнения уже есть. И она работает быстрее. А вот с количество глюков может не оправдать Ваших ожиданий.
> Или они собираются встраивать garbage collector прямо в exe-шник?
Ну-ну... я посморю как вы в 3 килобайта Garbage Collector бы впихнули. GC в среде.
> 2. Не понял, чем, собственно, C# лучше, чем Java? Бог с ней со скоростью. Я имею в виду в теоретическом аспекте. Какие есть фичи реализованные в C# и не реализованные в Java? Как я понял:
> a) foreach. Дохло. Какая разница, что писать for ( int i=0; i<array.length; i++ ), или foreach?
> б) Все типы как объекты. А что это дает? Возможность наследования от int? Зачем?
Вот тут уж на что вашей фантазии хватит. Хотите Finalize задайте, хотите в другой тип преобразуйте с помощью внутреннего метода, хотите строку в int преобразуйте... и все это методы вашего объекта... ООП, понимаешь
> в) Препроцессор. Вот это уже серьезнее. Препроцессора в Java не хватает.
> г) А как там у нас с темплейтами? И каков их синтаксис, если есть?
Концепция Generics, реализацией которой в C++ были темплейты будет представлена в .NET (на данный момент еще нет)
> д) Указатели на функцию? А зачем они нужны? В ОО парадигме их полиморфизм полностью заменяет.
Все можно порой чем-то заменить. Но зачастую удобнее с Delegates, гибкость.
> 3) А как там с многоплатформенностью? Поддерживаются все платформы с приставкой Windows? Маловато будет.
Сам C# будут стандартизировать в ECMA и это делается для его реализации на других платформах.
А насчет кода VS.NET - Поддерживаться будут платформы .NET. А вот где они будут реализованы...
>
> Мое мнение. Лучше ввели бы в Java темплейты и препроцессор, добавили возможность компилиться не только в class, но и в платформенно зависимый exe - и обозвали другим языком. Зря они C++ за основу брали. Надо было Java брать.
А кто вам сказал, что они брали за основу C++. На мой взгляд Java отличается от C# совсем немного. Ну enums в C# есть например. Ну Delegates, а так - очень похоже. Разница среды - вот это другое дело.
Вообще я бы не стал так смело ругать C# - язык действительно хороший - его автор наиболее опытный в этой отрасли человек.
|
|
|
|