Lazarus 1.6, обсудим изменения...

Вопросы программирования и использования среды Lazarus.

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

Re: Lazarus 1.6, обсудим изменения...

Сообщение resident » 18.02.2016 03:04:41

zub, pupsik
Благодарю за варианты, попробую разобраться, если не сойду с ума :)

zub писал(а):Ну не скажите, комуто мешает нормальная кроссплатформенная реализация паскаля?

Я имел ввиду разработчиков Лазаруса, что не было бы Делфи, не было бы и их.

zub писал(а):После запила полноценного юникода в lcl нужда в таких вещах отпадет, или останется только в случае невалидных строк полученых программой извне, и всё станет как в делфи))

Когда?
И допустим, основу сделают. А куда денутся сторонние библиотеки, которые уже давно отлажены и заброшены? Кто их будет исправлять?

Добавлено спустя 2 минуты 23 секунды:
pupsik писал(а):Я лазарь из свн беру (инсталяшку с фтп)

На фтп тоже самое, что и на sourceforge?
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 18.02.2016 03:52:36

resident писал(а):Когда?

Когданибудь. хочется быстрее - придется помочь))
Надо писать код как можно более независимый от версии компилятора, зависимые места выносить отдельно, а не хардкодить их через строчку

resident писал(а):А куда денутся сторонние библиотеки, которые уже давно отлажены и заброшены? Кто их будет исправлять?

будет такаяже адаптация кода как в delphi с появлением юникода. Кто? Нуждающиеся в них, ктож еще))
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение pupsik » 18.02.2016 10:24:45

На фтп тоже самое, что и на sourceforge?
сами посмотрите: ftp://freepascal.dfmk.hu/pub/lazarus/releases/
Да и снапшотики теперь попроще лежат: ftp://freepascal.dfmk.hu/pub/lazarus/snapshots/. Не то что ранее...
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 11:38:34

zub писал(а):для utf8 "s[i]=итый_символ" значит либо потерю экономичности utf8 либо жуткую тормознутость при таком доступе. Почему изза чъихто хотелок, которые в большинстве случаев необоснованы, должны страдать все остальные?

zub писал(а):Это относится к тому что для парсинга "посимвольная" индексация ненужна

и каким макаром другие страдать будут? они же посимвольную индексацию не используют?

повторяю еще раз - для тех кто парсит по нормальному проблем нет, ни раньше, ни сейчас, ни после того как сделать "посимвольную индексацию" utf8 а вот полноценность паскаля сохранится.
а при переходе на utf8, надо и без "индексации" проверять код.

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

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 18.02.2016 11:53:37

sts писал(а):и каким макаром другие страдать будут? они же посимвольную индексацию не используют?

Они используют индексацию не посилмвольную, а ту которая есть. Если она станет посимвольной - пострадает либо цпу, либо озу.
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 12:07:25

она уже, минимум, как 20 лет посимвольная (или когда там WideString появился), если есть те кто не вкурсе, то их код содержит кучу других проблем которые при переходе на utf8 надо и так править, заодно и это переделают.
приведите пример, например, из исходников fp, laz, где посимвольная индексация utf8 что-то сломает.
sts
постоялец
 
Сообщения: 445
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 18.02.2016 12:34:51

Я не говорю что сломает, я говорю что она ненужна
>>WideString
Считаете что WideString хватит всем и в нем нет составных символов?
из википедии:
UTF-16 (англ. Unicode Transformation Format) в информатике — один из способов кодирования символов из Юникода в виде последовательности 16-битных слов. Данная кодировка позволяет записывать символы Юникода в диапазонах U+0000..U+D7FF и U+E000..U+10FFFF (общим количеством 1 112 064). При этом каждый символ записывается одним или двумя словами (суррогатная пара).

Символ это не s[i] - символ это "подстрока" и паскаль тут непричем
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 12:45:32

zub писал(а):Я не говорю что сломает, я говорю что она ненужна

это вам ненужна, а для сохранения преемственности паскаля нужна.
изначальный WideString <> UTF-16, поэтому он и не назван UTF16String, WideString это от винды, в старых версиях было строго по два байта на символ, в висте он стал равен UTF-16.
sts
постоялец
 
Сообщения: 445
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Lazarus 1.6, обсудим изменения...

Сообщение Лекс Айрин » 18.02.2016 12:51:41

sts писал(а):...так то строковых констант вообще не должно быть в исходниках.


Мы живем далеко не в идеальном мире.. подскажите как можно организовать разбор строки без сравнения со строковыми константами?

Ведь, как минимум, где-то должен храниться список лексем.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 12:52:27

zub писал(а):Символ это не s[i] - символ это "подстрока"

и что?, как это мешает?
zub писал(а): и паскаль тут непричем

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

Re: Lazarus 1.6, обсудим изменения...

Сообщение Лекс Айрин » 18.02.2016 13:00:03

sts, а она сильно нужна, эта преемственность? Это ведь чемодан без ручек... да еще и набитый хламом.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 13:06:06

Лекс Айрин писал(а): а она сильно нужна, эта преемственность?

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

в том то и дело, ручки есть, колесики на чемодане хотелось бы сохранить.

Добавлено спустя 1 минуту 18 секунд:
не все могут, в лёт, таскать чемоданы, дети например.
sts
постоялец
 
Сообщения: 445
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 18.02.2016 13:09:51

sts писал(а):WideString это от винды, в старых версиях было строго по два байта на символ, в висте он стал равен UTF-16.

от доса, от винды, но не от паскаля. Внутреннее представление строки и то что в ней фактически закодировано - разные вещи, не надо ждать от компилятора то что он должен быть готов к конкретным особенностям вашей задачи.

sts писал(а):и что?, как это мешает?

мне никак. это нужно учитывать и проблем сразу поубавится

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

как вы предлагаете это реализовать? введя под каждый символ одинаково много байт, чтоб хватило каждому китайцу и с заделом на инопланетян? или при доступе к s[10мегабайт] лопатить всю строку с начала в рантайме разбивая на символы?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение sts » 18.02.2016 13:24:42

zub писал(а):от доса, от винды, но не от паскаля. Внутреннее представление строки и то что в ней фактически закодировано - разные вещи, не надо ждать от компилятора то что он должен быть готов к конкретным особенностям вашей задачи.

хм, непонятно к чему вы это написали, смысл высокоуровневого языка программирования, обобщить доступ к данным, хранение строк, в паскале, отдана компилятору именно по этому там не просто PChar, а String и его вариации
zub писал(а):мне никак. это нужно учитывать и проблем сразу поубавится

вы же толькочто писали
zub писал(а):Я не говорю что сломает, я говорю что она ненужна

что проблем нету

zub писал(а):как вы предлагаете это реализовать? введя под каждый символ одинаково много байт

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

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 18.02.2016 14:05:40

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

сейчас есть string с 16 битным юникодом, в которых [i] в большинстве случаев символ, но экзотические символы таки занимают [i]..[i+n] - так уж устроен utf16, ничего тут неподелаешь
есть ansistring c utf8, [i] там символ только в диапозоне 0..127, остальное многобайтовое, для них есть utf8pos utf8copy и т.д. (т.е. "посимвольная" поддержка не на стороне компилятора) если уж приспичило повозится с символами.

что надо еще чтоб паскаль стал паскалем привычным для вас?
Откуда ожидания что для utf8 строк должна быть посимвольная индексация в компиляторе? кто когда это декларировал?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru