avva: (Default)
[personal profile] avva
Еще Бисмарк заметил, что стандартные библиотеки - как сосиски: приятнее использовать по назначению, не зная в подробностях, как их делают.

В исходниках java.util.Arrays, когда после множества фасадных методов сортировки с разными опущенными аргументами дело доходит до "мяса", до настоящего кода сортировки, его предваряет следующий комментарий:

    /*
     * The code for each of the seven primitive types is largely identical.
     * C'est la vie.
     */

А дальше идет семь совершенно одинаковых копий одного и того же кода квиксорта, отличающихся только типами аргументов и локальных переменных. По две страницы кода на каждую копию. Например, основной метод начинается так (к нему еще есть три вспомогательных, тоже в семи копиях каждый).

    private static void sort1(long x[], int off, int len) { ...
    private static void sort1(int x[], int off, int len) { ...
    private static void sort1(short x[], int off, int len) { ...
    private static void sort1(char x[], int off, int len) { ...
    private static void sort1(byte x[], int off, int len) { ...
    private static void sort1(double x[], int off, int len) { ... 
    private static void sort1(float x[], int off, int len) { ...

C'est la vie.

Date: 2009-10-11 02:19 am (UTC)
From: [identity profile] ygam.livejournal.com
В большинстве алфавитов, основанных на латинице, есть маленькое i с точкой и большое I без точки, обычно означающее звук и. Но в турецком и азербайджанском алфавитах есть как маленькое i с точкой (звук и), так и маленькое ı без точки (звук, похожий на звук у в русском, но с неокругленными губами), и как большое I без точки, так и большое İ с точкой. Стамбул по-турецки - İstanbul; первая буква - большое İ с точкой. Теперь представьте себе текст, набранный в Майкрософт Ворде, в котором нужно изменить регистр каких-то букв со строчного в прописной. Что нужно будет делать с буквой i, будет зависить от того, по-турецки или по-азербайджански написан этот текст, или на другом языке. Это может быть не дефолтный язык операционной системы - что, на американском компьютере нельзя редактировать турецкий текст? Поэтому Ворд использует не стандартные функции, а свои собственные.

Date: 2009-10-11 07:24 am (UTC)
From: [identity profile] michk.livejournal.com
Спасибо! Я не знал этого.

Date: 2009-10-20 12:51 am (UTC)
From: [identity profile] ktotam.livejournal.com
http://www.gazeta.ru/social/2008/04/23/kz_2704836.shtml

звук, похожий на звук у в русском, но с неокругленными губами
по-русски обычно говорят "ы", и "ы" же используется в кириллических тюркских алфавитах. ı ближе к заднему ряду, но это детали.

в швейцарском (de-CH) умляуты ä/ö/ü при капитализации всегда переходят в диграфы Ae/Oe/Ue. это связано с тем, что на печатных машинках (и потом на клавиатурах) надо было уместить одновременно немецкую, французскую и итальянскую диакритику, и на редко использующиеся заглавные буквы места не хватило.

во французском (fr-FR, но не fr-CA!) есть различие между capitales (обычно без диакритики) и majuscules (обычно с диакритикой). и то, и другое переводится на английский как capital letter.

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

Date: 2009-10-20 12:59 am (UTC)
From: [identity profile] ygam.livejournal.com
Статья напомнила вот что. И от чтения [livejournal.com profile] ukraine_russia иногда бывает (сомнительная) польза.

Date: 2009-12-19 06:34 pm (UTC)
From: [identity profile] ygam.livejournal.com
Я не знаю турецкий язык, и не могу ответить на этот вопрос. В международном фонетическом алфавите русское ы - это ɨ, а турецкое ı - это ɯ.

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
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 05:00 pm
Powered by Dreamwidth Studios