Well this is starting to get off topic now, but I wanted to reply to the following.
jonin wrote: |
---|
Linux has been held back by lack of a solid IDE for decades. |
Just wondering what you mean by that exactly? What IDE's have you tried? And what specific features are you looking for?
Have you tried
KDevelop? It's a mature application which can have other technologies like sfml, opengl, Qt and others integrated into it. It is also capable dealing with over 60 different languages / scripts - provided one has the appropriate compiler / interpreter installed.
jonin wrote: |
---|
I don't even know what is current; last thing I tried was eclipse which ate my project 3 or 4 times so I went back to develop in visual studio and migrate to unix after it was working. |
What do you mean by "ate my project" ? Presumably you weren't using version control? A lot of IDE's have GUI support for git. It seems "a long way around the mulberry bush" to develop in VS then migrate to a version of Unix/Linux.
For Qt, I just use QtCreator IDE - it works fine.
jonin wrote: |
---|
just run g++ filename for simple stuff. |
One should always compile with at least:
g++ - std=c++17 -Wall -Wextra -pedantic-errors *.cpp -o Exefilename
I am sure you know this already, but I mention it because we shouldn't be promoting appallingly minimal procedure.
For the option involving the standard, substitute the latest one your compiler can handle, although it's easy to update, so IMO one should always have the latest.
With makefiles, my IDE's use a bash script which generates the makefile automatically - so I don't even worry about it.
As for learning while using a text editor instead of an IDE approach - it has it's pro's and cons. The advantage is that you will learn very well because you will have discovered the hard way (this is the con) what your mistakes were. I first learnt C language in 1988 by teaching myself from the K&R book, with no internet and no one to talk to, and no IDE. Sometimes it would be several days before I realised what dumb mistake I had made. These days IDE's have background compilation which will tell you about errors and warnings as you type.
An example of a disadvantage of using an IDE, is that one has to learn ones way around the IDE - where do I put in the compiler warning options? But if one is going to use vim or emacs, there is a substantial amount to learn there too.