Обозначение неравенства и степени в нематематических текстах

топ 100 блогов arzarra17.01.2025 Как известно, в математике используется достаточно сложная языковая система, насыщенная символами, обычно отсутствующими в арсенале обычного блогера. Тем не менее, иногда писать о каких-то математических фактах приходится и тогда возникает проблема - какие доступные альтернативы использовать, чтобы твой текст был максимально интуитивно понятен как людям, далёким от науки, так и профессионалам. Чаще же всего в обычных текстах можно встретить два типа обозначений из математики, выходящие за пределы стандартного набора символов: неравенство и степень.

В математике они обозначаются вот так:

Обозначение неравенства и степени в нематематических текстах - не равно, и

Обозначение неравенства и степени в нематематических текстах - степень.



Картинки выше у меня сгенерированы онлайн редактором формул, которым я обычно и пользуюсь, чтобы вставить формулы в посты: https://editor.codecogs.com/

В нём на самом деле генерируется текст для другого редактора формул в формате LaTeX.:  "\neq"  и "X^{a}", который как раз и использует только имеющиеся на обычной клавиатуре символы.

Однако переводить матсимволы в LaTeX, а из него в картинки обычно всё же слишком сложно и трудозатратно. А напрямую понимают LaTeX разве что линуксоиды и гики. Намного чаще используются подмены, заимствованные из языков программирования.

И вот тут возникают вопросы выбора, так как в разных ЯП даже эти самые простые символы записываются по-разному.

Что при быстром наборе текста выберете лично вы: x!=y или x<>y ? x^y или x**y ? И почему именно это? Как "правильнее"? И какие предположения о вашем личном опыте можно сделать на основании вашего выбора?

Чтобы в этом разобраться, надо вспомнить историю развития языков программирования.

Ранние ЯП, ещё в 1950-х - начале 1960-х не обременяли себя такими заморочками вообще. Просто потому, что стандартного набора символов - вообще никакого, а не то что Unicode  - ещё не существовало в природе. Разработчики выдумывали всё, что им нравилось, не ограничивая свою фантазию и надеясь, что в будущем именно их систему обозначений примут как стандарт.

Именно в те годы возникли три языка программирования, оказавшие наибольшее влияние на стиль записи текста: FORTRAN (1957), COBOL (1960) и ALGOL (1960).

Фортран - это такой "инженерный", "технарский" ЯП, известный прежде всего тем, что умеет вполне сносно и интуитивно понятно оперировать матрицами. Матрицами! В пятидесятых! При том, что во многих гораздо более поздних замороченных си-подобных языках даже обычные одномерные массивы - та ещё нетривиальная брейнфак раскорячка мозга. Это очень быстрый, эффективный и хорошо продуманный ЯП, используемый до сих пор (последний стандарт вышел в 2023 году). Фортран оказал влияние в частности на две другие получившие чрезвычайное распространение ветви - Бейсика и Матлаба (первый - своеобразный "даунгрейд" Фортрана, второй -  "апгрейд"). Обозначения в нём и дериватах изначально были самые простые. Неравенство в Фортране обозначается "/=", степень - "**".

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

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

В 1963 году вышел стандарт ASA X3.4-1963, известный сегодня как ASCII ("АСКИ"). Он зафиксировал базовый набор компьютерных символов и некоторые стандартные замены, став фундаментом для разработки алфавитов практически всех языков программирования, разрабатывавшихся после 1963-1965-1967 гг. А также для разработки клавиатур, текстовых редакторов и прочих базовых аксессуаров уровня "маст-хэв" для каждого компьютера.

Ни знака неравенства, ни обозначения для степени, привычных для математики в ASCII нет. Однако в стандарте ASCII от 1963 года явным образом рекомендовано обозначение степени (exponentiation) через стрелку вверх  - "". Алгольные маги победили? А вот и нет. Посмотрите на свою клавиатуру - никакой стрелки вверх на них нет.

В следующих редакциях АСКИ - ASA X3.4-1965, USAS X3.4-1967 и др. сначала были рекомендованы альтернативы, а потом и введена рекомендованная как основная замена для стрелки через циркумфлекс ("каретку", "крышу") "^". Именно такой знак и стал стандартом, в том числе и для обозначения степени "в алгольном стиле". Он наиболее популярен, воспринимается как более "математический", благодаря использованию в профильных Wolfram и Matlab. Его используют такие языки программирования, как Algol, CPL, Basic, Bash, Matlab/Scilab, Wilfram/Mathematica, GNU Octave, Lua, R, Julia.

Знак "^" получил широкое распространение в 1970-х и 1980-х годах, когда едва ли не везде в школах для обучения программированию использовался BASIC (думаю, многие ещё помнят знаменитые "Роботроны"), а в домашних восьмибитовых компьютерах на Z-80 (и его аналогах), а также intel 8080 (и аналогах типа КР580ИК80) Бейсик был, что называется, "прибит гвоздями" к железу (запрограммирован в микросхему УФ-ПЗУ). Если вы используете такое обозначение, то, весьма вероятно, учились программированию ещё на Basic или же пользовались математическими программами типа Mathematica, Matlab, Scilab, LaTeX.

Но вот если вы из школы шли тогда в технический вуз, то там вас почти наверняка учили программированию на FORTRAN (кто-нибудь ещё помнит терминалы советской БЭСМ-6 из эпохи, когда компьютеры не были персональными?). Он хоть и похож с виду на BASIC, имеет и массу отличий. А возведение в степень в нём, как уже говорилось, обозначается двумя астерисками (звёздочками) -  "**". Поэтому взрослые технари под полтинник и старше сегодня нередко пользуют именно их. Но, внезапно, кроме старых физиков звёздочки сегодня невероятно популярны и у молодых лириков программистов и школяров. Почему так? Из-за практически полного вытеснения Basic'a (даже в варианте Visaul) более современным Python'ом. В нём, как и в Fortran'е возведение в степень - это -  "**". Вот такое вот неожиданное возвращение к самым истокам произошло. Кроме Питона двумя астерисками степень обозначается в современных вариантах полумёртвых COBOL'а и PL/1, "влиятельного", но бесполезного Smalltalk, в нишевых Ada и Perl. Так что, если вы используете для обозначения степени звёздочки, то вы или очень стары или очень молоды :) Точнее, восприняли их или из Фортрана, или из Питона. Для современной молодёжи будет, скорее всего, непонятно, откуда взялась ещё и "крыша".

Забавно, что в чрезвычайно популярной на Android программе Mobi Calculator для возведения в степень надо ввести две звёздочки, которые тут же превращаются в одну галочку.

При этом во многих языках программирования оператора для степени нет вовсе, для этого используются функции (обычно POW и похожие), но некоторые из них допускают перегрузку хоть галочки, хоть звёздочки. Довольно сомнительное решение, как по мне, так как перегрузки - они на любителя, их легко забыть и запороть даже самую ясную с виду программу.

Теперь что касается обозначения неравенства.

Первым своё АСКИ-совместимое обозначение предложил FORTRAN: "/=". Однако кроме него оно нигде не прижилось из-за ставших более интуитивными после распиаривания си-подобных языков последовательностей типа "+=", "-=" и т.д. Тем не менее, видоизменённый вариант "~=" получил распространение в программах с матлаб-подобным стилем: Matlab, Scilab, Octave и некоторых других. Вряд ли вы будете использовать эту последовательность в обычном тексте для всех - для обывателей она интуитивно воспринимается не как "не равно", а как "примерно равно".

Второй вариант, ставший очень популярным у тех, кого учили программированию в 1970 - 1980-х на Бейсике, это "меньше-больше": "<>". Это была вторая по времени АСКИ-совместимая замена, предложенная в 1964 году. Она же была популярна и у тех, кто застал "эру Паскаля/Делфи" в 1990-е. Однако эта мода у разработчиков быстро прошла уже в конце 1970-х. Последним крупным ЯП с такой заменой (точнее, вариантом, причём не главным) стал язык баз данных SQL.

И, наконец, Алгол в рамках своего стиля предложил вариант "!=", ставший самым распространённым и популярным сегодня. Он используется в большинстве языков программирования и практически всех, разработанных в восьмидесятых и позже: Algol, C, Objective-C, C++, C#, Bash, SQL, Perl, Wolfram, Smaltalk, Octave, Tcl, Python, Java, PHP, JS, Ruby, R, Scala, Vala, Go, Rust, Kotlin, Dart, Julia, Swift. Он "дефолтный" для профессиональных программистов, математиков и молодёжи, которую учили программированию уже в нулевых и позже на Питоне, а не Бейсике или Паскале.

Так что обычно в наше время просто в тексте используется "алгольный стиль" - "x!=y", "x^a". А в текстах компьютерных программ - свой, специфический для конкретного ЯП.

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


Оставить комментарий

Архив записей в блогах:
По правде говоря, это даже не просто «звоночек», а самый настоящий тревожный набат. Или больше — рвущая слух сирена. Даже глухой услышал бы. Но… В Кремле пока ничего такого не слышат. Или делают вид? Но это ведь тоже опасно . «Уста Кремля» Дмитрий #Песков , продолжая ...
Генералиссимус планирует контрнаступление по секретной карте Генштаба. Прибыли злобные немцы на трофейном, надо полагать, мотоцикле Фашисты взяли в плен раненого в бою партизана Но подоспевшая советская армия вынуждает оккупантов спасаться бегством! ...
Если бы я писала код с такой же скоростью, как переводила тексты, цены бы мне не было. Даже в "плохой" день норма выработки получается спокойно, а если вдруг дома меня никто не вынет из состояния "потока", то увлекшись, я могу и 11 000 знаков качественно выдать. Единственное, что дома ...
Опять  у меня встал вопрос о том, что бы взять на время отъезда  хозяев чужое животное. Моя семья имела такой опыт - друзья попросили взять на 2 недели  хомячка, мы с женой еле дождались приезда хозяев этого зверька! Он очень милый, ...
Фильм Петра Тодоровского "Анкор, еще анкор!" 1992 года мне раньше нравился. Смотрела пару раз. Наверное, очень хорошие артисты влияли на восприятие. Влияли так, что смотрела, но не видела того, что сильно бросилось в глаза, когда включила его на ютубе вчера. Такая адова чернуха. ...