Pull to refresh

Comments 46

хорошее дело. я по долгу службы столкнулся с необходимостью создания некоторой классификации языков программирования, так в итоге чуть моск не сломал. короче, забил, ибо без моска я, считай, инвалид. кстати, ты уверен что древовидная структура подойдет для твоих целей?
Не совсем уверен по поводу древовидной структуры.
Особенно для языков, у которых один стандартный диалект и одна реализация.
Также не всегда понятно, когда считать языки разными языками, а когда диалектами. Прийдется разбираться в каждом конкретном случае.
Но древовидная структура - лучшее, что я смог придумать. К тому же в английской википедии в спецификации языка указываются диалекты и реализации, так что есть от чего отталкиваться.
может быть вам стоит глянуть в сторону фасетной системы классификации?
Идея отличная, но по-моему для энциклопедии всё-таки больше wiki подходит.
Этим надо заниматься большим умам из НИИ и ВУЗов, ибо чем дальше в лес, тем больше мозг будет закипать по поводу критериев и принципов классификации и сравнения. В принципе, это серьезная научная работа, которая может потянуть на кандидатскую как минимум.
В принципе, есть на что опираться. Та же википедия содержит очень много частично классифицированного материала.
Для меня абсолютная начная строгость классификации - не главное. Главное - показать (и себе, и другим), как огромен мир программирования. В свое время я был поражен, узнав сколько существет языков программирования!
А во многих вузах сейчас программиста зацикливают на Pascal и C++ (и то хорошо). Многие не слышали о функциональных языках, о логических языках. Забавные языки типа brainfuck тоже расширяют кругозор ;-)
Мне достаточно было освоить Пролог, чтобы больше в эти дебри не лезть и наслаждаться C# (в своем круге задач конечно).
В общем, могу только пожелать удачи )
Я так и не понял, чем это будет практически отличатся от Википедии. Сейчас очень много убыточных и не нужных клонов Википедии, зачем еще один? Пусть даже узкопрофильный?
Информация будет максимально структурированной. Например, по ссылке "статическая типизация" на странице языка Паскаль открывается http://progopedia.ru/typing/static/ , где дается список всех языков в базе, использующих эту типизацию.

К тому же древовидная структура. Например, можно посмотреть все версии языка Паскаль и примеры решения задач для всех этих версий.

Это не клон Википедии, движок сделан специально под этот проект. К тому же, модель редактирования не как в Википедии (редактировать может каждый), а скорее как в каталоге dmoz.org - редактируют материал редакторы.
Ну тогда удачи вам :-) А то рабо-о-ты у вас :-) выше крыши типерь. Кстати неплохо бы туда много много примеров на всех языка. То есть одну и ту же задачу, что б на разных языках решать.
Спасибо :-)
А чтоб одну и ту же задачу на разных языках - так в этом и основная задумка.
На Wikipedia тоже можно кликнуть «статическая типизация».
И что? Выдаст список языков, использующих статическую типизацию?
а что мешает отредактировать добавив новую статью?
И каждый раз при появлении новой статьи о языке эту статью тоже придется править, верно?
интересно. А ещё интереснее, если бы можно было следить за развитием проекта.
да, именно rss :)
заинтересовавшие меня сайты как правило заносятся в акрегатор мышетыком по соответствующему значку в браузере. Новейшие тенденции в веб-разработке таковы, что отсутствие значка rss на привычном месте уже просто-напросто удивляет.
Интересно а где это привычное место?
зависит от предпочитаемого браузера. Например в konqueror значок rss в правом нижнем углу. И если вижу на сайте интересные материалы, то мыша автоматом тянется в этот угол.
А, я думал имелось ввиду какое то месторасположение на самой странице.
На самом деле на сайте может быть RSS но эта иконка не появится. Она появляется если указан специальный тег.
ну это ясное дело :)
Да только грамотные вебмастеры об этом как правило знают.
спасибо.
будем следить.
хорошая идея, буду наблюдать за развитием.
UFO just landed and posted this here
Конечно, компиляторы приводятся. В моей классификации называются реализациями, различные версии одного и того же компилятора - соответственно версии.
Web2.0 фишки будут.
Пользовательское наполнение - через редакторский интерфейс редакторами-добровольцами (уже есть люди, которые хотят помочь, надеюсь, что будет больше) плюс комментарии.
Список примеров: предложите, примеры решения каких задач (несложных) приводить.
Насчет сколько времени потратить. Мне это интересно, я буду этим заниматься. Проект на sourceforge с аналогичной идеей (правда, на менее низком уровне) я создал еще в 2003 году.
Молодец :-) Помогу чем смогу, когда смогу и как смогу.
Не увидел стандарты языков ANSI. А это по-моему самое важное.
Просто далеко не все стандарты выложены в сети для свободного скачивания.
Или просто указывать название и номер стандарта?
Ну видимо номер, название, может ссылку.
Типа: вот язык С, есть ANSI C. Borland C++ соттветствует этому стандарту, но с не которыми особенностями, и далее эти особеннности.
Т.е. писать, в чем отличается конкретная реализация от стандарта?
Да, наверное это нужно.
Будет.
Раз контент под GFDL, то, может, лучше в самой Википедии развить статьи о языках программирования? Кстати, в Википедии с недавних пор можно подсвечивать код на следующих языках:

actionscript, ada, apache, applescript, asm, asp, autoit, bash, blitzbasic, bnf, c, c_mac, caddcl, cadlisp, cfdg, cfm, cpp, cpp-qt, csharp, css, d, delphi, diff, div, dos, eiffel, fortran, freebasic, gml, groovy, html4strict, idl, ini, inno, io, java, java5, javascript, latex, lisp, lua, matlab, mirc, mpasm, mysql, nsis, objc, ocaml, ocaml-brief, oobas, oracle8, pascal, perl, php, php-brief, plsql, python, qbasic, rails, reg, robots, ruby, sas, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, vb, vbnet, vhdl, visualfoxpro, winbatch, xml, xpp, z80

с помощью нехитрой конструкции:

<source lang="c">
...
</source>
Параллельно будут добавляться и описания в википедию, особенно языков, статьи о которых есть в английской версии, но нет в русской.

А так я уже писал, в чем отличие от википедии:
http://www.habrahabr.ru/blog/i_am_clever…
Умилила фраза "вместе с диалектами, реализациями и версиями", сразу вспомнилась книга Страуструпа "Дизайн и эволюция С++":
У С было множество диалектов, и, хотя на горизонте вырисовывался ANSI C, до появления стабильного определения должны были пройти годы, причём диалекты всё равно до конца не устранялись. Помню, я тогда подсчитал — в шутку, но ведь в каждой шутке есть доля правды, — что может существовать примерно 342 диалектов ANSI C. При подсчёте учитывалось число неопределенных и зависящих от реализации аспектов, а 3 было выбрано в качестве основания как среднее число вариантов каждого такого аспекта.
Понятно, что "вместе с диалектами, реализациями и версиями" - это сверхзадача.
Я знаю, что это ОЧЕНЬ много.
UFO just landed and posted this here
Об этом знаю. И еще про песню "40 бутылок пива на столе" на куче языков.
Идея похожая, только более структурировано, с описанием языков, с классификацией, с указанием на различия между версиями и т.п.
"Язык-шутка HQ9+ состоит из всего четырех инструкций: H выводит «Hello, world!», Q печатает текст самой программы, 9 – 99-бутылочный тест, а + – увеличивает значение внутренней переменной (без всякого умысла – прочитать это значение все равно нельзя)."

Вот можно и взять эти три задачи за основу :-). Я в свое время пытался писать интроспекцию для разных языков, могу поделиться.
Поделитесь, интересно :-)
admin at progopedia.ru
http://aroks.kiev.ua/pub/files/intro.txt (кодировка UTF-8)

Сорри за сырой ответ — это архив ньюсгруппы relcom.rec.puzzles, где мы играли в решение этой задачи. К сожалению, потерял архив с исходниками — там еще было решение на ассемблере x86. Может, еще найду...
Sign up to leave a comment.

Articles