[ad_1]
На данном этапе все слышали о ChatGPT. Это чат-бот на базе искусственного интеллекта, который использует модели обработки естественного языка для получения ответов на сложные вопросы. Эти ответы не всегда могут быть точными, но они, как правило, достаточно подробны, чтобы вы могли довольно легко проверить факты, которые они вам дают. Что, если вы возьмете ChatGPT и попытаетесь написать с его помощью код?
Оказывается, это можно делать с разной степенью успеха, в зависимости от языков, которые вы хотите использовать, и того, чего вы хотите с их помощью достичь. Я протестировал его, чтобы увидеть, насколько хорошо он будет работать на разных языках программирования при выполнении разных задач. Я также не буду вносить никаких изменений в код, который создает ChatGPT, я буду направлять его только на создание рабочего кода, если созданный им код не работает.
Для тестирования ChatGPT я использовал три языка, с которыми уже знаком: Python, C и Java. Результаты были особенно неожиданными, поскольку с Python у него были некоторые проблемы из-за абстрактного характера того, что я просил, но он легко справлялся с C и базовой Java. Я также создал репозиторий GitHub со всем доступным здесь кодом, чтобы вы могли опробовать его самостоятельно.
ChatGPT Plus также полезен при программировании, поскольку у него есть встроенный интерпретатор, который выполнит ваш код за вас. Для любого анализа данных он идеален. Вы также можете использовать Gemini или Microsoft Copilot для программирования, так что поиграйте с разными LLM, чтобы увидеть!

Второй пилот Pro против ChatGPT Plus: какая подписка вам лучше всего подходит?
Если вы хотите потратить 20 долларов на подписку на генеративную платформу искусственного интеллекта, что лучше? Второй пилот Pro и ChatGPT Plus очень похожи
Автоматическая проверка страниц в Python
Базовый парсинг веб-страниц в Python
Python — мой любимый язык программирования, и это благодаря его возможностям и простоте использования. В прошлом я написал на Python множество инструментов для автоматизации частей своего рабочего процесса, а моя бакалаврская диссертация по информатике даже была полностью написана на Python. Я попросил ChatGPT написать программу, которая могла бы периодически сканировать веб-страницу на наличие изменений, и в основном это сработало.
Проблема с приведенным выше кодом, который он мне дает, заключается в том, что он не имитирует настоящий браузер. Веб-сайты проверяют наличие в вашем браузере параметра, называемого «пользовательский агент», и он определяет, какой тип браузера вы используете или являетесь ли вы ботом. Многие веб-сайты не принимают соединения, которые не определяют пользовательский агент, и я столкнулся с этим, когда указал на это на XDA. Я попросил его добавить к запросу собственные заголовки для имитации реального браузера, и он выполнил это.
Приведенный выше код работает для статических веб-сайтов, но проблема в том, что большая часть контента, который вы читаете в Интернете, является динамической. Если страница возвращает текущее время, например, где-то на странице, то приведенный выше код всегда будет говорить, что страница менялась при каждом обновлении. Когда я указал на это ChatGPT, он запутался и дал мне совершенно неверное решение проблемы.
Вышеупомянутое является неправильным объяснением того, как работают хеши. Суть хеша в том, что незначительное изменение входных данных приведет к существенной разнице в хэше, поскольку два хеша по сути несопоставимы. Когда я сказал ему, что предполагать, что хеши — лучший способ сравнения и сканирования изменений, было бы неверным, он ответил извинениями и выдал мне что-то, что делал работа.
Единственная проблема, которую я обнаружил в приведенном выше коде, заключается в том, что для более крупных веб-сайтов он требует больших вычислительных затрат, поскольку для сравнения и вычисления разницы между ними используется обработка естественного языка. Тем не менее, порог в 5 % для измененного контента достаточен для большинства веб-сайтов, если вы хотите проверять наличие обновлений, и при необходимости вы можете отрегулировать порог. Это заняло некоторое время, но в конце концов оно произошло.
Есть много причин, по которым вам может понадобиться веб-скребок, подобный одному из этих, и хотя существуют инструменты, которые могут это сделать, было бы здорово создать свой собственный. Вы можете использовать их для отслеживания посылок или, в моем случае, для сканирования новых объектов недвижимости, которые сдаются в аренду на местных сайтах недвижимости.

Как установить Python в Windows, Linux и macOS
Если вы хотите установить Python и начать разработку, у нас есть удобное краткое руководство, которое познакомит вас с основами.
Генератор паролей на C
Безопасность всегда важна
В связи с тем, что в последнее время безопасность становится все более популярной, важно использовать надежные пароли, а также двухфакторную аутентификацию. Если у вас возникли проблемы с частью безопасного пароля, довольно легко написать генератор паролей на C. ChatGPT справился с этим довольно легко, и единственная проблема, которую я обнаружил, заключалась в том, что когда я попросил его создать генератор паролей, он не импортировал библиотека String C. Я сказал ему это, и он добавил это в импорт в начале.
Я увеличил глобальную переменную MAX_LENGTH до 32 символов вместо 16, и она сгенерировала следующий пароль: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. Можно с уверенностью сказать, что это работает!
Калькулятор на Java
Многоклассовое программирование
Довольно простая программа, с которой многие люди имеют опыт работы на Java, — это создание калькулятора. Это одна из первых проблем, с которой ученые-компьютерщики столкнутся в своей карьере программиста, независимо от того, какой язык они изучат первым. Я попросил ChatGPT написать калькулятор на Java, использующий как минимум два класса, и он отлично сработал с первой попытки.
Это класс калькулятора:
Это основной класс:
Создание обоих этих классов в моей IDE, IntelliJ, и выполнение основного класса приводит к созданию прекрасно работающей программы-калькулятора, которая принимает два числа и оператор для сложения, вычитания, умножения или деления.
ChatGPT неплохо разбирается в программировании
Хотя в ближайшее время он не заменит программистов.
Хотя я бы не стал полагаться на то, что ChatGPT сделает все за вас, ясно, что он может неплохо справляться с созданием программ и учетом критики в случае возникновения проблем. Я был удивлен, увидев, что он предлагает алгоритм хеширования как способ различать незначительные изменения на веб-странице, но, кроме этого, он вообще не справлялся с более простыми задачами. Даже в случае с программой на Python она с самого начала имела правильную идею и на более статичных страницах работала бы идеально.
Конечно, ChatGPT не заменит программистов в ближайшее время, но он уже на пути к тому, чтобы стать очень хорошим инструментом для сотрудников. Например, Copilot от GitHub использует технологию GPT, чтобы помочь людям писать код, и со временем она будет становиться все более продвинутой. Даже если вы начинающий программист, такой инструмент потенциально может помочь вам в обучении, если вы полностью ему доверяете, но, как мы видели, иногда он допускает странные ошибки. Он отлично подходит для заполнения пробелов в знаниях, и именно здесь я рекомендую его использовать большинству людей.
Конечно, приведенные здесь примеры очень просты, и большинство программистов смогут написать их довольно легко, но дело не в этом. Он пугающе хорош в поиске решений простых задач и, похоже, неплохо справляется и с более сложными задачами. Мы рады видеть, как подобные инструменты будут развиваться в будущем и помогут людям улучшить свои навыки.
[ad_2]