Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discuss tools #10

Open
milleniumbug opened this issue Jan 22, 2016 · 27 comments
Open

Discuss tools #10

milleniumbug opened this issue Jan 22, 2016 · 27 comments

Comments

@milleniumbug
Copy link

This issue is to discuss tools - formatters, build systems and others.

I nominate clang-format

@nabijaczleweli
Copy link
Member

👍 for clang-format

@nabijaczleweli
Copy link
Member

I also suggest ninja (build system) and CMake

@ghost
Copy link

ghost commented Jan 22, 2016

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 👍 ninja only right now.

@ghost
Copy link

ghost commented Jan 22, 2016

I tried astyle, it looked decent, but I heard clang-format is better. Someone to second millenium here?

@ghost
Copy link

ghost commented Jan 22, 2016

lol I just missed your nab. Okay, add it guys.

@nabijaczleweli
Copy link
Member

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

@ghost
Copy link

ghost commented Jan 22, 2016

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.

@nabijaczleweli
Copy link
Member

Any idea on what description to add for clang-format? There doesn't seem to be an "official" one.

@Morwenn
Copy link
Member

Morwenn commented Jan 22, 2016

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.

@milleniumbug
Copy link
Author

+1 for valgrind

@Morwenn
Copy link
Member

Morwenn commented Jan 22, 2016

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.

@nabijaczleweli
Copy link
Member

But those are compiler built-ins (-fsanitize=address), so they don't qualify as "tools" per se.

@Morwenn
Copy link
Member

Morwenn commented Jan 22, 2016

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.

nabijaczleweli added a commit that referenced this issue Jan 22, 2016
@nabijaczleweli
Copy link
Member

I also propose @rightfold

@rightfold
Copy link

"Compilers" should be a level-2 heading under "Tools"

@rightfold
Copy link

Also add the clang modernization tools, LLDB, GDB, and SWIG.

@ghost
Copy link

ghost commented Jan 24, 2016

SWIG sucks in many ways. It's not awesome at all

@rightfold
Copy link

ok

@Morwenn
Copy link
Member

Morwenn commented Jan 25, 2016

Agreed that compilers could appear in tools.

@nabijaczleweli
Copy link
Member

kk, moving

nabijaczleweli added a commit that referenced this issue Jan 25, 2016
@milleniumbug
Copy link
Author

I nominate MSYS2, as it's awesome, it has a package manager, and mostly fresh packages.

@nabijaczleweli
Copy link
Member

👍 MSYS2

@Morwenn
Copy link
Member

Morwenn commented Apr 5, 2016

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?

@nabijaczleweli
Copy link
Member

So much fuss about adding git rev-parse --abbrev-ref HEAD to $PS1

@Morwenn
Copy link
Member

Morwenn commented Apr 5, 2016

Good thing to know (yeah, I don't know my tools) :D

@nabijaczleweli
Copy link
Member

Google is your firand

@milleniumbug
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants