Использование ChatGPT для программирования на Python, C и Java

    0
    0

    [ad_1]

    На данном этапе все слышали о ChatGPT. Это чат-бот на базе искусственного интеллекта, который использует модели обработки естественного языка для получения ответов на сложные вопросы. Эти ответы не всегда могут быть точными, но они, как правило, достаточно подробны, чтобы вы могли довольно легко проверить факты, которые они вам дают. Что, если вы возьмете ChatGPT и попытаетесь написать с его помощью код?


    Оказывается, это можно делать с разной степенью успеха, в зависимости от языков, которые вы хотите использовать, и того, чего вы хотите с их помощью достичь. Я протестировал его, чтобы увидеть, насколько хорошо он будет работать на разных языках программирования при выполнении разных задач. Я также не буду вносить никаких изменений в код, который создает ChatGPT, я буду направлять его только на создание рабочего кода, если созданный им код не работает.

    Для тестирования ChatGPT я использовал три языка, с которыми уже знаком: Python, C и Java. Результаты были особенно неожиданными, поскольку с Python у него были некоторые проблемы из-за абстрактного характера того, что я просил, но он легко справлялся с C и базовой Java. Я также создал репозиторий GitHub со всем доступным здесь кодом, чтобы вы могли опробовать его самостоятельно.


    ChatGPT Plus также полезен при программировании, поскольку у него есть встроенный интерпретатор, который выполнит ваш код за вас. Для любого анализа данных он идеален. Вы также можете использовать Gemini или Microsoft Copilot для программирования, так что поиграйте с разными LLM, чтобы увидеть!

    Автоматическая проверка страниц в Python

    Базовый парсинг веб-страниц в Python

    Python — мой любимый язык программирования, и это благодаря его возможностям и простоте использования. В прошлом я написал на Python множество инструментов для автоматизации частей своего рабочего процесса, а моя бакалаврская диссертация по информатике даже была полностью написана на Python. Я попросил ChatGPT написать программу, которая могла бы периодически сканировать веб-страницу на наличие изменений, и в основном это сработало.

    арендаpython1


    Проблема с приведенным выше кодом, который он мне дает, заключается в том, что он не имитирует настоящий браузер. Веб-сайты проверяют наличие в вашем браузере параметра, называемого «пользовательский агент», и он определяет, какой тип браузера вы используете или являетесь ли вы ботом. Многие веб-сайты не принимают соединения, которые не определяют пользовательский агент, и я столкнулся с этим, когда указал на это на XDA. Я попросил его добавить к запросу собственные заголовки для имитации реального браузера, и он выполнил это.

    арендаpython2

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


    арендаpython3

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

    арендаpython4


    Единственная проблема, которую я обнаружил в приведенном выше коде, заключается в том, что для более крупных веб-сайтов он требует больших вычислительных затрат, поскольку для сравнения и вычисления разницы между ними используется обработка естественного языка. Тем не менее, порог в 5 % для измененного контента достаточен для большинства веб-сайтов, если вы хотите проверять наличие обновлений, и при необходимости вы можете отрегулировать порог. Это заняло некоторое время, но в конце концов оно произошло.

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

    Связанный
    Как установить Python в Windows, Linux и macOS

    Если вы хотите установить Python и начать разработку, у нас есть удобное краткое руководство, которое познакомит вас с основами.

    Генератор паролей на C

    Безопасность всегда важна

    В связи с тем, что в последнее время безопасность становится все более популярной, важно использовать надежные пароли, а также двухфакторную аутентификацию. Если у вас возникли проблемы с частью безопасного пароля, довольно легко написать генератор паролей на C. ChatGPT справился с этим довольно легко, и единственная проблема, которую я обнаружил, заключалась в том, что когда я попросил его создать генератор паролей, он не импортировал библиотека String C. Я сказал ему это, и он добавил это в импорт в начале.


    генератор паролей1

    Я увеличил глобальную переменную MAX_LENGTH до 32 символов вместо 16, и она сгенерировала следующий пароль: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. Можно с уверенностью сказать, что это работает!

    Калькулятор на Java

    Многоклассовое программирование

    Довольно простая программа, с которой многие люди имеют опыт работы на Java, — это создание калькулятора. Это одна из первых проблем, с которой ученые-компьютерщики столкнутся в своей карьере программиста, независимо от того, какой язык они изучат первым. Я попросил ChatGPT написать калькулятор на Java, использующий как минимум два класса, и он отлично сработал с первой попытки.

    Это класс калькулятора:

    чатgptcalculatorjava1


    Это основной класс:

    чатgptcalculatorjava2

    Создание обоих этих классов в моей IDE, IntelliJ, и выполнение основного класса приводит к созданию прекрасно работающей программы-калькулятора, которая принимает два числа и оператор для сложения, вычитания, умножения или деления.

    чатgptcalculatorjava3

    ChatGPT неплохо разбирается в программировании

    Хотя в ближайшее время он не заменит программистов.

    Хотя я бы не стал полагаться на то, что ChatGPT сделает все за вас, ясно, что он может неплохо справляться с созданием программ и учетом критики в случае возникновения проблем. Я был удивлен, увидев, что он предлагает алгоритм хеширования как способ различать незначительные изменения на веб-странице, но, кроме этого, он вообще не справлялся с более простыми задачами. Даже в случае с программой на Python она с самого начала имела правильную идею и на более статичных страницах работала бы идеально.


    Конечно, ChatGPT не заменит программистов в ближайшее время, но он уже на пути к тому, чтобы стать очень хорошим инструментом для сотрудников. Например, Copilot от GitHub использует технологию GPT, чтобы помочь людям писать код, и со временем она будет становиться все более продвинутой. Даже если вы начинающий программист, такой инструмент потенциально может помочь вам в обучении, если вы полностью ему доверяете, но, как мы видели, иногда он допускает странные ошибки. Он отлично подходит для заполнения пробелов в знаниях, и именно здесь я рекомендую его использовать большинству людей.

    Конечно, приведенные здесь примеры очень просты, и большинство программистов смогут написать их довольно легко, но дело не в этом. Он пугающе хорош в поиске решений простых задач и, похоже, неплохо справляется и с более сложными задачами. Мы рады видеть, как подобные инструменты будут развиваться в будущем и помогут людям улучшить свои навыки.

    [ad_2]

    Предыдущая статьяПопробуйте фитнес-трекер Whoop бесплатно в течение месяца
    Следующая статьяНаконец-то игра, позволяющая мне путешествовать во времени в средневековую Европу с
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.