Re[29]: Tcl как обоснование ненужности поддержки компонентности в С++
От: IT Россия linq2db.com
Дата: 02.06.06 20:33
Оценка:
Здравствуйте, kedik, Вы писали:

K>Пока "строка" в библиотеке... пускай даже в стандартной... я могу её выкинуть, если по каким-то причинам она меня не устраивает... а если её добавить в язык — тогда сам язык станет заточен под какие-то определённые требования и задачи потеряв универсальность — вот тогда действительно начнуться проблемы.


Почему-то в других языках такой проблемы нет

K>1) Какой стандарт "строк" т.е. кодировки текста возмем за основу? UTF-8? UTF-16? UTF-32? а как на счет остальных?


Юникод вполне подойдёт.

K>2) Что эта строка будет уметь?


Посмотри в MSDN Members System.String.

K>на лету кoнвертить будем? Хм... в некоторых местах — это непозволительная роскошь...


Здесь надо жирным выделить в некоторых. Т.е. если мне один раз в некотором месте не подошло, то такой тип надо считать вредным для всей индустрии. Логично.

K>И даже если эту проблему решить... то на самом деле существует, проблема гораздо серьезнее: какой набор методов такая "строка" будет предоставлять? На все случаи жизни?... Хм... нереально... а что бы этот набор расширить для требований проекта нужна будет возможность эти методы добавлять... а для этого нам надо будет иметь доступ к непосредственно к данным строки и знать, как она устроена... и тогда мы возвращаемся к п.1 ...


Ознакомься с System.String. В .NET такой "серьёзной" проблемы не существует.

K>Если всерьез задаться целью создать совершенно универсальный класс универсальной строки, то резутьтат будет, только один — как минимум лекгая шизофрения у его разработчиков


На C++ — вполне возможно.

K>Собственно с С/С++ этой проблемы не существует — есть кусок памяти и делай ты с ней что хошь... только будь добр поставить ноль в конце если передаешь наружу — все... хотя и это необязательно, если есть соответствующая договоренность...


Мы же не о массиве байт говорим, который как ты сам правильно заметил, неизвестно как конвертрировать, а типе string.

K>PS. Как начсет добавить в язык тип "время"?


Я понимаю. Если строка, то это обязательно должен быть массив байт, если дата, то длинное целое. От этих привычек очень трудно избавиться. Но всё же, будет время, взгляни на тип System.DateTime.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.