Как мне научиться программированию с помощью ChatGPT, если мне придется начинать заново?

Изучение ChatGPT в моем 15-летнем пути кодирования — выход за рамки простого копирования и вставки

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

Вот чему я научился, изучая различные подходы к программированию.

Фото Арнольда Франциска на Unsplash

Я всегда изучаю программирование одним и тем же способом; Как говорят люди, в основном это просто копирование и вставка. 😅

Когда дело доходит до создания чего-либо в мире программирования, вот краткое описание моего подхода:

  1. Выберите подходящий фреймворк или библиотеку.
  2. Учитесь на предыдущих проектах
  3. Разбейте это на шаги
    Разбейте свой проект на выполнимые этапы, сделав разработку менее стрессовой.
  4. Найдите каждую часть в Google.
    На каждом этапе обращайтесь к Google/Bing/DuckDuckGo или любой другой поисковой системе, которую вы предпочитаете, за информацией, рекомендациями и возможными решениями.
  5. Начать программирование
    Постарайтесь выполнять каждый шаг систематически.

Однако даже хорошо продуманный код может содержать ошибки. Вот моя стратегия устранения неполадок:

1. Проверьте документацию фреймворка: Всегда читайте документацию!

2. Поиск в Google и Stack Overflow: Поиск в Google и Stack Overflow. Примером ключевых слов может быть:

site:stackoverflow.com [язык программирования] [библиотека] Ошибка [сообщение об ошибке]

site:stackoverflow.com Ошибка Python ImportError: pandas Модуль не найден

– Решения для переполнения стекаЕсли проблема уже существует на Stack Overflow, я ищу комментарии и решения с наибольшим количеством голосов и часто нахожу быстрый и надежный ответ. Эта платформа является важным источником информации для разработчиков при решении Ошибки Python Слухи и библиотека Панды.
– доверяй своей интуицииКогда на Stack Overflow нет ответа, я доверяю своей интуиции и ищу надежные источники в Google; GeeksForGeeks, Kaggle, W3School и Towards Наука данных Для DS-штучек 😉

3. Скопируйте и вставьте код решения.

4. Проверка и тестированиеПоследний шаг включает тщательное изучение и тестирование измененного кода, чтобы убедиться, что он работает так, как задумано. Это гарантирует отсутствие проверки кода и его надлежащее тестирование.

 

Вы успешно решили техническую проблему!

Разве это не прекрасно?

 

Но на самом деле, неужели мы все еще этим занимаемся?!

Недавно я заметил изменение в подходе новых программистов к программированию. Я профессионально преподаю программирование уже около 3 лет, чередуя учебные лагеря по программированию, гостевые лекции в университетах и ​​корпоративное обучение. Подход программистов к изучению программирования немного изменился, и теперь основное внимание уделяется Инструменты искусственного интеллекта в программировании.

Обычно я советую новичкам придерживаться старомодного метода просмотра и поиска ответов в Google, но люди все равно в конечном итоге используют ChatGPT. Их оправдание -

 

«Использование ChatGPT (для программирования) — это как наличие еще одного одноклассника, который разговаривает с вами, как с обычным человеком».

Это очень полезно, особенно когда вы все еще пытаетесь понять что-то из результатов исследований и документов – развить то, что называется «Интуиция программиста».

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

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

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

 

Отказ от использования ChatGPT подобен отказу от использования поисковых систем в начале 2000-х.. Хотя ChatGPT может содержать предвзятость и ошибки, подобные поисковым системам, содержащим недостоверную информацию или мошенничество. При правильном использовании ChatGPT может ускорить процесс обучения.

Теперь давайте представим себе реальный сценарий, в котором ChatGPT мог бы помочь вам, став вашим партнером по программированию и помогая с отладкой.

 

Сценарий: отладка скрипта Python

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

Вот как я учился отладке в свое время — в эпоху до ChatGPT. Эти классические методы по-прежнему представляют большую ценность для понимания основ отладки.

Методология просмотра:

  1. Документация:

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

 

Например:
- Посещать https://scikit-learn.org/stable/modules/ Для документации Scikit Learn.

2. Поиск в Google и Stack Overflow:

Если документация не предлагает решения, вы можете обратиться к Google и Stack Overflow. Просмотрите различные темы и обсуждения на форуме, чтобы найти похожую проблему и решить ее. Эти ресурсы представляют ценность для устранения неполадок в области машинного обучения.

3. Доверяйте своей интуиции:

Если проблема уникальна или недостаточно хорошо документирована, доверьтесь своей интуиции! Вы можете изучить статьи и источники в Google, которые вы считали надежными в прошлом, и попробовать адаптировать аналогичные решения к своей проблеме. Такой подход улучшает ваши навыки решения технических проблем.

Вы можете видеть, что в результатах поиска выше результаты взяты с W3school (надежный сайт по обучению кодированию, отлично подходящий для списывания), а два других результата — это официальная документация Pandas. Вы видите, что поисковые системы предлагают пользователям ознакомиться с официальной документацией. 😉

Вот как можно использовать ChatGPT для устранения неполадок.

 

Новый подход с ChatGPT:

  1. Взаимодействуйте с 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:

  • Отсутствие динамического взаимодействия в реальном времени: Хотя ChatGPT предоставляет ценную информацию, ему не хватает взаимодействия в реальном времени и динамического обмена мнениями, которые могут обеспечить форумы или обсуждения. На StackOverflow у вас может быть 10 разных людей, предлагающих 3 разных решения, которые вы можете сравнить либо по принципу «сделай сам, попробуй», либо по количеству голосов «за».
  • Опираясь на предыдущие знания: Качество ответа ChatGPT зависит от информации, на которой он был обучен, и он может не знать о последних обновлениях фреймворка или конкретных деталях вашего проекта.
  • Может потребоваться дополнительное время на отладку: ChatGPT не имеет контекста для всего вашего кода, поэтому это может привести к увеличению времени отладки.
  • Ограниченное понимание концепции: Традиционные методы просмотра дают вам свободу выбора и возможность немного поэкспериментировать, что крайне важно в мире программирования. Если вы знаете, как выбрать правильный источник, вы можете узнать больше, самостоятельно просматривая ресурсы, а не полагаясь на стандартную модель ChatGPT.
    Если вы не спросите обученную языковую модель, специализирующуюся на концепциях и технологиях программирования, исследовательские работы по темам программирования, популярные лекции Эндрю Нга по глубокому обучению или твит Яна Ле Канна в X (ранее Twitter), ChatGPT даст в основном общий ответ.

Этот сценарий демонстрирует, как ChatGPT может стать ценным инструментом в вашем наборе инструментов программирования, особенно для персонализированного руководства и концептуального разъяснения. Не забудьте сбалансировать помощь ChatGPT с методами навигации и спросить сообщество, принимая во внимание его сильные и слабые стороны.

Суть

Рекомендовано для программистов: основные инструменты и ресурсы

 

Если вы действительно хотите воспользоваться преимуществами модели автозаполнения, вместо использования ChatGPT попробуйте использовать расширения VScode для задач автозаполнения кода, таких как CodeGPT — расширение GPT4 для VScode, Или Второй пилот GitHubили инструменты автозаполнения на основе ИИ в Google Colab. Эти инструменты значительно повышают производительность труда разработчиков.

Как вы можете видеть на скриншоте выше, Google Colab автоматически предлагает пользователю варианты следующего кода.

Другой альтернативой является Github Copilot. С помощью GitHub Copilot вы можете получать предложения на основе искусственного интеллекта в режиме реального времени. GitHub Copilot предлагает автодополнение кода по мере написания кода разработчиками и преобразует подсказки в предложения по кодированию на основе контекста проекта и стилевых соглашений. Согласно этому Релиз с GithubCopilot Chat теперь работает на базе GPT-4 от OpenAI (аналогичная модель, используемая 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 для облегчения программирования!
Удачного кодирования!

 

Комментарии закрыты.