|
| 05 May 2013 08:56 PM |
quote our savior linus torvald "C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.
In other words: the choice of C is the only sane choice. I know Miles Bader jokingly said "to piss you off", but it's actually true. I've come to the conclusion that any programmer that would prefer the project to be in C++ over C is likely a programmer that I really *would* prefer to piss off, so that he doesn't come and screw up any project I'm involved with.
C++ leads to really really bad design choices. You invariably start using the "nice" library features of the language like STL and Boost and other total and utter crap, that may "help" you program, but causes:
- infinite amounts of pain when they don't work (and anybody who tells me that STL and especially Boost are stable and portable is just so full of BS that it's not even funny)
- inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app.
In other words, the only way to do good, efficient, and system-level and portable C++ ends up to limit yourself to all the things that are basically available in C. And limiting your project to C means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "object model" crap.
So I'm sorry, but for something like git, where efficiency was a primary objective, the "advantages" of C++ is just a huge mistake. The fact that we also piss off people who cannot see that is just a big additional advantage.
If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.
But I'm sure you'd like it more than git" |
|
|
| Report Abuse |
|
|
| |
|
|
| 05 May 2013 09:01 PM |
C encourages bad practice by allowing programmers to use features like pointers that make it easy to mess up things. It's much harder to mess up in high level languages with garbage collection and abstracted constructs. This is true to such a point that while it could be said to be difficult in C to avoid memory leaks, in a language like Lua, it could be said that it is difficult to actually cause memory leaks.
This is true for memory management, but also for many other things, in particular programming constructs and type management.
_________________________________________________________________________ Twitter: https://twitter.com/MarkOtaris |
|
|
| Report Abuse |
|
|
Bitminer
|
  |
| Joined: 29 Jan 2013 |
| Total Posts: 501 |
|
|
| 05 May 2013 09:02 PM |
here comes a horde of eleet python devs using probably the worst language since list
import butts |
|
|
| Report Abuse |
|
|
lombardo2
|
  |
| Joined: 30 Nov 2008 |
| Total Posts: 1604 |
|
|
| 05 May 2013 09:02 PM |
| With great power comes great responsibility. |
|
|
| Report Abuse |
|
|
|
| 05 May 2013 09:04 PM |
I particularly like very high level languages like Prolog, Mercury or ECLiPSe, because while they're incredibly hard to get used to, it's almost literally impossible to mess up in them on anything other than syntax.
_________________________________________________________________________ Twitter: https://twitter.com/MarkOtaris |
|
|
| Report Abuse |
|
|
|
| 05 May 2013 09:08 PM |
>C encourages bad practice by allowing programmers to use features like pointers that make it easy to mess up things. It's much harder to mess up in high level languages with garbage collection and abstracted constructs. This is true to such a point that while it could be said to be difficult in C to avoid memory leaks, in a language like Lua, it could be said that it is difficult to actually cause memory leaks.
This is true for memory management, but also for many other things, in particular programming constructs and type management. HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA top notch reasoning "it encourages bad practice" |
|
|
| Report Abuse |
|
|
|
| 05 May 2013 09:08 PM |
>I particularly like very high level languages like Prolog, Mercury or ECLiPSe, because while they're incredibly hard to get used to, it's almost literally impossible to mess up in them on anything other than syntax. so basically you're a programming hipster
because nobody uses any of those |
|
|
| Report Abuse |
|
|
miz656
|
  |
| Joined: 19 Jul 2010 |
| Total Posts: 15336 |
|
| |
|
pwnedu46
|
  |
| Joined: 23 May 2009 |
| Total Posts: 7534 |
|
|
| 06 May 2013 01:23 PM |
| To be honest, I don't care about Linus Torvalds's opinion on what language is "good" or "bad". Use what works, and don't let your opinion be skewed because of what some somewhat famous (or even famous, for that matter) person says or thinks about a subject. They are both good languages, along with Java, Python, Lua, and so many others. |
|
|
| Report Abuse |
|
|
|
| 06 May 2013 01:29 PM |
@pwnedu46 have you ever released an application all around the world and managed an entire foundation dedicated to maintaining it and keeping it high quality didnt think so nerd gb2github |
|
|
| Report Abuse |
|
|
pwnedu46
|
  |
| Joined: 23 May 2009 |
| Total Posts: 7534 |
|
|
| 06 May 2013 01:37 PM |
| I never said I have, but that doesn't make my point any less valid. |
|
|
| Report Abuse |
|
|
MrChubbs
|
  |
| Joined: 14 Oct 2010 |
| Total Posts: 4969 |
|
|
| 06 May 2013 01:39 PM |
| C++ is better than C for applications with a higher level of abstraction, and I for one refuse to give up classes, without them OOP would be much harder. |
|
|
| Report Abuse |
|
|
Adam335
|
  |
| Joined: 19 Feb 2011 |
| Total Posts: 21464 |
|
|
| 06 May 2013 02:07 PM |
| I'm learning C, it's the base for multiple languages. |
|
|
| Report Abuse |
|
|
MrChubbs
|
  |
| Joined: 14 Oct 2010 |
| Total Posts: 4969 |
|
|
| 06 May 2013 02:09 PM |
| Actually C is also the base for the vast majority OSes, but Assembly is the base for C and so on, so it makes little difference. |
|
|
| Report Abuse |
|
|
|
| 06 May 2013 02:46 PM |
C Is really trash compared to what C++ can do.
<-- Look over or there --> |
|
|
| Report Abuse |
|
|
Adam335
|
  |
| Joined: 19 Feb 2011 |
| Total Posts: 21464 |
|
| |
|
|
| 06 May 2013 02:54 PM |
"quote our savior linus torvald" Oh dear. It's the Yafaray (or whatever his name is) kid again. |
|
|
| Report Abuse |
|
|
MrChubbs
|
  |
| Joined: 14 Oct 2010 |
| Total Posts: 4969 |
|
|
| 06 May 2013 02:57 PM |
| Richard Stallman >Linus Torvalds |
|
|
| Report Abuse |
|
|
| |
|
MrChubbs
|
  |
| Joined: 14 Oct 2010 |
| Total Posts: 4969 |
|
|
| 06 May 2013 03:08 PM |
| Actually, Absolute, the original name for C++ was "C with classes" so you're just slightly off there. |
|
|
| Report Abuse |
|
|