Contacts

Editor or IDE? Another attempt at analysis. Selecting a development environment (IDE) Integrated development environment ide

Microsoft Visual C++ Toolkit 2003
Microsoft not only has Windows, but also a free optimizing compiler :-) Although it is already quite “old” (as the name suggests - 2003), it is used by a fairly large majority of programmers. At that distant time, the MS company allowed itself to distribute only a console version of the compiler, as opposed to the current situation, when you can use, although reduced in functionality, but still an IDE - Microsoft Visual Studio Express. And if you can always download Studio from the company’s website, you won’t find Visual C++ Toolkit 2003 there - only on the Internet (for example, ;-)). Let's see what is included in the package from 2003: this is a C/C++ compiler and linker (the same, by the way, as was in Visual Studio 2003 Professional), a standard template library (STL) and .NET runtime - a “Jedi” set for a programmer for Windows :-).

Borland C++ Compiler 5.5
http://edn.embarcadero.com/article/20633
Another “veteran” who can instill fear in a first-year student with just his name ;-). In the “roaring 90s”, I wouldn’t be lying if I said that Borland occupied a leading position in the creation of development tools. At that time, if an IDE or a compiler for Windows OS was meant, then they were often Borland products. Later, of course, the palm was lost and new “stars” rose in the firmament of developers, but the warm memory of the company that gave the world one of the high-quality implementations of the C++ compiler will warm hearts for a long time :-) (just don’t develop another holy war;- )). Now another organization is developing a line of development tools - Embarcadero Technologies, which you can always read about on the WiKi page. Of course, they won’t give you new versions of C++Builder - only if you pay for money :-), but they will give you the latest version of the compiler, when it still belonged to Borland, free of charge - for this you need to go to: http://forms.embarcadero .com/forms/BCC32CompilerDownload where, by filling out the form and indicating the real email address, you will receive an email with a download link, or if you're bloody pressed for time ;-), you can download it right away. In the kit you will receive: the compiler itself, a linker, a resource compiler, a C++ Win32 preprocessor, a utility for creating lib files from dlls and other “goodies” for fruitful work in the field of creating programs for the Win32 OS family.

OpenWatcom
http://www.openwatcom.org/
As the all-knowing Wikipedia says: “Open Watcom is an open source community project for the support and development of multi-platform Watcom C, C++ and Fortran compilers and related programs.” We could stop here in the description, but for the sake of saving your time, it’s worth noting right away that although this compiler generates compact and fast code, it currently does not fully support the C++ standard, so when choosing it for your work, do not be surprised if suddenly someone's code will not be collected from you ;-). Unlike all the compilers presented in this review, Open Watcom is noticeably different in that it has a simple graphic editor, graphical debugger, resource editor and other utilities, essentially allowing you to download the package and immediately start creating :-).

Digital Mars C++ Compiler
http://www.digitalmars.com/
The compiler is being developed by the company of the same name Digital Mars, known for its development of the new programming language "D" (according to the author's plan, it was obviously supposed to symbolize the next step in the development of the C/C++ languages). On the developer’s website, we are invited to either buy a complete set of software for writing programs in C/C++, which, in addition to the compiler itself, also contains a graphical development environment with a debugger, help, various libraries, etc.; or download the console version of the compiler completely free of charge - which, in fact, is what earned it our attention :-). But don’t rush to rejoice too much, creators of cross-platform applications - this compiler only works on Windows OS :-).

This is not a complete list of well-known compilers for C/C++ languages. Intel® C++ Compiler (for non-commercial use), AMD x86 Open64 Compiler Suite, Clang, Djgpp ... the list can still be continued with a dozen examples, but the essence remains the same - when choosing a compiler, you must take a comprehensive approach to the analysis of the capabilities and application conditions that the use imposes of this or that product - so as not to get into a sticky situation during the development process :-).

Free Integrated Development Environments (IDEs)

Dev-C++
http://www.bloodshed.net/devcpp.html
Supported System: Windows 95/98/NT/2000/XP
Supported compilers: GNU GCC family (MinGW, Cygwin)

If you have already searched or are just looking for a free IDE for the OS Windows family for C++, then, I’m 100% sure, at least once you’ve heard (will hear) about Dev-C++. This very functional and compact development environment can be a good help for both a novice programmer and a professional. Unfortunately, Dev-C++ has not been supported for a long time - its development has stopped at version 5 beta, and the version for Linux is still in the alpha stage - and in order to get it you need to purchase the CD version of the software from Bloodshed (costing from $28 to $49 in depending on the level of the developer). But you shouldn’t immediately discount this IDE because of this ;-), but it’s worth turning to the development of the Dev-C++ project (which, in addition to all the Dev-C++ functionality, also contains a form designer for the cross-platform wxWidgets library).
So, what do we get if we decide to use Dev-C++:

GCC compiler support

Integrated Debugging (Used by GDB)
- project manager
- customizable code editor with syntax highlighting
- class viewer
- code completion
- list of functions
- profile support
- quick creation Windows applications, console programs, static libraries and DLLs (templates)
- support for templates that allow you to create your own project types
- creating a makefile
- editing and compiling resource files
- tool manager
- print support
- search/replace tools (it would be funny not to find them :-))
- CVS support
Well, are you already eager to get this “honey”? ;-) Then feel free to download Dev-C++ or !

MinGW Developer Studio
http://koti.mbnet.fi/vaultec/mingwstudio.php

Supported System: Windows 95/98/NT/2000/XP/Vista/7
Supported compilers: MinGW

Another "old man" :-) to the IDE shelf. As the name suggests, it works with a ported version of GCC - MinGW, although in most reviews this environment is characterized as cross-platform (by the way, on the current support site for MinGW Developer Studio, I never found a link to download the distribution for an OS other than Windows) . Honestly, I haven’t downloaded or used this IDE in my work, but it clearly has a group of users :-). If you programmed in C++ in MS Visual Studio 6.0, then you will definitely like this environment, because the author of MinGW Developer Studio tried to replicate this IDE from Microsoft when developing the interface. The only significant disadvantage is that the project has not been developed since 2005, and since 2008 the official website has even stopped working. But the world is not without good people, and if you are still interested in using MinGW Developer Studio, you can always download the updated version from the VaulTec website. Of course, there is nothing new there compared to the final official version - only work with one of the latest versions MinGW.
Based on the available information, the development environment in question has the following benefits:
- interface that supports working with multiple documents
- syntax highlighting
- project management (think “project manager” :-)) with settings for debug and release builds
- code folding
- integrated help
- debugging support
- and many more;-) which the authors were embarrassed to talk about

Code::Blocks
http://www.codeblocks.org/
Supported System: Linux/Mac OS X/Windows
Supported compilers: GCC(MinGW)/Digital Mars C/C++/Microsoft Visual C++ 6/Microsoft Visual C++ Toolkit 2003/Microsoft Visual C++ 2005/2008/Borland C++ 5.5/Watcom/Intel C++ compiler

The first truly cross-platform development environment in this review. Although the project is quite young, this did not prevent it from becoming popular among programmers, especially those developing applications simultaneously for several operating systems. The creators of Code::Blocks followed the path of an open architecture, thereby providing the opportunity for third-party developers to expand the capabilities of the environment through their own plugins (at the time of writing this review, there were more than two dozen of them). One plugin is worth mentioning separately - wxSmith, which is essentially a wxWidgets RAD tool that allows you to design window forms and other visual objects using the wxWidgets library (the wxWidgets library is installed separately). Many people, I think, will also like the presence large number templates for the project being created - starting from a static library and ending with projects such as Qt4 and Ogre. Of course, “seasoned” programmers can write all this themselves, which cannot be said about beginners who have just embarked on the unsteady path of programming :-), for whom this will be a good help in their endeavors. As the popular wisdom says, “it’s better to touch once than to hear a hundred times” ;-), therefore, for those who are interested in Code::Blocks, you are welcome to the download page, and for those who still doubt, a couple more positive points (in addition to those already mentioned ):
- code highlighting (well, where would we be without it :-))
- C++ and XML code folding
- code completion
- class viewer
- fast system builds (no makefiles required)
- support for parallel assemblies (convenient for multi-core processors)
- import MS VC projects
- import Dev-C++ projects

Support for GNU GDB and MS CDB debuggers (though not all MS CDB functionality has been implemented yet)
- and etc.

Eclipse C/C++ Development Tools
http://www.eclipse.org/cdt/
Supported System: AIX/FreeBSD/HP-UX/Linux/Mac OS X/OpenSolaris/Solaris/QNX/Windows
Supported compilers: mostly based on GNU GCC

One of the most famous development environments, the “cornerstone” of which was laid by IBM. Essentially, Eclipse C/C++ Development Tools (CDT) is a plugin for one large integrated development environment for modular cross-platform applications and its name is Eclipse. That. Eclipse includes a set of plugins that allow you to create applications in Java, C/C++, PHP, etc. The development of this entire colossus is led by the Eclipse Foundation, which you can quickly familiarize yourself with, for example, on the Wikipedia website. The big names of the companies behind the development and development of the Eclipse platform allow us to speak with confidence about the functionality and stability of this environment. So CDT has in its arsenal everything that a modern IDE for C/C++ should have:
- syntax highlighting
- code completion
- code folding
- link navigation through the code (hypertext links)
- code refactoring
- creation and management of projects for various tools
- standard make build
- visual debugging tools
- and many others
Add to this various plugins that extend the functionality of Eclipse C/C++ Development Tools and you will get an almost ideal development environment :-). Why almost perfect? But because it was developed in Java and, accordingly, requires a virtual machine installed on the system Java versions not lower than 1.5. This is often the decisive factor for some developers, since weak hardware significantly increases the time both for compiling the application being developed and for the environment itself to respond to user actions. You can always download CDT from the Eclipse download page.

NetBeans IDE
http://www.netbeans.org/
Supported System: FreeBSD/Linux/Mac OS X/OpenSolaris/Solaris/Windows
Supported compilers: GNU GCC

Like the Eclipse C/C++ Development Tools already discussed, the NetBeans development environment is written in Java (accordingly, it also requires installed virtual machine Java). In a general approximation, these environments can even be called similar :-). NetBeans also implements a model of components (plugins) that allow you to expand the basic functionality with both new features and support for new programming languages ​​- Java, Ruby, C/C++, Groovy, PHP. Naturally, this environment is initially focused on developing Java applications, but, nevertheless, you can download a separate IDE assembly that supports writing applications only in C/C++. Of course, in NetBeans you will find all the features and tools that are available in Eclipse C/C++ Development Tools, so there is no point in highlighting something separate :-). Often, when comparing these 2 IDEs, most of the conversation comes down to the topic of which one works faster, and not to a discussion of the capabilities. So, if you are interested in a development environment of this type, you can safely download both and test which one you like more :-).

Microsoft Visual Studio Express
http://www.microsoft.com/express/
Supported System: Windows XP SP3/Vista/Server 2003/Server 2008/7
Supported compilers: MS Visual C++ 2008/2010

The intensive development of free development tools, especially products backed by such IT business titans as IBM, Oracle, Intel, AMD, has obviously forced Microsoft to reconsider its policy on its products for software developers. So, since 2005, anyone can download a free version of the popular IDE - Visual Studio Express - from the company's website. This edition of Visual Studio is a set of stripped-down development tools for the languages ​​Visual Basic, C#, interesting to us C++ and Visual Web Developer Express and is positioned by Microsoft as an entry-level IDE for people who are not involved in professional programming (students, students, hobbyists, etc.). Don’t worry - you will be given a graphical interface and the ability to create windowed applications, but you will practically not be able to use the company’s developments in the field of code optimization and refactoring. You also won’t get the much-loved Visual Studio ability to quickly establish connections to remote databases in the data designer, just as you won’t get plugin support or compilation of 64-bit applications. But this is not a reason to abandon Visual Studio Express; on the contrary, those who want to learn how to program in Windows and for Windows environment, this will be a useful starting point, and if you include MSDN it will be great reference manual by language and Windows API.

Qt Creator
http://qt.nokia.com/products/developer-tools/
Supported System: Linux/Mac OS X/Windows
Supported compilers: GNU GCC

The last IDE in this review, but far from the last in functionality. Unlike all the development environments already discussed, Qt Creator was originally developed and is being developed as an IDE for the Qt framework. Of course, no one denies the possibility of writing a standard console application on it, but you have to agree to download ~ 46 MB for this (and in the installed form it’s about 100 MB) - it doesn’t look like a very rational solution ;-). That's why I do it myself, and I recommend it to everyone - to consider Qt Creator exclusively as a development environment for the cross-platform Qt framework. In this regard, you will appreciate the IDE's integration with the form designer (Qt Designer) and the help system (Qt Assistant). For beginners in learning Qt (and for lazy masters :-)), the developer, on the product website, offers to immediately download the Qt SDK - a set of all the necessary programs for developing applications using Qt - the Qt library, Qt Creator, the MinGW compiler (for Windows users). Based on the target orientation of Qt Creator, we can highlight the following features:
- integration of Qt form designer and Qt help system
- extensibility (via plugins)
- support for GDB (graphical frontend) and CDB debuggers
- code highlighting with support for multiple languages ​​and markups
And many others, not directly dependent on Qt Creator, but implemented through Qt, for example, the ability to create applications for mobile phones governed by operating system Symbian and Maemo.

On this hopefully happy note, I would like to end my review :-). Everyone is free to choose what to use in their work, or they are dictated by corporate rules. I would like to believe that this essay will allow someone to make their choice in the same way ;-). For me, personally, it was a combination of Code::Blocks + MinGW and, of course, the Qt SDK.

There are a lot of C++ development environments, and each purpose has its own special IDE. Here are the 10 most popular development environments and source code editors for C++.

If Xcode is your favorite development environment Apple, That Visual Studio is a development environment from Microsoft. Visual Studio is mainly known for writing applications that include .NET. This is a complete set of tools that allows you to fine-tune your application. There is both a Community and PRO version.

Visual Studio is not only designed for C++ developers, but also supports many other popular languages ​​such as C#, Visual Basic, and F#.

Visual Studio offers many features, some of which are:

  • intelligent code completion;
  • graphic form designer (GUI);
  • easy to use navigation system.

You can use the IDE for development computer programs For Microsoft Windows, as well as websites, web applications and web services.

You can find out more.

2 -Xcode

Xcode is not just an integrated development environment, but a complete set of software development tools created by Apple for developing software for macOS, iOS, WatchOS and tvOS.

Xcode is the best IDE for Mac, if only because it was created by the developers of the operating system. Therefore, if you are developers for Apple platforms, this environment is for you.

Xcode features:

  • creating applications for all Apple platforms;
  • code completion;
  • convenient work with GUI.

You can find out more.

3 - NetBeans

While NetBeans is famous for Java development, it is also one of the best C++ development environments for both Windows and Mac with Linux.

NetBeans also has many ready-made template projects for C and C++ that you can use as the basis for your applications. NetBeans was written using Java and can also be used for PHP and HTML5 projects. Ideal for beginners, but experienced programmers often use it.

Pros of NetBeans:

  • This software is open source;
  • developed and supported by Oracle;
  • support for visualized creation of GUI interfaces;
  • Qt Toolkit support;
  • support for remote development;
  • easy file navigation.

You can find out more.

4 - Eclipse

Eclipse is another easy-to-use yet powerful IDE for C and C++. There are few differences between Eclipse and NetBeans, but Eclipse is still a faster development environment.

Eclipse Pros:

  • ease of installation and use;
  • free and open source;
  • support for multiple platforms;
  • powerful engine for creating GUI interfaces;
  • at remote system explorer.

You can find out more.

5 - CodeLite

CodeLite is another free and fast IDE for C and C++ programming. CodeLite also supports PHP and JavaScript development.

CodeLite features:

  • multiplatform support;
  • built-in support for GCC/clang/VC++;
  • CodeLite is amazingly fast and powerful tool code completion dueown analyzer;
  • support for profiling, refactoring;
  • static code analysis and class browser.

You can find out more.

6 - Qt Creator

Qt Creator is the most famous development environment for creating graphical applications. If you are going to create good app With graphical interface, Qt Creator will be the perfect choice for you.

The problem is, it's paid. Don't worry, there is an open source version that is free. If you are a beginner, then you are unlikely to distribute it for money, and then a paid license is simply not needed.

Some of the features of Qt Creator:

  • simple and convenient GUI form designer;
  • cross-platform;
  • support for debugging, compilation, profiling, code completion and refactoring;
  • support for static code analysis;
  • fast Qt compiler;
  • Qt data visualization;
  • Qt Quick 2D Renderer;
  • Qt WebView;
  • Qt Virtual Keyboard.

You can find out more.

7 - Code::Blocks

Codeblocks is another free and open environment An IDE for C and C++, written using GNU C++. The main advantage is the cross-platform nature of the program. CodeBlocks can also be used for C and Fortran languages.

Some of the features of CodeBlocks:

  • simple and quick installation;
  • availability of a portable version;
  • convenient GUI form designer;
  • Built-in ability to create flowcharts.

You can find out more.

8 - Dev-C++

Dev-C++ is a free and open source integrated development environment written in Delphi for Windows. It is a lightweight IDE that only takes a couple of minutes to install. This is the best development environment for beginners, where you can install a plugin for creating GUI interfaces using drag-and-drop methods.

Some of the features of Dev-C++:

  • light weight;
  • P Easy to use toolbar;
  • code completion;
  • G Hotkeys for compiling and running, such as F9 and F10;
  • P growing installation.

You can find out more.

9 - CLion

This is an excellent C++ development environment created by the famous company JetBrains. It comes with some great features like Smart Editor, Code Analysis, Embedded Termina.

CLion - paid program, not having free version, however you can get trial version within 30 days to check it.

CLion features:

  • convenient creation of visualized interfaces;
  • availability of tools for convenient code creation and debugging;
  • ability to install plugins;
  • Finding errors in code in Live mode.

You can find out more.

10 - Geany

There are many ways to write code for web applications, from text editors to cloud-based development environments. It is difficult to immediately decide which environment is best suited for the tasks at hand. To save you time, we selected the most popular:

At the end of each section there is a summary table in which you can clearly see a comparison of the functions of editors for web development. This article discusses exclusively free cross-platform solutions, so popular proprietary editors like Sublime Text are not included in the selection.

Text editors for web development

Komodo Edit

Main features:

  • endless story of cancellation,
  • a wide range of plugins,
  • support for hundreds of programming languages ​​and file formats,
  • powerful search and replace,
  • integration with third party tools.

GNU Emacs

Desktop Integrated Development Environments (IDEs)

Eclipse

Cloud IDEs

Most desktop applications have moved to the cloud, so it is not surprising that cloud environments are also becoming popular among programmers. Not everyone immediately trusts cloud IDEs, but popular tools like Github and Pastebin help you get used to the fact that the source code is stored not on the local machine, but on a third-party server.

Cloud9

After a few minutes of working in Cloud9, you get the impression that you are in paradise for programmers. The interface is written in JavaScript, and the server part is written in NodeJS. Although Cloud9 is favored by developers and interface designers, it supports syntax highlighting for C#, C++, Python, Perl, Ruby, Scala and some other languages.

Vim's built-in mode is a nice touch, as is the support popular systems version control like Git, Mercurial and SVN. With CSSLint and JSBeautify, it is one of the most beautiful development environments.

Codeanywhere

Another app creation tool that often tops lists of the best is Codeanywhere. This cloud-friendly IDE supports code highlighting for HTML, CSS, JavaScript, PHP, MySQL and other languages. With apps for iOS, Android, and BlackBerry, Codeanywhere allows programmers to work anywhere.

Additionally, Codeanywhere supports Dropbox and SFTP, which help you easily create backups project files and share them with colleagues. It's not the most fully featured environment, but it gets the job done perfectly.

The system is paid, but there is a free tariff plan.

Eclipse Che

Eclipse Che is a cloud-based developer workspace and built-in IDE. Che provides an open source remote platform for multi-user application creation.

Main features:

  • workspaces including runtimes and IDEs,
  • workstation server with RESTful web services,
  • cloud IDE,
  • language plugins, platforms and tools,
  • SDK for creating plugins and assemblies.

Eclipse Che has two builds - single-user and multi-user. The first does not have components that provide multitenancy and differentiation of access rights. In this case, the server remains unprotected, but for local development it is a good choice.

Multi-tenant provides multi-tenancy. Accounts Users and desktops are isolated, and the KeyCloak mechanism is used for registration, management and authentication. Permissions APIs govern access to objects such as spaces, stacks, and organizations. User information is stored in a migration-aware database (PostgreSQL).

The compiler converts the source code (*.c, *.cpp files) into a working program. If you don't have a compiler, you'll need to install one before you start programming. There are many compilers available online for download. If you are a Mac OS X, Linux, or other *nix user (such as Unix or FreeBSD), you probably already have compilers installed such as GCC or G++.

Basic Concepts

Compiler- a program that translates the source (high-level) code of the program into the final (low-level) code.
Compilation- the process of converting high-level source text of a program into equivalent program text, but in a low-level language.
Linker(Linker) is a program that generates an executable module by linking project object files.
IDE(Integrated Development Environment) - a combination of a text editor and a compiler. Development, compilation and launch of your programs is carried out directly in the IDE. Integrated development environments simplify the process of writing programs, since writing code, compiling and running programs are performed in one program - the IDE. Another important feature of the IDE is that the IDE helps you quickly find and fix compilation errors.

Understanding Compilation Processes

Compilation and linking processes − short description what exactly happens when you compile a program.
Compilation errors, in some lines the compiler finds errors that need to be eliminated.
Compiler warnings - what compiler warnings are, how and why they are resolved.
What is the difference between declarations and definitions in C/C++. Learn the difference between a declaration and a definition in C/C++, and why it's so important.

Selecting Compilers (IDEs)

For Windows OS:
Code::Blocks with Mingw - recommended by us, free IDE! Code::Blocks is also available on Linux. You can see how to install this IDE in our article Installing Code::Blocks and MINGW.
Microsoft Visual C++ - Read about Visual C++. Guide Microsoft installation Visual Studio 2012

Integrated Development Environment(IDE = « I integrated D development E nvironment") is software, which contains everything you need to develop, compile, link and debug code. We need to install one such IDE.

But which one exactly? I recommend Visual Studio from Microsoft (for Windows users) or Code::Blocks (for Linux/Windows users). You can also install any other IDE. The basic concepts covered in these lessons should work in all development environments. However, sometimes the code may be partially different in different IDEs, so you will have to look for more information yourself. detailed information about working in the IDE of your choice.

IDE for Windows

If you Windows user(like most of us) then install Visual Studio 2017“Community” version, which is free (all other versions are paid):

Once you download and run the installer, you will need to select " Desktop Development in C++" There is no need to touch the items selected by default on the right side of the screen - everything is fine there, just make sure that the checkbox next to "Windows 10 SDK". This package can also be used in early Windows versions, so don’t worry if you have Windows 7 or Windows 8 – everything will work. Then "Install".

If you wish, you can check the boxes next to other download items, but keep in mind that then the size of your IDE will be significantly increased.

IDE for Linux/Windows

If you are a Linux user (or Windows user, but want to write programs that can then be easily ported to Linux), then install Code::Blocks. This is a free, cross-platform IDE that works on both Linux and Windows.

Windows users need to download the bundled MinGW version:

The setup is simple: just agree with everything that is asked of you. C++11/C++14 functionality in Code::Blocks may be disabled by default. To use it you need to go to Settings > Compiler:

And in the tab " Compiler Flags» put a tick next to the item "Have g++ follow the C++14 ISO C++ language standard [-std=c++14]", then press "OK":

Note: After installing Code::Blocks, some users may receive the following error message: Can’t find compiler executable in your configured search paths for GNU GCC Compiler . If you encounter this, try the following:

If you are a Windows user, make sure you download the MinGW version of Code::Blocks (the installer you download should have the word "mingw" in the name).

Try completely uninstalling Code::Blocks and then installing it again.

Go to Settings > Compiler and select "Reset to defaults".

If none of the above helps, try installing a different IDE.

An alternative is , which also works on both Windows and Linux.

IDE for macOS

Users Apple technology can use Xcode or Eclipse. Eclipse is not configured to use C++ by default, so you will need to install additional components for C++.

Web compilers

Web compilers are suitable for writing simple, small programs. Their functionality is limited: you won't be able to save projects, create executable files, or debug programs effectively, so it's better to download a full-fledged IDE if you're really serious about programming. Use web compilers only to quickly launch small programs.

Popular web compilers.

Did you like the article? Share it