debi12345 писал(а):Как в новых Дельфях ? Зачем ? Перекодировка символов требуется как правило только при вводе/выводе - а значит нужно ее привязать ко вводу/выводу.
Перекодировку нужно привязать к вводу/выводу, и к типу переменной. Мало ли какие могут быть задачи, для определенных задач нужен свой тип данных. Но ни в коем случае кодировка файла с исходным текстом программы не должна влиять на тип строковых переменных.
Компилятор должен автоматически подставлять функции преобразования, как он это делает с числовыми переменными, чтобы в тексте программы вообще не встречались операторы типа UTF8toOEM, UTF8toSYS и т.п.
Лекс Айрин писал(а):А если нет необходимости в RAD средствах? А насчет begin-ов, так их можно просто игнорировать, хотя лично мне они не мешают.
Если Вас устраивает блокнот, то и нет проблем. Просто не нужно из-за упрямства отдельных личностей (упорно игнорирующих полноценные редакторы кода) захламлять язык программирования.
Оператор begin - хорош в полноценной RAD-среде, когда begin/end разного уровня подсвечиваются разными цветами.
debi12345 писал(а):Мартин не любит опциональности - потому что они создают неоднозначнсти (необходимости в ненужных "taking in consideration").
Если не любит, значит нужно на 100% сохранять паскалевский/дельфовский синтаксис там, где это только возможно. Значить все begin, for и т.п. - все на 100% должно оставаться как в паскале/дельфях.
Лекс Айрин писал(а):А зачем тогда вообще создавать новый язык? Вообще-то, некоторые пишут и новые проекты, некоторым из которых, новый язык подойдет лучше.
Я бы, допустим, хотел видеть язык с развитыми поток/процессорными средствами. Имхо, тогда некоторые вещи намного проще делать.
Вы сами ответили на свой вопрос. Если бы новый язык было более потоко-ориентированным и потоко-безопасным, то я был бы рад. На подобных вещах нужно концентрировать внимание, а не на begin,end,else if.
Добавлено спустя 8 минут 16 секунд:mse писал(а):I asked you how you would denote the byte order in type definitions, you didn't answer...
I'm sorry.
Мое предложение следующее:
общие целочисленные типы: integer,uinteger - где фактическая размерность переменной зависит от конкретного CPU (минимум 16), опитмизация на быстродействие.
дополнительные целочисленные типы повышенной разрядности: integer(16),uinteger(16),integer(32),uinteger(32),integer(64),uinteger(64) - где 16, 32 или 64 - это минимальная точность, а фактическая зависит от платформы, т.е. integer=integer(16)
специальные целочисленные типы: int8,uint8,int16be,int16le,uint16be,uint16le,int32be,int32le,uint32be,uint32le,int64be,int64le,uint64be,uint64le - строгий размер и конкретная очередность байт
конкретные наименование, и типы скобок: круглые (), квадратные [], фигурные {} можно выбрать исходя из общего принципа построения компилятора, например, если предложенные мною круглые скобки в integer(16) создают сложность, то их можно заменить на другие.