Текстовый редактор > IDE

Тезис

Если ты только учишься программированию, тебе стоит использовать текстовый редактор и компилятор напрямую вместо среды разработки, где проект собирается одной большой зелёной кнопкой.

Аргумент #1

Большая зелёная кнопка таит секреты. Человек, который пользуется только IDE1, как правило, не понимает, что происходит, когда он нажимает на эту зелёную кнопку. То есть как, понятно, что в это время собирается и запускается весь написанный код. Но как? Что IDE делает, чтобы собрать и запустить проект? Там какая-то магия?

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

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

Аргумент #2

Гибкость. Из коробки в большинстве текстовых редакторов нет ничего кроме инструментов для собственно редактирования текста. Как в блокноте. Всё остальное находится в твоих руках. Ты можешь добавлять те возможности, которые тебе нужны. По итогу такая гибкость позволяет создать редактор, который будет намного лучше подходить под твои нужды и скорее всего работать быстрее IDE, особенно на слабых компьютерах.

Уточнение

Я не считаю, что никто не должен пользоваться IDE. Действительно существуют ситуации, для которых текстовый редактор не подходит. Кроме того я считаю, что нет ничего плохого в использовании интегрированной среды разработки человеком, который уже умеет обходиться без неё. Идея лишь в том, что сначала нужно научиться обходиться без IDE, а дальше уже выбор за тобой.

Итог

Ну окей. Пускай эти аргументы имеют место. Что делать-то?

Я советую попробовать Zed или Visual Studio Code. Это, пожалуй, самые распространённые, универсальные и простые в использовании текстовые редакторы, для работы в которых тебе понадобиться только установить расширение для поддержки нужного языка программирования.

IDE — Integrated Development Environment — интегрированная среда разработки — это большое приложение с огромным количеством возможностей для написания кода. Самыми яркими примерами являются Visual Studio, PyCharm или IDEA. ↩

Под пониманием я подразумеваю способность самостоятельно скомпилировать проект в терминале: напрямую с помощью компилятора или используя систему сборки вроде Make или CMake. ↩