Можно использовать, я так перенес кое-что очень старое. Но лучше все же потом переписать на современный код. Заодно и практика…
Предположение о том, что после PascalABC.Net, возможно, будет осуществлен переход на C# - не является рекламой. Это личные предпочтения каждого. Тем более, это не единственный язык, который упоминался на просторах этого форума и не только мной.
@Gleb, перенесите эти два сообщения (моё и @Admin) в Болталку. Причина: оффтоп.
К сожалению, я вынужден, повторить свою просьбу:
Покажите мне доказательство на другом диалекте Pascal, где так можно.
. Хотя, на мой взгляд, это разрешение неправильно по следующим причинам:
- С точки зрения пользователя возникает неоднозначность: неясно требуется ли тело метода или нет. Абстрактные методы это подмножество виртуальных с тем отличием, что их реализация может быть отложена (могут реализовываться в классах потомках).
- В справке сказано:
Данные методы являются виртуальными, но ключевое слово virtual использовать не нужно.
.
Замечу, что пространства имён ещё не готовы, официально их ещё не объявляли. Так что куча issue может привести к исключению их из релиза, а это ведь не очень хорошо
Пишите в Issue. То, что это недокументированная пока возможность, не значит, что не надо писать явные баги
<личное мнение>
Не очень, так как я активно использую namespace’ы. Думаю, что я не единственный такой.</личное мнение>
Вы и вправду не единственный. Я их использую, но боюсь за то, что поток сообщений об ошибках может привести к их исключению из релиза, как это произошло с тайпклассами.
CRT это модуль на пару сотен строчек, все его методы можно легко реализовать самому (большая часть уже готовые в System.Console
).
Ну вот смотрите, зажимаем Ctrl и нажимаем на TextColor
в редакторе, видим следующее:
procedure TextColor(c: integer);
begin
Console.ForegroundColor := IntToConsoleColor(c);
end;
Значит на PABC.Net
это будет выглядеть так:
//uses CRT;
begin
System.Console.ForegroundColor := System.ConsoleColor.White;
end.
Можно написать в начале программы uses System
чтоб не писать его везде, то есть без него будет Console.ForegroundColor
и т.п.
И что? Как это мешает?
Причину почему это лучше запретить я указал в Issue. Также, хочу заметить, что:
Если Вы планируйте это исправить, не сейчас, а потом, то, прошу переоткрыть Issue, хотя бы по той причине, что открытая Issue будет о себе напоминать и Вы о ней не забудете.
, точнее смысл таков, что решать все-равно разработчикам.
Разработчики сказали - нет. Я с ними согласен.
В одном из сообщений @Admin сказал:
Впоследствии может быть расширю, а пока так.
, поэтому я и написал, что лучше оставить Issue, если они вдруг будут это исправлять. Следующее сообщение было:
Мы не планируем это исправлять.
, что однозначно отражало отрицательное мнение по поводу моёго предложения. В общем, снимаю вопрос.
Все-же, ради интереса, хотел бы узнать почему Вы с ними согласны?
Потому что размерные типы активно используются и ограничения, связанные с ними могут сильно осложнить работу, сделать код нечитабельным и, что самое главное, неэффективным. Если во всём следовать C#, язык будет безвозвратно испорчен.