5 ms·
That quote reminds me of one of Joseph Campbell's - "computers are like Old Testament gods; lots of rules and no mercy." And to go along with that, some things
by leggomylibro 9y ago
That quote reminds me of one of Joseph Campbell's - "computers are like Old Testament gods; lots of rules and no mercy."
And to go along with that, some things like GNU Make still requires tabs, which is definitely annoying when you have your editor set to autoconvert. And some sects like Go or Python don't technically REQUIRE one or the other, but still try to aggressively purge the heretics.
- na85 9y agoIs that a limitation in GNU Make or is it an inherited limitation of m4? In my experience, m4 is an arcane bit of software that surprisingly few people know about and one that frankly should have been replaced years ago. Personally, I try to never use autoconf because of this.
- dasyatidprime 9y agoTab as the prefix for command lines is a property of all Makefile formats I'm aware of (though not of many other build script formats). Make itself (including GNU Make) does not generally use M4, though both Autoconf and Automake use it, often in conjunction with Make, as part of the Autotools suite which is also published by GNU. So, none of the above, in itself. It is a historical anomaly which has been preserved.
- khedoros1 9y agoI haven't dug into it, but Wikipedia claims that Make is actually about a year older than M4 (obviously not GNU Make).
- linkregister 9y agogo fmt Controversy solved for one language ;)
- rjeli 9y agoAnd clang-format[0] for C/C++, google-java-format[1] for Java, YAPF[2] for Python, rustfmt[3] for Rust... [0]: https://clang.llvm.org/docs/ClangFormat.html https://clang.llvm.org/docs/ClangFormat.html [1]: https://github.com/google/google-java-format https://github.com/google/google-java-format [2]: https://github.com/google/yapf https://github.com/google/yapf [3]: https://github.com/rust-lang-nursery/rustfmt https://github.com/rust-lang-nursery/rustfmt
- mjevans 9y agoThe parent post's point wasn't about add-on formats. The point was that the language spec it's /self/ has an included lint tool to eliminate controversy. The go language has /a/ (single) correct formatting syntax.
- eternauta3k 9y agoTIL vim has been hiding this problem from me.
- knome 9y agoemacs' makefile-gmake-mode, loaded automatically for makefiles, also hides this. I've set indent-tabs-mode to nil in my .emacs for years, but the mode knows it's needed, and will indent the line with a highlighted tab ( until you begin writing in the command to follow it, when it unhighlights it ).
- Sean1708 9y ago> which is definitely annoying when you have your editor set to autoconvert Is this actually a problem? Every editor I've ever used has detected that I'm writing a makefile and has changed the indentation to tabs automatically.