Highest-precision Army
Мыслитель
(5196)
6 лет назад
> А также, что мне НЕ нужно ...знать насколько это глупый/сложный вопрос, какие ошибки я допустила при написании данного текста.
А что делать, если есть только языки, подходящие лишь под часть пунктов, и, скажем, проблема в том, что в них нет таких "важных" пунктов, как, допустим, пункт 3 или пункт 5?
Тогда только два варианта:
1. Либо признать, что эти пункты херня, и забить на них.
2. Заказать разработку языка специально для этих целей. Больше всего ваш вопрос похож именно на ТЗ на разработку языка. Что ж - от миллиона рублей можно со мной разговаривать.
Елена ЛукашенкоМастер (2406)
6 лет назад
Пункт 3 - желательно. Пункт 5 - важен, так как нужен русскоязычный интерфейс, ввод русских символов и прочее (а сам код программы, конечно же, на русском исключительная редкость, но его я не имела в виду). Если не существует языков программирования под мои требования, то мне нужен максимально* удовлетворяющий моим требованиям. Мне только название языка нужно. Пока что лучший язык, который я знаю, подходящий по большинству требований, это html/javascript - но я не до конца знаю его возможности.
Елена ЛукашенкоМастер (2406)
6 лет назад
Вашим языком, вариант 1 (только без "забить на них", так как учитывать недостатки и неудобства тоже нужно).
ivtst1
Просветленный
(30512)
6 лет назад
п. 1. Любой язык программирования.
п. 2. Работа с файлами зависит не от языка, а от API ОС и возможности их вызова. А если ОС не используется, то зависит от возможности программировать оборудование напрямую. Для этого С и ассемлер хорошо подходят.
п. 3. На С++ можно все в одном файле писать. Только любой редактор будет тормозить, когда его размер вырастет до сотен мегабайт.
п. 4. Многозадачность пишется самим программистом, это тоже от языка не зависит.
п. 5. Создавай файлы в юникиде, тогда там любой язык будет поддерживаться.
п. 6. Ты уж определись, тебе язык для ИИ нужен или сразу готовый ИИ. Распознавание голоса это элемент ИИ.
п. 7. На любом языке можно сделать консольную программу.
п. 8. Не один коммерческий ЯП не создан в России, так что документации может и не быть. А с такими экзотическими требованиями вообще маловероятно, что есть документация, даже на языке создателя этого ЯП.
п. 9. При чем тут ИИ тогда? Да и странный выбор БД, особенно в Exel. Тормоза и глюки обеспечены, да еще и не будет работать на платформах кроме x86 c Windows.
Ошибки не возникают на пустом месте, всегда есть причина, и С++ еще достаточно лояльно проверяет ошибки, за что приходится платить отладкой под отладчиком.
Попробуй prolog или lisp. Они в свое время как раз для ИИ создавались, хотя они и не удовлетворяют и половине написанных пунктов.
Голова Робота
Просветленный
(36360)
6 лет назад
Под ваше описание подойдёт почти любой современный язык программирования, кроме пунктов, которые не имеют отношения к языку, как например работа с файлам и со звуком.
Мне очень нравится C#. Взаимодействие с Access и Excel там есть (точнее, там есть средства, при помощи которых можно организовать взаимодействие с приложениями MS-Office). Работа со звуком реализуется сторонними библиотеками, которые наверняка можно прикрутить к C#.
C# по синтаксису похож на C++, но нет деления на .h и .cpp - файлы. Однако, если вы хотите пользоваться визуальным редактором форм, то приложение будет состоять из нескольких файлов.
Ещё неплохой язык Python, я его не знаю, но слышал много хороших отзывов.
Русскоязычная литература есть и по C# и по Python (как и по другим популярным языкам).
В JavaScript настоящей многозадачности нет.
По поводу языка Пролог, который рекомендовали в других ответа. Да, Пролог хорош для некоторых задач ИИ, но это язык совсем другого типа, вам будет сложно на нём писать. Есть свободная реализация Пролог - SWI-Prolog, там есть все возможности современного ЯП - многозадачность, возможность создания графический приложений, взаимодействие с базами данных. В стандартном Прологе ничего подобного нет. Вообще, нет стандартного Пролога, они все разные.
Некий Загадочный
Гений
(53583)
6 лет назад
Кроме Пролога рекомендуются языки функционального программирования Haskell, Erlang, Lisp.
1. Код ведет себя предсказуемо, поскольку результат функции зависит только от передаваемых параметров (за исключением операций ввода).
2. Это есть в любом современном языке.
3. Можно все запихать в один файл, но это дурной тон. Большой проект требует структурирования на отдельные модули.
4. Erlang - язык параллельного программирования. Создан таким изначально.
5. Если изначально поддержки русского нет, то можно прочитать на форуме, как ее сделать.
6. Работа со звуком без библиотек - этого, пожалуй, нет нигде. В сам язык встраивается только то, что требуется для разных задач. Все частные хотелки реализуются через библиотеки.
7. Интерфейс какой сделаете, такой и будет. Хоть строка, хоть окна.
8. Есть русскоязычные книги и форумы.
9. Через дополнительные библиотеки (аналогично пункту 6).
Иванов Иван
Гуру
(3790)
3 года назад
От себя добавлю: Можно и Нужно создать Новый Язык Робо-Комманд. Получится новая логика:
RCML(+)Pascall(+)C++(+)1C:Fortran(+)Python(+)Голосовая Робот-Алиса (пока компьютерная).
Удачи бро!!!!
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 Гбайт не будет баговаться или глючить при нормальном процессоре?).
***
А также, что мне НЕ нужно: создавать роботов (автономных от компьютера устройств), чужие готовые проекты или макеты (если это не идёт в качестве "совета на взглянуть", чтобы улучшить свои знания), какие языки сейчас популярны (если неизвестно, смогут ли они выполнить все мои задачи), знать насколько данный язык сложен в изучении (т. к. мне нужен будет только результат), знать насколько это глупый/сложный вопрос, какие ошибки я допустила при написании данного текста.