Есть вопрос

Выбор IDE для программиста

Выбор IDE для программиста

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

Но так было до тех пор пока приходилось программировать под одну платформу и одну парадигму, а когда пришлось писать приложения с графическим интерфейсом то пришлось освоить новую IDE, для веб пришлось освоить ещё несколько, в потом выяснилось, что IDE это всего лишь инструмент для новичков, так же как специальна оборудованное место для обучения вождению. Выяснилось, что как и везде, так и в разработке ПО нет ни какой серебрянной пули, нет универсальной среды разработки. К тому же сейчас пошла тенденция писать IDE на Java и некогда, казавшиеся быстрым, IDE превратились в виртуальных монстров. Поверьте, в 2000 году, на компьютера со 128 мегабайтами памяти и 233 мегагерцами Visuai Studia запускалась открывала простенький проект в десятки раз быстре чем современный NetBeans или Eclipse с тем же самым проектом, есть торренты, скачайте, проверьте. И при этом эти IDE не добавили чего бы то было нового, ну разве что включили поддержку regexp, а ведь действия в них производятся точно так же: отредактировать текст, скомпилировать проект, пройтись в отладчике, повторить цикл.

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

Если немного отойти и посмотреть со стороны на процесс развития IDE то можно увидеть, что практически всё что в них когда либо предлагалось как некая киллер фича либо уже давно реализованя в качестве дополнений к текстовыми редакторам, либо просто исчезло. Например, кто сейчас помнит о попытках MSVC создать что-то своё для распределённой работы и контроля версий -- ни кто не помнит даже названия этого, но зато каждая IDE спешит обзавестись поддержкой GIT/SVN или например кто помнит терминальные средства автоматизации сборки, опять ни кто, опять на выходе остаётся простой и понятный всем Makefile. Кроме этого видна тенденция создания целого слоя IDE программистов, не способных для решения широкого круга задач, но успешно автогенерирующих код виртуальных машин для других виртуальных машин, беспомощно открывающих рты, с медленно шевелящими шевелящимися пальцами без своей любимой IDE, подобно рыбам выброшенным на берег.

Ниже я постараюсь привести плюсы и минусы использования программистами IDE и обычных текстовых редакторов.

Плюсы использования
IDE Редакторы (Vim/Emacs)
Высокая скорость создания нового проекта Высокая скорость запуска
Автоподопленение кода "из коропки" Чрезвычано высокая возможность расширения
Автоматизированное управление проектом Огромное количество модулей и поддерживаемых ЯП
Простота освоения Максимальная скорость набора кода
Простота использования Огромный жизненный цикл
  Истинная кросплатформенность
  Огромное количество хоткеев
  Возможность работать без мышки
  Возможность работать удалённо
  Возможность использования как единого инструмента для программирования и администрирования
IDE Редакторы (Vim/Emacs)
Минусы использования
Огромная ресурсоёмкость Высокий порог освоения
Низкая скорость запуска и работы Нет интуитивности в конфигурировании
Маленький круг возможностей конфигурирования проекта На начальном этапе освоения требуется создания собственной автоматизации
Небольшое количество поддерживаемых ЯП и различных формато Отсутвуют предустановки для разработчиков
Нет кросплатформенности Необходимость запоминания большого количества хоткеев
Зависимость от графического интерфейса  
Постоянные изменения интерфейса и системы управления  
Зависимость от поставщика  
Короткий срок жизни IDE  
Необходимость запоминания большого количества диалогов управления проектом  

Думаю эти списки стоит продолжить, но уже можно сделать вывод, что начинающему программисту необходимо нацеливаться на качественное освоение обычного текстового редатора, но при этом не стоит отказыаться от работы с IDE, наоборот, чем чаше запускаешь то и другое тем очевиднее становится выбор. В итоге, через 3-4 года можно появится программист способный программировать даже на роутере, даже через сотовый телефон по 2G каналу, понимающий организацию работы не только собственного ПО но и как устроено системное ПО ну или можно остаться 1Сником или пхпщников, закачивающим свои файлы по ФТП в перерывах между борьбы с вирусами


+7(977) 904-26-12
Яндекс.Метрика

Сформулируйте

  • что вы хотите получить: сайт, программу, базу данных, дизайн, консультацию
  • что вы уже имеете: доменное имя, хостинг, cms, старая версия сайта
  • укажите сроки
  • как вам удобнее общаться: почта, телефон,скайп, встреча, рабочее время