Конечно же не обязательно! Я начинал программировать в mymacs ( сильно урезанный порт emacs года 1995-го). Кв нем нем, кроме скобок ничего не было, интернета тоже не было. Явы тоже не было. Потом появился линукс и «нормальный» emacs. Но небыло списка функций, потом появилась утилита ctags. Потом классная IDE code wariot с подсветкой синтаксиса, шаблонами и прочей херью, ускоряя процесс разработки на порядок. Потом появлась ява, и снова emacs. И вот компания ibm выложила в суровый модемный интернет eclipse, который я качал примерно неделю. Появился рефакторинг, Переход по классам, функциям, автоматическая документация, подстановка функций и методов и т.д.
И конечно же я могу вернуться к монохромному зеленому монитору, старому редактору, командной строке с make. Но, черт возьми, нахрена тогда эти 30 лет эволюции?!