Как мне научиться программированию с помощью ChatGPT, если мне придется начинать заново?
Изучение ChatGPT в моем 15-летнем пути кодирования — выход за рамки простого копирования и вставки
Программирование стало частью моей жизни с 10 лет. От настройки кода и CSS для моего профиля Friendster в первые дни Интернета до изучения SQL-инъекций ради интереса, создания трехногого робота ради развлечения и совсем недавно погружения в программирование на Python — мой путь программирования был разнообразным и увлекательным!
Вот чему я научился, изучая различные подходы к программированию.

Я всегда изучаю программирование одним и тем же способом; Как говорят люди, в основном это просто копирование и вставка. 😅
Когда дело доходит до создания чего-либо в мире программирования, вот краткое описание моего подхода:
- Выберите подходящий фреймворк или библиотеку.
- Учитесь на предыдущих проектах
- Разбейте это на шаги
Разбейте свой проект на выполнимые этапы, сделав разработку менее стрессовой. - Найдите каждую часть в Google.
На каждом этапе обращайтесь к Google/Bing/DuckDuckGo или любой другой поисковой системе, которую вы предпочитаете, за информацией, рекомендациями и возможными решениями. - Начать программирование
Постарайтесь выполнять каждый шаг систематически.
Однако даже хорошо продуманный код может содержать ошибки. Вот моя стратегия устранения неполадок:
1. Ознакомьтесь с документацией по фреймворку: Всегда читайте документацию!
2. Поиск в Google и Stack Overflow : Используйте ключевые слова:
site:stackoverflow.com [язык программирования] [библиотека] Ошибка [сообщение об ошибке]
site:stackoverflow.com Python Error ImportError: pandas module not found
– Решения для переполнения стекаЕсли проблема уже существует на Stack Overflow, я ищу комментарии и решения с наибольшим количеством голосов и часто нахожу быстрый и надежный ответ. Эта платформа является важным источником информации для разработчиков при решении Ошибки Python Слухи и библиотека Панды.
– доверяй своей интуицииКогда на Stack Overflow нет ответа, я доверяю своей интуиции и ищу надежные источники в Google; GeeksForGeeks, Kaggle, W3School и Towards Наука данных Для DS-штучек 😉
3. Скопируйте и вставьте код решения.
4. Верификация и тестирование : Заключительный этап включает в себя тщательное изучение и тестирование измененного кода, чтобы убедиться в его корректной работе. Это гарантирует надлежащую верификацию и тестирование кода.
Вы успешно решили техническую проблему!

Разве это не прекрасно?
Но на самом деле, неужели мы все еще этим занимаемся?!
В последнее время я заметил изменение в подходе начинающих программистов к программированию. Я профессионально преподаю программирование около трех лет, чередуя курсы по программированию, гостевые лекции в университетах и корпоративное обучение. Способ, которым программисты начинают процесс обучения, немного изменился, с акцентом на инструменты искусственного интеллекта в программировании.
Обычно я советую новичкам придерживаться старомодного метода просмотра и поиска ответов в Google, но люди все равно в конечном итоге используют ChatGPT. Их оправдание -
«Использование ChatGPT (для программирования) — это как наличие еще одного одноклассника, который разговаривает с вами, как с обычным человеком».
Это чрезвычайно полезно, особенно когда вы только пытаетесь разобраться в чем-либо на основе результатов исследований и документации, — для развития так называемой « интуиции программиста ».
Не поймите меня неправильно, я полностью за основы. Просмотр веб-страниц, чтение документации и задавание вопросов в сообществе — это, на мой взгляд, очень важные шаги. Полагаться исключительно на ChatGPT может быть несколько упрощенным подходом. Конечно, он может быстро обобщить ответы, но традиционные методы просмотра дают вам свободу выбора и экспериментирования, что крайне важно в мире программирования.
Но надо отдать должное: ChatGPT невероятно быстро дает ответы, особенно когда вы все еще пытаетесь понять, что правильно, а что нет в результатах поиска и документах. ChatGPT — мощный инструмент для ускорения обучения и поиска решений сложных задач программирования.
Я понимаю, что этот переход к использованию ChatGPT в качестве учебного партнера происходит не только в области программирования. ChatGPT произвел революцию в способах обучения людей. Я даже использую ChatGPT, чтобы исправить грамматику для этого поста, извините, Grammarly.
Отказ от использования ChatGPT подобен отказу от использования поисковых систем в начале 2000-х годов . Хотя ChatGPT может содержать ошибки и предвзятость, подобно поисковым системам, которые содержат недостоверную информацию или мошеннические схемы, при правильном использовании он может ускорить процесс обучения.
Теперь давайте представим себе реальный сценарий, в котором ChatGPT мог бы помочь вам, став вашим партнером по программированию и помогая с отладкой.
Сценарий: отладка скрипта Python
Представьте, что вы работаете над скриптом Python для проекта и сталкиваетесь с неожиданной ошибкой, которую не можете устранить. Это распространенная проблема при разработке программного обеспечения, требующая продвинутых навыков отладки.
Вот как я учился отладке в свое время — в эпоху до ChatGPT. Эти классические методы по-прежнему представляют большую ценность для понимания основ отладки.
Методология просмотра:
- Документация:
Начните с проверки документации Python на предмет модуля или функции, вызывающих ошибку. Документация Python является важным источником информации для понимания того, как работают различные модули и как правильно их использовать, помогая вам выявлять причины ошибок и эффективно устранять их.
Например:
- Посещать https://scikit-learn.org/stable/modules/ Для документации Scikit Learn.
2. Поиск в Google и Stack Overflow:
Если документация не предлагает решения, вы можете обратиться к Google и Stack Overflow. Просмотрите различные темы и обсуждения на форуме, чтобы найти похожую проблему и решить ее. Эти ресурсы представляют ценность для устранения неполадок в области машинного обучения.

3. Доверяйте своей интуиции:
Если проблема уникальна или недостаточно хорошо документирована, доверьтесь своей интуиции! Вы можете изучить статьи и источники в Google, которые вы считали надежными в прошлом, и попробовать адаптировать аналогичные решения к своей проблеме. Такой подход улучшает ваши навыки решения технических проблем.
Вы можете видеть, что в результатах поиска выше результаты взяты с W3school (надежный сайт по обучению кодированию, отлично подходящий для списывания), а два других результата — это официальная документация Pandas. Вы видите, что поисковые системы предлагают пользователям ознакомиться с официальной документацией. 😉
Вот как можно использовать ChatGPT для устранения неполадок.
Новый подход с ChatGPT:
- Взаимодействуйте с ChatGPT в беседах:
Вместо того чтобы просто просматривать документы и форумы, вы можете взаимодействовать с ChatGPT в режиме живого общения. Кратко опишите ошибку и задайте свой вопрос. Например, вы можете использовать ChatGPT, чтобы получить мгновенную помощь в понимании и устранении распространенных ошибок программирования.
«У меня возникла проблема с моим скриптом [язык программирования], где [описание ошибки]. Можете ли вы помочь мне понять возможные причины этой ошибки и предложить возможное решение?»

2. Разъяснение концепций с помощью ChatGPT:
Если ошибка связана с понятием, которое вам трудно понять, вы можете попросить ChatGPT объяснить это понятие. Например,
«Объясните, как [конкретная концепция] работает в [язык программирования]? Я думаю, это может быть связано с ошибкой, которую я получаю. Ошибка: [ошибка]»

3. Запросите рекомендации по устранению неполадок:
Вы можете обратиться к ChatGPT за общими советами по устранению неполадок в программах Python. Например,
«Каковы некоторые общие стратегии решения [проблемы]? Есть ли какие-либо рекомендации по инструментам или методам?»

Потенциальные преимущества:
- Пользовательские рекомендации: ChatGPT может предоставить персонализированные рекомендации на основе предоставленных вами конкретных сведений об ошибке и вашего понимания проблемы. Эта функция основана на возможностях большой языковой модели ChatGPT (LLM) для предоставления индивидуальной помощи.
- Разъяснение понятий: Вы можете запрашивать объяснения и разъяснения концепций непосредственно у ChatGPT, используя возможности его большой языковой модели (LLM).
- Эффективное устранение неполадок: ChatGPT может предоставить краткие и актуальные советы по устранению неполадок, которые могут упростить процесс отладки.
Возможные ограничения:
Теперь давайте поговорим о недостатках полной зависимости от ChatGPT. Я часто замечал подобные проблемы у своих студентов, использующих ChatGPT. В эпоху после ChatGPT мои студенты копировали и вставляли однострочное сообщение об ошибке из интерфейса командной строки, даже если ошибка была длиной в 100 строк и была связана с несколькими модулями и зависимостями. Иногда может сработать просьба к ChatGPT объяснить обходной путь, предоставив однострочный код ошибки, или, что еще хуже, это может добавить час или два ручной отладки.
У ChatGPT есть ограничение: он не видит контекст вашего кода. Конечно, вы всегда можете предоставить контекст своему коду. Однако в более сложном коде вы, возможно, не сможете предоставить ChatGPT каждую строку кода. Поскольку ChatGPT видит лишь небольшую часть вашего кода, он либо предполагает остальную часть кода на основе своей собственной базы знаний, либо просто интерпретирует её.
Вот потенциальные ограничения использования ChatGPT:
- Отсутствие динамического взаимодействия в реальном времени: Хотя ChatGPT предоставляет ценную информацию, ему не хватает взаимодействия в реальном времени и динамического обмена мнениями, которые могут обеспечить форумы или обсуждения. На StackOverflow у вас может быть 10 разных людей, предлагающих 3 разных решения, которые вы можете сравнить либо по принципу «сделай сам, попробуй», либо по количеству голосов «за».
- Опираясь на предыдущие знания: Качество ответа ChatGPT зависит от информации, на которой он был обучен, и он может не знать о последних обновлениях фреймворка или конкретных деталях вашего проекта.
- Может потребоваться дополнительное время на отладку: ChatGPT не имеет контекста для всего вашего кода, поэтому это может привести к увеличению времени отладки.
- Ограниченное понимание концепции: Традиционные методы просмотра дают вам свободу выбора и возможность немного поэкспериментировать, что крайне важно в мире программирования. Если вы знаете, как выбрать правильный источник, вы можете узнать больше, самостоятельно просматривая ресурсы, а не полагаясь на стандартную модель ChatGPT.
Если вы не спросите обученную языковую модель, специализирующуюся на концепциях и технологиях программирования, исследовательские работы по темам программирования, популярные лекции Эндрю Нга по глубокому обучению или твит Яна Ле Канна в X (ранее Twitter), ChatGPT даст в основном общий ответ.
Этот сценарий демонстрирует, как ChatGPT может стать ценным инструментом в вашем наборе инструментов программирования, особенно для персонализированного руководства и концептуального разъяснения. Не забудьте сбалансировать помощь ChatGPT с методами навигации и спросить сообщество, принимая во внимание его сильные и слабые стороны.
Суть
Рекомендовано для программистов: основные инструменты и ресурсы
Если вы действительно хотите использовать преимущества модели автозаполнения, вместо того чтобы полагаться исключительно на ChatGPT, попробуйте использовать расширения VS Code для автозаполнения кода, такие как CodeGPT — расширение GPT4 для VS Code — или GitHub Copilot , или инструменты автозаполнения на основе ИИ в Google Colab. Эти инструменты значительно повышают производительность разработчиков.

Как вы можете видеть на скриншоте выше, Google Colab автоматически предлагает пользователю варианты следующего кода.
Еще одна альтернатива — GitHub Copilot. С помощью GitHub Copilot вы можете получать подсказки от ИИ в режиме реального времени. GitHub Copilot предлагает варианты автозавершения кода по мере написания кода разработчиками и преобразует подсказки в предложения по кодированию на основе контекста проекта и соглашений об использовании методов. Согласно этой версии GitHub , Copilot Chat теперь работает на OpenAI GPT-4 (аналогичная модель используется ChatGPT).

Я активно использовал CodeGPT как расширение VSCode, пока не узнал, что Github Copilot доступен бесплатно для тех, кто интересуется обучающими материалами. На данный момент CodeGPT Co получил 2 миллион загрузок в магазине расширений VSCode. CodeGPT обеспечивает бесшовную интеграцию с API ChatGPT, Google PaLM XNUMX и Meta Llama.
Предложения по коду можно получить через комментарии.Вот как:
- Напишите комментарий с просьбой предоставить конкретный код.
- пресс
cmd + shift + i - Используйте код 😎

Вы также можете начать беседу через расширение в меню и перейти к обсуждениям по программированию 💬

Когда я размышляю о своем пути в программировании, я усвоил ценный урок: не существует универсального способа обучения. Крайне важно использовать разнообразные методы обучения, сочетая традиционные практики, такие как просмотр и взаимодействие в сообществе, с инновационными возможностями таких инструментов, как ChatGPT и инструменты автодополнения кода.
Что делать:
- Воспользуйтесь преимуществами персонализированных учебных ресурсов: Воспользуйтесь рекомендациями ChatGPT по учебным материалам и используйте их как ключевой инструмент в процессе обучения.
- Сотрудничать для решения проблем: Используйте ChatGPT в качестве партнера по совместной работе, как будто вы пишете код вместе с друзьями, что позволит вам эффективнее решать задачи программирования.
Чего следует избегать:
- Чрезмерная зависимость от ChatGPT: Не полагайтесь исключительно на ChatGPT и придерживайтесь сбалансированного подхода к развитию навыков самостоятельного решения проблем. Хотя ChatGPT является мощным инструментом для понимания структур кода и генерации идей, полагаясь исключительно на него, вы можете затруднить развитие аналитических и критических навыков мышления, которые необходимы для того, чтобы стать компетентным разработчиком.
- Пренебрежение прямым взаимодействием с сообществом программистов: Хотя ChatGPT предоставляет ценную информацию, не стоит пренебрегать преимуществами прямого взаимодействия и обратной связи от сообществ программистов. Это также помогает создать хорошую репутацию в обществе. Взаимодействие с другими программистами дает вам возможность перенять их опыт, обменяться знаниями и получить различные точки зрения на стоящие перед вами проблемы.
- Игнорируйте практическую практику программирования: Совмещайте руководство по ChatGPT с практическим программированием, чтобы подкрепить теоретические знания практическим применением. Практическое применение — это ключ к превращению теоретических концепций в реальные навыки. Попробуйте написать код самостоятельно, поэкспериментировать с различными решениями и отладить его. Это поможет вам закрепить понимание концепций и развить навыки решения проблем.
Расскажите в комментариях, как вы используете ChatGPT для облегчения программирования!
Удачного кодирования!
Комментарии закрыты.