Компьютерное программирование. Компиляторы и IDE
Программирование – это процесс написания компьютерных программ.
Если вы читаете данный урок, то вы точно пользуетесь компьютерными программами. Они не появляются сами по себе, а создаются программистами.
Примерно вот так они выглядят изначально:
Рис.1 Фрагмент исходного кода браузера Firefox.
Если вы обратите внимание на картинку, то заметите, что программа — это просто некоторый текст. Возможно, сейчас он кажется вам непонятной абракадаброй, но на самом деле в нем есть свои четкие правила, которые никто не может нарушить. Эти правила и составляют основу любого языка программирования. В принципе, записать текст программы можно в любом текстовом редакторе, даже в стандартном блокноте ОС Windows, но есть одно значительное но.
Как вы, наверное, знаете, компьютер не понимает ничего, кроме нулей и единиц. Уж тем более он не понимает никаких слов, поэтому написанный нами текст программы для него, примерно как и для вас сейчас – набор непонятных символов. Чтобы компьютер понял то, что мы от него хотим, нам нужна специальная программа, которая, если так можно выразиться, переведет программу, записанную на языке программирования, на язык, понятный компьютеру. Такая программа называется компилятором , а сам процесс перевода программы на понятный компьютеру язык — компиляцией . Итак, процесс написания программ состоит в самом простом виде из следующих шагов:
- написать код программы в любом текстовом редакторе
- скомпилировать исходный код
Но это неудобно писать код в блокноте, потом компилировать его специальной программой, особенно если ваша программа состоит из большого количества файлов с исходным кодом. В связи с этим программисты создали для себя такие программы, в которых можно сразу писать код, проверять его на ошибки, компилировать и запускать готовую программу. В общем, все сразу и в одном флаконе. Такие программы называются интегрированными средами разработки (IDE) . Таким образом, любая IDE сочетает в себе по крайне мере текстовый редактор и компилятор. Здесь мы подходим к вашему первому практическому заданию.
Сохрани в закладки или поддержи проект.
Практика
- Установить на свой компьютер любую IDE, которая поддерживает написание программ на языке Си (отдельно компилятор языка Си), и научиться выполнять в ней основные действия. Подробные инструкции ниже.
- список будет пополняться
Дополнительные материалы
В видеоролике ниже рассказывается история развития компьютерного программирования от, так сказать, «пионеров» этой области. Рекомендую к просмотру всем.
IDE для C и C++
Одной из проблем при программировании является выбор IDE, предлагаю в этом топике разобрать какие IDE существуют для C и C++. В чем преимущество одного над другим.
![]()
Visual Studio Express
- Бесплатность
- Подстановка имени функции по началу
- Возможность свернуть блок
- Нельзя ресурсные файлы визуально редактировать
- Нет поддержки MFC/ATL
- Только Windows
Visual Studio Community
- Бесплатность для определенных категорий пользователей (для разработчиков open-source или для небольших предприятий)
- Подстановка имени функции по началу
- Возможность свернуть блок
- Наличие редактора ресурсов, поддержка MFC/ATL
- Платный продукт для крупных предприятий (>250 ПК или > 1 млн. долларов годовой доход)
- Только Windows
Visual Studio (редакции Professional/Enterprise)
- Подстановка имени функции по началу
- Возможность свернуть блок
- Наличие редактора ресурсов, поддержка MFC/ATL
- Поддержка TFS
- Расширенный функционал тестирования
- Наличие плагинов
- Платный продукт
- Только Windows
CLion
- Рефакторинг
- Автоподстановка всего
- Кроссплатформенность
- Отладка через GDB
Минусы: — платный продукт
wxDev-CPP
- Бесплатность
- Наличие плагинов
- Отсутствие подстановки имени функции по началу
Eclipse CDT
- Бесплатность
- Плагины (невероятно много)
- Рефакторинг (не слишком крутой, правда)
- Автоподстановка любых идентификаторов
- Встроенная поддержка Doxygen
- Возможность отладки через GDB
- Кроссплатформенность
Code::Blocks
- Бесплатность
- Кроссплатформенность
- Поддержка множества компиляторов
- Поддержка пакетов от Dev-C++
- Еженедельные nightly build
- Множество шаблонов приложения для разных библиотек (wxWidjets, Ogre3D, Irrlicht, Opengl, SDL и т.д.)
- Поддержка Fortran 95 (иногда бывает очень полезно)
- Редкие официальные релизы
- Нет подсветки ошибок в редакторе
- Слабая аналитика
- Полное отсутствие рефакторинга
NetBeans
- Бесплатность
- Плагины
- Рефакторинг
- Автоподстановки методов, классов и макросов
- Возможность отладки, включая удалённую
- Кроссплатформенность
- Недостаточная поддержка разных видов сборки
- Требует установки и подключения компиляторов
KDevelop
- Бесплатный
- Автоподстановка кода (кое-где)
- Интересная подсветка кода
- Отладка через GDB
- Иногда недостаточно умный анализ кода
MinGW Developer Studio
- Бесплатность
- TODO: указать минусы
CodeLite
- Бесплатность
Qt Creator
- Бесплатность
- Кроссплатформенность
- Поддержка множества компиляторов
- Автоподстановка всего
- Возможность свернуть блок
- Рефакторинг
- Отладка через GDB/CDB
- Работа с git «из коробки»
MonoDevelop
- Бесплатность
- Проект закрыт
Visual Studio Code
- бесплатный
- много плагинов
- настраиваемый
- работоспособное автодополнение
- работа с git «из коробки»
- работает также под linux/mac (для с++ нужно поставить плагин от Майкрософт — Ctrl+P , ext install c++ )
- не умеет полноценно работать с кодом с++ под виндовс. Под linux/mac поддержка очень хорошая (включая отладчик)
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Где программировать на си
Си/C++
Anjuta • Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Sun Studio • Qt Creator • Ultimate++ • Microsoft QuickC
Java
WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP
Паскаль
Delphi • Lazarus • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal
PHP
Aptana Studio with PHP plugin • Delphi for PHP • Eclipse PDT • Komodo • Zend Studio • PHP expert editor
21 Best C IDE (Editor) for Windows & Mac in 2023
C is a general-purpose programming language that is extremely popular, simple, and flexible. It allows you to develop firmware and portable applications. C language combines the features of Low level as well as High-level Language.
There are numerous IDEs that offer smart code completion and validate errors in real time. These tools have a syntax checker and debugger for quickly editing C programming code.
Following is a handpicked list of Top C IDE, with their popular features and website links. The list contains both open source (free) and commercial (paid) software.
Best IDE (Compiler) for C Programming Language
#1) Dreamweaver
Dreamweaver is a popular C Development Tool. This tool helps you to create, publish, and manage websites. A website created with DreamWeaver can be uploaded to any web server.
Features:
- Dynamic websites can be quickly developed using Dreamweaver.
- You can create a website that fits any screen size.
- This tool helps you to customize workspace the way you like.
- It has an inbuilt HTML validator to validate your code.
- Provides Real-time collaboration, Live Preview, Drag-and-drop Editor, Multilingual, Syntax Highlighting, and Dual View
- Supports compliance standard such as GDPR
- Provides numerous plugins like Code View
- Seamlessly integrates with Fireworks and Flash
- Offers ready-made templates for blogs, ecommerce, newsletters and portfolios
- Provides programming languages like HTML, CSS, and JavaScript
- Offers flexible coding, Seamless Live View editing, Multi-monitor, and Redesigned
- It provides customer support via Phone and Chat
- Supported Platforms: Windows, Android and iOS
- Price: Plans start at $20.99 a month.
- Free Trial: 7 Days Free Trial
7 Days Free Trial
#2) Code:: Blocks
Codeblocks is open-source IDE for writing programs in C. It supports GCC (GNU Compiler Collection). This app allows you to write full breakpoint conditions.

Features:
- It provides workspace to easily combine more than one project.
- You can quickly switch between multiple programs.
- Codeblocks has a feature that automatically completes the code.
- You can build more than one project simultaneously.
- This C IDE for Mac provides a tabbed interface.
- You can use this app on Windows, Linux, and macOS.
#3) Eclipse
Eclipse framework is a website development tool for C programming. It is one of the best C IDE that highlights the syntax you have written. This tool enables you to easily debug the program. The app can automatically complete the code.

Features:
- It provides you readymade code template.
- This tool automatically validates syntax.
- It supports code refactoring. (A process of improving internal code structure).
- Eclipse enables you to manage the project remotely.
- It is a cross-platform IDE.
#4) CLion
CLion is a tool developed by Jetbrains. It helps you to quickly solve errors in the program. This IDE enables you to analyze the performance of your application with no hassle.

Features:
- Programmers can effortlessly run and debug programs.
- It helps you to test individual units of source code.
- This software helps you to manage your project and code effectively.
- CLion enables the developer to customize the editor.
- It automatically set formatting while you write code.
- Supported platforms are Linux, Mac, and Windows.
#5) Visual Studio Code
Visual Studio Code is open-source code editor developed by Microsoft. It is one of the best C IDE for Mac which provides smart code completion based on variable types, essential modules, and function definitions. The tool enables you to control multiple versions of one program with ease.

Features:
- This IDE can work with the Git version control system.
- You can debug code easily.
- It supports numerous extensions for including new languages, themes, and more.
- Visual Studio Code can be used on Windows as well as Mac operating systems.
#6) NetBeans
NetBeans is an integrated development environment for writing C programs. It has a project window that shows a list of projects currently exists. The tool can automatically complete the brackets.

Features:
- It can highlight code syntax.
- This C Editor application is integrated with the GNU debugger.
- NetBeans supports varieties of compilers.
- You can set exceptions, variable, function breakpoints, etc. and view them in the Breakpoints window.
- It automatically adjusts indent and format the code.
- This tool highlights variables and keywords in your C program.
- Netbeans IDE offers readymade templates for writing C code.
- Platforms are OS X, Windows, Solaris, and Linux.
#7) Codelite
CodeLite is an open-source tool for writing programs in C. It enables you to restructure your existing C code. This Integrated development environment can highlight the syntax you have written. You can use this application for free.

Features:
- Codelite can be integrated with cscope integration (text-based interface to search a code).
- You can customize syntax colors.
- This tool helps you to find files effortlessly using a tree view.
- The supported platform is OSX, Linux, and Windows.
#8) Atom
Atom is a simple editor for a writing C program. It can be customized to do anything without modifying a config file. This C Programming IDE enables you to search, preview and replace any text as you type in your program.

Features:
- It has an integrated package manager.
- This tool allows for cross-platform editing.
- You can find, preview, and replace text typed in a file or across the entire project.
- It offers a command palette that contains items that are used repeatedly.
- Supported platforms are Windows, Linux, and OS X.
#9) PlatformIO
PlatformIO is a software for a writing program in C language. It offers smart code completion for professional application development.

Features:
- It supports dark and light color themes.
- It offers advanced search facility for keywords, known or missed headers, etc.
- PlatformIO tool supports more than 200 embedded boards.
- This IDE can be used on Windows, Linux, and Mac.
#10) Sublime Text
Sublime is an IDE used for developing a project using C language. This tool enables you to jump to symbol, word, or line using a keyboard shortcut. It is one of the best IDE for C Programming that offers a command palette for changing the syntax.

Features:
- Sublime text provides API to extend the features.
- It highlights the syntax.
- You can quickly go to the definition of class or method.
- Supports shortcuts for ease of access.
- Sublime Text provides a command palette to hold frequently utilized functionality.
- It is available for Mac, Linux, and Windows.
#11) K Develop
K Develop is open-source IDE for writing a C program. It allows programmers to work on a project of any size. This program helps you to improve the quality of code. The tool offers customizable color schemes and shortcuts.

Features:
- It uses a version control system like Git, Subversion, Bazaar, and CVS.
- You can jump to function declaration or definition.
- It can highlight the code.
- This tool supports Solaris, Linux, macOS, Windows, and more.
#12) Apache Arrow
Apache Arrow is a software framework for developing applications in C. This application can highlight the code. It supports numerous varieties of industry-standard programming languages.

Features:
- It supports columnar layout that can be optimized for data locality.
- You can develop programs fast.
- It provides numerous computational libraries.
- This tool is organized for the efficient operation of analytic on modern hardware.
- Supported platforms are Linux, Windows, and macOS.
#13) Lazarus IDE
Lazarus is a program for rapid application development. This tool offers numerous components and graphical form designer to create a complex GUI. It has an integrated debugger for the testing program.

Features:
- Automatic synchronization between code and GUI forms.
- You can add or make changes in existing code components without any hassle.
- It is capable of handling large projects.
- You can project on any operating system and compile it.
#14) Brackets
Brackets is open source editor for developing web applications. This tool can highlight the pair of brackets. It enables you to customize UI available quickly.

Features:
- It helps you to quickly edit the C code.
- You can connect your browser in real time.
- You can efficiently manage the project.
- Provides preprocessor support, live preview, and inline editors.
- This app can be used on Linux, Windows, and Mac operating systems.
#15) EMACS
Emacs is a Unix based tool that provides a highly customizable feature. This application provides a packaging system for installing and downloading numerous extensions, and it supports syntax coloring. It offers complete built-in documentation.

Features:
- Supports Unicode for numerous human scripts.
- You can customize this app using the Emacs Lisp code.
- Emacs offers complete built-in documentation.
- This app offers a tutorial for new users.
- You can use this software on GNU, Windows, or mac operating system.
#16) VI/VIM Editor
VI/VIM Editor is a software for a writing C program. It offers a good search and replaces text facility. This program can highlight the syntax. The software has in-built facility for comparing files.

Features:
- It provides shortcuts for ease of access.
- VI/VIM Editor supports screen splitting editing more than one file.
- The tool can edit compressed files.
- It includes multiple undo and redo facility.
- This application can be used on UNIX operating system.
#17) Notepad++
Notepad++ is a code editor that can be used with Windows. This tool highlight syntax and keyword. It helps you to work with multiple open files in a single window.

Features:
- This C IDE for Windows highlights brackets written in the C program.
- You can zoom in or zoom out the screen.
- Macro (Automatic expandable instruction) recording and playback is possible.
- You can easily customize GUI in your computer.
- It supports the multi-language environment.
- Supported platform is Windows.
#18) Codeanywhere
Codeanywhere is editor for writing C program. It enables you to easily customize your development environment. This software helps you to build a program from PC, tablet, and mobile phone.

Features:
- It offers command prompt in the cloud.
- This application enables you to share the project with your colleague.
- It allows you to set permission for each share.
- It allows you to compare two files side by side.
- It enables you to save changes to a remote server.
- Codeanywhere helps you to move or copy a folder from one server to another.
- Supported platform is Windows.
#19) Geany
Geany is a C Editor software that uses GTK open-source toolkit. This editor autocompletes words or brackets. It enables you to customize themes and adding new file types. The tool provides a symbol list that helps you to know where the symbol is defined.

Features:
- Developers can easily add new plugins or improve the existing ones.
- You can easily compile and execute code.
- It simplifies project management.
- Supports code folding (selectively hide and display file).
- It can auto-close HTML and XML tags.
- Supported platform is Windows and Linux.
#20) AWS Cloud9
Cloud9 is a cloud-based editor that enables you to write, run, and debug code with any browser. It is one of the best software for C Programming which helps you to work from anywhere using an internet-connected machine. This IDE has an inbuilt image editor to resize, crop or rotate images.

Features:
- You can adjust panels in any direction by simple drag and drop.
- It has an integrated debugger to set a breakpoint.
- This tool has a built-in terminal that enables you to see the command output from the server.
- It supports keyboard shortcuts for easy access.
- You can share the development environment with your development team.
- Cloud9 offers a variety of themes.
- A supported platform is a cloud.
#21) Koding
Koding is a C compiler for Windows. It enables you to write and share the C program on any infrastructure for distributed applications. This app allows you to connect your local development workflows and tools to the cloud with a single command.

Features:
- It enables you to collaborate with other people.
- Your team can find inefficiencies in the program.
- It is designed for large teams to save time on configuring dev environments.
- You can seamlessly develop a project in the cloud.
- Administrators can provide secure user permissions.
- You can deploy more than one VMs (Virtual Machines).
- Supported platforms are Windows, Mac, iOS, and Android.
❓ What is the IDE in C?
C is a middle-level programming language that was developed at Bell Lab in 1972 by Dennis Ritchie. An IDE generally contains a source code editor, a debugger, build automation tools. IDE’s help to code your application in less amount of time.