avva: (Default)
[personal profile] avva
Джава - это не язык, а тенденция. На любом языке можно писать на Джаве. Можно писать на C++ на Джаве и даже на Питоне на Джаве.

Вот так, например, пишут на Джаваскрипте на Джаве. Это из библиотеки Closure Library, одно время главного фреймворка, в котором писали на джаваскрипте в Гугле (сейчас выбор намного больше: есть Angular, Polymer, используют и другие библиотеки, не написанные в Гугле).



Если вы пишете на Джаве, то довольно тяжело не писать на Джаве - сам язык это вроде бы и позволяет, но сложившаяся экосистема библиотек и культурных практик тянет в направлении писать на Джаве на Джаве. Но если вы пишете не на Джаве, то лучше не поддаваться соблазну писать на этом языке на Джаве.

Date: 2017-09-22 06:21 pm (UTC)
From: [identity profile] redis.livejournal.com
В двойке кривенькая поддержка юникода, кидает исключения, если строка не юникод, а хотелось юникод. Я мало работал с этим, хватило одного проекта

Date: 2017-09-22 07:20 pm (UTC)
From: [identity profile] dzz.livejournal.com
Ну, батенька, пишите на третьем диалекте - будет вам везде UTF-8 и никаких траблов. В перле, надо полагать, с кодировками всё зашибись :)))

Date: 2017-09-22 07:22 pm (UTC)
From: [identity profile] redis.livejournal.com
В тройке на тот момент не было нужной мне библиотеки.

На Перле писал, но с ним проблем не имел, случайность сработала не в мою пользу именно с Питоном - проект на Питоне оказался именно тем, что на втором Питоне писать не стоило. Разбор и парсинг е-мэйлов, MIME и все такое, с учетом того, что зачастую клиент указывает один encoding, а внутре оно в другом. Это было ужасно :(

Date: 2017-09-22 11:48 pm (UTC)
From: [identity profile] pigmeich.livejournal.com
Ой, китайцы-то как обрадуются!

Date: 2017-09-23 03:40 am (UTC)
From: [identity profile] dzz.livejournal.com
Гхм, CJK в UTF-8, вроде, в полном объёме реализованы, что не так-то?

Date: 2017-09-23 08:37 am (UTC)
From: [identity profile] pigmeich.livejournal.com
Ага, только занимает 8 байт.

Date: 2017-09-23 08:44 am (UTC)
From: [identity profile] dzz.livejournal.com
В основном, три. Там переменная длина.

И, самое главное, где-то это сделано принципиально иначе? В джаве, перле и С++ какой-то другой юникод и UTF-8? :)
Edited Date: 2017-09-23 08:55 am (UTC)

Date: 2017-09-23 09:34 am (UTC)
From: [identity profile] pigmeich.livejournal.com
> В основном, три. Там переменная длина.

Ну мы же про CJK?

> И, самое главное, где-то это сделано принципиально иначе? В джаве, перле и С++ какой-то другой юникод и UTF-8? :)

Смайлик неуместен. В нормальных языках есть выбор в какой кодировке хранить.
Edited Date: 2017-09-23 09:34 am (UTC)

Date: 2017-09-23 09:45 am (UTC)
From: [identity profile] dzz.livejournal.com
Обычно под CJK понимается поддержка символов китайского, японского и корейского языка без конкретизации кодировки. В юникоде есть достаточное для подавляющего большинства применений количество символов, соответствующих этим языкам. Кодировка UTF-8 имеет переменную длину, в которой на JK приходится, в основном, 2 байта, а на C - в основном, три. Что опять не так? :)

> Смайлик неуместен. В нормальных языках есть выбор в какой кодировке хранить.

Ну, пользуйтесь вторым диалектом, если есть желание при вводе-выводе постоянно трахаться с encode/decode, "как в нормальных языках". Разработчики фронтэндов и датабазники вас не поймут.

Date: 2017-09-23 10:45 am (UTC)
From: [identity profile] pigmeich.livejournal.com
> Кодировка UTF-8 имеет переменную длину, в которой на JK приходится, в основном, 2 байта, а на C - в основном, три. Что опять не так? :)

Чё, серьезно? Офигительные открытия в этом журнале.

Date: 2017-09-23 10:56 am (UTC)
From: [identity profile] dzz.livejournal.com
Вся кана и хангыль в UTF-8 укладываются в три байта.

Иероглифы, на вскидку:

http://graphemica.com/%E9%9B%8E - три байта
http://graphemica.com/%E9%9B%8C - три байта

Что я делаю не так?

Edited Date: 2017-09-23 10:56 am (UTC)

Date: 2017-09-23 11:04 am (UTC)
From: [identity profile] pigmeich.livejournal.com
Вы только что утверждали, что японские кодпойнты укладываются в 2 байта (в UTF-8), а теперь в три.

> Что я делаю не так?

Вот это.

Date: 2017-09-23 11:08 am (UTC)
From: [identity profile] dzz.livejournal.com
Ок, mea culpa. Но в три-то укладываются?

> Ага, только занимает 8 байт.

Вот это ваше "8 байт" где?

Date: 2017-09-23 11:28 am (UTC)
From: [identity profile] pigmeich.livejournal.com
> Ок, mea culpa. Но в три-то укладываются?

Одно слово: «кандзи».

> Вот это ваше "8 байт" где?

Редкие иероглифы в комбинациях, может быть и больше.

Date: 2017-09-23 04:19 pm (UTC)
From: [identity profile] dzz.livejournal.com
Может, но это именно очень редкие случаи. Основная масса китайского и японского текста состоит из трёхбайтных пойнтов.

Date: 2017-09-23 05:58 pm (UTC)
From: (Anonymous)
Очень редкие, да. Все симпволы Юникода, без исключения, замимают от 1 до 4 байт в UTF-8.

Date: 2017-09-23 06:01 pm (UTC)
From: (Anonymous)
Если строка не юникод, а хотелось юникод, то исклюение — совершенно правильная реакция. В чем проблема?

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 10:14 am
Powered by Dreamwidth Studios