Как стать автором
Обновить

Комментарии 65

Как-то странно — то что в паскале самое популярное слово end, это и ежу понятно, но почему такой отрыв аж в 600k от begin, они ведь всегда ходят парой?

Там такой конструкции вроде нет, зато есть case-end

Еще try-finally-end.
Интересно! Спасибо за поправки!
зато есть case-end

Точно. Тогда вопрос снят

Открывать блок, который кончается на end, в Паскале могут, навскидку:
Begin
try
Case
Record
Class
Object (да, было и такое)
… и, бонусом:
Program
Unit

То есть про program я ступил, там есть begin

Зато есть ещё library

Lua — единственный язык программирования в котором нецензурное слово вошло в топ. Можете найти?

Нашел слово на букву F :) а чуть ниже Mohammed
Даже 3 разных его версии :)
В Lua мне больше всего понравилось слово SPELL_CAST_SUCCESS.
Я тоже нашел, но у меня по просмотру контекста созрел вопрос о том, кто же эти ребята, которые наштамповали 40k этих слов :D Как какие-то школьники, и вправду
Сейчас классификатор языков полностью полагается на расширение файла. Если язык программирования уникально идентифицируется расширением, его легко добавить к списку. В случае Forth'a, расширение .fs пересекается с F#, FilterScript и GLSL.

Можно ли использовать .forth, .frt и .4th как основные расширения для этого языка?
Лучше полагаться на контекст файла т.к. даже Github раньше по расширению .f относил данные файлы к Фортран языку. .forth .frt .4th вполне могут относится к Форт или Форто подобным языкам. Расширение .spf к SP-Forth может быть соотнесено. Ещё не учитываемый момент — это когда на языке (например Си) реализуется какой нибудь вариант Форт языка, но при этом Forth (Форт) тег не появляется в классификации проекта на Github.

P.S. «Знаки» препинания (:;. ) значимые слова в Форт :)
Ассемблеры планируется добавить в проект.
А можете добавить R? расширение такое же.
Добавил. С R могут быть не совсем аккуратные результаты. Rebol использует такое же расширение. И ресурсные файлы тоже… Дайте, пожалуйста, знать если что-то будет выглядеть совсем неправдоподобно.
Спасибо! Похоже на правду, только много попаданий универсальных слов — the, in, is из строк комментариев (начинающихся с #)
Не увидел bash (.sh). Из ассемблеров были бы интересны m68k (.s) и z80 (.$H, $R).
НЛО прилетело и опубликовало эту надпись здесь
Спасибо огромное за поправку, и простите за описку. Исправил
Хорошо бы было, если информацию по словам в комментариях можно было бы отключать
и иметь более подробный контекст вывода применения того или иного слова (с расширением колонки или вывода в основную зону)
Хорошо бы еще добавить информацию о среднем кол-ве вхождений слова в 1 файле, например, return — 68,848,062 + в среднем 10 раз в 1 файле и общее кол-во проанализированных файлов одного типа.
Думаю, вам будет интересен этот проект https://searchcode.com/
А может кто объяснить в Java — return что это за магия? * return<b/> c 1,857,834 результатов ?!
Предположу, что это javadoc ))

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#return
Мдя, на assm теперь не пишут…
Та уж лет 15-20 как не пишут.
Пишут, но не так массово и проекты не обязательно располагают на Github,
есть ещё также, например, на sourceforge. «Массовый» проект на ассемблере — Kolibri OS расположен на своей площадке. Ассемблерные файлы встречаются в тех или иных проектах.

P.S. С расширением ассемблерных файлов могут быть нестыковки и ассемблеры бывают такие разные
и для разных процессоров (контроллеров). Одно из расширений на Github .s
Ждал минуса и дождался. :)
Elixir есть, а Эрланга нет, жалко.
Многих нет языков, даже по классификации Github, например VHDL, VERILOG,
А, если посмотреть сколько языков представлено на текущий момент в проекте rosettacode то коллизий по расширению файлов заметно добавится. Про «экзотику» типа HiAsm можно даже не упоминать. :)

P.S. Была какая то библиотечка представлена на Github по распознаванию языков программирования в недавних новостях.
Не эта https://github.com/github/linguist?

Было бы здорово иметь такую модель на javascript'e. Тогда можно было бы проводить классификацию прямо на BigQuery, как user-defined function.
Да, вероятно эта библиотека.
С использованием javascript, возможно, может оказаться полезным такой проект https://github.com/isagalaev/highlight.js (автоматического определения и подсветки языка)
Добавлю Эрланг в скором времени и отпишусь тут :)!
Спасибо
Вы ещё какие-то диалоги запарсили — поэтому много «разговорного» тескста пробилось близко к топу.
О каком языке идет речь?

В целом, я не делаю никакого структурного анализа кода. Только разбиваю на строки/слова и веду подсчет. Файлы группируются по расширению — здесь могут быть неточности и коллизии между языками.
В lua довольно много текста из диалогов. (то же слово fuck)
Каких диалогов, и что они делают на гитхабе? Может это комментарии к коду?
Видимо исходники игры например такой файл
В Go самым популярным словом оказалось err. В этом языке нет исключений?
В Go принято возвращать 2 значения: результат и ошибку.
Кстати, это единственный язык, в котором название переменной оказалось популярнее ключевых слов. (либо я не заметил другие)
Также The стабильно держится в лидерах, жаль, что только из-за комментариев.
Стоит собрать статистику без ключевых слов, так как они занимают половину верхних позиций.

Или просто добавить фильтр при просмотре результатов

В левой колонке логичней было бы не общее количество для слова указывать, а его частоту среди всех выделенных слов языка.
И графики таких частот были бы весьма интересны — насколько плавно убывает частота использования.

You just don't fuck with Mathematica!

НЛО прилетело и опубликовало эту надпись здесь
Позволю себе свои измышления по поводу языка java, согласно:
1. import=102,703,904
2. return=68,848,062
3. public=63,437,224
4. if=48,541,265
5. the=48,123,547
6. org=41,378,185
7. String=38,064,156
8. this=36,756,897
9. new=36,359,075
10. null=34,932,524
11. int=32,221,928
12. java=32,155,509
13. void=27,724,726
14. i=26,995,773
15. Override=26,626,591

Самый популярный тип — java.lang.String;
Самый популярный примитивный тип int;
Самая популярная конструкция — if, куда же без них;
Значимое количество методов не возвращающих ничего void,
Самое распрастраненное наименование переменной i — циклы рулят;
Самое распрастраненное слово в java-doc the
В java больше открытого public чем закрытого(private) и наследуемого(protected)

Конечно есть нюансы, но куда без них :)

За статью спасибо.

Судя по 15-й позиции ещё иерархии довольно большие, много переопределённых методов:


@Override
void someMethodName();
НЛО прилетело и опубликовало эту надпись здесь
Это Вы хорошо подметили.

Вот еще несколько выводов, опять же с допущениями:
Часто встречаемая ошибка — IOException
Java классы довольно хорошо докумнтированны
Литералов true и false примерно одинаково (12,989,940/12,745,131)
Java пронизана языками и технологиями:
— SQL / JDBC
— XML / JSON
— Regexp
— JUnit /
Не плохо покрыта тестами
Пунктуация, операторы и числа игнорируются.

Тем не менее, в топ языка Lua вкралось число 0x00 (неужели в языке, где нет встроенных побитовых операций, так часто используются шестнадцатеричные константы?).


image

Наверное, мне стоило уточнить, что только в десятеричной системе числа игнорируются.

Если на гитхабе поискать 0x00 extension:lua то можно найти примеры
Тем не менее, в топ языка Lua вкралось число 0x00 (неужели в языке, где нет встроенных побитовых операций, так часто используются шестнадцатеричные константы?).

Судя по всему (и по ссылке из соседнего комментария), Lua активно используется в интернете вещей, что в принципе логично, ведь его интерпретатор очень маленький и написан на C, а значит его можно портировать практически куда угодно. Практически везде константа 0x00 является частью каких-то двоичных данных, вероятнее всего, прошивки.

В плане развития можно еще сделать разбитие по области применения слов.
Т.е. имена классов, функций, переменных.
Я иногда, чтобы определиться с именем класса/функции делаю поиск по гитхабу, какое название чаще используется, то у себя и использую
Только начал читать и мелькнула мысль о том кто мог бы быть автор. И не ошибся. Шедеврально! Очень познавательно, спасибо за труды!
Очень круто, но было бы правильно найти способ скипать комментарии (понимаю, что практически невозможно) — из-за них слишком сильно меняется расклад. К примеру, самое популярное слово в C# — summary (а это документация через ///), а так же «to», «the» — что однозначно из комментариев и в таком духе. Но проект даже в таком виде — вау.

Эххх. Ещё один сайт который не работает без js.

Не для холивара, конечно, но первая же ссылка в статье ведет на список слов в JavaScript. Как-то автоматически промотал в конец — самое не популярное слово validate :) Не любят веб-девелоперы валидировать на стороне клиента ничего, походу :)

Большое количество JS кода является серверным (node).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации