January 1, 1970

Где раздобыть среду разработки для Си?

Проходим мимо, уважаемые френды, тут ничего интересного. Это только для однокурсников.

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

Итак! Вы обладаете компьютером с любимым Windows 7, умеете писать простенькие скрипты в Турбо Паскале, и имели несчастье поступить на мехмат,  где семинарист ничему не обучает, как делать, не говорит, а только требует программы? Я расскажу вам, что делать!

Скажу честно: два из трех предложенных вам путей решения задачи я не одобряю. Эти пути, не одобряемые мною, таковы:
А) Работать в одной из сред, созданных под Windows
Б) Работать через Сygwin
Третий путь, который я рекомендую, это
С) Работать через Linux.
Других удобных способов разжиться компилятором для Си нет.
Разберемся.

-  Работать в одной из сред, созданных под Windows
Скорее всего, эта среда разработана компанией Borland или её дочерьми. Вам достаточно легко будет найти и установить среду программирования вроде Borland C++, возможно, она уже есть у вас.  Если среда разработана не Borland, то это может быть С++ Bilder или MS Visual Studio, или мини-IDE вроде Dev-C. Существует достаточно много вариантов написать программу на Си под Windows, и все они плохие. Почему? 1) Потому что перегружены. 2) Потому что не обладают гарантированной совместимостью со средой программирования в классе на уровне исходника и точно не обладают ею на уровне скомпилированного кода.

  1. Перегружены. Что это значит? Это значит, что среда изначально была рассчитана не для обучения студентов, а для удобства взрослых дядь-программистов. Я объясню задачу: вам не нужна IDE. Вам не нужна среда, которая сама собирает проект, тестирует его, выкладывает в репозиторий, и не забывает следить за вашим кофе – а именно в таких системах сейчас всё разрабатывается. Вам же нужны только две вещи: компилятор и редактор с подсветкой кода. И вот с простыми чистыми компиляторами Си под Windows огромные проблемы. Этому есть свои исторические причины, но это так.
  2. Гарантированная совместимость. Вам нужен компилятор, который будет обрабатывать код в точности так же, как gcc – компилятор, используемый в классе. Соответственно, вам и нужен gcc. Это такой закон программирования, часть философии под названием Unix-way: если вам нужен функционал, и этот функционал уже написан, используй его. Попытки энтузиастов портировать gcc под винду существуют, но, насколько я знаю, они малоуспешны.

Таким образом, вариант работы через windows представляется мне неоптимальным. Если вы всё же твердо решили следовать этому пути, могу пожелать вам удачи. Обязательно расскажите мне об успехе, что бы я описал ваш метод в этой инструкции.

- Работать через Сygwin.
Cygwin – это специальная программа, нечто вроде виртуальной UNIX-машины, запущенной под windows. После того, как вы установите себе его, вы получите unix-подобную среду, способную работать с вашими файлами методами unix. Эта среда включает в себя огромное количество программ, аналогичных программам в linux и unix, в том числе желанный gcc. Cygwin определенными недостатками – он сложен в настройке, требует элементарных навыков обращения с консолью – тем не менее, это вполне рабочий вариант, подходящий под наши нужды. Далее я опишу установку Cygwin.
Инсталятор нужно скачать с официального сайта: http://www.cygwin.com/ , ссылка на инсталлятор лежит прямо на главной странице, для 86 и 64 разрядности. Опишу один из путей инсталляции
Соглашайтесь с инсталлятором, пока вам не предложат выбрать зеркало, с которого будет скачиваться программа. Выберете любое. Дальше вам предложат список компонентов, которые можно установить на ваш cygwin – очень длинный список программ, от Accessbility до X11. Нажмите на надпись Default напротив раздела Devel , что бы она сменилась на install. Жмите "далее", и заварите себе чайку, пока система будет скачиваться и устанавливаться (она может делать это час или два, в зависимости от скорости зеркала). Терминал cygwin – достаточно стандартный bash-терминал, реализующий все необходимые функции в рамках виндовой файловой системы.
Cygwin – удобная и мощная система, содержащая всё необходимое для разработки на Си. Но если вы настоящий IT-шник, то для вас существует еще лучший путь. Итак…

- Установить Linux.

Linux сейчас – огромное по размерам и влиянию на мир IT множество операционных систем, объединенных ядром и набором универсальных программ. Установить Linux достаточно просто; главной проблемой является, пожалуй, выбрать, какой именно Linux с какой оконной системой на борту ставить. Согласия тут нет, кто-то любит KDE, кто-то GNOME, кто-то ветвь Ubuntu, кто-то – Mandriva. Я перепробовал не так много линуксов, что бы считать себя знающим их, поэтому могу только посоветовать тот, которым пользуюсь я, и который я считаю удобным и приятным для перехода с винды. Это Linux Mint Mate, вот последний из них http://blog.linuxmint.com/?p=2627 . Mate – форк gnome2, сам Mint – форк ubuntu, и если эти слова эти слова вам ни о чем не говорят, то скажу только, что это разновидность одного из самых популярных и удобных для простого пользователя линуксов.

Удобнее всего установить линукс в качестве второй системы, дуалбутом. Для этого нужно, записав его образ с сайта на болванку или флешку, загрузить с этой болванки компьютер через boot-настойку в bios. Главная опасность при установке для вас – это опасность напутать с программой раздела диска и случайно отформатировать важные данные, так что сделайте бекап на внешний носитель. Это в любом случае небесполезно.

Загрузив с диска систему, вы можете полюбоваться на неё на деле, а после - установить через нажатие ярлыка на рабочем столе. Установщик достаточно умный, скорее всего у вас не возникнет с ним проблем. При разметке диска просто переместите ползунок разметки диска удобным образом для вас образом, не залезая в тонкую настройку, что бы отобрать несколько десятков гигабайт у винды и отдать их линкусу. После установки у вас при каждой загрузке системы будет возникать окно grub с предложением выбрать операционную систему – позже я обучу, как его редактировать. Загружаетесь в свежеустановленный линукс, обустраиваетесь в нем, скачиваете обновление. Баш-терминал можно открыть правой кнопкой мыши в любой папке, или через меню «пуск».

Что же. Теперь, когда у вас есть bash-терминал, можете написать в нем команду запуска компилятора:
gcc -c programname codefile.c
Если в codefile.c  нет ошибок, эта команда создает из него программу по имени programname , которую вы можете запускать командой
./programname
Последнее – выбор редактора. Вам нужен редактор кода с подсветкой. Очень хорош Sublime Text2 (идет всюду) , для windows существует прекрасный notepad++ , для linux – очень простой и удобный блокнот gedit и неплохой geany. Некоторые любят работать через vim прямо из консоли, хотя лично я не отношусь к их числу. Главное – не ставьте громоздкую IDE, она вам точно не нужна.

Удачи!

П.С. Если вы счастливый обладатель мака, то у вас нет никаких проблем. И даже Xcode не обязательно ставить. Хотя, я слышал, это хороший редактор.