FPC 3.0 RC1 announced

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: FPC 3.0 RC1 announced

Сообщение kazalex » 30.08.2015 15:44:14

runewalsh писал(а):В делфи-варианте любая операция со строкой — потенциальное преобразование, о том и речь.

Только если использовать строки разных типов.

runewalsh писал(а):Я надеюсь, это отключаемо?

Нет конечно, как не отключаемы и преобразования между ShortString и AnsiString, AnsiStrting и WideString, WideString и ShortString. То есть, все уже давно живут с преобразовываемыми строками, а проблему видят исключительно в строках с информацией о кодировке. Это всё от непонимания. Но стоит поглубже изучить вопрос, как окажется, что драконов там нет.
kazalex
постоялец
 
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 12:37:06

kazalex писал(а):
runewalsh писал(а):Я надеюсь, это отключаемо?

Нет конечно, как не отключаемы и преобразования между ShortString и AnsiString, AnsiStrting и WideString, WideString и ShortString. То есть, все уже давно живут с преобразовываемыми строками, а проблему видят исключительно в строках с информацией о кодировке. Это всё от непонимания. Но стоит поглубже изучить вопрос, как окажется, что драконов там нет.


Это не тоже самое, эти строки имеют разное внутреннее представление...

Это всё от непонимания.
Безусловно. Но для понимания требуется затратить время и совершенно не понятно во имя чего я должен это делать.
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 12:57:34

Если вы до этого изменения понимали как работает значит должны быть рады этому изменению.
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 13:00:45

sts писал(а):Если вы до этого изменения понимали как работает значит должны быть рады этому изменению.

Почему я должен радоваться очередному необоснованному усложнению?
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 13:05:47

потому что усложнения нету, есть упрощение, плюс избавления от костылей для тех разработчиков которым приходится таскать кодирову к строкам самостоятельно.
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 13:09:12

sts писал(а):потому что усложнения нету, есть упрощение, плюс избавления от костылей для тех разработчиков которым приходится таскать кодирову к строкам самостоятельно.

Добавление лишней сущности ведет к упрощению? Однако... :shock:
А зачем в одной программе работать со строками в разной кодировке?
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение kazalex » 01.09.2015 13:15:25

Mikhail писал(а):Это не тоже самое, эти строки имеют разное внутреннее представление...

Внутреннее представление не имеет значения. Компилятор решает о необходимости преобразования основываясь на информации об используемых типах.

Mikhail писал(а):Но для понимания требуется затратить время и совершенно не понятно во имя чего я должен это делать.

Если понимаешь что такое юникод и что такое кодировки то тратить много времени не придётся.

Mikhail писал(а):А зачем в одной программе работать со строками в разной кодировке?

Обычно, перекодировка требуется на границах приложения т.е. на входных и выходных данных. А там уже всё от задачи зависит.
kazalex
постоялец
 
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 13:16:03

добавления сущности нету.
в прикладных программах больших чем калькулятор это типовая задача, utf8 еще бесконечно далек от победы.

Добавлено спустя 2 минуты 33 секунды:
kazalex писал(а):Обычно, перекодировка требуется на границах приложения т.е. на входных и выходных данных. А там уже всё от задачи зависит.

более того, в нормальных системах положено работать в той кодировке в которой пришли данные.
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 13:23:31

kazalex писал(а):Обычно, перекодировка требуется на границах приложения т.е. на входных и выходных данных. А там уже всё от задачи зависит.

Вот и я о том же. Поэтому мне не понятно зачем нужны строки с кодировкой.

sts писал(а):добавления сущности нету.
в прикладных программах больших чем калькулятор это типовая задача, utf8 еще бесконечно далек от победы.

Это как это нету? А новый тип, а дополнительный рантайм? Я так и не понял, зачем нужны строки с кодировкой... :?

kazalex писал(а):Внутреннее представление не имеет значения. Компилятор решает о необходимости преобразования основываясь на информации об используемых типах.

Имеет, но сейчас разговор не об этом. А информация о типе (т.е. кодировка) находится в скрытом блоке перед строкой, как в Делфи, я правильно понимаю?

Добавлено спустя 1 минуту 39 секунд:
sts писал(а):более того, в нормальных системах положено работать в той кодировке в которой пришли данные.

Например?
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 13:35:52

тип AnsiString уже был
Кодировка уже была и равнялась "системной"
псевдокод (по моему примеру)
было UnicodeString1:= UnicodeString2 + AnsiToUnicode(AnsiString2, системная кодировка)
стало UnicodeString1:= UnicodeString2 + AnsiToUnicode(AnsiString2, кодировка из AnsiString2)

Добавлено спустя 4 минуты 39 секунд:
Mikhail писал(а):Например?

например медицинская система, там зоопарк кодировок включая досовские.
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 13:42:47

sts писал(а):псевдокод (по моему примеру)
было UnicodeString1:= UnicodeString2 + AnsiToUnicode(AnsiString2, системная кодировка)
стало UnicodeString1:= UnicodeString2 + AnsiToUnicode(AnsiString2, кодировка из AnsiString2)


И какая разница? Писать на один параметр меньше? :)

sts писал(а):например медицинская система, там зоопарк кодировок включая досовские.

Вы о файлах?
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 13:46:20

Mikhail писал(а):И какая разница? Писать на один параметр меньше? :)


об этом и речь - усложнения нету а проще стало.

Mikhail писал(а):Вы о файлах?

не только, но грубо говоря да.

Добавлено спустя 2 минуты 34 секунды:
давно ли ли вы видели конфигурационный файл 1989 года?
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 13:50:46

sts писал(а):об этом и речь - усложнения нету а проще стало.

Т.е. число неизвестных увеличилось, а задача стала проще? :?

sts писал(а):не только, но грубо говоря да.

Ну тогда такие преобразования нужно делать при чтении-записи. Если речь о СУБД, то тоже самое и их касается, тем более что многие из них умеют перекодировку автоматически.
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Re: FPC 3.0 RC1 announced

Сообщение sts » 01.09.2015 13:57:17

Mikhail писал(а):Т.е. число неизвестных увеличилось, а задача стала проще?


опять же, для тех кто понимает ничего (в худшую сторону) не изменилось , для тех кто не интересовался - ничего не изменилось.

Mikhail писал(а):Ну тогда такие преобразования нужно делать при чтении-записи.


хранить в неизменном виде - требование к системе.


кароче вернулись в исходную точку.
sts
постоялец
 
Сообщения: 406
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: FPC 3.0 RC1 announced

Сообщение Mikhail » 01.09.2015 14:01:45

sts писал(а):хранить в неизменном виде - требование к системе.

И в чем проблема?
Прочитал - конвертировал - поработал - конвертировал обратно - записал.

Добавлено спустя 1 минуту 43 секунды:
sts писал(а):опять же, для тех кто понимает ничего (в худшую сторону) не изменилось , для тех кто не интересовался - ничего не изменилось.

Это не совсем так...
Mikhail
энтузиаст
 
Сообщения: 562
Зарегистрирован: 24.10.2013 16:06:47

Пред.След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru