Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какой язык программирования подойдёт для создания искусственного интеллекта?

Елена Лукашенко Мастер (2406), закрыт 6 лет назад
Подскажите, пожалуйста, тот язык программирования (и желательно редактор+компилятор под него), на котором можно решить следующие задачи:
1. Полная предсказуемость выполнения кода (например, чтобы не было ситуаций, когда присваиваешь значение переменной, а оно не присваивается даже при правильном построении кода - неведомая ошибка редактора);
2. Исчерпывающая работа с внешними файлами (создание папок, файлов, копирование, удаление и т. д.);
3. Желательно, чтобы написанная программа содержалась в одном файле (например, на C++ Builder 6 - одна программа содержится в нескольких файлов);
4. Возможность выполнять сразу несколько ветвей кода или многозадачность (например, в html/javascript можно выполнять несколько проверок одновременно, удалённо друг от друга);
5. Поддержка русского языка и комментариев в коде;
6. Исчерпывающая работа со звуком (распознование голоса - без подключения внешних библиотек, т. е. чтобы можно было создать самой подобную программу; внедрение голосовых движков на подобие IVONA Maxim/Tatyana - или выполнение команд через командную строку для работы с программой Govorilka);
7. Желателен интерфейс создаваемой программы как в командной строке (чтобы можно было просто наблюдать состояние работы программы со своими параметрами и вводить некоторый текст + Enter);
8. Желательно наличие русскоязычного справочника по данному языку для его изучения;
9. Желательно работа с базой данных Access/Exel (но не обязательно).
***
Мне точно не подойдёт язык программирования C++ на Builder 6, так как у меня часто возникают ошибки на пустом месте, да и сам редактор какой-то покалеченный (перестали работать некоторые функции при создании нового проекта, а в старых проектах они все работают; зачастую, решала все свои проблемы в нём при помощи "закрыть"/"открыть").
***
Поверхностно знакома с html/javascript (ещё меньше с php) - с помощью этих языков можно решить мои задачи? Я неуверена на счёт выполнения пункта 6, ещё не знаю, насколько исправно будут работать большие программы (например, мини-игра размером в 1 Гбайт не будет баговаться или глючить при нормальном процессоре?).
***
А также, что мне НЕ нужно: создавать роботов (автономных от компьютера устройств), чужие готовые проекты или макеты (если это не идёт в качестве "совета на взглянуть", чтобы улучшить свои знания), какие языки сейчас популярны (если неизвестно, смогут ли они выполнить все мои задачи), знать насколько данный язык сложен в изучении (т. к. мне нужен будет только результат), знать насколько это глупый/сложный вопрос, какие ошибки я допустила при написании данного текста.
Лучший ответ
Алекс Куха Высший разум (476352) 6 лет назад
fortran/c++/python
Макс ФУченик (140) 5 лет назад
а Lisp ?
Алекс Куха Высший разум (476352) Для него разве есть уже такие разработки? ИИ многогранен. Про звук так вообще не слышал, что таковые есть Многозадачность у пайтона и лиспа недостаточно проработана.
Остальные ответы
Highest-precision Army Мыслитель (5196) 6 лет назад
> А также, что мне НЕ нужно ...знать насколько это глупый/сложный вопрос, какие ошибки я допустила при написании данного текста.

А что делать, если есть только языки, подходящие лишь под часть пунктов, и, скажем, проблема в том, что в них нет таких "важных" пунктов, как, допустим, пункт 3 или пункт 5?

Тогда только два варианта:
1. Либо признать, что эти пункты херня, и забить на них.
2. Заказать разработку языка специально для этих целей. Больше всего ваш вопрос похож именно на ТЗ на разработку языка. Что ж - от миллиона рублей можно со мной разговаривать.
Елена ЛукашенкоМастер (2406) 6 лет назад
Пункт 3 - желательно. Пункт 5 - важен, так как нужен русскоязычный интерфейс, ввод русских символов и прочее (а сам код программы, конечно же, на русском исключительная редкость, но его я не имела в виду). Если не существует языков программирования под мои требования, то мне нужен максимально* удовлетворяющий моим требованиям. Мне только название языка нужно. Пока что лучший язык, который я знаю, подходящий по большинству требований, это html/javascript - но я не до конца знаю его возможности.
Highest-precision Army Мыслитель (5196) Имели в виду комментарии на русском. И вообще, у вас глупая позиция. Знать - полезно, а вы не хотите. Если вы не специалист и что-то спрашиваете у специалиста, то будьте готовы к самым неожиданным ответам - ему может быть реально виднее. Во-вторых, ничто конечно не мешает писать код как инди - с русскими комментам и прочим как-вздумается, но его нельзя будет никому показать, нельзя добавить в портфолио если проект не готов, говнокод ценен только когда он доделан. Так что вы теряете.
Елена ЛукашенкоМастер (2406) 6 лет назад
Вашим языком, вариант 1 (только без "забить на них", так как учитывать недостатки и неудобства тоже нужно).
totkot Просветленный (23889) 6 лет назад
С такими запросами, ТЗ и к вендору.
Елена ЛукашенкоМастер (2406) 6 лет назад
А на каком языке он будет писать?
totkot Просветленный (23889) Разработка языковых сред, проводится в соответствии с ТЗ.
ivtst1 Просветленный (30512) 6 лет назад
п. 1. Любой язык программирования.
п. 2. Работа с файлами зависит не от языка, а от API ОС и возможности их вызова. А если ОС не используется, то зависит от возможности программировать оборудование напрямую. Для этого С и ассемлер хорошо подходят.
п. 3. На С++ можно все в одном файле писать. Только любой редактор будет тормозить, когда его размер вырастет до сотен мегабайт.
п. 4. Многозадачность пишется самим программистом, это тоже от языка не зависит.
п. 5. Создавай файлы в юникиде, тогда там любой язык будет поддерживаться.
п. 6. Ты уж определись, тебе язык для ИИ нужен или сразу готовый ИИ. Распознавание голоса это элемент ИИ.
п. 7. На любом языке можно сделать консольную программу.
п. 8. Не один коммерческий ЯП не создан в России, так что документации может и не быть. А с такими экзотическими требованиями вообще маловероятно, что есть документация, даже на языке создателя этого ЯП.
п. 9. При чем тут ИИ тогда? Да и странный выбор БД, особенно в Exel. Тормоза и глюки обеспечены, да еще и не будет работать на платформах кроме x86 c Windows.
Ошибки не возникают на пустом месте, всегда есть причина, и С++ еще достаточно лояльно проверяет ошибки, за что приходится платить отладкой под отладчиком.

Попробуй prolog или lisp. Они в свое время как раз для ИИ создавались, хотя они и не удовлетворяют и половине написанных пунктов.
Дмитрий Кораблин Просветленный (35631) 6 лет назад
Пролог, он создан был по такие задачи изначально
Голова Робота Просветленный (36360) 6 лет назад
Под ваше описание подойдёт почти любой современный язык программирования, кроме пунктов, которые не имеют отношения к языку, как например работа с файлам и со звуком.
Мне очень нравится C#. Взаимодействие с Access и Excel там есть (точнее, там есть средства, при помощи которых можно организовать взаимодействие с приложениями MS-Office). Работа со звуком реализуется сторонними библиотеками, которые наверняка можно прикрутить к C#.
C# по синтаксису похож на C++, но нет деления на .h и .cpp - файлы. Однако, если вы хотите пользоваться визуальным редактором форм, то приложение будет состоять из нескольких файлов.
Ещё неплохой язык Python, я его не знаю, но слышал много хороших отзывов.
Русскоязычная литература есть и по C# и по Python (как и по другим популярным языкам).

В JavaScript настоящей многозадачности нет.

По поводу языка Пролог, который рекомендовали в других ответа. Да, Пролог хорош для некоторых задач ИИ, но это язык совсем другого типа, вам будет сложно на нём писать. Есть свободная реализация Пролог - SWI-Prolog, там есть все возможности современного ЯП - многозадачность, возможность создания графический приложений, взаимодействие с базами данных. В стандартном Прологе ничего подобного нет. Вообще, нет стандартного Пролога, они все разные.
Валерий Шестаков Просветленный (25528) 6 лет назад
1. C++
2. C++
3. C++
4. C++
5. C++
6. Не понял, как это "без подключения внешних библиотек" и "внедрение голосовых движков" одновременно? Но всё равно C++
7. C++
8. C++ и онлайн-переводчики
9. С++ и ОДБЦ
Некий Загадочный Гений (53583) 6 лет назад
Кроме Пролога рекомендуются языки функционального программирования Haskell, Erlang, Lisp.
1. Код ведет себя предсказуемо, поскольку результат функции зависит только от передаваемых параметров (за исключением операций ввода).
2. Это есть в любом современном языке.
3. Можно все запихать в один файл, но это дурной тон. Большой проект требует структурирования на отдельные модули.
4. Erlang - язык параллельного программирования. Создан таким изначально.
5. Если изначально поддержки русского нет, то можно прочитать на форуме, как ее сделать.
6. Работа со звуком без библиотек - этого, пожалуй, нет нигде. В сам язык встраивается только то, что требуется для разных задач. Все частные хотелки реализуются через библиотеки.
7. Интерфейс какой сделаете, такой и будет. Хоть строка, хоть окна.
8. Есть русскоязычные книги и форумы.
9. Через дополнительные библиотеки (аналогично пункту 6).
Иванов Иван Гуру (3790) 3 года назад
От себя добавлю: Можно и Нужно создать Новый Язык Робо-Комманд. Получится новая логика:
RCML(+)Pascall(+)C++(+)1C:Fortran(+)Python(+)Голосовая Робот-Алиса (пока компьютерная).
Удачи бро!!!!
Похожие вопросы