#веб_программирование #ide #sass #notepad++ #интерпретатор
Не пойму в чем глобальное различие IDE и текстового редактора? Согласно википедии
IDE включает в себя текстовый редактор, компилятор или интерпретатор, средства автоматизации
сборки, отладчик.
Но насколько я понимаю, в интернет-технологиях IDE совсем не нужен, ведь автоматизация
сборки - это что-то типа include, sass, Emmet (что также легко устанавливается и в
качестве плагина для текстового редактора, Хотя как-то пробовал IDE-шку, там по-умолчанию
не было ни sass, ни Emmet), отладчик - это табличка, которая появляется, когда ошибка
в синтаксисе языка (по-моему по-умолчанию в текстовых редакторах встроен), интерпретатор
думаю тут вообще лишний, т.к. самый лучший интерпретатор для интернет-технологий -
это браузер? Или вообще все не так? Или может для интернет-технологий он лишний, но
для обычных десктопных программ очень даже нужен?
Ответы
Ответ 1
В текстовых редакторах нет понятия "проект". Что даёт это понятие:
Радикальное ускорение поиска по коду, с помощью индексации текста проекта - это очень
важно для больших проектов. На практике это секунда любого поиска по 100Мб текста .
Восприятие IDE проекта, как единого целого. В частности самая популярная фича - в
коде написано что-то вроде $obj->doSomething() (PHP) ctrl+click на doSomething перебросит
вас к телу этого метода doSomething, или к информации о функции, если она встроенная.
Возможность выбрать настройки для всего проекта, например кодировку.
Подсветка ошибок между несколькими файлами исходников, например вы создаёте метод
в классе , аргументы которого отличаются по типу от аргументов класса-предка. В целом
подсветка богаче - например скроллбар в PHPStorm может очень много сказать о большом
файле с кодом: там отображены ошибки, варнинги, коментарии, TODO, фейлы навигации,
git-изменения от HEAD; это очень помогает обозревать код.
Богатый автокомплит - начинаете набирать название метода/ф-ии/класса/css-класса,
и тут вам точно подсказывают, как-будто за вас знают, что вы хотите сделать. Это очень
удобно, и заодно немного обозревает структуру класса у которого вызывается метод.
В общем примеров ещё много можно привести - у всех них ноги растут из того, что проект
для IDE единое целое, и он его "видит". У текстовых редакторов нет понятия проект -
это ключевое различие.
Но даже без этого в IDE есть много специфичных полезных фич, например окно "Structure"
описывающее структуру класса, открытого в текущей вкладке, например плагин для работы
с Git из коробки. Не говоря уже о том, что качественную подсветку синтаксиса делают
только специфичные редакторы вроде Notepad++, которые хоть и удобнее использовать как
блокнот - но уже граничат с IDE по функциональности.
Главная цель IDE - красивенько уместить в вашей голове проект, даже если он большой.
Тогда как редактор, даже навороченный - это прежде всего утилита(помошник), подходящая
для небольших изменений.
Я например в Notepad++ делаю заметки, смотрю лог ошибок(нотпад сам подтягивает изменения
в файле - удобно), открываю исходники, обособленные от моего основного проекта, а также
копипащу в новые вкладки куски кода - как памятку. В IDE же веду основную работу по
проекту.
Ответ 2
Как один из примеров - это понимание структуры ООП. Сейчас я изучаю PHP и пользуюсь
netbeans. IDE автоматом подставляет разные значение и подтягивает различные методы
из другим файлов, как пример методы из абстрактных классов. При имплементации появляется
значок предупреждения о необходимости перегрузки методов.
Используя IDE удобно передвигатся по коду, особенно в этом помогут всплывающие подсказки,
когда по одному клику перебросит на другой файл с тем же абстрактным классом.
IDE понимает и анализирует код на ходу, что дает возможность исправить ошибки, не
запуская браузер.
Конечно, на маленьких проектах в несколько сот строчек кода хватит возможностей текстового
редактора. В других случаях IDE будет незаменима, особенно при написании ООП кода