Обозначение неравенства и степени в нематематических текстах
arzarra — 17.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).
Фортран - это такой "инженерный", "технарский" ЯП, известный прежде всего тем, что умеет вполне сносно и интуитивно понятно оперировать матрицами. Матрицами! В пятидесятых! При том, что во многих гораздо более поздних замороченных си-подобных языках даже обычные одномерные массивы - та ещё нетривиальная
Алгол же был полной противоположностью Фортрана - чрезвычайно сложный, невероятно замороченный язык, использовавший не существовавшую ни на одной клавиатуре мира систему символов. Не существующую, впрочем и по сей день. По этим причинам сиё творенье гениальных умов так никогда и не получило распространения в практической сфере применения компьютеров, тем не менее, оказав значительное влияние на идеи развития ранних ЯП.
Неравенство в Алголе обозначается "≠", степень - "↑".
Кобол был и вовсе языком, максимально приближенным к человеческому (английскому) и никаких особых символов для неравенства и степени в нём просто не было.
В 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, имеет и массу отличий. А возведение в степень в нём, как уже говорилось, обозначается двумя астерисками (звёздочками) - "**". Поэтому взрослые технари под полтинник и старше сегодня нередко пользуют именно их. Но, внезапно, кроме старых физиков звёздочки сегодня невероятно популярны и у молодых
Забавно, что в чрезвычайно популярной на 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". А в текстах компьютерных программ - свой, специфический для конкретного ЯП.
Вот такая непростая история стоит за столь простыми и распространёнными математическими обозначениями, вынужденно используемыми в нематематических текстах, там и тогда, где и когда нет возможности использовать настоящую математическую символику.
|
|
</> |
The Blood of Dawnwalker — главный соперник «Ведьмака»
Никогда!
Гретку поимели в Израиле, но слабо.
Inktober2025 стартовал
Шуткое.
Трампа кинули с Нобелевкой-мира, и тут же началась война
4 Сложные загадки для тех, у кого острый глаз.
Плавание с кашалотами - главное приключение на острове Маврикий
Царицыно-Дачное

