Репутація українського ІТ. Пройти опитування Асоціації IT Ukraine
×Закрыть

Порекомендуйте IDE для C

Потрібно вивчити «латинську» мову у програмуванні. Порекомендуйте ide для PC та під Android, щоб можна було практикуватись постійно. Дякую!

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Настоятельно рекомендую cs50.edx.org
Первая половина курса — отличный курс обучения по С, со своей браузерной ide на Cloud9 (аналогов для работы в браузере подозреваю что нет).
Если сам курс не интересен — то можно просто Cloud9 попробовать (хотя я смотрел только версию ide от cs50, и все положительные впечатления оттуда).

Можно работать с любого устройства с браузером (в том числе и с андроида).
Там полноценный Linux — bash, make, clang и т.д.
«Визуальный» дебаггер есть от cs50, или из командной строки средствами Linux.
Хороший текстовый редактор, файловый менеджерер (хотя опять таки, можно средствами Linux с файлами работать).

Щось «по швидкому» зробити/поправити — vi

А так сподобався Visual Studio Code code.visualstudio.com Дужє шустрий і зручний.

— Dev-C++ ( sourceforge.net/projects/orwelldevcpp ) ,
— CodeLite ( codelite.org ),
— Orange C ( github.com/LADSoft/OrangeC , включает IDE-шку, правда не знаю насколько удобную, но запускал, показалось, что она достаточно функциональна).
— Geany (типа «дешево и сердито», в том плане, что базовый функционал у нее по-моему скромный как для IDE — она больше нечто среднее между продвинутым редактором и идешкой).
— Anjuta (только для линуха правда)
— Pelles C ( ru.wikipedia.org/wiki/Pelles_C )

Под Андроид не в курсе есть ли полноценная си-шная идеха, но думаю может подойти любой редактор с подсветкой.

хотя... попробовал в деле только что Orange C — ну его нафиг... какое-то кривовато-глюковатое оно...

Якщо «вивчити мову», а не «написати проект, який буде робити....», то Вам IDE загалом не потрібна. Notepad++ та gcc в external tools, чи як воно там у них називається. Єдине шо — не буде можливості дебаг режиму.
Великі сумніви, що VisualStudio запропонує тип проекту «C console application». Мінімум — С++.
Так що якщо дебаг, то потрібен монстер або динозавр. Для РС. В лінуксі, може, з цим краще справи в 2017

Вообще-то IDE сильно облегчит жизнь новичку.
А про твои фантазии о С в студии я давно так не ржал. Прекрасно студия поддерживает С. Но надо смотреть какая версия компилятора и какую версию С поддерживает.

Вот только новичок сделать «си» там не сможет потому что он ещё не знает как компилятор отличает «си» от «си++»...

ЗЫ: да он и сам новичок ещё не отличает тоже...

Вообще-то это разные компиляторы для С и С++ юзаются в gcc. В QTCreator еще можно полазить по настройкам — они там разумны и элементарны и понять, что и когда.
Ну и IDE проведет его за ручку в скользких местах стандартными настройками и своей помощью. А вот уже позже начнет вникать в нюансы.
Студию не советую — нынче это еще тот монср-уродец. Еклипс — просто монстр. Разные мелкие поделея — не оберется гемора с их собственными багами.

SublimeText + make
або VIM якщо хочеш трохи помучатися

/офтоп/ ВІМом мучатись не треба, ним треба насолоджуватись :)

хіба що ви послідовник бдсм філософіі
gvim зі своіми «вікнами» намальованими псевдографікою досі лишився в минулому столітті

Тем не менее даже сегодня Far на два порядка лучше всяких тотал командеров.

gvim зі своіми «вікнами» намальованими псевдографікою досі лишився в минулому столітті
як то кажеться — ви просто не вмієте готувати :-)

На Windows: Visual Studio 2017 RC.
На Linux: QtCreator.

Atom можно поднастроить для C++, но я бы не рекомендовал... уж больно он кастамизируемый :)) Но можно... можно еще Visual Studio Code под мак — code.visualstudio.com/docs/languages/cpp. Но сказать ничего не могу — использую VSC для Golang и пока доволен.

Мне нравится Атом тем, что всегда можно «донавернуть» под свои потребности, а в базовом минимуме остается визуально приятным и удобным редактором на любой платформе. Периодически приходится скакать в работе с одной ОС на другую (по крайней мере мне). И после пары месяцев работы например в TextMate я плакал потом в Geany)

Я недавно начал использовать Eclipse. Относился к нему скептически (когда-то использовал его для Java), попробовал — в принципе понравилось, последний Neon научился делать наконец какие-то элементарные вещи как я люблю без плагинов, например делать soft wrap. Codeblocks как-то не понравился чисто субъективно интерфейсом, но это вкусовщина, не более — вроде тоже нормальная IDE. Ну и Notepad++ конечно, под линукс есть его очень неплохой аналог Notepadqq, тоже смог в нём нормально писать, минималистично, симпатичная подсветка синтаксиса. Про андроид не отвечу, т.к. в момент когда мне так уж приспичивает кодить с телефона в автобусе, я захожу с 3g по RDP на виндоус-сервак и пишу на нём.
А вообще, что примечательно, у меня есть коллеги на работе, которые обращаются с вимом (с гвимом, точнее) шустрее, чем я с иде. У меня челюсть отваливается каждый раз.

Чтоб делать упражнения из Кернигана и Ритчи IDE не нужно, хватит блокнота с подсветкой.

Я практически ушел со Студии на QtCreator.

А никто не спросил, что именно на Си человек писать собирается?

notepad++. Сам пробовал — понравилось.

Если изучать С не как латинский язык, а как нечто, что нужно будет использовать, я бы рекомендовал не трогать IDE вообще. Причина проста — в мире С с инфраструктурой полный швах, каждый строит свой шалаш из говна и палок. IDE не обладают магическими способностями (тем более существующие IDE для С), так что при работе с чужим кодом со своим привычном воркфлоу может возникнуть непреодолимое желание выпрыгнуть из окна. Лучше взять любимый текстовый редактор, и научиться им пользоваться.

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

Ну тут мнения могут быть разные, но даже студент с чистым разумом способен запустить gcc x.c; ./a.out

В целом, конечно, дело хозяйское. Но примерно так и получаются писатели на Visual Studio и «C++»

Но примерно так и получаются писатели на Visual Studio и «C++»
Не согласен, я например благодарен Borland C/C++ за моё счастливое детство, я даже не знал, что можно запустить компилятор руками, мейкфайлы открыл для себя спустя много лет.
мейкфайлы
Нынче это еще тот уродец вместе с автотулами.

мейкфайлы — это почти ФП :)

Во-во, причем еще и своеобразный ФП.
Помню когда-то большой проект, что обирался исключительно через мэйкфайлы и менять подход было нельзя сами мэйкфайлы. Пришлось написать генератор главного мэйкфайла и парсер остальных, чтобы по уже сбилдженым подпроектам лишний раз не шарился, ибо шарился он по ним в 3 раза дольше, чем компилил и линковал.

А есть какая-то нормальная альтернатива? cmake или вручную настраивать все в какой-нибудь иде?

Опять же, смотря какие цели вы ставите. Если просто пописать проектики, то IDE (в большинстве случаев) за вас все соберет. Если хотите заморачиватся с системой автосборки, то смотрите в сторону CMake, SCons, #чтонибутьэкзотическоенавашвкус...

Так мне как раз make нравится. Просто многие его критикуют, но тысячи проектов по-прежнему собираются мэйком, особенно в эмбеддеде. Значит не так уж он плох.

На вкус и цвет фломастеры разные. Лично мне мэйк не нравится. Какой-то птичий язык с дурнуватым синтаксисом. Не нравится именно тем что каждый раз нужно морщить мозг и вспоминать что обозначают все эти символы. Вместо того чтобы просто читать что и в какой последовательности собирается.

Посмотри в сторону как реализована сборка в BSD системах — есть системные .mk файлы с кучей кода, в своём проекте ты просто их подключаешь, они по умолчанию собирают все исходники в текущем каталоге. Естественно, можно всё кастомизировать по надобности. Как пример:

include qconfig.mk

INSTALLDIR=usr/bin

include qmacros.mk
include qtargets.mk

LDOPTS+=-ldrm

EXTRA_INCVPATH+=$(wildcard $(addsuffix /libdrm/,$(USE_ROOT_INCLUDE)))

Единственное, что плохого в мейкфайлах — под виндой это смерть. Каждый запуск процесса, каждое открытие файла, перенаправление в пайпы — это секьюрити, которое замедляет работу в десятки раз. То, что для юникс систем естественно — в винде это жопоболь.

Одни привыкли и ничего менять не хотят еще с 90-х прошлого века.
У других другого выбора нет. Не писать же самим систему сборки.
Ну а относительно «не плох» — «миллионы мух не могут ошибаться».

Нету. Cmake чуть поприятнее, но у него своих тараканов море. Самый главный их очень странный язык для описания сборки. И сейчас разрабы cmake с большой скоростью добавляют костыли — все больше и больше.
Ну и мне кажется, что причина такого застоя — это следствие того, что трава раньше зеленее была. Юних сейчас фактически фрагментировался на 2 ветви — ортодоксы и хипстеры.
Первые живут в 90-х, вторые бегут впереди паровоза.

С чем не согласен? С тем что выходят писатели на VisualStudio, которые даже не понимают на каком языке пишут? :) Начнешь учить С в какой-нибудь среде, а оно тебе по дефолту gnu99 оставит, или вообще gnu++11. Понятное дело, в старые далекие времена на венде особо вне UI не получалось бы нормально писать, если у тебя интернета нет, и ты нубас. Но сейчас же ХХI век на дворе. Маки, ванильный кофе, make CLI great again, вот это все..

Ну не буду спорить. Все равно ТС скорее всего забъет. В оригинальном посте есть слово Андроид. Вы представляете как ужасно писать на С на андроиде (в дороге наверное)?

ачнешь учить С в какой-нибудь среде, а оно тебе по дефолту gnu99 оставит, или вообще gnu++11.
gnu++11 -> gnu11. Ну и что? Ему до тех ньюансов как до Киева раком.
Понятное дело, в старые далекие времена на венде особо вне UI не получалось бы нормально писать, если у тебя интернета нет, и ты нубас.
Видать у меня сильно далёкие времена, UI->TUI, винда -> DOS, интернет -> FIDO.
В оригинальном посте есть слово Андроид. Вы представляете как ужасно писать на С на андроиде (в дороге наверное)?
Не только представляю, но и делаю, только у меня внешняя клавиатура Gear Head mini USB keyboard есть с собой. С телефона навигация по коду невозможна, увы.

ИДЕ может глюкнуть со свойствами проекта так, что и опытный на говно изойдет, пока найдет в чем дело. Полгода назад пришлось причесывать драйверный проект под последней Visual Studio. Волком выл.
А makefile, если нет сложных зависимостей, он с листа читается и любая ошибка ловится на ура. И в конфигурационные XML-и лезешь потом без малейшего смущения.

каждый строит свой шалаш из говна и палок.
Причем так, что шалаш только для него в этот момент времени. Никто другой его шалашом воспользоваться не сможет. Гитхаб завален по плешку подобными шалашами.

Мармелад СДК + МС Визуал Студия

Монстрик в виде Студии 2015 у меня полностью отбил желание ею пользоваться. Пока чуть юзаю еще 2013 Community. Но больше уже в QtCreator. Благо студийный компилятор туда элементарно подключается.

Заюзай 2015 и слови кучу гемора на пустом месте, особенно с нововедениями от мелкомягких в их CRT. Это помимо ее жуткой тормознутости.

Я б сказав Vim+YouCompleteMe+FZF.

+cscope :-)

але то все не для новачка

новачку реально Turbo C буде в сам раз

Конкретно его не использовал. Писал нативный код под андроид в Android studio, которая на том же движке. НАСТОЛЬКО удобно, все касты, куча подсветок, ворнингов, рефакторингов. Как VS + решарпер, только в 10 раз круче. Если придётся писать на С/С++ — обязательно попробую CLion. Сэкономленное время окупит его стоимость за первые несколько дней.

Исключительно Turbo C от Borland.

Добре) будемо сприймати як аргумент)

Qt Creator
Eclipse

Мне понравилось вот это: www.codeblocks.org Его в Канаде используют в школах под виндой + mingw компилятор. www.codeblocks.org/downloads/26

Просто. Сердито, но для новичка вполне приличный инструмент.

Я пользовал когда-то. Можно огрести гемор на ровном месте. Лучше уж эклипс

Сын уже пишет на нём 1.5 года, ещё ни разу не жаловался. А вся ценность эклипса заключена в плагинах к CDT, которые новичку даром не нужны, а тащить этого монстра ради редактора сомнительная затея.

Ну ок. Может лучше тало за 7 лет. РАньше он рандомно иногда не передавал часть объектных файлов на линковку.

Подписаться на комментарии