RTFM на Яндексе

У любого программиста по пятьдесят раз на дню возникает задача «сходить в документацию и посмотреть параметры функции». Хорошо, если данную задачу успешно решает IDE, но это не всегда так, и поэтому существует большой поток «программистских» запросов к поиску. Мы решили сэкономить программистам время на поиск в документации, и показывать интересующий их ответ прямо в поисковой выдаче ― в специальном колдунщике. Это официальная версия, которую мы сказали руководству. На самом деле, мы – сами программисты, и сделали колдунщик, чтобы нам было проще работать. Не цитируйте этот пост в блогах, а то нас «попалят» :)



Все описания, которые можно увидеть в колдунщике для программистов, взяты из официальных руководств по программированию и справочных материалов. Сейчас колдунщик знает больше десятка популярных языков программирования, языков разметки, API и окружений (Perl, PHP, PostgreSQL, Python, C/C++/STL, Win32, Java, HTML/CSS/JavaScript, MySQL), разумеется, отличая одинаково называемые операторы из разных языков, если язык в запросе задан явно (например, перловский print от print из PHP).

В некоторых случаях вы можете воспользоваться «поиском для программистов» даже не задавая запрос. Например, если вам нужно уточнить, какие дочерние свойства бывают у font в CSS, просто наберите css font в строке поиска ― в саджесте будут перечислены все возможные варианты, согласно CSS Reference с W3Schools.



В данный момент колдунщик для программистов является бетой (первый раз можно не объяснять,  что это такое), Мы будем его активно дорабатывать, добавляя новые языки программирования и улучшая функциональность.

Если вы не нашли в нашем списке любимый язык программирования ― требуйте его прямо здесь, в комментариях.

Алексей Мирзоян, Евгений Крохалев, Сергей Рубаков, Анатолий Орлов и другие разработчики Яндекса

121 комментарий
Почему Ruby и Ruby on Rails обделили
Дада. Руби и рельсы!
Александр Нордин
26 ноября 2015, 17:24
и еще ABAP
Согласен, без Ruby этот RTFM не имеет смысла.
для Ruby и RoR  есть  rdoc.info  и не нужен яндекс.
Владимир Захаров
26 ноября 2015, 17:24
плюсуюсь
Как насчет Haskell? :) Должно быть нетрудно сделать - http://www.haskell.org/ghc/docs/latest/html/libraries/ плюс http://hackage.haskell.org/packages/archive/pkg-list.html , в каждом пакете ссылки на документацию индивидуальных модулей.
было время когда меня бесило, что запрос "actionscript net netConnection" выдавал в первой строчке документацию на японском языке. Сейчас ваш колдунщик ничего не делает на запросы по яве(кроме стандартной документации - "java hibernate SessionFactory getSession"; "java  servlet service()" - ничего не работает!). Так что лучше бы поиск обычный дорабатывали.
Я-то тут причем? :)
Анатолий Орлов
26 ноября 2015, 17:24
спасибо, посмотрим.

Над основным поиском мы тоже работаем, 2 года назад у нас вообще зарубеже не было - а за этот год должно существенно улучшится все.
Да ладно.
Светлана Шорина
26 ноября 2015, 17:24
Да,  совсем скоро Haskell тоже будет.
Замечательно!
Оригато!
Language request: Go.
Bug report: "c strlen" работает, "c readlink" — нет.
Для Go и godoc хватает :)
Хотя - побольше инструментов, хороших и разных
А чего это PHP два раза перечислили? :)
Это специально для особо талантливых ;)
а будут только стандартные-стандартные api? или известные сторонние тоже будут?
Хочется:
1) C, zend api
2) C, glib/gobject/gtk+ api
3) Разнообразные api Mac OS X (Cocoa, CoreFoundation, Carbon, QuickTime, …)

в идеале, всё это с версионностью :)
Leonid Khachaturov
26 ноября 2015, 17:24
W3Schools - это плохо. Популярный, но устаревший ресурс с неточной информацией. Вот даже есть подробное описание его проблем - http://w3fools.com/

Намного правильнее было бы использовать информацию из Mozilla Developer Network
MDN очень унылый и неудобный, например.
Leonid Khachaturov
26 ноября 2015, 17:24
Я не понимаю, что значит унылый, но есть и другие ресурсы - http://w3fools.com/#what-should-be-done
Какой хороший сайт! Очевидно, им тоже не нравится w3cschool в поисковой выдаче по всем словам из стандартов w3c.
Алексей Беляев
26 ноября 2015, 17:24
Excel неплохо бы, и с переводом функций.
Да, я тоже не нашёл платформы .NET и C# в частности  :)
они в процессе. если повезет, будут весной :)
Это хорошо, понимаю, распарсить MSDN - задача небыстрая... Надеюсь, вы учтёте тот факт, что несовместимых версий .NET как минимум 3 (1.1, 3.5 и 4.0 - у них разные CLR), соответственно если человек работает с 1.1 бессмысленно ему показывать более современные (с тем же названием) функции из 3.5 и 4.0....
над версионированием мы работаем. нет уверенности, что будет к весне, но постараемся :)
эта да... на oracle.com поиск ужас-ужас.
bash и sh не хватает, не совсем программирование , но все же.
и маны всех мастей у нас в процессе. надеемся, что они без существенных проблем выедут все этой же весной :)
Александр Витальевич Орлов
26 ноября 2015, 17:24
Очень желательно  Haskell, Lisp, Erlang
Светлана Шорина
26 ноября 2015, 17:24
Ага, записали в список.
А Haskell уже очень скоро будет.
К Erlang строжайше +1 - ибо у него очень фигово организованный хелп сам по себе.
.NET, C# в частности.
Ну Вы прям посимвольно меня копируете: http://clubs.ya.ru/company/replies.xml?parent_id=33648&item_no=31864&with_parent=1#reply-company-33648

:) :) :)
Сергей Воронов
26 ноября 2015, 17:24
C# давайте!
Сделайте ActionScript 1/2/3 и гугл мне будет не нужен!
P.S. когда флеш-программисты его ищут, то пишут коротко: as1 / as2 / as3
Требую Ruby b Ruby on Rails!
Еще требую bash-команды!

еще было бы не плохо получать примеры кода
например на запрос mysql add user example - выводить готовые примеры кода добавления новых пользователей в mysql
Анатолий Орлов
26 ноября 2015, 17:24
Да это тоже есть в планах. Не только с ключевыми словами example, но чтобы на самом ответе были ссылочки на examples и легкий выбор версий языков, с запоминанием на чем конкретный человек пишет.
Basic и Pascal надо добавить, еще Fortran. Это ж классика :)

Один PHP можно убрать (сейчас их два в списке) :)

если серьезно: пробелы в запросах, может, приравнять к "_"?

А то, в подсказках выпадает, скажем "php file get contents", а колдунщик срабатывает только на запрос "php file_get_contents".
бейсик, паскаль, фортран, еще делфи - у нас пока только в планах... но рано или поздно появятся :)
подчеркивание - да, знаем об этом, и хотим реализовать уже в весенней версии :)
Удалённый пользователь
26 ноября 2015, 17:24
Если б еще радиокнопки сделали по языкам программирования и технологиям под полем ввода вам бы цены не было
Анатолий Орлов
26 ноября 2015, 17:24
Для всех - люди испугаются.

Для программистов сделаем, но скорее suggest like. типа пишешь sort а тебе в подсказках "std::sort" "perl sort", что выбрал нужно запоминать и поднимать наверх в следующих запросах.
Супер! то что надо :)
Андрей Полыскалов
26 ноября 2015, 17:24
Спасибо, очень нужная вещь!
nice
хотелось бы видеть cocoa, cocoa touch
можно еще сделать вызов манов юникс
man foo например
Для Delphi можно? :)
делфи в планах :)
Спасибо! ^_^
Отличная фича! )

Полезная штука буду пользоваться.


А почему по javascript показывается колдунщик из w3schools.com ? Может лучше на наш javascript.ru ссылаться?

jQuery забыли.

кроме того есть стандартные css и не только фрэймворки YUI, YAML и т.д.
jQuery в процессе, скоро будет )
prototype, scriptaculous
Хотелось бы Brainfuck :)

Кстати, у вас "(первый раз можно не объяснять,  что это такое)," - две запятые лишние. И пробел.

А вообще как Яндекс относится к интересу людей к программированию? Скажем, есть питерский стартап по составлению курсов по языкам программирования и разметки и разработке вообще - стоит ли мечтать о сотрудничестве или лучше сразу забыть саму мысль о чём-то подобном?
Светлана Шорина
26 ноября 2015, 17:24
Про стартапы читайте тут http://company.yandex.ru/public/start/
А конкретно про ваш проект заочно трудно что-то сказать.
Спасибо, за Яндекс.Стартами слежу и наслышан. Как и о прочих стартап-площадках. Участие правда пока откладываем и группой единомышленников из числа студентов ИТ-вузов допиливаем проект до состояния преальфы.

Проблема в том, что мы не ищем потранажа. Нам не интересно поглощение и контроль в обмен на финансирование. Нас интересует сотрудничество в области разработки идеальных курсов, в идеале - с Яндексом, Google, Microsoft и другими представителями рынка, которые на своих знаниях и  "best practice" могли бы посодействовать развитию информационного узла для юных разработчиков. Например, просмотреть курсы и указать на ошибки в них и дать предложения по улучшению. Провести анализ UI и составить рекомендации.

По этой причине не совсем понятно - такие meetup для стартапов - это то что нужно для подобной задачи или нужно искать иные варианты взаимодействия.
Brainfuck... Там же раз-два и обчелся. Он конечно у нас есть в планах, но priority=lower.

Интерес к программированию - не уверен, что вопрос был именно об этом, но в Яндексе есть академические программы, например Школа Анализа Данных, http://shad.yandex.ru/
Как говорится, вэлкам :)
Я это скорее в порядке шутки, чем и является Brainfuck :)

Про некоторый интерес косвенно можно ещё судить по академии AMSE и участию Яндекса в оной. Я как раз учусь в ЛЭТИ вместе с двумя участиками нашего стартапа, а ещё двое учится в ИТМО, как раз оттуда есть и преподаватели и студенты AMSE: http://www.amse.ru/teachers.php которые также работают и в Google и, как я слышал от очевидцев, в Яндексе. Возможно стоит пообщаться на эту тему с преподавателями?
тут уж я врядли подскажу :) но пообщаться, думаю, лишним никогда не будет ))
Ruby, Rails, Haml, Prolog, Common Lisp
Было бы шикарно сделать такой поиск в духе "мне повезёт" по другому урлу или по определённому параметру в запросе. Можно было бы настраивать удобные спец. поиски для браузеров. А то и плагин к любимой IDE замутить.
А можно подробней? Как эта штука должна работать?  Лучше с примером :)
1. Устанавливается плагин на FF.
2. Появляется новый вариант поиска, например documentation.
3. Вбиваем в него например "java DateFormat".
4. Наслаждаемся документацией.
а f#  вас когда-нибудь появится?
 было бы неплохо  Action Scripts 3 и Basic )
Все для самих себя ;-)
Ну наконец-то появился повод пользоваться яндексом, спасибо!
ActionScript, Delphi, C#
а где дока по 1С (8.1, 8.2) ?
А boost где?
Михаил Черномордиков
26 ноября 2015, 17:24
А на каком уровне поддержка C# и .NET? Давайте сделаем интеграцию с Библиотекой MSDN
Удалённый пользователь
26 ноября 2015, 17:24
Риквестирую Groovy, Scala и Clojure :)
 
Если вы не нашли в нашем списке любимый язык программирования ― требуйте его прямо здесь, в комментариях.

Требую Erlang

Надо язык C# и платформу .net Framework

Светлана Шорина
26 ноября 2015, 17:24
Уже в списке, скоро будет :)
Михаил Кириллов
26 ноября 2015, 17:24
Плюсище (+1)
Отличная работа!
А вот что было бы здорово видеть:
latex
matlab
Светлана Шорина
26 ноября 2015, 17:24
Записали в очередь :)
  • Запрос sockaddr_in6 - не определяется как "программерский";
  • Запрос signal - не определяется;
  • Запрос socket - дает информацию про какую-то странную функцию, которая возвращает SOCKET вместо int :)

Ну и до кучи вопрос, как вам наиболее эффективно можно помогать в столь прекрасном начинании? Может, есть универсальная форма типа "Что ввел в строку поиска" / "Что хотел получить" / "Где находится релевантная информация". А то в блоге тема обрастет кучей комментариев, которые еще надо будет как-то структурировать.

не все обрабатывает, например "session start php"


http://yandex.ru/yandsearch?text=session+start+php&lr=213


 

не уверен что читаете жж поэтому продублирую:

отличная вещь, спасибо, заодно с удивлением обнаружил, что среди колдунщиков нет калькулятора :( 
а  хотел предложить его расширить для прогерских целей - пишешь, что-то  типа "md5 sdssdsd =" или "date 1269985796 =" или "hex 1234 =" и готово, а  то голова кругом порой как-где-чем перевести

в RTFM не нашел поиска по Transact SQL или сокращенно tsql (t-sql), особенностей не много, но они есть
А неплохо бы добавить PL\SQL.
Мне кажется, что велика возможность подачи неверной документации. Частенько же возникает проблема на форумах, когда кто-то советует и выкладывает свой "уже готовый" код и на следующих 10 страницах его редактируют:)
А про 1С:Предприятие 7.7; 8.Х не забыли?
Термин дурной ("колдунщик"). Лучше модуль или как нибудь еще. Зачем плодить плохой сленг.

Языки и библиотеки: C#, XAML, WPF.

Спасибо за полезное дополнение к поиску!
извиняюсь, что мы светим наш внутринний сленг наружу, но избежать этого порой бывает сложно. при этом хочу пояснить, что термину "колдунщик" уже более 10 лет, и, если проанализировать историю развития этой технологии, то его название более чем оправдано.
Спасибо за сервис! Пару дней назад искал описание SQL-функций, ввожу запрос и вижу уже готовое описание первой строкой, думаю, WTF??, а оно вот что оказалось :)
Lua
Круто! А человеческий suggestion не испортился от ограниченного программистского?
http://dobrokot.ru/pics/nya2011-02-02__20-02-35_50kb.png
человеческий suggest точно не должен был испортится - а приведенные вами примеры демонстируют тот факт, что пользователи яндекса почти не ищут приведенные запросы

Даже запросы "С++ как", "С++ build(er)" "C++ клас" не задают? А в подсказке их нет.

Как насчет Javascript frameworks: Prototype, jQuery, etc?
jQuery в процессе, остальные... ммм... в планах :)
Prototype – это наше все :)
Спасибо. Наконец-то :)))
Теперь хотелось бы функций POSIX добавить и тогда будет всё очень хорошо.
ActionScript давайте ещё :)
Александр Нордин
26 ноября 2015, 17:24
сделайте еще примеры основных конфигурационных файлов, напр: my.ini, nginx.conf, php.ini, apache.conf

Хочу PL/I, FORTRAN (IV,77), COBOL и HLASM :)

Вообще, где ассемблеры?

Где TASM/MASM для x86?

Где весьма популярные ARM и AVR/Atmel?

Где Паскаль? LISP (со всеми схемами и хаскелями)?

Где Пролог и Рефал? Куда делся REXX?

Для Node.js нифига не ищет!

MySQL - это, конечно, наше фсио, но где PLSQL? где ADABAS C/D?

где DBII и SQLite?

Короче: ДАЁШЬ!

"django render_to_template" - дока с djangoproject.com

И было бы супер с возможность введения версии "django 1.2.3 csrf"

Владимир Морозов
26 ноября 2015, 17:24
Delphi (Pascal) !
Владимир Морозов
26 ноября 2015, 17:24
Delphi и Pascal
Владимир Морозов
26 ноября 2015, 17:24
Delphi и Pascal
Анатолий Синковец
26 ноября 2015, 17:24
ну наконец то...повернулись к богатырям передом:)
Windows PowerShell
auto.library.sibgtu
26 ноября 2015, 17:24

Prolog! Борландовскую версию часто в университетах изучают, а на самом деле хорошо было бы SWI Prolog.

Удалённый пользователь
26 ноября 2015, 17:24

Erlang - в студию! :-)

Мне как-то колдунщик не особо нужен, а вот гугловским код-серчем часто пользовался, пока его не закрыли.

Слишком быстро отказались от Ruby and Rails. А между прочим большая часть программистов на руби используют Google (просто исходя из той логики, что у них маки, а юзер мака более расположен к Google, чем к Яндексу).

 

Соответственно, прикрутив Ruby & Rails  к новой поисковой фиче, Яндекс перетянул бы часть Гугл контингента на свою сторону (-_+) появилась бы мотивация к русскоязычному поисковому ресурсу.