Имеется в виду, две строки с одинаковым начертанием? В юникоде ровно точно такая же проблема присутствует (лат. С и кир. C). Я эту проблему не пытаюсь решить.
Символы — это не начертание. Один символ может иметь разные начертания, и наоборот, какие-то начертания разных символов могут быть похожи.
Так же, как не стоит смешивать символы и текст, также не стоит смешивать и символы с их начертанием.
Конкретно здесь имеются в виду строки с одними и теми же символами, например:
строка "hotel" с английским языком и слово "hotel" с французским языком,
некая строка с указанным языком и та же строка без указания языка.
А раз уж они начали отличать латинскую C и кириллическую, то что нам мешает отличать немецкую и французскую?
Не смешивайте символ и его визуальное представление — часть вопросов отпадет.
В чём проблема-то?
Один написал "привет" с русской раскладкой, другой с беларусской, третий вставил из веб-страницы — и у вас три одинаковых по символам строки, которые при сравнении дают false.
Например, для Rust нет раскладки клавиатуры. То есть, вы неявно добавили к нашему вопросу еще и некое соответствие между языком и раскладкой клавиатуры, которое, вообще говоря, не один-к-одному, и не всегда имеется.
Но нам ничего не мешает приписать им и какой-то произвольный язык...
А потом, внезапно, две строки с одинаковым текстом у вас оказываются не равны.
Вы обошли ключевое понятие — уровни абстракции.
Самый низкий: массив байтов. Он может обозначать символы, может бинарные данные. На этом уровне намеренно не задается семантика хранимых значений.
Более высокий: набор символов. Один и тот же символ ("ъ") может использоваться в разных языках, может вне языка, может хоть в роли части орнамента. На этом уровне намеренно не затрагиваются такие понятия как слово, текст, язык. Unicode задает только набор символов.
Еще более высокий — состоящий из символов текст, по отношению к нему уже можно применить понятия язык и слово.
Из того, что unicode является только набором символов, и намеренно создан, чтобы работать именно на этом уровне, не затрагивая другие, следует то, что он не определяет и не должен определять, как интерпретировать эти символы в тексте.
Давайте представим, что у нас уровни 2 и 3 смешались.
Вот текст:
fn main() {
println!("Привет!");
}
На каком он языке? Может показаться, что на английском, но нет, в английском нет таких знаков препинания и слова fn.
Ок, припишем ему язык Rust, как есть. И вдруг возникает куча вопросов:
Слово "привет" — это еще Rust или уже русский язык? Или надо приписать ему два кода языка?
А это точно русский, может быть другой славянский язык?
А кавычки — это русский язык или Rust?
А как терминал должен работать при выводе текстов на разных языках?
А как в текстовом редакторе отметить, что это русский язык?
И как вообще программы должны отображать, на каком языке написан фрагмент текста, и зачем им нужно это делать?
А если человек в мессенджере ввел "Привет", и мы получили это в нашей программе через API, то это на каком языке? А если он в следующим сообщением в этом же мессенджере отправил "добры дзень", то это на каком?
Все эти вопросы — следствие того, что мы попытались применить параметры, свойственные тексту, к уровню символов, где они неприменимы, и где нам даже неоткуда значения этих параметров получить.
Строка символов — это более низкий уровень абстракции, чем текст. Текст может быть репрезентирован в виде строки символов, но строка символов не обязательно представляет собой текст, например, это может быть произвольный набор букв или ASCII art. У текста же есть язык, грамматика, смысл, авторские права и еще множество вещей, которые относятся к тексту, но не относятся к произвольной строке символов.
Но у юникода нет такой задачи, и не очень понятно, почему она должна быть. В своем же ПО вы всегда можете иметь структуру данных, где у вас есть и строка, и любые метаданные.
Можно предположить, что в значительной степени Stack Overflow является промежуточным слоем, где массив знаний, которые можно (но очень трудно) получить непосредственным анализом кода, документации и issues, собран в форме, удобной для поиска и чтения.
Сейчас ИИ уже неплохо может анализировать чужой код в рамках контекста. Когда-нибудь, он проанализирует весь гитхаб, и ему не нужны будут чужие ответы, он будет давать свои, основываясь на знании непосредственно кода, алгоритмов, научных статей, учебников и др.
Конечно, остается часть вопросов, ответы на которые были получены из собственного опыта, методом проб и ошибок. Но люди, сталкивающиеся с такими проблемами, в наше время уже не держат их решения в себе, делясь ими за кружкой пива, а публикуют в своих блогах, соцсетях, еще где-то. Эти знания будут вполне доступны для LLM.
Ну правда же, моментально узнаваемый GPT-шный стиль. После первых же абзацев появляется ощущение цифрового мусора и отторжение. С трудом всё же дочитал, ведь тема интересная и важная. У вас в профиле написано, что вы написали более 300 статей — значит, вы, вероятно, умеете хорошо писать и без LLM. Тогда зачем?
Да, это гласная. Обратите внимание также на апостроф перед ней (Ἡρόδοτος) — это «псили» (придыхание). То есть, здесь присутствует некий звук, более слабый, чем «х» или фрикативное «г», который при заимствовании в некоторых языках мог вообще пропадать (например, могу предположить, что по-французски произносится «Эродот»)
Конечно, но отношения между обществом и церковью совсем другие. Церкви больше не актуальны мегапроекты для поддержки идеологии. Поэтому гигантские готические соборы ушли в прошлое, как экранопланы.
Да, вы правы. Можно тогда сказать по-другому — не забросили, но сам собой ожидаемо превратился в долгострой. Я так понимаю, бюджета (госфинансирования) там как такового нет. Наверное, с госфинансированием можно было бы построить и быстрее, но государство разумно решило не вешать его к себе на баланс.
Символы — это не начертание. Один символ может иметь разные начертания, и наоборот, какие-то начертания разных символов могут быть похожи.
Так же, как не стоит смешивать символы и текст, также не стоит смешивать и символы с их начертанием.
Конкретно здесь имеются в виду строки с одними и теми же символами, например:
строка "hotel" с английским языком и слово "hotel" с французским языком,
некая строка с указанным языком и та же строка без указания языка.
Не смешивайте символ и его визуальное представление — часть вопросов отпадет.
Один написал "привет" с русской раскладкой, другой с беларусской, третий вставил из веб-страницы — и у вас три одинаковых по символам строки, которые при сравнении дают false.
Например, для Rust нет раскладки клавиатуры. То есть, вы неявно добавили к нашему вопросу еще и некое соответствие между языком и раскладкой клавиатуры, которое, вообще говоря, не один-к-одному, и не всегда имеется.
А потом, внезапно, две строки с одинаковым текстом у вас оказываются не равны.
Вы обошли ключевое понятие — уровни абстракции.
Самый низкий: массив байтов. Он может обозначать символы, может бинарные данные. На этом уровне намеренно не задается семантика хранимых значений.
Более высокий: набор символов. Один и тот же символ ("ъ") может использоваться в разных языках, может вне языка, может хоть в роли части орнамента. На этом уровне намеренно не затрагиваются такие понятия как слово, текст, язык. Unicode задает только набор символов.
Еще более высокий — состоящий из символов текст, по отношению к нему уже можно применить понятия язык и слово.
Из того, что unicode является только набором символов, и намеренно создан, чтобы работать именно на этом уровне, не затрагивая другие, следует то, что он не определяет и не должен определять, как интерпретировать эти символы в тексте.
Давайте представим, что у нас уровни 2 и 3 смешались.
Вот текст:
На каком он языке? Может показаться, что на английском, но нет, в английском нет таких знаков препинания и слова fn.
Ок, припишем ему язык Rust, как есть. И вдруг возникает куча вопросов:
Слово "привет" — это еще Rust или уже русский язык? Или надо приписать ему два кода языка?
А это точно русский, может быть другой славянский язык?
А кавычки — это русский язык или Rust?
А как терминал должен работать при выводе текстов на разных языках?
А как в текстовом редакторе отметить, что это русский язык?
И как вообще программы должны отображать, на каком языке написан фрагмент текста, и зачем им нужно это делать?
А если человек в мессенджере ввел "Привет", и мы получили это в нашей программе через API, то это на каком языке? А если он в следующим сообщением в этом же мессенджере отправил "добры дзень", то это на каком?
Все эти вопросы — следствие того, что мы попытались применить параметры, свойственные тексту, к уровню символов, где они неприменимы, и где нам даже неоткуда значения этих параметров получить.
Строка символов — это более низкий уровень абстракции, чем текст. Текст может быть репрезентирован в виде строки символов, но строка символов не обязательно представляет собой текст, например, это может быть произвольный набор букв или ASCII art. У текста же есть язык, грамматика, смысл, авторские права и еще множество вещей, которые относятся к тексту, но не относятся к произвольной строке символов.
Но у юникода нет такой задачи, и не очень понятно, почему она должна быть. В своем же ПО вы всегда можете иметь структуру данных, где у вас есть и строка, и любые метаданные.
Напишете пулл-реквесты во все стандартные библиотеки мира, чтобы адаптировать concat и substring под вашу кодировку? :)
Б/у сетевые карты Mellanox у китайцев.
SFP-модули на RJ-45 в эти карты.
Кабель категории Cat 7, но для пары комнат должно быть достаточно Cat 6.
10G свитчи Mikrotik c разъемами RJ-45.
Можно предположить, что в значительной степени Stack Overflow является промежуточным слоем, где массив знаний, которые можно (но очень трудно) получить непосредственным анализом кода, документации и issues, собран в форме, удобной для поиска и чтения.
Сейчас ИИ уже неплохо может анализировать чужой код в рамках контекста. Когда-нибудь, он проанализирует весь гитхаб, и ему не нужны будут чужие ответы, он будет давать свои, основываясь на знании непосредственно кода, алгоритмов, научных статей, учебников и др.
Конечно, остается часть вопросов, ответы на которые были получены из собственного опыта, методом проб и ошибок. Но люди, сталкивающиеся с такими проблемами, в наше время уже не держат их решения в себе, делясь ими за кружкой пива, а публикуют в своих блогах, соцсетях, еще где-то. Эти знания будут вполне доступны для LLM.
Нет, их две. Вторая — "минусующий тупорылый чудак", и далее по тексту :)
Мюллер заподозрил неладное, когда Штирлиц начал под разными предлогами отказываться «сходить перезагрузить сервер».
Хм, а как тогда предлагается его ставить?
то есть, можно сказать, что он облажался?
Например, в испанском App Store нет макса
Ну правда же, моментально узнаваемый GPT-шный стиль. После первых же абзацев появляется ощущение цифрового мусора и отторжение. С трудом всё же дочитал, ведь тема интересная и важная. У вас в профиле написано, что вы написали более 300 статей — значит, вы, вероятно, умеете хорошо писать и без LLM. Тогда зачем?
Да, это гласная. Обратите внимание также на апостроф перед ней (Ἡρόδοτος) — это «псили» (придыхание). То есть, здесь присутствует некий звук, более слабый, чем «х» или фрикативное «г», который при заимствовании в некоторых языках мог вообще пропадать (например, могу предположить, что по-французски произносится «Эродот»)
Сторчался после 10-го :)
Одни помойки потеряли трафик из-за другой помойки. Туда им всем и дорога
Конечно, но отношения между обществом и церковью совсем другие. Церкви больше не актуальны мегапроекты для поддержки идеологии. Поэтому гигантские готические соборы ушли в прошлое
, как экранопланы.Так всесильного же ничего нет и не будет никогда
Ну это игра слов. Значит, медицина не ограничивается только лечением
Да, вы правы. Можно тогда сказать по-другому — не забросили, но сам собой ожидаемо превратился в долгострой. Я так понимаю, бюджета (госфинансирования) там как такового нет. Наверное, с госфинансированием можно было бы построить и быстрее, но государство разумно решило не вешать его к себе на баланс.