Осипов Роман @OsipovRoman
Руководитель IT-студии, эксперт Wolfram, математик
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Руководитель IT-студии, эксперт Wolfram, математик
ListPlot@Log@Abs@Fourier@data
Правые и левые композиции
ListPlot@*Log@*Abs@*Fourier@*data
Fourier/*Abs/*Log/*ListPlot@data
Wolfram Language просто позволяет очень свободно писать код, это правда, отсюда и свой стиль, хотя часто определенные конструкции быстрее работают, что уже с опытом приходит. А другие конструкции проще реализовать.
Это, безусловно, путает. Поэтому исправил, теперь на этих диаграммах с усами везде по 80 языков.
Логотип у него — огонь)
В моей статье (по аналогии со статьей Джона) был принят подход с токенами для того, чтобы компенсировать длину названий функций и переменных, что явно верно учитывается в количестве символов кода (а то, в одном языке что-то вызывается как sin, а в другом как mathematicalsin, условно говоря, хотя по сути это одна единица).
Этот подход себя оправдывает, потому что две другие функции (количество символов и строк) дают те же результаты.
Можно также говорить о том, что в Wolfram Language есть полная форма выражения, тогда оно будет выглядеть как
и в нем будет 11 токенов.
Можно говорить о том, что еще более «глубоко», верным будет выражение в боксах:
которое опять же выдаст 11 токенов.
То, что здесь приведено в статье вполне разумно к применению. Я согласен, что корректировки стоит внести и я их, конечно, внесу для точности.
Вы всегда можете предложить свое решение или предложить правильную версию токенизатора, учитывающую все особенности всех языков — это в целом не плохой вариант был бы вашей дебютной статьи на Хабре.
Так-то токеном считается при подсчете любая конструкция, по сути, разделенная пробелом (или другим white-space знаком).
Да, стоит учесть, хотя каких-либо критических изменений не будет.
Спасибо за четкие указания, сделаю UPD позже. Я, безусловно, на 600 языках не программирую, поэтому знать особенности каждого не могу.
Вопрос — можно ли вычислить за O(n)? Можно ли найти какую-то другую точную оценку?
www.rule30prize.org
Я даже как-то не заметил сразу.