На каком языке программирования можно писать. Языки программирования. История развития ИИ

Из письма: "Здравствуйте! Никак не могу решиться, какой язык мне лучше начать серьёзно учить (немного знаю pascal (Delphi) и C), в основном хотелось бы писать программы под линукс, но и под другие системы тоже. Так как Си уже отмирает, то не знаю что выбрать: С++ или Java. Помогите, пожалуйста, с выбором, может вообще учить что-нибудь другое, неважно что, сложнее или легче, мне важнее что лучше и нужнее… "

Ответ 1: Я бы не сказал, что Си умирает. Для того чтобы писать на C++ и C#, нужно знать чистый Си. Ведь язык-то тот же, только добавилось объектно-ориентированное программирование. Зная Си, вы без труда освоите и Java, и C++, и C#. Ведь они все по своей сути базируются на си. Изучать новые языки намного легче, если вы уже знаете какой-то (в вашем случае Паскаль и Си). Сейчас входит в моду язык C# и J#. Советую вам установить на компьютер Microsoft Visual Studio и Borland JBuilder. И начать изучать эти языки. Так как это переносимые языки, то у них большое будущее. В частности Java используется очень широко для мобильных ОС.

Ответ 2: На самом деле и с C++ и с Java — работу найдешь легко, если будешь разбираться на должном уровне. Если хочешь «кодить» под Linux – лучше, конечно, С++, просто в исходниках сможешь разбираться, да и «кодить» тоже, разумеется. При этом, после С++ пересесть на Java проблем, думаю, не составит, если жизнь заставит, языки очень похожие! На мой взгляд с хорошим знанием С++ можно будет перейти на что угодно и разобраться с любой технологией.

Ответ 3: Если под Юникс системы, то С однозначно. Под него можно на всех (почти) языках программировать, но "родной" для него все-таки лучше. А вообще это только первое время для тебя будет большое различие между Си и Делфи — когда поймешь, как это работает в одном языке, то поймешь это и в другом.

Ответ 4: Я думаю, что лучше тебе остановить выбор на СИ++… И под Linux много что можно написать, и постепенно изучать Visual для качественного программирования под Windows.

Ответ 5: Важен не язык — важен продукт. То есть конечному пользователю Вашей программы совершенно все равно на чем она написана!

Я все же советую изучать C++, а именно Microsoft Visual C++, причем обязательно с использованием MFC, так как: 1. Классы очень экономят время; 2. Люди получают за это деньги, следовательно, с работой проблем не будет. 3. Как можно увидеть из названия — первое слово везде Microsoft, а это значит, что это актуально.

Я тоже долго метался по оболочкам и языкам — бэйсик, паскаль, с, делфи… Но в конечном итоге остановился на Вижуал С++.

И еще: я не думаю, что Делфи и Вижуал С++ схожи, у них есть свои особенности, взять хотя бы то, что они построены на разных языках, по разному задаются объекты, да и компоненты разные. То есть, выбрав какую либо среду, скорее всего, сможешь пользоваться второй, только ограничено. Теоретически можно две среды выучить, но практически ни одну из них не будешь знать в совершенстве – просто времени не хватит. В общем, от Вашего выбора зависит, в какую ветку портала Вы попадете. Каждый кулик хвалит свое болото! А по сути это все не важно.

«С какого языка программирования начать?» — именно такой вопрос часто задают люди, решившие попробовать научиться программировать. Еще лет пять назад можно было посоветовать учиться программировать на Бейсике, но на данный момент это полный идиотизм, так как Бейсик — это уже древнее ископаемое. Да, сейчас многие могут посоветовать учиться программировать на Visual Basic. Упрощенная версия этого языка – VBA (Visual Basic for Application) встроена во все офисные приложения Майкрософт. Тем кто пишет макросы для офисных приложений Майкрософт без VBA не обойтись. Тем не менее, не могу посоветовать ни Бейсик, ни Visual Basic в качестве языка для изучения программирования.
Я предлагаю рассмотреть два случая:

1. У вас все замечательно с математикой и физикой, вы без труда запоминаете довольно сложные формулы, вас не пугают различные непонятные символы.
В этом случае, стоит начать изучение программирования с языка Си. Дело в том, что Си очень мощный язык, на основе которого создано много других еще более мощных языков, таких как С++, Java, С#, PHP и других. К слову сказать, на этом языке написана операционная система Windows и практически все компьютерные игры, в которые вы играете.

Если вы остановите свой выбор на Си, а точнее все же на С++, то информации по этому языку более чем достаточно в Интернете. Тем не менее, советую купить хороший справочник по С++. Настоятельно рекомендую купить справочник Герберта Шилдта.

Справочник по С++

Полный справочник по C++. Книга является бестселлером и издается уже в четвертый раз. 4-е издание. В четвертом издании этой книги полностью описаны и проиллюстрированы все ключевые слова, функции, классы и свойства языка С++, соответствующие стандарту ANSI/ISO. Информацию, изложенную в книге, можно использовать во всех современных средах программирования. Освещены все аспекты языка С++, включая его основу — язык С. Справочник состоит из пяти частей: 1) подмножество С; 2) язык С++; 3) библиотека стандартных функций; 4) библиотека стандартных классов; 5) приложения на языке С++. Книга предназначена для широкого круга программистов.
Заказать книгу>>

2. С математикой у вас проблемы, формулы и непонятные значки вы не перевариваете, но научиться программировать все же хотите.
Ну чтож, как не крути, но лучше попробовать Паскаль. Да, это уже тоже ископаемое, но как бы то ни было, язык программирования Паскаль задумывался изначально как язык для обучения программированию.
Для самостоятельного изучения программированию на Паскале, можно прикупить книжку. Могу порекомендовать следующую:

Самоучитель Pascal

Программирование на Pascal.
Автор Сэм Аболрус. Оригинальное название книги в переводе с английского – «Изучаем Паскаль за три дня». Действительно, освоить азы программирования на Паскале, при помощи это книги можно за пару дней. Автор работает программистом в корпорации Майкрософт.
Заказать книгу>>

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

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

LISP


Первый компьютерный язык, применяемый для создания искусственного интеллекта - ЛИСП. Этот язык является довольно таки гибким и расширяемым. Такие особенности, как быстрое прототипирование и макросы очень полезны в создании ИИ. LISP - это язык, который превращает сложные задачи в простые. Мощная система объектно-ориентированности делает LISP одним из самых популярных языков программирования для искусственного интеллекта.

Java

Основные преимущества этого многофункционального языка являются: прозрачность, переносимость и удобство сопровождения. Еще одним преимуществом языка Java является универсальность. Если вы новичок, то вас обрадует тот факт, что существуют сотни видеоуроков в Интернете, что сделает ваше обучение легче и эффективнее.

Основными особенностями java являются: легкая отладка, хорошее взаимодействие с пользователем, простота работы с большими проектами. Проекты, созданные с помощью языка Java имеют привлекательный и простой интерфейс.

Prolog

Это интерактивный символический язык программирования популярен для проектов, которые требуют логики. Имея мощную и гибкую основу, она широко применяется для non-численного программирования, доказательства теорем, обработки естественного языка, создания экспертных систем и искусственного интеллекта в целом.

Пролог - это декларативный язык с формальной логикой. Разработчики искусственного интеллекта ценят его за высокий уровень абстракции, встроенный механизм поиска, недетерминизм и т.д.

Python

Python - широко используется программистами из-за его чистой грамматики и синтаксиса, приятного дизайна. Различные структуры данных, куча Фреймворков тестирования, соотношение высокого уровня и низкого уровня программирования, которые делают Питон одним из самых популярных языков программирования для искусственного интеллекта.

История развития ИИ

Для того, чтобы увидеть связь между ИИ и языком программирования, давайте рассмотрим наиболее важные события в истории ИИ. Все началось в 1939 году, когда робот Электро был представлен на Всемирной выставки. Следующий робот был построен в 1951 году, Эдмундом Беркли.

Робот Робби был построен в 1956 году. К сожалению, нет информации о том, как он был разработан. В 1958 году, был изобретен язык программирования ЛИСП. Хотя этот язык был разработан 60 лет назад, он до сих пор остается основным языком для многих программ искусственного интеллекта.

В 1961 году, был построен UNIMATE. Это первый промышленный робот, который выпускается серийно. Этот робот был использован в «Дженерал Моторс» для работы на производственной линии. Для изготовления UNIMATE ученые использовали Валь, переменная ассемблера. Этот язык состоит из простых фраз, команд монитора, и инструкций, которые не требуют пояснений.

Система искусственного интеллекта Dendral, была построена в 1965 году. Она помогала легко определять молекулярную структуру органических соединений. Эта система была написана на Лиспе.

В 1966 году, Weizenbaum создал Элизу, первого виртуального собеседника. Одна из самых знаменитых моделей назывался Доктор, он отвечал на вопросы в стиле психотерапевта. Этот бот был реализован при сопоставлении образцов техники. Первая версия Элизы была написана на SLIP, список обработки языка был разработан Weizenbaum. Позже одна из его версий была переписана на Лиспе.

Первый мобильный робот, запрограммированный на Лиспе был Шеки. С помощью решения задач программы прокладок и датчиков, шейки двигался, включал и выключал свет, поднимался вверх и вниз, открывал двери, закрывал двери, толкал предметы, и двигал вещи. Перемещался Шеки со скоростью 5 км в час.

В ближайшие 15 лет мир увидел множество удивительных изобретений: Сторожевого робота Деннинг, ЛМИ Лямбда, Omnibot 2000, MQ-1 Predator беспилотный, Ферби, АЙБО робот собака, и Хонда АСИМО.

В 2003 году iRobot изобрел робот-пылесос Roomba. Разработанный на Лиспе, это автономный пылесос моет полы, используя определенные алгоритмы. Он обнаруживает препятствия и обходит их.


А какой язык программирования используете вы, для разработки программ с ИИ? Напишите о ваших работах в комментариях или в нашей группе вконтакте.




- Нет, - говорю, - не хочу.
- Ну ок, учи Perl.

C++

На JavaScript

Java

Python

Perl

добро пожаловать

«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.
Первый день. Самокатная, шумная столовая кислотных расцветок, обед. Суп из пластмассовых прямоугольных параллелепипедов.
- Хочешь писать на С++? - спрашивают меня.
- Нет, - говорю, - не хочу.
- Ну ок, учи Perl.
С тех пор я пишу на Perl и нежно его люблю».

Такую историю рассказал нам разработчик Яндекса, когда мы готовили эту публикацию и проводили опрос. Мы спрашивали у наших разработчиков, на чём они пишут, чтобы выяснить - какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов - того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

Perl был создан для обработки текстов - например, для извлечения фактов из текста. Талисман языка - верблюд, лишённый изящества, но выносливый и эффективный, - точно отражает его особенности. Это лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов - например, Директа.

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.

Яндекс делают более шести тысяч человек, из них четверть - это разработчики. По большому счёту неважно, на каком языке пишет человек. Если он профессионал, для него всегда найдётся подходящая задача. Прямо сейчас у нас открыто 90 вакансий для разработчиков в десяти городах. Хотите попробовать свои силы - добро пожаловать (вакансии в берлинском офисе можно посмотреть ).

","contentType":"text/html"},"proposedBody":{"source":"

«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.
Первый день. Самокатная, шумная столовая кислотных расцветок, обед. Суп из пластмассовых прямоугольных параллелепипедов.
- Хочешь писать на С++? - спрашивают меня.
- Нет, - говорю, - не хочу.
- Ну ок, учи Perl.
С тех пор я пишу на Perl и нежно его люблю».

Такую историю рассказал нам разработчик Яндекса, когда мы готовили эту публикацию и проводили опрос. Мы спрашивали у наших разработчиков, на чём они пишут, чтобы выяснить - какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов - того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

Perl был создан для обработки текстов - например, для извлечения фактов из текста. Талисман языка - верблюд, лишённый изящества, но выносливый и эффективный, - точно отражает его особенности. Это лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов - например, Директа.

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.

Яндекс делают более шести тысяч человек, из них четверть - это разработчики. По большому счёту неважно, на каком языке пишет человек. Если он профессионал, для него всегда найдётся подходящая задача. Прямо сейчас у нас открыто 90 вакансий для разработчиков в десяти городах. Хотите попробовать свои силы - добро пожаловать (вакансии в берлинском офисе можно посмотреть ).

«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.
Первый день. Самокатная, шумная столовая кислотных расцветок, обед. Суп из пластмассовых прямоугольных параллелепипедов.
- Хочешь писать на С++? - спрашивают меня.
- Нет, - говорю, - не хочу.
- Ну ок, учи Perl.
С тех пор я пишу на Perl и нежно его люблю».

Такую историю рассказал нам разработчик Яндекса, когда мы готовили эту публикацию и проводили опрос. Мы спрашивали у наших разработчиков, на чём они пишут, чтобы выяснить - какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов - того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

Perl был создан для обработки текстов - например, для извлечения фактов из текста. Талисман языка - верблюд, лишённый изящества, но выносливый и эффективный, - точно отражает его особенности. Это лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов - например, Директа.

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.

Яндекс делают более шести тысяч человек, из них четверть - это разработчики. По большому счёту неважно, на каком языке пишет человек. Если он профессионал, для него всегда найдётся подходящая задача. Прямо сейчас у нас открыто 90 вакансий для разработчиков в десяти городах. Хотите попробовать свои силы - добро пожаловать (вакансии в берлинском офисе можно посмотреть ).

","contentType":"text/html"},"authorId":"5105614","slug":"77617","canEdit":false,"canComment":false,"isBanned":false,"canPublish":false,"viewType":"old","isDraft":false,"isSubscriber":false,"commentsCount":36,"modificationDate":"Wed Mar 19 2014 15:04:00 GMT+0000 (UTC)","showPreview":true,"approvedPreview":{"source":"«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.","html":"«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.","contentType":"text/html"},"proposedPreview":{"source":"«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.","html":"«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.","contentType":"text/html"},"titleImage":null,"tags":[{"displayName":"технологии Яндекса","slug":"tekhnologii-yandeksa","categoryId":"150002777","url":"/blog/company??tag=tekhnologii-yandeksa"},{"displayName":"yandex-team","slug":"yandex-team","categoryId":"1776655","url":"/blog/company??tag=yandex-team"}],"isModerator":false,"commentsEnabled":true,"url":"/blog/company/77617","urlTemplate":"/blog/company/%slug%","fullBlogUrl":"https://yandex.ru/blog/company","addCommentUrl":"/blog/createComment/company/77617","updateCommentUrl":"/blog/updateComment/company/77617","addCommentWithCaptcha":"/blog/createWithCaptcha/company/77617","changeCaptchaUrl":"/blog/api/captcha/new","putImageUrl":"/blog/image/put","urlBlog":"/blog/company","urlEditPost":"/blog/562884407eba6ef16f8045c3/edit","urlSlug":"/blog/post/generateSlug","urlPublishPost":"/blog/562884407eba6ef16f8045c3/publish","urlUnpublishPost":"/blog/562884407eba6ef16f8045c3/unpublish","urlRemovePost":"/blog/562884407eba6ef16f8045c3/removePost","urlDraft":"/blog/company/77617/draft","urlDraftTemplate":"/blog/company/%slug%/draft","urlRemoveDraft":"/blog/562884407eba6ef16f8045c3/removeDraft","urlTagSuggest":"/blog/api/suggest/company","urlAfterDelete":"/blog/company","isAuthor":false,"subscribeUrl":"/blog/api/subscribe/562884407eba6ef16f8045c3","unsubscribeUrl":"/blog/api/unsubscribe/562884407eba6ef16f8045c3","urlEditPostPage":"/blog/company/562884407eba6ef16f8045c3/edit","urlForTranslate":"/blog/post/translate","urlRelateIssue":"/blog/post/updateIssue","urlUpdateTranslate":"/blog/post/updateTranslate","urlLoadTranslate":"/blog/post/loadTranslate","urlTranslationStatus":"/blog/company/77617/translationInfo","urlRelatedArticles":"/blog/api/relatedArticles/company/77617","author":{"id":"5105614","uid":{"value":"5105614","lite":false,"hosted":false},"aliases":{"13":"kadaner"},"login":"minushuman","display_name":{"name":"Алексей","avatar":{"default":"21377/5105614-16014116","empty":false}},"address":"[email protected]","defaultAvatar":"21377/5105614-16014116","imageSrc":"https://avatars.mds.yandex.net/get-yapic/21377/5105614-16014116/islands-middle","isYandexStaff":true},"originalModificationDate":"2014-03-19T11:04:39.000Z","socialImage":{"orig":{"fullPath":"https://avatars.mds.yandex.net/get-yablogs/49865/file_1465551301378/orig"}}}}}">

На каких языках программирования пишут в Яндексе

«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.
Первый день. Самокатная, шумная столовая кислотных расцветок, обед. Суп из пластмассовых прямоугольных параллелепипедов.
- Хочешь писать на С++? - спрашивают меня.
- Нет, - говорю, - не хочу.
- Ну ок, учи Perl.
С тех пор я пишу на Perl и нежно его люблю».

Такую историю рассказал нам разработчик Яндекса, когда мы готовили эту публикацию и проводили опрос. Мы спрашивали у наших разработчиков, на чём они пишут, чтобы выяснить - какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов - того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

Perl был создан для обработки текстов - например, для извлечения фактов из текста. Талисман языка - верблюд, лишённый изящества, но выносливый и эффективный, - точно отражает его особенности. Это лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов - например, Директа.

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.

Яндекс делают более шести тысяч человек, из них четверть - это разработчики. По большому счёту неважно, на каком языке пишет человек. Если он профессионал, для него всегда найдётся подходящая задача. Прямо сейчас у нас открыто 90 вакансий для разработчиков в десяти городах. Хотите попробовать свои силы - (вакансии в берлинском офисе можно посмотреть ).

Язык программирования – это код, в котором заключены команды компьютеру – что делать в случае тех или иных действий. Таких языков существует огромное количество. А как же узнать, на каком языке написана программа ?

Инструкция

Посмотрите код написания программы. Для этого на клавиатуре одновременно нажмите комбинацию двух клавиш Ctrl и U. В отдельном окне появятся символы, структурированные определенным образом.

Проанализируйте код. Сначала обратите внимание на верхнюю строку кода. Зачастую первые символы определяют название языка программы, к примеру, HTML. Определением также могут служить ключевые слова, используемые для написания кода, характерны для каждого языка программирования.

Измените регистр написания каких-нибудь команд, чередуя заглавные и строчные буквы. Языки чувствительные к регистру, к примеру, С++, С#, Java, JavaScript, Perl, PHP изменят, а не чувствительные - Delphi, VFP, Basic, VBA, VBScript – оставят это без внимания, никак не изменив функцию команды.

Внимательно рассмотрите символы разделения операторов, а также операторные скобки. В языках С++, C#, Java, Perl, PHP, Delphi и Transact – SQL операторы будут разделяться символом; при этом операторные скобки языков будут отличаться, к примеру, в С++, C#, Java, Perl, PHP скобки будут иметь вид {}, а в Delphi и Transact – SQL это будет begin и end. В некоторых языках программирования такие скобки отсутствуют вообще, к примеру, у Visual FoxPro, VBScript, Visual Basic’e и PL-SQL, у них разделение операторов происходит путем



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: