Open milleniumbug opened 8 years ago
:+1: for clang-format
I also suggest ninja
(build system) and CMake
The build system thing is hairy. CMake sucks a lot imo. make/autoconf, scons, waf, gyp, msbuild/devenv, nmake, qmake, they all suck. Ninja is cool, but it's incomplete - you need a generator. I :+1: ninja only right now.
I tried astyle, it looked decent, but I heard clang-format is better. Someone to second millenium here?
lol I just missed your nab. Okay, add it guys.
ninja
isn't incomplete in that regard - it's specifically designed to be generated, rather than written by hand, as indicated on the project page:
it is designed to have its input files generated by a higher-level build system
It's specifically designed to be incomplete. You want a build system, you pick ninja, you have to walk the extra mile to actually have something working. I know it's not very hard to do it yourself, but you still have to do it.
Any idea on what description to add for clang-format
? There doesn't seem to be an "official" one.
The static analyzer Cppcheck is really simple to use and helped me to catch subtle things from time to time; I think it's worth mentioning. Also, valgrind
catches some bugs too from time to time.
+1 for valgrind
I have heard that the sanitizers available in Clang and GCC are great too (undefined behaviour, address and thread sanitizers). Some of them do what valgrind does but with a lower overhead. Too bad they do not work with MinGW. I wish I could test them.
But those are compiler built-ins (-fsanitize=address
), so they don't qualify as "tools" per se.
It's more like they are branded as additional tools that just happen to be directly incorporated in the compiler. And it seems that not enough people know about them.
I also propose @rightfold
"Compilers" should be a level-2 heading under "Tools"
Also add the clang modernization tools, LLDB, GDB, and SWIG.
SWIG sucks in many ways. It's not awesome at all
ok
Agreed that compilers could appear in tools.
kk, moving
I nominate MSYS2, as it's awesome, it has a package manager, and mostly fresh packages.
:+1: MSYS2
Concerning MSYS2, shall we mention Git Bash, which uses MSYS2 if I'm not mistaken and has this nice feature that allows to see the branch we're currently working on?
So much fuss about adding git rev-parse --abbrev-ref HEAD
to $PS1
Good thing to know (yeah, I don't know my tools) :D
Google is your firand
Haven't used Git Bash, but I'd say meh, it doesn't seem that it adds anything substantial, and the other problem is the introduction: MSYS2 provides an ecosystem, which Git is one of the possible ingredients, Git Bash screams "hey, I'm the shell which you can give commands to Git", which is less impressive.
This issue is to discuss tools - formatters, build systems and others.
I nominate clang-format