OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 24 Апрель, 2024 07:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Среда, 23 Июнь, 2010 14:20 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Ни в коем разе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Среда, 23 Июнь, 2010 14:21 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Algo писал(а):
А ещё можно русские и латинские буквы, похожие по начертанию считать эквивалентными.
Я тоже так думаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Четверг, 24 Июнь, 2010 18:17 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Algo писал(а):
А ещё можно русские и латинские буквы, похожие по начертанию считать эквивалентными.
Я тоже давно на эту тему думаю. Кодировки - это пережитки алфавитно-цифровых терминалов, где они вшивались в железо. Сейчас же, в условиях частого набредания на тексты разных алфавитов, удобнее иметь цепочку всех неповторяющихся символов и 2 массива для, так сказать, настройки локали. В массив накидываются буквы в количестве и порядке, естественном для текущего алфавита, что даёт возможность связывать символы с клавиатурой и пользоваться функциями типа ORD, CAP.

Правда, идея пока не додумана, и может быть много подводных камней.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Четверг, 24 Июнь, 2010 21:50 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Valery Solovey писал(а):
и может быть много подводных камней.
Типа сортировок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 09:15 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Valery Solovey писал(а):
Правда, идея пока не додумана, и может быть много подводных камней.


Еще один подводный камень - надо как-то сообщать компьютеру, к какому языку относится введенный текст - к русскому или английскому - если буквы по начертанию совпадают. Иначе будет невозможно производить поиск в произвольном регистре. К примеру, если в строке поиска задать "POT", то что должно искаться: "pot" (англ.) или "рот" (русск.)?

Опять же, как компилятор должен воспринимать идентификаторы Асхор (русск.) и Acxop (англ.) - как разные или как одинаковые?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 09:39 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Сергей Прохоренко писал(а):
Опять же, как компилятор должен воспринимать идентификаторы Асхор (русск.) и Acxop (англ.) - как разные или как одинаковые?
Компилятор не видит сами символы на экране, он видит только их коды. Коды разные - значит и символы разные. Не стОит обеднять алфавит компилятора, уравняв некоторые пары русских и латинских букв. Также как не стОит уравнивать прописные и строчные буквы.

А вот идея выделять русские и латинские буквы разным цветом мне понравилась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 11:02 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Info21 писал(а):
Типа сортировок.
Это можно пережить. Выгода перевешивает.
Сергей Прохоренко писал(а):
то что должно искаться: "pot" (англ.) или "рот" (русск.)?
А Вы как ищете (в бумажном тексте, без компьютера)? Ставите галочку "русск" и он ищёт "рот", ставите галочку "англ" и он ищёт "pot".

Просто функция превращения больших букв в маленькие будет иметь ещё один аргумент - язык. То же самое с функцией сортировки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 12:16 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
igor писал(а):
Компилятор не видит сами символы на экране, он видит только их коды. Коды разные - значит и символы разные. Не стОит обеднять алфавит компилятора, уравняв некоторые пары русских и латинских букв.


Мне тоже так кажется. У клавиатуры, в текстовом файле и в юникоде русская буква "Н" и английская буква "H" имеют разные коды. Кириллица выделена в отдельный алфавит и не является расширением латиницы с помощью оригинальных букв вроде Щ, Й, Ю и т.п. Слишком уж мало букв, совпадающих по начертанию, в этих двух алфавитах. Юникод - это глобальный стандарт, и не стоит от него отходить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 13:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Сергей Губанов писал(а):
Просто функция превращения больших букв в маленькие будет иметь ещё один аргумент - язык. То же самое с функцией сортировки.
Сложновато...?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 15:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Info21 писал(а):
Сложновато...?
Да куда ж проще-то? Факторизуем понятия в противовес спутыванию. Изображение "Н" есть само по себе, а его интерпретация как "аш" или "эн" или ещё как-то там - сама по себе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 16:37 

Зарегистрирован: Воскресенье, 08 Март, 2009 17:54
Сообщения: 372
Какая бурная дискуссия :).
Эту идею
Algo писал(а):
А ещё можно русские и латинские буквы, похожие по начертанию считать эквивалентными.

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

Выделение цветом - тоже хорошая идея. Можно выделять цветом идентификаторы, содержащие буквы из разных алфавитов и однобуквенные русские идентификаторы.
А то... Поставят в C# русскую "c" вместо буржуйской "c" и сидят у разбитого корыта часами :D.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Пятница, 25 Июнь, 2010 21:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Из личных воспоминаний.
3 класс. Дома - ПК "Искра" (аля IBM XT), брат учит писать сравнение двух чисел на GW Basic.
Очень долго не мог понять, почему "E" и "E" - разные буквы, если выглядят одинаково )) Точно помню, что тогда так и не понял. А потом "Искра" померла. Понял уже в 9-м классе, при следующем заходе ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Суббота, 26 Июнь, 2010 12:19 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Info21 писал(а):
Valery Solovey писал(а):
и может быть много подводных камней.
Типа сортировок.
Для этого и нужны массивы: сортировать не по кодам символов, а по индексу массива.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Суббота, 26 Июнь, 2010 12:34 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Сергей Прохоренко писал(а):
Valery Solovey писал(а):
Правда, идея пока не додумана, и может быть много подводных камней.


Еще один подводный камень - надо как-то сообщать компьютеру, к какому языку относится введенный текст - к русскому или английскому - если буквы по начертанию совпадают. Иначе будет невозможно производить поиск в произвольном регистре. К примеру, если в строке поиска задать "POT", то что должно искаться: "pot" (англ.) или "рот" (русск.)?
Именно поэтому нужно два массива: в одном наборе большие символы, а во втором - малые. Когда выбирается поиск без учёта регистра, то поиск осуществляется с помощью сразу двух массивов.

Сергей Прохоренко писал(а):
Опять же, как компилятор должен воспринимать идентификаторы Асхор (русск.) и Acxop (англ.) - как разные или как одинаковые?
Как одинаковые. Поскольку эти идентификаторы не для машины, а для человека: не машинные коды, а текст удобнее для восприятия. Вы бы смогли их различить оптически? Думаю, на это даже не каждый шрифтовик способен. Тем более, с ходу.

Сергей Прохоренко писал(а):
если буквы по начертанию совпадают
Моя идея такая: если буквы по начертанию совпадают, значит, это одна и та же буква. Сейчас я думаю над реализацией.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Суббота, 26 Июнь, 2010 12:38 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
igor писал(а):
Компилятор не видит сами символы на экране, он видит только их коды. Коды разные - значит и символы разные. Не стОит обеднять алфавит компилятора, уравняв некоторые пары русских и латинских букв. Также как не стОит уравнивать прописные и строчные буквы.
Именно поэтому я и задумался над этим вопросом и реализацией.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Важные мелочи
СообщениеДобавлено: Суббота, 26 Июнь, 2010 12:52 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Сергей Прохоренко писал(а):
У клавиатуры, в текстовом файле и в юникоде русская буква "Н" и английская буква "H" имеют разные коды. Кириллица выделена в отдельный алфавит и не является расширением латиницы с помощью оригинальных букв вроде Щ, Й, Ю и т.п. Слишком уж мало букв, совпадающих по начертанию, в этих двух алфавитах. Юникод - это глобальный стандарт, и не стоит от него отходить.
А сколько модификаций латинских алфавитов в Европе? И у них у всех своя раскладка.

А почему это, в конце концов, у английского алфавита преимущества перед всеми остальными? Я понимаю - обратная совместимость, но почему это все должны прогибаться под кучку манагеров, думающих, что они думают, и в результате этого процесса приходящих к выводу, будто пользователем сложнее привыкнуть к новому, чем заниматься сексом с их очередным высером. Да, заявляется, что они знают о проблеме, но вот только человеческая память устроена таким образом, что большинство воспоминаний, если с их постоянно не возобновлять, забываются. И тогда появляется нечто новое без учёта этой особенности, и всем остальным приходится работать с этим новым через костыли.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB