В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.
Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.
Лично меня интересуют следующие фичи:
1. Добавление реализации интерфейсов. Нечто вроде:
ISome
{
void f();
}
struct ImplISome : ISome
{
public void f() { ... }
}
class UseImpl : ISome(public ImplISome) { }
При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.
2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так:
void F(readonly int i)
{
readonly int s = i.ToStrint() + " xxx";
s += " yyy "; // Ошибка времени компиляции
i++; // Ошибка времени компиляции
}
3. Ввести расширенный препроцессор или нечто вроде мета-языка позволяющего генерировать код во время компиляции создавая тем самым новые языковые конструкции. Так же на базе этой фичи можно будет производить константные компйл-тайм вычисления (статические рассчеты). Причем в них можно будет использовать как информацию о типах полученую парсером, так и из внешинх источников (например, из БД).
4. Ввести поддержку дефолтных параметров.
Это не окончательный список, да и можно обсудить детали/необходимость предложенных мной фич.
... << RSDN@Home 1.1.2 beta 1 >>
22.12.03 13:00: Перенесено модератором из '.NET' — TK
22.12.03 13:00: Перенесено модератором из '.NET' — TK