Программирование

индекс
177,50

Правильный инструмент

Некоторое время назад я натолкнулся на сайт "TheRightTool" — эдакий рейтинг языков программирования на соответствие разным утверждениям, например: «На этом языке легко писать эффективный код». Сразу понятно, что такой рейтинг очень полезен (хотя интерфейс у них — беда — на третьем вопросе мне надоело переставлять языки).

Я попытался на своем блоге дать ссылки на автоперевод, но понятное дело, что он оставляет желать лучшего. Но ведь русские (вполне возможно) больше всех знают о языках программирования! А больше всего программистов на Хабре.

Итак, сегодня в течение часиков пяти мне было заняться нечем, так что, дорогой Хабр, встречай русский аналог (на слабеньком VPS, так что рано или поздно сдохнет под Хабраэффектом — извиняйте, ставьте закладку, заходите завтра):



Надеюсь скоро мы, коллективным 4-хлетним Хабраразумом, узнаем — какие языки для чего можно использовать.

Дизайном и красивым HTML/CSS не озадачивался — от проекта важны доступные всем результаты.

Засекайте Load average (внизу страницы) — при десятке начнет отключаться :-)
Удивительно, что сайт так и не сдох и load avg даже к 1.0 не приблизился, вот что nginx животворящий делает.


Йои Хаджи,
вид с Хабра
+65
27 мая 2010, 21:49
25

комментарии (106)

0
pasha_golub #
Прикольно, только автор, добавь информацию о кодировке страницы, а то мне лично влом ручкаме выставлять кажен раз.

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
0
pasha_golub #
Кстати, SQL там нету. :) Не совсем язык, конечно, но Матлаб разве лучше?
0
UUSER #
Там много чего нету… ладно там какой-нибудь vala или whitespace какой-нибудь, но как могли забыть Actionscript вообще не понятно…
+1
yoihj #
Все сейчас будет.
+2
yoihj #
Добавлены SQL, Actionscript.
+1
DevMan #
С кнопкой «нет» так и задумано или это косяки браузера?
+2
yoihj #
Не, это косяки меня, как верстальщика :) Ща поправим
0
LightAlloy #
Ещё названия некоторых языков съезжают (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3)
+1
widowmaker #
Нужно срочно добавить в список Brainfuck
0
yoihj #
Добавлен.
0
Dair_Targ #
Идея хорошая.
Только вот часто оказывается, что средства очень ограничены. Я вот подсел на bash+python после того, как месяц работал на машине, где были только gcc, bash & python2.5. А надо было заниматься рассчётами.
0
Mirowind #
Знаете, без зазрения совести почти на все вопросы ответил «Python». Ну нравиться мне этот язык, и использую его для и для веб-разработки, и для «повседневного скриптинга», и для разработки десктопных приложений. Кругом, где можно :)
+1
Dair_Targ #
Значит я знаю таки 2 специфичных случая, когда не стоит. а) Когда важна скорость. б) когда нужно делать много-много операций в bash-е.
НЛО прилетело и опубликовало эту надпись здесь
0
DAiMor #
так не пойдет, M или COS там не нашел
0
yoihj #
Языки я брал из списка оригинального TheRightTool. Сейчас добавлю.
+1
Setti #
Хочу кнопку «назад»
–1
shoguevara #
Странное дело, на первом вопросе(хороший язык для realtime) асм стоит на 4м месте…
+4
Mezomish #
«Realtime» это не «как можно быстрее» (как многие думают), а нечто другое.
–1
shoguevara #
Ну, я знаю что такое realtime. Это только в последнее время в embedded системах начали применять никсы, раньше то под них на асме кодили. Да и сейчас таое часто встречается. На С/С++ кодогенерация хотя и гораздо более оптимальна, чем у той же Джавы или Питона, но тут ведь избыточности гораздо меньше. Да и «как можно быстрее» тут имеет право на жизнь, когда это касается высокоточного оборудования.
0
kmike #
Отличная штука.

А можно ссылку на следующий вопрос продублировать сверху? А то языков справа много в результатах и из-за этого каждый раз приходится листать вниз страницу.
0
yoihj #
Логично, сделано.
+2
mahoro #
Очень забавно :)

Ярко выражен хабракульт C++ :)
0
megahertz #
Раз аудитория русскоязычная, то 1С не хватает
0
yoihj #
Сомнительно, чтобы он очень популярен был, но добавлю.
0
yoihj #
Тьфу, «популярен среди ответов на данные ВОПРОСЫ (real-time приложения, gui и т.п.)».
0
zarincheg #
Будет круто, если добавите отображение статистики в виде графиков, чтобы можно было сравнить языки по интересующему вопросу например.
+1
yoihj #
Как-то я график этот себе трудно представляю. Может накидаете эскиз о чем Вы говорите?
+1
zarincheg #
Вот у вас по выбранному вопросу показывается список языков в порядке убывания их рейтинга. Вот можно выводить это в виде графика. Так же можно выбирать, например, 4 интересующих языка и два вопроса и получить сравнительный график. Вроде вот такого:

Темные столбцы первый вопрос, светлые второй(например: какой язык лучше для веб и какой более выразителен)
Это самый простой вариант, можно экспериментировать )
–1
yoihj #
Я думаю так сравнить все равно будет о-о-очень трудно, честно говоря толком даже представить до сих пор этот график не могу — в каком порядке его упорядочить и что по каким осям будет?
0
EugeneDest #
А сделайте такую штуку для разных CMS, пожалуйста. Хочется посомтреть какая больше «популярна» на Хабре.
0
yoihj #
К сожалению, у меня нет ни вопросов, которые можно было бы задать про CMSки (у меня своя, самопальная), ни даже списка популярных CMS — если сможете собрать — киньте на личку в Хабре — сделаю.
+1
Setti #
+1
yoihj #
Отличная идея, осталось еще с вопросами определиться.
+3
Setti #
Очень многие подойдут из текущего проекта. Остальное…
— XHTML
— SEO friendly
— подходит для секретарш
— подходит для проектов под ключ
— можно разворачивать на типичном шаред-хостинге
— использует базу данных
— требует модификаций в коде
— отвечает парадигме web 2.0
— я бы сделал на этой CMS магазин
— подходит для сайтов-визиток
— предназначена для разворачивания сообществ
— блоги
— для этой системы готово много шаблонов
— плагины
— нагружает сервер
— безопасность
— хороша для внутреннего использовании в организации
— система легко и быстро устанавливается
— требуются редкие модули на сервере
— ее используют известные организации
— пользуется авторитетом у профессионалов
— от этой системы дохнут жирафы

ну и т.д.
+1
yoihj #
Окей, сделаем :)

Но вот:
от этой системы дохнут жирафы??
отвечает парадигме web 2.0???
плагины, блоги (не понятно — в чем вопрос)
+1
yoihj #
Собственно,
cmstool.yoihj.ru/
честно говоря, для меня полезность такого ресурса кажется сомнительной, так что если хотите — можете сами опубликовать ссылку на нее на Хабре в виде статьи или топика-ссылки.

Кроме того, принимаются дополнительные вопросы, которые можно было бы задать про CMSки.
0
yoihj #
Хотя, ладно, сейчас опубликую, может и правда нужная кому вещь.
+2
SowingSadness #
Что за голосование про строгую типизацию языка?
Он либо строго типизирован, либо нет.

Давайте голосование откроем: «Белый цвет белый? Да/Нет»
0
yoihj #
Ну этот вопрос, конечно, имеет один ответ — задача просто его получить. А может заодно потом и троллей пофильтровать, кто ответил неправильно ;)

И это еще не странный вопрос из TheRightTool — я некоторые вопросы выкинул, например "Этот язык хорошо подходит к области решаемых им задач".
–1
Setti #
для питона строгая типизация — ни «да», ни «нет» :)
0
codemonkey #
Строгая
+1
Setti #
Динамическая. А если быть чуть более точным — утиная.
+3
codemonkey #
Это вы молодец, что умеет читать википедию. Осталось научиться различать строгую типизацию от динамической.
–1
LexL #
тормозная, то бишь, runtime
+3
Shark #
Собственно она строгая и динамическая. Это как цвет и размер. Два разных свойства.
+2
Markel #
Сразу видно в насколько типизированном языке вы программируете.

А разве белый цвет белый? Например #f0ecec, это какой цвет? Вы скажете белый, я скажу серый. Кто-то третий скажет что это ни то ни другое.

Любой цвет вы можете получить смешав красный, зеленый и синий. Так может быть белый цвет это и синий, красный и зеленый вместе? А для собаки или быка насколько белым является красная тряпка?

Язык Руби, к примеру, родился только потому что его автор, Юкихиро Мацумото считал что не существует настоящего объектно-ориентированого языка. Поэтому решил сделать свой — настоящий. Тем не менее если мы посмотрим на список ооп-языков в википедии, разве мы найдем там один лишь Руби?
0
SowingSadness #
> А разве белый цвет белый? Например #f0ecec, это какой цвет? Вы скажете белый, я скажу серый. Кто-то третий скажет что это ни то ни другое.

То что существуют дальтоники, не говорит о том, что зеленый является коричневым.
www.farb-tabelle.de/ru/table-of-color.htm#white
–4
BekoBou #
Ох там чувствую сейчас наотвечают… «Язык высокого уровня — 1. С++, 2. С#» Программисты уже не те.
+3
vansickle #
>Ох там чувствую сейчас наотвечают… «Язык высокого уровня — 1. С++, 2. С#» Программисты уже не те.

И чем же С++ или C# не высокоуровневые?
–12
BekoBou #
Про C# ничего не имею против, но С++ когда стал высоким?
+3
Kalobok #
+1
codemonkey #
Открываем Страуструпа и читаем, что это «middle-level» language.
–2
Kalobok #
Тогда уж давайте и определение — что такое средний уровень.

ИМХО, это вопрос религии. Хочется чем-то выделить один язык среди других — придумаем какой-нибудь термин, применимый только к нему.

Давайте навыдумываем еще кучу уровней — сверхнизкий, низкий, ниже среднего, средний, выше среднего и т.д. Под каждый найдется свой язык. Только зачем это нужно?
0
codemonkey #
Вы спорите не со мной, а с создателем С++. Удачи.
0
murzilka #
С Колумбом по поводу Индии тоже не стоило спорить?
0
codemonkey #
Вы путаете мягкое с теплым
0
murzilka #
Отнюдь нет.

Во-первых, я далект от мысли, что Страуструп является неоспоримым авторитетом в вопросе классификации языков программирования.

Во-вторых, даже С является ЯП высокого уровня, тогда что уж говорить о языке, в котором основное средство описания предметной области — классы.

В-третьих, я подозреваю, что " It is regarded as a «middle-level» language, as it comprises a combination of both high-level and low-level language features" — фраза с википедии, а не Страуструпа. Сможете привести первоисточник?
+4
Mezomish #
Да-а-а, «программисты уже не те»…
–1
Chikey #
Йопт, матчасть — Asm = низкоуровневый, C++- высокоуровневый
0
235 #
ехх. сложно довольно тест организован, это сколько ж времени на все вопросы нужно. И не берусь оценивать языки, которых не знаю и с которыми не работал — это глупо
0
yoihj #
Да никто ж на все и не предлагает отвечать — на все отвечает Коллективный Разум, отвечайте на сколько желания есть. Вон уже 32000 ответов дал.
0
235 #
так ведь главное не количество, а качество) мне мнения 3х экспертов было бы достаточно
+4
bsboris #
Да, задалбывает жать на да/нет. Мне кажется, логичнее было бы первым вопросом спросить «Какие языки вы знаете?» и дальнейший опрос вести только по этим языкам. Потому что, если я про Mozart-Oz первый раз в жизни на этом сайте узнал, что я могу про него ответить?=)
0
giko #
Можно просто не отмечать этот язык и пропустить его и ответить только на то, что знаешь.
+3
yoihj #
Учтено — добавил возможность скрывать языки.
+3
bsboris #
Вот это скорость реакции, спасибо=)
0
ZaVteR #
Можно после названия языка нажать на крестик: «Скрыть — этот язык я не знаю», и тогда он не будет фигурировать в вопросах.
0
ZaVteR #
Прошу прощения.
Опоздал с ответом :)
0
Setti #
Кстати, а на чем это вы написали аналог? Вроде оперативно и хорошо получилось.
+3
yoihj #
Свой собственный фреймворк под PHP — называю его NAWF («Not Another Web Framework!»), думаю не очень оригинально :) А так, да, он позволяет очень быстро все разрабатывать мне, но не знаю насколько его можно выпускать в плавание open source (документацию надо делать и реструктурировать сильно).
0
Zubchick #
Мне понравилось куда больше чем с перетаскиваниями.
0
AmirL #
Напомнили про Erlang. Жуткая вещь :)
+2
fatal #
XSLT? Не язык?
0
LexL #
Пример Hello World в студию :)
+1
fatal #
+1
fatal #
Хотелось бы иметь возможность выбрать конкретный вопрос и на него отвечать.
0
karlicos #
Ответил на три вопроса… и хабраэффект(
0
yoihj #
Это не хабраэффект — это я nginx перезагружал, чтобы запустить еще и по CMSкам аналогичный проект. Хабраэффекта не было и уже стихает все — загрузка проца VPSа не превысила 40%, выходной траффик — около 3мбит в секнду, так что запас по всему был.
0
Lionheart #
если справа вопрос и на него нужно ответить в левой части, то почему вопрос находится в «слепой» зоне?
0
yoihj #
Справа же написано «Результаты к предыдущему вопросу» (на который уже ответили), вопрос на который надо отвечать — слева, там же где и варианты ответов. Или я что-то не так понял?
0
Lionheart #
вы имеете ввиду над предлагаемым списком языков?

тогда считаю опрос не адекватен, потому, что считаю как и многие здесь я ответил «какие языки я знаю», а не отвечал на вопрос!
0
yoihj #
Ну не соглашусь я насчет того, что «многие» отвечают на вопрос «какие языки я знаю», вот посмотрите tool.yoihj.ru/stmt/72
0
yoihj #
Но критика принята, спасибо, — заголовок сделан более заметным.
0
Lionheart #
ну согласитесь:
# Delphi (+39)
# Visual Basic (+39)
# Pascal (+35)
# 1С (+27)

это ведь лишь означает, что на сайте были лишь те, кто не отметил среди прочих данные языки(читать как «я их не знаю»).
0
yoihj #
Нет, +39 это значит кнопку «ДА» нажали 39 раз на этом вопросе. -39 значило бы: «39 человек нажали НЕТ».
«не нажали/не отметили» — нигде не учитывается.
0
zahardzhan #
На заграничном-то сайте за лиспы и функциональщину гораздо больше людей представлено. Что это? Никак технологическое отставание России?
0
kmike #
на русском уже ответивших больше) аудитория просто более массовая, отсюда и результаты
0
yoihj #
Я думаю на англ. было бы ответивших тоже больше, если бы не такая неудобнейшая система голосования drag-n-drop'ом.
0
Arrest #
Я считаю, ранжировать языки нужно не по общему количеству проголосовавших за этот язык в данном вопросе, потому что в вопросе «Этот язык стимулирует писать легко обслуживаемый код» Brainfuck болтается на 22 месте из 52, хотя вы же знаете, насколько обслуживаем код на нем :]
0
yoihj #
Может ситуация несколько изменилась, но у меня он на 49 из 52. Тут все равно вопрос «известности» языка играет роль, Mozart-Oz будет всегда в середине списка болтаться, потому что большинство (включая, кстати и меня) не знают даже что это.
0
proxor #
Позабавило, что довольно много (8 человек) считает, что Erlang скоро забудут )))
0
Sakyra #
Идея хороша, только вот странно, почему UMI так низко. Хотя, спишу это на своей не очень большой опыт использования ЦМСок.
0
yoihj #
Во-первых — не в ту тему, во-вторых — потому что по алфавиту.
0
Sakyra #
Гениально. А я то не понял, дурья моя башка.

Воообщееето я имел ввиду уже результаты.
0
murzilka #
Идея хорошая, реализация тоже. Но вот результаты…

«Этот язык подходит для agile методов и быстрых итераций»
На данный момент C++ 5е место (+16), C 7е место (+10)
Люди, ну вы издеваетесь?? Я тоже люблю плюсы и с, но, блин, совесть-то надо иметь! Где плюсы и где быстрые итерации?
0
graninas #
Интересная статистика получилась бы. :)

«В этом языке я редко нахожу неизвестные мне особенности»
Assembler (+2)

Если искать неизвестные особенности Ассемблера, их там ого-го вылезет. Хотя бы вспомнить о количестве наборов инструкций… Наверно, два человека, что «редко находят», ответили что «редко находят потому, что редко пользуются».
0
graninas #
И еще:

«Если код на этом языке скомпилировался — скорее всего — код правильный»
C# (+57)
Java (+39)
C++ (+20)
Delphi (+15)
SQL (+14)
Pascal (+12)
Haskell (+12)

Боюсь, что это нельзя сказать ни про один язык. От тюрьмы и от сумы, как говорится… Зато видно, как любят язык C#. Нет, ребята, компиляция, хоть на чем вы там пишите, — не единственный критерий правильности программы.
0
CGS #
Кстати, почему многие насильно фон не ставят. У меня он не белый, и часто вижу вот такую картину. Не ужели так трудно.
0
Chikey #
А зачем ставить? У вас не белый — значит вы так решили и вам так удобней, разве я смею ставить для вас фон белым, если вам, например, удобней читать на сероватом? Проблема не однозначна.
+1
Sabiko #
В данном случае действительно не обязательно, но если в оформлении сайта используются графичиские элементы с непрозрачным белым фоном, то порой результат смотрится довольно уродливо.

У меня стоит очень бледный не-белый, просто чтобы самой не забывать белить в таких случаях :)
0
bagyr #
Долго искал явную кнопку «понятия не имею».

Не хватает PowerShell.
0
bagyr #
Да, и вопросы нужно было составить так, чтобы «Да» выражало положительную оценку, а то 1С вышел на сферическое первое место.
+1
zlo #
для получения более-менее объективной картины интересно было бы добавить несколько коэффициентов, например авторитетность отвечающего…
0
stansult #
спасибо, отлично сделали!

хотелось бы небольшую фичу:
для тех вопросов, которые являются переводом вопросов с TheRightTool, а также для языков, которые есть на TheRightTool,
добавить линк на его (вопроса/языка) аналог на TheRightTool
0
stansult #
… в том числе чтобы можно было сравнить мнения русских/англоязычных пользователей,
но главное — посмотреть результаты более многочисленного сообщества

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.