Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Чем глобально отличается текстовый редактор от IDE?

#веб_программирование #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 будет незаменима, особенно при написании ООП кода

Комментариев нет:

Отправить комментарий