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

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

Пишу ряд статей для хабрахабра. Почти в каждой статье будет реализация примера или алгоритма. Вот сижу и мучаюсь на каком языке писать эти самые примеры. В конце концов решился провести мини-опрос…
В псевдокоде.
НЛО прилетело и опубликовало эту надпись здесь
Это непростая задача автора: выбрать язык для конкретного случая. Согласитесь, было бы странно увидеть в статье про C# код на бейсике.
В самом общем случае — схема + псевдокод, а конкретно — только от самой статьи и зависит. Как ещё можно ответить на этот вопрос, не видя статьи? Только подумав — а о чем будет статья, если автору все равно на каком из приведённых (это ключевое слово) языков писать примеры.

Кстати, еще одного подходящего варианта нету: С без плюсов. Классика.
С без плюсов. Классика.


Можно тогда и паскаль вспомнить. Согласитесь смешно же будет писать статью на языке, который кроме как в школе используют только особо «отмороженные» люди. Если статья под мейнстрим, то и писать ее придется на языке понятному мейнстриму…
Не обязательно. Чтобы понять алгоритм, код (или схему) должно быть легко читать. Поэтому я считаю, что для описания алгоритмов нужно выбирать простой и понятный язык. Например, алгоритмический. ;)

P.S. А вообще я бы предпочел FORTRAN. :)
Вы — эксперт в brainfuck?
А вы — эксперт в арифметике?
Каждый язык хорош для своих целей, имхо. А в некоторых случаях и вовсе можно обойтись описанием алгоритма.
Я за C++, C# или Python. Вообще на Python алгоритмы часто смотрятся компактно, но для скорости их после этого приходится переписывать на какой-нибудь более компилируемый язык.
гы более компилируемый язык. улыбнуло
НЛО прилетело и опубликовало эту надпись здесь
кто вам такое сказал?
Лучше использовать мейнстримные языки программирования — С++/С#/Java — их, по идее, должно знать большенство.
НЛО прилетело и опубликовало эту надпись здесь
а как оказалось php, что в принципе и без опроса было очевидно
пхп, вы блин серьезно?
Да :)
А что тут такого? Язык как язык.
Как бы странно ни было, PHP набирает наибольший процент…
Если ориентироваться на большинство аудитории, то на ПХП. А так уже зависит от конкретного случая, где-то лучше СИ, а может и псевдокод. Если пример труден в понимании, тогда в бой должны пойти всякие схемки и диаграммы.

А вообще, вопрос слишком общий, примеры всякими бывают. Что-то мне кажется что я написал очевидные вещи, хотя судя по опросу они очевидны не всем :)
Если не идет речь об особенностях конкретного языка, то «Лучше нарисовать (блок-схемы, UML)».
смотря что нужно показать.
Код — языки с си-подобным синтаксисом(C++ — идельно).
Иногда лучше рисовать(UML / блок схема).
Ох, C++ хоть и классика, но далеко не идеально. Тото же самый код на Java и C# читаются гораздо легче, нежели на C++, а если мы еще и указатели начнем использовать…

По-моему, это целиком зависит от статьи…

А вообще, мне кажется, что большинство php-шников просто зашли и проголосовали за свой любимый язык, и статьи ваши и половина этих людей не прочитает.

P.S. Ставлю на то, что у меня будет 6—9 минусов за этот комментарий. Кто больше?
Судя по результатам опроса на хабре с каждым днем все больше быдлокодеров…
Опрос свёлся к «Программистов на каком языке больше всего на хабре»
больше всего на хабре непрограммистов :D
Да хоть на бейсике, главное — чтобы идея понятна была.
Я за псевдокод и javascript.
Думаю Java, он давно уже стал стандартом дефакто для всякого рода литератору по разработке и архитектуре, которые вышли позже нежели «Design Patterns». Нет, конечно и там встречаются другие языки, но количество примеров на них не соизмеримо…

Да и врядли можно найти человека, который не понимал бы что написано на яве. Хотя иногда еще полезно что-нибудь на uml-е изобразить.
Я ничерта не понимаю в яве, мне плюсы роднее :)
Кстати, а почему в списке языков нет Perl'а? Он слишком сложен, или страшноват? Может быть вы просто о нем забыли?
а потом приехал поручик Ржевский и начались извращения… (с) ;)
Программы на языке Perl очень сложно переписывать на другие языки. Плюс Perl подсознательно вызывает раздражение у людей которые привыкли к строгим языкам…
«Они» пытаются осознанно завалить самый лучший язык :)
Лучше на Javascript, ведь можно дать ссылку на страницу, где код отработает, и тут же выдаст результат.
Ну не каждый же пример можно показать на Javascript'e
Если спрашивают на каком языке пример писать, то это значит что не используются принципиальные моменты определенных языков, иначе код был бы на них. А так как этого языка нет в голосовании, то я высказал свою мысль в комментариях. Мне самому, как веб-мастеру, удобнее некоторые вычисления написать на Javascript, ведь интерпретатор этого языка есть на любом компьютере, и зачастую в нескольких реализациях (браузерах). В винде же ещё удобнее — можно создать файл .js и запустить его как исполняемый.
Си или сиподобные языки, ибо сёвый синтаксис знают, наверное, все.
Perl незаслуженно не добавили в список.
Ruby или Python, код на них выглядит компактнее, и интуитивно понятен. javascript тоже для этого не плох. На Си++/С#/C/Java много места будет потрачено на всякую инициализацию и детали реализации, что при описании алгоритма лишь мешает понять его суть.
Как адепт Питона должен сказать, что он во многом задумывался именно как легко читаемый язык. Т.е. по идее человеку со стороны должно быть не трудно понять что происходит в программе в общем. И плюс принцип «явное лучше не явного». На том же Перле может получиться более короткий код, но обычно менее понятный для непосвящённых.

По личным впечатлениям. Не пишите на на Ruby и C++. Плюсы по понятности для человека со стороны не сильно хороши, а в Ruby глаза всё время спотыкаются о @, :, !, = и т.п. (Ах да, по-моему по поводу Питона автор ещё писал, что старался избавить его от лишних нечитаемых символов. В Руби этого добра навалом.) Опять таки по личным впечатлениям из языков, которых я не знаю лучше всего читаются Java и C#.

Теперь, наконец по сути. ) Всё зависит от того, что вы там собираетесь писать. И на Питоне можно написать всеобще понятное:
for i in range(1,10):
    print i
и всеобще непонятное:
frame = sys._getframe(1)
if '__module__' in frame.f_locals and not '__module__' in frame.f_code.co_varnames:
        # и т.д.
Если вы собираетесь писать про общечеловеческие алгоритмы, то на каком языке вы будете писать for, while, if и т.п. не сильно важно. Подавляющее большинство поймёт. Если же вы станете пользоваться нестандартными библиотеками конкретного языка, то вас могут понять даже не все, кто его знает. Так что для статей типа «Подпольная библиотека языка X» нужно использовать язык X, а для статей типа «Алгоритм пирамидальной сортировки» используйте что вам нравится. if, for, while все понимают одинаково. )
только в принципах python писать вместо цикла что-нибудь одной строкой. Например, так:
map(write,range(1,10))

На python примеры большинства алгоритмов получатся либо нечитаемыми, либо не очень корректными с точки зрения идеологии языка.

p.s. штатной универсальной функции вывода в python нет. Предполагается, что это некий аналог (обёртка) для оператора print:
def write(a): print a
Одной строкой без опозновательных знаков писать скорее в принципах Перла. shift и всё тут. В идеологии Питона главное понятность. Хотя, если захотеть, можно конечно и в Питоне огород нагородить.

Кстати, если вам так уж важна одна строчка, то более питонично написать:
for i in range(1, 10): print i
Этот способ понятнее, эффективнее и тоже в одну строчку. Если же упражняться в извращениях, то надо писать:
import sys
map(lambda a: sys.stdout.write(str(a)), range(1, 10))
я не о количестве строк, а об отказе от явных циклов в пользу отображений, фильтров, сокращений. Про sys.stdout.write в курсе, но пример с ним громоздкий получается (для полноты картины надо ещё перевод строки добавить).
Странно, что адептов PHP минусуют.
Программистский расизм? :)
Скорее стереотипы.
Результаты опроса как бы намекают…
чем больше разных, тем лучше. очевидно же.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории