При этом в класс 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
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.
VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.
VD>Лично меня интересуют следующие фичи: VD>1. Добавление реализации интерфейсов. Нечто вроде: VD>
VD>При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.
VD>2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так: VD>
VD>void F(readonly int i)
VD>{
VD> readonly int s = i.ToStrint() + " xxx";
VD> s += " yyy "; // Ошибка времени компиляции
VD> i++; // Ошибка времени компиляции
VD>}
VD>
VD>3. Ввести расширенный препроцессор или нечто вроде мета-языка позволяющего генерировать код во время компиляции создавая тем самым новые языковые конструкции. Так же на базе этой фичи можно будет производить константные компйл-тайм вычисления (статические рассчеты). Причем в них можно будет использовать как информацию о типах полученую парсером, так и из внешинх источников (например, из БД).
VD>4. Ввести поддержку дефолтных параметров.
VD>Это не окончательный список, да и можно обсудить детали/необходимость предложенных мной фич.
Ага, и еще возможность вызова protected overriden методов с любого уровня классовой иерархии через явную квалификацию, а не только из базового через base (у кого что болит )
Здравствуйте, VladD2, Вы писали:
VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.
VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.
VD>Лично меня интересуют следующие фичи: VD>1. Добавление реализации интерфейсов. Нечто вроде: VD>
VD>При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.
Вариант — сделать реализацию интерфейсов агрегатированием, как в Delphi.
Re[3]: А не залудить ли нам свой язык для дотнета?
Здравствуйте, VladD2, Вы писали:
B>>Как насчет заглянуть глубже?
VD>Вот с этого места по подробнее...
Пропуская размышления и общение, сопоставимые по объему роману "Война и мир" Толстого, перехожу к делу.
Тема в том, чтоб добавить к членам класса такой член как предикат. Обдумать его сопряжение с обычным императивным программированием и отработать вопросы работы его тела и работы с переменными.
Одна из простых аналогий это RegExp, но она работает только со строками, тут же открывается более широкая возможность.
Для пробы я делал некоторую простенькую реализацию, но получалось ОЧень медленно по скорости. Вот бы заделать на уровне языка, я б тогда с радостью позабывал половину констркций типа if, for, while, switch. Потом, там несколько упрощаются вопросы с исключениями и есть кое что по вопросу событий.
Здравствуйте, VladD2, Вы писали:
VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.
VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.
Все дело в суппорте, документации, туториалах.
А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.
Здравствуйте, beretta, Вы писали:
B>Тема в том, чтоб добавить к членам класса такой член как предикат. Обдумать его сопряжение с обычным императивным программированием и отработать вопросы работы его тела и работы с переменными.
Т.е. функциональное программирование?
B>Одна из простых аналогий это RegExp, но она работает только со строками, тут же открывается более широкая возможность.
Ну, RegExp — это ДКА или на худой конец НКА. Их лучше в качестве библиотек реализовывать. Хотя во многих областях упрощение создания ДКА (вроде Lex-а) было бы очень полезно. Вот только у меня никаких идей по этому поводу, кроме компайл-тайм-мета-программирования.
B>Для пробы я делал некоторую простенькую реализацию, но получалось ОЧень медленно по скорости. Вот бы заделать на уровне языка, я б тогда с радостью позабывал половину констркций типа if, for, while, switch. Потом, там несколько упрощаются вопросы с исключениями и есть кое что по вопросу событий.
А ты не смотрел порты функциональных языков вроде SML на дотнет?
В любом случае эти идеи нужно описать более четко и дать видиние того как это совместить с ОО и процедурным подходами принятыми в Шарпе.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А не залудить ли нам свой язык для дотнета?
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Все дело в суппорте, документации, туториалах.
Собственно с сапортом у нас все в порядке (мы как ни как один из первых рунетных сайтов). Примеры тоже сделаем (было бы для чего).
Ну, и главное, что должна быть обратная совместимость с Шарпом. Тогда можно было бы просто махнуть компилятор в студии и пользоваться всеми багами...
PE>А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.
Ну, С++ — это совственно и есть одно из удавшихся развитий С. МС++ является чистым развитием С++. Да и Шарп с Васиком от части тоже.
К тому же я не говорю о полностью новой системе. Просто еще один компилятор для дотонета. При таком подходе сложность его создания резко уменьшается. А совместимость с Шарпом позволит не отставать от жизни.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А не залудить ли нам свой язык для дотнета?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Plutonia Experiment, Вы писали:
PE>>Все дело в суппорте, документации, туториалах.
VD>Собственно с сапортом у нас все в порядке (мы как ни как один из первых рунетных сайтов). Примеры тоже сделаем (было бы для чего).
VD>Ну, и главное, что должна быть обратная совместимость с Шарпом. Тогда можно было бы просто махнуть компилятор в студии и пользоваться всеми багами...
PE>>А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.
VD>Ну, С++ — это совственно и есть одно из удавшихся развитий С. МС++ является чистым развитием С++. Да и Шарп с Васиком от части тоже.
VD>К тому же я не говорю о полностью новой системе. Просто еще один компилятор для дотонета. При таком подходе сложность его создания резко уменьшается. А совместимость с Шарпом позволит не отставать от жизни.
А совместимость в данном контексе что значит?
Да пребудет с тобой Великий Джа
Re[3]: А не залудить ли нам свой язык для дотнета?
От:
Аноним
Дата:
09.12.03 17:18
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Ведмедь, Вы писали:
В>>А овчинка будет стоит выделки?
VD>Ну, один из бонусов собственная выделка. Т.е. интересных процесс.
VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.
найти бы как редактор свой в студию вмонтировать, а там проще...
Re[3]: А не залудить ли нам свой язык для дотнета?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Ведмедь, Вы писали:
В>>А овчинка будет стоит выделки?
VD>Ну, один из бонусов собственная выделка. Т.е. интересных процесс.
VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.
НИ разу не занимался написанием компиляторов. Интересно было бы попробовать или просто рядом постоять, за плечо позаглядывать
Здравствуйте, VladD2, Вы писали:
VD>2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так: VD>
VD>void F(readonly int i)
VD>{
VD> readonly int s = i.ToStrint() + " xxx";
VD> s += " yyy "; // Ошибка времени компиляции
VD> i++; // Ошибка времени компиляции
VD>}
VD>
это что там происходит в кузнице? — Паскаль доделываете?
нихрена себе.... const в формальных параметрах — вот диво открылось шарпу!
Re[3]: А не залудить ли нам свой язык для дотнета?
Через 6-7 месяцев у меня вот диплом. В принципе интересуюсь всякими интересными авантюрами. C# может не стоит? Может кого-то из экзотов под .NET портировать? Prolog?
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.
Re[3]: А не залудить ли нам свой язык для дотнета?
Здравствуйте, VladD2, Вы писали:
VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.
Дык, а может тогда что-нить реально полезное создадите? Я бы спасибо сказал
Re[4]: А не залудить ли нам свой язык для дотнета?