![]() |
|
|
|||||||
![]() |
C++ - Anyone else feel like C++ is getting too complicated? |
|
|
Thread Tools | Search this Thread |
|
|
#11 |
|
Matthias Buelow wrote:
> Noah Roberts wrote: > >> Exactly. The standard philosophy of C++ still stands: don't make anyone >> pay for anything they don't need to use. > > The "standard philosophy" rather seems to be: trade programmer time for > execution time. C++ has become so spectacularly unproductive for me, I > even have written ad-hoc interpreters to implement parts of an app in a > less bureaucratic language (a small dialect of Lisp, in that case) for > the simple reason that juggling with C++ only is so utterly unwieldy and > frustrating. Whatever. Then stop using it. Noah Roberts |
|
|
|
|
#12 |
|
Posts: n/a
|
Matthias Buelow wrote:
> The "standard philosophy" rather seems to be: trade programmer time for > execution time. C++ has become so spectacularly unproductive for me, I > even have written ad-hoc interpreters to implement parts of an app in a > less bureaucratic language (a small dialect of Lisp, in that case) for > the simple reason that juggling with C++ only is so utterly unwieldy and > frustrating. That kind of whining makes no sense. There's no such a thing as the perfect programming language which is optimal for all possible tasks. That's a physical impossibility. Many fanatics of some languages will boast how superb their pet language is and how it can be used for basically anything, but usually when you start studying the language in question, you always find shortcomings and things which it's not very suited for. Bashing a language for the reason that it's not the optimal language for all possible tasks is just stupid. Juha Nieminen |
|
|
|
#13 |
|
Posts: n/a
|
Kai-Uwe Bux wrote:
> That is _not_ the solution unless you program in solitude. As soon as you > are a maintenance programmer or have to deal with code of others, you have > to be fluent in the C++ _they_ use. That can include all the new features. > > Related: code should not be regarded solely as a means of instructing a > computer. It is also a means of communicating with other programmers. In > that regard a language can fail by being overly complex. At some point, a > language can get so large that the investment it takes to familiarize > yourself with all features becomes too large to make (after all, there are > other things competing for my attention). But a language needs to be shared > in order to serve as a means of communication. Many people benefit greatly from the new features. Some people might require extra studying to understand these features. Your argument basically says that it's better to deny the former people the useful tools for the sake of the latter people. I can't say I agree with that. Juha Nieminen |
|
|
|
#14 |
|
Posts: n/a
|
Zachary Turner wrote:
> The problem is, who's going to want to program in a language if they > know that only, say, 50% of the language is going to be accessible to > them at their IQ level? Why would the person not just pick another > language in that case, a language where they personally would feel > more productive since they know they're getting everything out of the > language that it has to offer? Are you seriously suggesting that C++ should be dumbed down so that people with lower IQ can use it? I'm not even sure how I should understand that. Juha Nieminen |
|
|
|
#15 |
|
Posts: n/a
|
Juha Nieminen wrote:
> There's no such a thing as the perfect programming language which is > optimal for all possible tasks. That's a physical impossibility. Agreed... > Many fanatics of some languages will boast how superb their pet > language is and how it can be used for basically anything, but usually > when you start studying the language in question, you always find > shortcomings and things which it's not very suited for. > Bashing a language for the reason that it's not the optimal language > for all possible tasks is just stupid. Yes.. I haven't tried to "bash" C++ for not being optimal. I was merely substantiating the OP's point that C++ is getting too complicated, from my perspective. IMHO, C (or the early, much simpler C++) isn't a vehicle suitable for building a complex multi-paradigmatic language upon, like C++ is trying to be. It's all hacks and horrible ad-hoc voodoo. C is, despite quite a few sores and tumours, a relatively elegant language for what it was designed to be. The early C++ was a working add-on hack, neither particularly elegant, rather quirky but practical enough that people picked it up. Modern C++, however, is an abomination and has lost the point a long time ago. Matthias Buelow |
|
|
|
#16 |
|
Posts: n/a
|
On Mar 19, 12:15*pm, Zachary Turner <divisorthe...@gmail.com> wrote:
> The problem is, who's going to want to program in a language if they > know that only, say, 50% of the language is going to be accessible to > them at their IQ level? *Why would the person not just pick another > language in that case, a language where they personally would feel > more productive since they know they're getting everything out of the > language that it has to offer? There's a major difference between IQ and ability to learn a language-- and that difference is motivation. The type of person you're warning about is the type of person who's not actually motivated to learn to use the tools available to them effectively. As far as choice goes, if they actually *have* a choice in the language they're going to use, then they should make a choice based on their project's requirements. There have to be at least 50 mature general-purpose languages out there, and hundreds more which are targeted to specific problem domains. > The problem is that C++ markets itself as a mainstream language, a > language for the masses so to speak (where the masses is anyone who > wants to write code that is close to the OS level), yet ALOT of the > constructs it provides are almost solely of academic interest. As quantifiers go, "a lot" is a pretty poor punt. As I've used C++, I've discovered that a lot of things that I thought of as academic turned out to have very practical uses. But then, that's the way it normally goes, isn't it? Something has to be studied before it becomes practical. [ snip straw man anecdote ] > > Honestly, if 90% of the users of a language aren't going to understand > how to use something effectively, or for that matter AT ALL, it > shouldn't be in the language. 90% of all users aren't competent enough to truly understand the language they're using, be it Haskell, PHP, C++, C, ANSI BASIC or a four-function calculator with an M+ button. And, again, it comes down to an issue of motivation and how much you care about effectively writing good code. (Google: "90% of everything is crap") Michael Mol |
|
|
|
#17 |
|
Posts: n/a
|
Matthias Buelow wrote:
> Modern C++, however, is an abomination and has lost > the point a long time ago. Yet people use it to write elegant, efficient and easily maintainable code. Why do some people have the obsession that tons of features = you must understand all of them to use the language ? Juha Nieminen |
|
|
|
#18 |
|
Posts: n/a
|
Juha Nieminen wrote:
> Matthias Buelow wrote: >> Modern C++, however, is an abomination and has lost >> the point a long time ago. > > Yet people use it to write elegant, efficient and easily maintainable > code. > > Why do some people have the obsession that > > tons of features = you must understand all of them to use the language > > ? It's an abomination I tells you!!! It's too complicated!!! Really, it is!!! Don't expect me to expand on that, it's all I gots. Noah Roberts |
|
|
|
#19 |
|
Posts: n/a
|
Juha Nieminen wrote:
> Kai-Uwe Bux wrote: >> That is _not_ the solution unless you program in solitude. As soon as you >> are a maintenance programmer or have to deal with code of others, you >> have to be fluent in the C++ _they_ use. That can include all the new >> features. >> >> Related: code should not be regarded solely as a means of instructing a >> computer. It is also a means of communicating with other programmers. In >> that regard a language can fail by being overly complex. At some point, a >> language can get so large that the investment it takes to familiarize >> yourself with all features becomes too large to make (after all, there >> are other things competing for my attention). But a language needs to be >> shared in order to serve as a means of communication. > > Many people benefit greatly from the new features. Some people might > require extra studying to understand these features. > > Your argument basically says that it's better to deny the former > people the useful tools for the sake of the latter people. > > I can't say I agree with that. a) That you do not like the conclusion of an argument does not make it invalid b) You actually misrepresent what I said. All that follows is that complexity has drawbacks. Whether the advantages outweigh the costs is a different matter altogether. But what does not fly is pretending the costs do not exist. (And this is what you did in the part you snipped and that I responded to.) Best Kai-Uwe Bux Kai-Uwe Bux |
|
|
|
#20 |
|
Posts: n/a
|
On Mar 19, 1:45*pm, Juha Nieminen <nos...@thanks.invalid> wrote:
> Zachary Turner wrote: > > The problem is, who's going to want to program in a language if they > > know that only, say, 50% of the language is going to be accessible to > > them at their IQ level? *Why would the person not just pick another > > language in that case, a language where they personally would feel > > more productive since they know they're getting everything out of the > > language that it has to offer? > > * Are you seriously suggesting that C++ should be dumbed down so that > people with lower IQ can use it? > > * I'm not even sure how I should understand that. I'm suggesting that they should be honest about who their target audience is. If the intended audience is academia, they're free to do whatever they want with it. Make it as complicated and impractical as humanly possible. But if they're going to claim that it's a language for use in solving mainstream, practical problems, then that's what it needs to be. And currently, it's not anywhere close to that. It's no longer the best at anything really, except perhaps at interfacing with legacy C/C++ code. If you want to write code that's in a HLL and still close to the OS you can use D now. Indeed, Andrei Alexandrescu is even a big fan of D now. (I have no idea what his stance is on C++ anymore, he could very well still love it). But what exactly *is* the compelling use case for C++ anymore? For all its complexity, it should at the very least offer a clear advantage in *something*, and I honestly don't think it does anymore, and furthermore that it's accelerating away from such a goal. The only possible advantage it might offer anymore is that its standard libraries are reasonably mature, but any language can achieve the same thing given enough time, and this still of course assumes that you can figure out how to use the standard libraries. I'm also noticing that you've sidestepped the real question in every single one of your responses, and instead chosen to respond with subtle suggestions that I might, perhaps, be too stupid to understand C ++'s awesomeoness. To which I would say that first of all, you should try to answer the real question (in particular, why should someone bother using a language for which the learning curve is unnecessarily high compared to the productivity curve, when you can achieve exactly the same things in other languages much simpler), and second of all, when you have to convince a large number of people (and believe me, I don't think I'm the only one) who have been proponents of C++ for a very long of C++'s long-term position in the world of programming languages, then perhaps it's time for some inner reflection. Instead of just denying everything people are saying without giving it some actual thought, think about what people are saying. Zachary Turner |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Very slow recognising DVD disc | Terry Pinnell | DVD Video | 1 | 03-28-2006 06:53 PM |
| Now I introduce some popular software of multimedia | eightsome@gmail.com | DVD Video | 0 | 03-28-2006 02:29 PM |