12 советов по использованию обоев, которые следует знать, прежде чем использовать их у себя дома
Apr 20, 202415 лучших обоев для обновления ваших стен в 2023 году
Oct 11, 202316 трендов обоев 2023 года: ванная комната, спальня и гостиная
Jan 12, 202419 великолепных идей серых обоев для изысканного пространства
Nov 23, 2023Награды Dealer Design Awards 2023: HVAC High
Jul 25, 2023Будущее программирования: искусственный интеллект и интерфейс
Эрик Эллиотт
Следовать
JavaScript-сцена
--
2
Слушать
Делиться
Языковые модели искусственного интеллекта, такие как ChatGPT и Claude, позволяют каждому создавать программное обеспечение. Эти модели могут разумно понимать проблемы, создавать решения и объяснять решения. Но естественный язык не всегда лучший способ общения с ИИ. Если вам нужно отслеживать сложные данные и определять, как вы взаимодействуете с этими данными определенными способами, SudoLang может помочь.
Если вы думаете, что это поможет только с кодом ИИ, подумайте еще раз. Вы можете написать любую программу в SudoLang, а затем перенести ее на другие языки, такие как JavaScript, Python, Rust или C — так что вы можете воспользоваться этими функциями независимо от того, какое программное обеспечение вы создаете.
SudoLang — это язык программирования, предназначенный для взаимодействия с языковыми моделями искусственного интеллекта, включая ChatGPT, Bing Chat, Anthropic Claude и Google Bard. Он разработан так, чтобы его было легко изучить и использовать. Это также очень выразительно и мощно.
Все продвинутые языковые модели понимают его без каких-либо специальных подсказок. Вам не нужно вставлять спецификацию SudoLang перед использованием SudoLang с вашим любимым искусственным интеллектом.
Пожалуйста, прочтите документацию SudoLang для получения дополнительной информации о языке.
Интерфейсно-ориентированное программированиепозволяет вам структурировать вашу программу и легко заявить, что вы хотите, чтобы ИИ отслеживал и как вы хотите с ним взаимодействовать.
Интерфейсы — мощный инструмент для инкапсуляции связанных состояний, ограничений, команд и функций. Они организуют код ясным, понятным и пригодным для повторного использования способом.
Ключевые особенности интерфейсов в SudoLang включают в себя:
Вот простой пример:
HelloCounter — это интерфейс с двумя переменными состояния: message и count. У него есть одно ограничение, которое удерживает значение счетчика меньше или равное 10. /increment — это команда, которая увеличивает счетчик на 1.
Давайте посмотрим, что происходит при использовании ChatGPT 3.5:
Эта программа также работает в Claude2. Многие другие языковые модели искусственного интеллекта недостаточно сложны для запуска программ SudoLang. Например, Google Bard забывает соблюдать ограничения, а более мелкие модели OSS, такие как LLaMA2, с трудом выполняют все инструкции должным образом. На данный момент я рекомендую использовать GPT-4 для создания и запуска сложных программ SudoLang.
SudoLang поддерживает композицию интерфейсов для создания более сложных структур. Такой подход способствует модульности, способствует повторному использованию кода и упрощает анализ программы. Вот пример композиции:
Композиция позволяет разделить данные квеста, данные истории и данные игрока в логические интерфейсы, а состояние объединяет их в полное представление состояния игры.
Примечание: Здесь представлены некоторые интересные функции SudoLang. Сначала типизируются интерфейсы. Если вы не укажете типы свойств интерфейса, их выведет ИИ. В этом случае Player.State и Friends имеют общий тип персонажа (не показан). Мы используем синтаксис литерала интерфейса для предоставления имени игрока по умолчанию.
Традиционные языки на основе классов, такие как Java или C#, используют наследование для моделирования «есть-а». отношения. Но «есть»отношения редко являются идеальным способом моделирования программного обеспечения и часто приводят к путанице и осложнениям.
С другой стороны, композиция представляет собой «есть». отношения и является способом объединения простых компонентов для создания более сложных составных интерфейсов. Композиция обычно предпочтительнее наследования классов, потому что:
Благодаря своей интерфейсно-ориентированной и композиционной природе SudoLang обеспечивает гибкие, модульные и многократно используемые структуры кода, обеспечивая значительные преимущества по сравнению с традиционным наследованием классов.
Наследование классов было неудачным экспериментом по повторному использованию кода, который часто заканчивался вынужденным дублированием кода, вызванным следующими распространенными, хорошо известными проблемами:
По этой причине SudoLang не использует наследование классов, а линтер SudoLang сообщит об ошибках и предложит исправления, если вы попытаетесь его использовать. Чтобы понять почему, давайте углубимся в эти проблемы: