Linus Torvalds made Subsurface - a dive tracking tool
plus.google.com
plus.google.com
I agree it's easy to be engaged in a good discussion in G+.
Linus is a master carpenter using his favorite tools, because for him, given his expertise with them they are the right tools for the job. What is the right tool for the job is not an absolute, you should take in to account the user of the tools as well.
Also, I think it is not very nice to say that it is 'buggy' without any evidence to back it up. Funny how this comment is made on the same day that another post on the homepage lauds C for making it fairly easy to write 'damn reliable' programs.
[1] https://github.com/torvalds/subsurface/commit/6eefcf40e68c2a...
Linus writes his code, fixes the bugs that are found. The end result will most likely be a solid and fast piece of software with a minimum of dependencies and bloat.
If that is not your cup of tea then do a better job but don't bitch about the way he chooses to do it.
What do you expect? For a guy like Linus to write a utility in a language that he feels is not optimal for himself and/or the problem at hand? To pick installing a 100M runtime to run a 50K binary?
Linus is a systems programmer, not someone that would go for an overkill solution in some high level stack, launched on Monday, forgotten by Friday. Code like this has staying power and has a chance of surviving its creator. Script stuff is typically throwaway.
> To pick installing a 100M runtime to run a 50K binary?
Well, first that's a false dichotomy: there are higher level languages that are still compiled and don't require a runtime. And 100M? Really? Lua uses 150K. The libraries he's using are probably way bigger than that.
> Code like this has staying power and has a chance of surviving its creator. Script stuff is typically throwaway.
Script is more throwaway because if the developer had to write it in C, it probably wouldn't be worth the effort. Why exactly would the same program written in a higher level language have less chances of surviving its creator?
Is it? It isn't very common but that alone does not make it stupid. Why do you think it is stupid?
From the README:
"Half-arsed divelog software in C.
I'm tired of java programs that don't work etc."
What language would you use?
That's the wrong question. You should ask someone like that "What language did you use?" People complaining about the language are always talking about how they would have done it better. Not that they did it better.
- Memory management - Portability issues - Lack of libraries
Because C/C++ allows you to make hard to detect errors easy. And does not usually stop you making stupid errors (such as simple initialization problems, syntax errors etc. because of lack of good IDEs). Maybe a bold claim, but if this would be a challenge, with a well defined problem, many less skilled java-python-ruby programmers would reach to the same level less than half the time.