Need advice about which tool to choose?Ask the StackShare community!
CLion vs Visual Studio
CLion is a cross-platform development IDE for C and C++ with major strengths in navigation, code generation and refactoring. It was developed by JetBrains and officially released for public use in April 2015. It takes care of routine development tasks while allowing developers to focus on more important things. Knowing your code through and through, CLion can boost your productivity with smart and relevant code completion, instant navigation and reliable refactorings.
Visual Studio is a fully-featured, extensible, free IDE developed by Microsoft for creating modern applications for Android, iOS, Windows, as well as web applications and cloud services. It has support for all languages and comes with a built-in Git integration for collaboration. Visual Studio has been around since 1997 when Microsoft first released it with the codename Boston.
Often times, developers get caught up in the choices of development environments, owing to the kind of tasks they want to do. In this post, we’ll objectively compare these two IDE’s and help you understand their strengths and weaknesses in a bid to make the decision-making process easier for you. Let’s start by getting familiar with their features.
Here, we’ll take a closer look at the individual features of these technologies to better understand what they can and cannot do.
CLion features Intelligence - CLion can analyze context and understand your project. As a result, you have access to smart code completion, formatting and helpful views with code insight.
Search and Navigation - With CLion’s search and navigation features, you can easily find your way through your codebase with instant navigation to a symbol, class or file. In addition, you can inspect the calls or types hierarchy and easily search everywhere for nearly everything (including IDE settings).
Intuition - CLion works with CMake to intuitively set up your projects. This means that, if you use a different type of project, the IDE will help you import to CMake. Moreso, when creating a new project in CLion, files can be added to the project just in one click, this demonstrates how easy it can be to start a new project in the IDE.
Smart code completion - CLion provides you the functionality that saves time on unnecessary typing while it generates code for you, from getters/setters to more complicated templates.
Code analysis - It is safe to say that you can both write and analyze code with CLion. The IDE has static analysis for all the languages it supports. Like other IDE’s, it highlights errors, throws warnings and suggests fixes.
Customization - As regards customization, there are no limitations in CLion. You can select default editor themes and customize them to match your needs or completely create your own if you prefer.
To see a comprehensive list of CLion features, feel free to look through their website to explore more of their offerings.
Visual Studio features Code completion - Visual Studio guides you with smart code completions as you write code in the IDE. It also provides live code assistance in all the supported languages.
IntelliSense - Describes APIs as you type and uses auto-completion to increase speed and accuracy. Exploring a new API is made faster because you can narrow down the set of values by category. Quick Info tooltips let you inspect API definitions, and squiggly lines let you know about issues, often showing them as you type.
Contextual navigation - Finding your way around in a large code base can be challenging. Visual Studio helps you find your way around more easily, without losing the context of the code or the markup you started from, with capabilities like Peek to definition, and the improved GoTo which lets you filter down easily, and choose to look just for one kind of item.
Code Lens - With Visual Studio’s Code Lens, there’s no need to leave your code to understand its call structure and navigate to related functions quickly. Code Lens goes much further. You can find out who last modified a method, or whether its tests are passing, all from right where you are in your code.
Quick issue fixes - Light bulb icons help you identify and fix common coding issues, in many cases “live” as you type your code, and take quick code actions (like refactoring, implementing interfaces and more) from right inside the editor.
Error List - Error List is your “one-stop-shop” for navigating and correcting code-related issues in your solution, whatever their source from compile and build to code analysis issues. Some languages support live custom “Analyzers” to spot domain-specific issues as you type.
Easy refactoring - As your project grows, chances are you’ll find yourself restructuring and refactoring code that you or someone else wrote earlier. That’s a whole lot easier when Visual Studio takes care of the heavy lifting for you.
Feel free to check more Visual Studio features to help you explore its potentials and help you better understand the IDE offerings.
Visual Studio community engagement As a way of maintaining external community engagement, Microsoft organizes global conferences called Visual Studio Live!. It is the leading independent conference series for .NET programmers and developers, offering in-depth training on Visual Studio.
CLion community engagement There are no vastly known public engagement programs like conferences targeted explicitly at training developers on the use CLion as of yet. However, JetBrains sponsors and partakes in conferences like PyCharm and KotlinConf where they have public booths to interact with developers and answer questions.
Visual Studio Visual studio has a good documentation system that helps developers and beginners quickly get started on the product. The documentation provides:
- An embedded 5-minute video for beginners on how to get started with VSCode. It covers how to download, install and configure Visual studio on all the supported operating systems.
- A full tutorial documentation on how to get started with Visual Studio on all supported languages with image illustrations and guides.
- A guided tour that introduces beginners to Visual Studio and provides an entire walk-through from building, writing and editing code all the way up to debugging, testing and demonstrating cloud and local data access.
CLion has an embedded Quickstart video that walks beginners through the major features of the IDE and how to do certain things they wouldn’t originally know. The video extends to cover major aspects of the IDE like:
- Search and navigation
- Editor basics
- Refactoring and Debugging
- CMake support, Testing, and Plugins
There are some other available webinars on the website that equally gives users a deeper understanding of CLion and its use cases.
CLion is a cross-platform development IDE; hence, it supports Windows, macOS, and Linux. This is one major advantage it has over Visual Studio, though they have provided a free add-on that allows for Linux development.
Visual Studio on the other hand, supports only Windows and macOS. This is a major blow for an IDE as matured as Visual Studio given that a large number of developers are on Linux. To that effect, they have provided Visual C++, a free add-on that allows for Linux development in Visual Studio.
Visual Studio supports a wide range of languages as can be seen on their supported languages board:
Pros and Cons
Each technology has its strengths and weaknesses. Here, we’ll look at the core strengths of these technologies and their equally explore their weaknesses as well.
Visual Studio Pros
International language support - Visual studio has support for 14 International languages.
Nice Documentation - Visual Studio has a very good documentations as it carefully provided tutorials and guides on the core functionalities of Visual Studio to get every user started on any language of choice. It covers Tasks, Languages, Workloads, and Tours.
Cloud Storage - Visual Studio Online account gives owners access to a place where they can store codes, backlog, and other project data with no servers to deploy, configure, or manage.
Git Integration - The Visual Studio built-in Git integration makes production faster. When deploying to production with Git, you can see changed, edit and commit when the need arises.
Plugins and Extensions - Visual Studio has a huge library of plugins and Eextensions to choose from.
Visual Studio Cons
- Size expensive - 2 GB of RAM; 4 GB of RAM recommended (2.5 GB minimum if running on a virtual machine)
Hard disk space: up to 130 GB of available space, depending on features installed; typical installations require 20-50 GB of free space.
No Linux support - Visual Studio only supports Windows and macOS which makes it a bad choice for Linux users. However, there is Visual C++, an available extension in the Visual Studio marketplace for Linux development.
It is a Freemium product - This means that in as much as Visual Studio is initially offered for free, it has other tools and services that are paid for; hence, it is not entirely free.
Slow - Visual Studio gets unusually slow on low-end machines due to its bulky size.
Cross-platform Support - CLion works on Windows, Linux, and OSX.
Code Completion - CLion has an intelligent autocompletion engine that tries predicts the symbols based on previous history and current context.
Native language support - CLion has native language support for C, C++, and Kotlin.
VCS Integration - CLion provides a unified interface for most popular VCS including Subversion, Git, GitHub, Mercurial, CVS, Perforce, and TFS. Meanwhile, local history will save you from unexpected accidents.
CMake support - The CLion’s smart CMake support provides technical benefits such as code generation, completion and automatic target updates.
Proprietary - CLion is a proprietary software which costs $199/1st year for a business license or $89/1st year for an individual license.
International language support - CLion supports only English as of the time of writing.
Limited external support - JetBrains doesn’t as of yet provide public mediums of physical engagements for users. There are currently no local or international conferences/meetups to teach and train developers on CLion.
CLion is an amazing tool for building C#, C++ and gaming applications. It is also a good choice if you’re on Linux as it supports all OS types. Its search and navigation functionality improves productivity as it allows developers to quickly navigate around the IDE and through their codebase to perform their tasks quickly and efficiently. It is in the Tecmint top 10 IDE’s for C/C++ and also ranked 6th in Slant 2018 ratings for C++ IDE’s on Linux.
Visual Studio enables you to write code accurately and efficiently without losing the current file context. You can easily zoom into details such as call structure, related functions, check-ins, and test status. You can also leverage Visual Studio core functionalities to refactor, identify, and fix code issues. Visual Studio has no programming language restrictions, offered in 3 international languages and has an inbuilt Git integration to allow collaboration on projects. It is perfect for developing web, mobile, cloud and gaming applications.
CLion vs Visual Studio: What are the differences?
The problem I have is whether to choose Android Studio or Visual Studio? I have to develop a simple app for a school project that can work on both iPhone and Android.
The most important factors for me are Android and iOS compatibility. Although note that i would like to become a Software Engineer when i finish my course. (I'd like to work for Apple, just saying!)
After that id like easy integration for Google Ads and such if i do develop another app that people actually use to support development. (I'd also like to stick with one easy programming language that's compatible with a wide variety of platforms since i'm a beginner and have only ever used Pascal)
First of all - Android Studio and Visual Studio are IDE's. Tools to create code. What you are asking is programming framework. I assume that when you are talking about Android Studio you mean Native Android Development and by Visual Studio you mean Xamarin.
If you want to create crossplatform app then Native Android Development is NOT a way to go. Xamarin might work for you, BUT - you'd rather recommend you to go with Flutter. It's much more performant than Xamarin, programming model is friendlier for developer and technology seems just more refined. It's also officially supported by google, so no worries about support.