Author Topic: Why did you choose Code::Blocks?  (Read 13971 times)

Offline SashaGT

  • Single posting newcomer
  • *
  • Posts: 7
Why did you choose Code::Blocks?
« on: June 06, 2023, 09:57:03 am »
I've been using Code::Blocks for probably a decade by now. My first IDE, the one I felt confident using, was Dev-C++. Likely because it was an easy install. It definitely was the first tool I used to compile C++ code.. but sometime soon after I started compiling C++ programs using Code::Blocks. I don't know why or how I came to use it but for this reason I've signed up to the forum a decade later looking for answers.

Why did you download a start using Code::Blocks?

After reading through the forums I found that this might be a refreshing question of self-reflection and exploration; I truely am curious as I don't quiet exactly remember how I came about this wonderful IDE and am hoping to rediscover the reasons as to why I had decided to commit myself to Code::Blocks for the last 10 years.

All I know is that it's familiar and I keep coming back!  ;)

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1628
Re: Why did you choose Code::Blocks?
« Reply #1 on: June 06, 2023, 11:24:48 am »
I was using C++ Builder, but was disappointed with the incompatibilities and limitations of their compiler.

I tested Dev-Cpp for game developing on MSW, but it was mostly abandoned and I needed Linux support.

I then tried Anjuta, but had no support for MSW and I did not like it.

Finally (2009) I ended with C::B because Ubuntu software repository offered it, and there was a version for MSW with identical GUI.


Side note: I hate-hate-hate MS tools and MS-isms like ATL, #pragma once and other "features" created just for making difficult returning to GCC.

Offline SashaGT

  • Single posting newcomer
  • *
  • Posts: 7
Re: Why did you choose Code::Blocks?
« Reply #2 on: June 06, 2023, 06:06:52 pm »
I understand the sentiment towards MS. I had a bad experience with an MSVS beta version that was preventing the latest non beta version from installing despite it being uninstalled. Looking back it was probably a Windows registry key problem.

I bet I was wanting to use the new C++ standards and I couldn't figure out how to replace them in Dev-Cpp back then.. so then I found C::B; a just as easy to install IDE with the latest MinGW compiler. I remember reading forums discussing C++0x and being very interested. So it's possible I migrated to C::B shortly after the release of C++11 once MinGW supported it.

Now that I've had a bit to sit and think about it that's probably what happened. ::)

Thanks for sharing!

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2803
Re: Why did you choose Code::Blocks?
« Reply #3 on: June 06, 2023, 06:58:52 pm »
I had clients who wanted to migrate to Linux, but my software was Windows only.

I found a team that was writing an IDE that supported both Linux and Windows named "Code::Blocks".

It was the shortest route to convert/support my software.
MSBuild console .bat system got retired for testing only. Never looked back.
« Last Edit: June 06, 2023, 08:07:53 pm by Pecan »

Offline SashaGT

  • Single posting newcomer
  • *
  • Posts: 7
Re: Why did you choose Code::Blocks?
« Reply #4 on: June 07, 2023, 03:50:58 am »
Solid reason! I've always tried to write software that's as platform independent as possible. I had intended to compile some of my projects for Linux but haven't gotten around to it. I don't think I started using C::B because of it's Linux support but it's definitely something that I've been planning on taking advantage of more recently.

Offline nenin

  • Almost regular
  • **
  • Posts: 228
Re: Why did you choose Code::Blocks?
« Reply #5 on: June 08, 2023, 07:09:45 am »
Why did you download a start using Code::Blocks?
70% the same as Miguel Gimenez.

1. I had to migrate to open source from Borland (many years ago).
1. Also I have to keep in mind multiplatform possibility.
1. For some time I used Dev-Cpp, but it was abandoned de-facto. Also it was underdeveloped.
1. There were some alternatives, but not good.
1. C::B was already operable with non-crucial issues. It also supported Fortran, which I need from time to time.

Offline cacb

  • Lives here!
  • ****
  • Posts: 538
Re: Why did you choose Code::Blocks?
« Reply #6 on: June 08, 2023, 09:07:15 am »
I come from a background where the company I worked for developed and delivered software for VAX/VMS and a number of Unix platforms. So cross platform was always my perspective. Then in the 1990s, Windows took over and development became more and more MSVS centric with GUIs using MFC, and cross platform kind of faded away, which I did not really enjoy.

I was looking for a good solution for cross platform GUI and found that wxWidgets was the best answer, it is native on all platforms which I think is the right approach. Code::Blocks supports wxWidgets development via the simply excellent and very important wxSmith plugin. wxSmith is a major reason for choosing Code::Blocks.

Also, Code::Blocks has its own build system that works the same on Windows and Linux (the platforms that matter to me). You can use GCC everywhere like most people do, or you can do what I do: Within one and the same project I have build targets for the MSVC compiler (used on Windows) and also for GCC (used for linux). This is as good as it gets for my use, the software is native everywhere and I can update the project files everywhere and use git to synchronize between platforms.

I have used Code::Blocks more or less this way since about 2008 and I enjoy it. I use the Nightly Builds of C::B on Windows and I build from source on Linux. I have a git mirror repository that is automatically updated every day from the SourceForge SVN original https://github.com/arnholm/codeblocks_sfmirror

Many thanks to the developers and maintainers of Code::Blocks!
« Last Edit: June 08, 2023, 09:09:55 am by cacb »

Offline SashaGT

  • Single posting newcomer
  • *
  • Posts: 7
Re: Why did you choose Code::Blocks?
« Reply #7 on: June 09, 2023, 06:56:54 am »
Code::Blocks supports wxWidgets development via the simply excellent and very important wxSmith plugin.

Yes! I've not much experience with wxWidgets but I've known about it and the plugin for some time now. I really ought to invest some time into learning more about it. I typically create an empty project and link everything I need manually via the build options but I recognize there's quiet a few templates that exist packaged with C::B. I've seen the wxWidgets template a few times but haven't had the time to investigate it.

Oh, I've also been reminded (just today) via the C::B splash screen that it's open source... likely another reason I was drawn to it!

Offline speedreadersteve

  • Multiple posting newcomer
  • *
  • Posts: 17
Re: Why did you choose Code::Blocks?
« Reply #8 on: June 20, 2023, 02:46:16 am »
It's simple to pick up and start coding with, which is good for a beginner like me.  It also has enough power to it that I don't have to hop over to visual studio in order to create something like a project.

Offline Butter-Swimming Butterfly

  • Multiple posting newcomer
  • *
  • Posts: 15
Re: Why did you choose Code::Blocks?
« Reply #9 on: June 30, 2023, 06:21:51 pm »
1. For Windows users, the other primary IDE option has been Visual C++ during the past couple decades. Visual C++ just had more annoyances during the last times I've tried it.
  ~ For example, Code::Block's debugging (GDB) graphical user interface is superior to what Visual C++ (and other C++ IDEs which are available for Windows users) offered last time I tried. VC++ had an inconvenient command-heavy interface if I remember right.
  ~ Visual C++'s solution/project configuration system was stupid (and it might still be).
  ~ Also, Code::Blocks was designed to work with GCC (and MinGW). MSVC doesn't really support the C++ standard as completely as GCC. GCC is a good compiler suite for C++ programmers.
2. Code::Blocks has a graphic style that is tightly-fitted, mostly uniform (non-messy spacing between layout content), and adequately colorful. I think it looks sharp, so I like it.
« Last Edit: June 30, 2023, 06:52:30 pm by Acidified Tango Fries »

Offline Bug Killer

  • Multiple posting newcomer
  • *
  • Posts: 18
    • Railroad modelling hardware and software
Re: Why did you choose Code::Blocks?
« Reply #10 on: October 14, 2023, 06:06:59 pm »
I use Code::Blocks because of wxWidgets ;=)). I write open source software for railroad model management. I am keen to make them work with Windows and Linux.

Offline Grit Clef

  • Multiple posting newcomer
  • *
  • Posts: 95
  • Where there is a will, there is a way.
Re: Why did you choose Code::Blocks?
« Reply #11 on: October 16, 2023, 12:56:21 pm »
Then I'd like to say that CodeBlocks is the most powerful and smart IDE of all the C/C++ IDEs. Because it's small but has wonderful functionalities and the highest speed of all those IDEs which have a good UI, I choose it at last.
-Windows 7, 32-bit
-CodeBlocks r13542, gcc 14.2.0, debug version

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6025
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Why did you choose Code::Blocks?
« Reply #12 on: October 17, 2023, 04:49:01 pm »
I use Code::Blocks because of wxWidgets ;=)). I write open source software for railroad model management. I am keen to make them work with Windows and Linux.

You image screen shot of the application looks nice, good work!
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6025
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: Why did you choose Code::Blocks?
« Reply #13 on: October 22, 2023, 01:01:59 am »
Back to the year around 2007, I was using Microsoft's MFC as a framework, and I found that I need a cross-platform GUI framework, and I finally choose wxWidgets. I was using Dev-Cpp IDE, but I soon found Code::Blocks is better, and I finally choose Code::Blocks.

Later, I see it had some bugs and some missing features, so I tried to contribute to C::B. I remembered that in that years, when I tried to start debugging C::B inside C::B, the gdb start time is about 1 minute or 2 minutes to load the debugee C::B.  :)
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.