Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-

c++ love it or hate it?

Name: Anonymous 2011-01-10 19:16

personalty, i love c++ whats your opinion on it?

Name: Anonymous 2011-01-10 19:18

ONE WORD: THE D PROGRAMMING LANGUAGE. THREAD OVER

Name: Anonymous 2011-01-10 19:19

This kind of trolling might get you a lot of responses on /g/, but seriously, /backplate getgoes/.

It's too obvious.

Name: Anonymous 2011-01-10 19:19

have fun with that, D sucks... c++ is were its at

Name: Anonymous 2011-01-10 19:20

and im not trolling, i love c++, i love pointers and being able to do low level stuff..... just seeing other peoples oppinions, never knew about /prog/

Name: Darkr 2011-01-10 19:26

I like the concept of C++, just not the implementation.  D is essentially C++ done right and I absolutely love it.  The problems of C++ stem from a lack of foresight into some of the features that evolved and from design by committee.  Things like templates which are difficult to parse due to the poor choice of <> as the operator, the long compile times, header files instead of proper modules, having 'delete' and 'delete[]', etc.

Most people seem to bash C++ because everyone else is doing it.  Few people actually understand why C++ sucks.  They just repeat the line like a parrot.

Name: Anonymous 2011-01-10 19:27

>>5
The D Programming Language has pointers, classes, all your sepples shit done better and has a standard way to inline assembly code.
Back to /g/, now.

Name: Anonymous 2011-01-10 19:30

>>6
Oh god, he's too good to be here. HIBT?

Name: Anonymous 2011-01-10 19:58

>>7
fuck off

Name: Anonymous 2011-01-10 20:07

>>1
Personally, I think C++ is a wonderful tool, once you managed to understand it. I doo agree with >>6-san that D has an interesting concept, HOWEVER I really dislike two things about D:
   1. The builtin Garbage Collector
   2. There are practically only two usable compilers (dmd and dmd2) Althoough there is also ldc (D compiler using the LLVM backend), and gdc (D compiler using the GCC backend)

Beside that, you really should ask yourself: What does D do, that C++ can't do? It's obvious that everything you can do in C++, you can do in D, and vice versa. The main difference being, that C++ is an ISO standardized language, is well tested, has a far bigger community, and a far broader choice of implementations (that includes compilers and interpreters).

D still has a loooooooooooooong way to go. A very long way.

Name: Anonymous 2011-01-10 20:14

I am fond of programming in C++. Despite it's imperfections and learning curve, the years I have spent mastering it have not gone to waste. C++ has helped keep me employed during these trying times.

I'm quite looking forward to working with more of C++0x as more compilers implement the new features.

I think the people that are quick to attack the language are nothing more novice programmers who have been drinking the koolaid served by their dark masters from the Ivory Towers of Academia.

Name: Anonymous 2011-01-10 20:31

I wouldn't trust a C++ programmer that liked the language. He's inexperienced or thick.

Name: Anonymous 2011-01-10 20:32

>>11
the academia I've seen tend to be fans of Sepples, and often not so much of other languages.

Name: Anonymous 2011-01-10 20:48

I love C.

I hate C++.

/thread

Name: Anonymous 2011-01-10 20:53

>>14
Go away.

Name: Anonymous 2011-01-10 20:58

>>12
I love it. And, I've been using it professionally for 13 years;)

Name: Anonymous 2011-01-10 21:12

>>16
That leaves only one option then, doesn't it?

Name: Anonymous 2011-01-10 22:58

>>17
Option A for autism.

Name: Anonymous 2011-01-11 0:06

Are there any C++ compilers that can trace use of objects so that objects that are not used after the function where they were new'd returns are allocated on stack instead of hogging up heap space and causing memory leaks if the programmer is sclerotic/careless/stoned?  (I am aware that one can use a portable alloca-based hack; I want a REAL-WORLD ENTERPRISE SOLUTION.)

Name: Anonymous 2011-01-11 1:11

>>19
As a matter of fact, this is a theoretical feature being considered for C++4X.  Google "automatic storage duration".

Name: Anonymous 2011-01-11 1:25

It's a horrible language. I've used it and read Bjarne's entire book, so I am officially the most qualified person on /prog/ to evaluate Sepples. It's holding the whole field of computing back by:

1. Wasting programmer brainpower coping with its pointless complications.

2. In cooperation with C, obscuring the need for kernels that give garbage collectors and databases the tools they need to be efficiently implemented.

3. Being solely responsible for the bastardized version of OOP that most of you morons probably believe correct.

Name: Anonymous 2011-01-11 1:40

>>21
Go back to your LITHPy Hugbox, Asspie.

Name: Anonymous 2011-01-11 1:45

>>22
Learn to program, kiddie.

Name: Anonymous 2011-01-11 1:48

>>10
1. The builtin Garbage Collector
You can disable it and manage your memory by hand, unlike Go
2. There are practically only two usable compilers (dmd and dmd2)
I have to agree, but the dmd2 is good enough for now.

What does D do, that C++ can't do? It's obvious that everything you can do in C++, you can do in D, and vice versa.
Well, you know, they are both Turing-complete. But D has much nicer metaprogramming facilities, doesn't inherit nothing of the bad things of C and has pointers. It has built-in dynamic arrays instead of buggy vectors in the standard library, therefore it also has safe strings. You can still have 0-termined strings with char* and '0', IIRC.

Name: Anonymous 2011-01-11 1:57

>>21
Being solely responsible for the bastardized version of OOP that most of you morons probably believe correct.
The only true OOP is CLOS.

Name: Anonymous 2011-01-11 2:29

>>19
Not that I know of, but boost has a smart_ptr class which automatically destroys the object whenever stack cleanup occurs.

Name: Anonymous 2011-01-11 3:42

>>23
Learn to Go back to /g/, Please

Name: Darkr 2011-01-11 4:08

>>25

Smalltalk was created by the man who invented OOP and was the first language to use the term.

Name: Anonymous 2011-01-11 4:34

>>24
But D has much nicer metaprogramming facilities
You mean, nicer syntax for metaprogramming facilities. D doesn't do metaprogramming better, it just uses a different syntax.

It has built-in dynamic arrays
C++ as std::vector.

instead of buggy vectors in the standard library
Buggy in what way? At this point i start to get the feeling you never really wrote anything in C++, and you just dump raw hearsay.

therefore it also has safe strings
C++ has std::string. Thing is, D attempts to fix "problems", even though these aren't problems at all; as you correctly pointed out, C++ started out as an extension to C, to allow OOP facilities, such as RAII and thereof. Today, C++ is no longer an extension to C, but a standalone language, but the concept of primitive type arrays didn't change in this time.

Name: Anonymous 2011-01-11 8:19

>>28

OOP wan a Norwegian invention first implemented by Simula.

Name: Anonymous 2011-01-11 8:49

>>30
Being massraped by illiterate nigger immigrants while denying actual dissidents of white color political asylum is a Norwegian invention first implemented in Norway.

Name: Anonymous 2011-01-11 8:55

>>31
*African American

Name: Anonymous 2011-01-11 9:56

>>29
You mean, nicer syntax for metaprogramming facilities. D doesn't do metaprogramming better, it just uses a different syntax.

No, it's not different syntax, it's different semantics.

D compile-time execution allows using ordinary functions.

C++ compile-time language is a weird pure-functional pattern-matching based monstrosity.

If that's "different syntax", then Haskal just "uses different syntax" from Pascal.

Name: Anonymous 2011-01-11 10:08

>>33

C++ templates are turing complete

Name: Anonymous 2011-01-11 10:24

Garbage collection is for morons.

Just like how software transactional (STM) memory will be for morons once the average desktop computer gets around 16 cores.

Real programmers manage their own memory and are aware of the memory footprints of their data structures as well as hardware cache coherency and memory hazards. The build their own memory allocators to suite different requirements.

Just like how real programmers today use fine-grained lock-free and wait-free synchronization primitives such as multi-producer/single-consumer bounded queues and RCU (read-copy-update) and build their work/task schedulers to be NUMA aware. You loose all of that fine grained control with one-size fits all STM.

This is why C/C++ will continue to be the language of choice for high-performance computing even in the age of massively parallel computation. C1x/C++0x have well defined memory models around which atomic operations can be implemented.

Enjoy your garbage collected and sequentially consistent programming environments, morons.

Name: Anonymous 2011-01-11 10:52

>>29
You mean, nicer syntax for metaprogramming facilities. D doesn't do metaprogramming better, it just uses a different syntax.
>>33
No, it's not different syntax, it's different semantics.

What a surprise, both are Turing-complete!

Name: Anonymous 2011-01-11 11:12

My biggest complaint is the performance of your average C++ Standard Library implementation. Most implementations are fucking garbage, where it seems like the main goal of the implementer is obfuscation rather than performance.

I've been writing my own containers. Here's some micro benchmarks against the MSVC++ 2010 Standard Library. Not currently on a Linux machine, but I've benchmarked it there and the GCC libstdc++ containers are even worse in performance than the MSVC++ ones. My containers are in the prog namespace and have the EXACT same interfaces--they're drop in replacements.

You'll notice up to factors of 10 and beyond in performance improvements with my containers (lower times are better). I've tried submitting patches to the GCC maintainers, but they won't accept them because it's too much code to look at and they don't want to risk breaking ABIs.

So instead, I've been submitting patches to Clang/LLVM's libc++ implementation and they're getting accepted. Fuck GCC.


Sequence Containers
----------------------------------------------------
  push_back_int... SUCCESS
    prog::deque : 0.000905s [9.048058E-001s / 1000]
    std::deque : 0.003104s [3.104420E+000s / 1000]
    prog::list : 0.007332s [7.332047E+000s / 1000]
    std::list : 0.009298s [9.297660E+000s / 1000]
    prog::vector : 0.000640s [6.396041E-001s / 1000]
    std::vector : 0.000686s [6.864044E-001s / 1000]
  push_back_string... SUCCESS
    prog::deque : 0.001903s [1.903212E+000s / 1000]
    std::deque : 0.003978s [3.978026E+000s / 1000]
    prog::list : 0.008174s [8.174452E+000s / 1000]
    std::list : 0.009828s [9.828063E+000s / 1000]
    prog::vector : 0.002496s [2.496016E+000s / 1000]
    std::vector : 0.002730s [2.730018E+000s / 1000]
  assign_int... SUCCESS
    prog::deque : 0.000187s [1.872012E-001s / 1000]
    std::deque : 0.003307s [3.307221E+000s / 1000]
    prog::list : 0.007285s [7.285247E+000s / 1000]
    std::list : 0.009017s [9.016858E+000s / 1000]
    prog::vector : 0.000031s [3.120020E-002s / 1000]
    std::vector : 0.000031s [3.120020E-002s / 1000]
  assign_string... SUCCESS
    prog::deque : 0.001732s [1.731611E+000s / 1000]
    std::deque : 0.004399s [4.399228E+000s / 1000]
    prog::list : 0.007972s [7.971651E+000s / 1000]
    std::list : 0.010218s [1.021807E+001s / 1000]
    prog::vector : 0.001591s [1.591210E+000s / 1000]
    std::vector : 0.001685s [1.684811E+000s / 1000]
  insert_int... SUCCESS
    prog::deque : 0.000156s [1.560010E-002s / 100]
    std::deque : 0.000624s [6.240040E-002s / 100]
    prog::list : 0.000624s [6.240040E-002s / 100]
    std::list : 0.000936s [9.360060E-002s / 100]
    prog::vector : 0.019500s [1.950013E+000s / 100]
    std::vector : 0.124177s [1.241768E+001s / 100]
  insert_string... SUCCESS
    prog::deque : 0.000312s [3.120020E-002s / 100]
    std::deque : 0.000624s [6.240040E-002s / 100]
    prog::list : 0.000780s [7.800050E-002s / 100]
    std::list : 0.000936s [9.360060E-002s / 100]
    prog::vector : 0.068952s [6.895244E+000s / 100]
    std::vector : 0.716825s [7.168246E+001s / 100]
  insert_multiple_int... SUCCESS
    prog::deque : 0.000312s [3.120020E-001s / 1000]
    std::deque : 0.003307s [3.307221E+000s / 1000]
    prog::list : 0.007176s [7.176046E+000s / 1000]
    std::list : 0.009110s [9.110458E+000s / 1000]
    prog::vector : 0.025038s [2.503816E+001s / 1000]
    std::vector : 0.153084s [1.530838E+002s / 1000]
  insert_multiple_string... SUCCESS
    prog::deque : 0.001934s [1.934412E+000s / 1000]
    std::deque : 0.004602s [4.602030E+000s / 1000]
    prog::list : 0.008221s [8.221253E+000s / 1000]
    std::list : 0.010608s [1.060807E+001s / 1000]
    prog::vector : 0.071916s [7.191646E+001s / 1000]
    std::vector : 0.155954s [1.559542E+002s / 1000]

Name: Anonymous 2011-01-11 11:14

>>37
That's why you end up with using the C-like subset of C++.
Use D and extern (C) when needed.

Name: Anonymous 2011-01-11 11:22

>>38
Well, my point is that the standard library doesn't have to have shit performance. The performance isn't handicapped because of the design of the library facilities, but rather due to the skill of the implementor.

My containers, if used correctly, will at least meet the performance of equivalent hand-written C code, and will also often beet out naive hand-written variants that don't take advantage of hardware-specific instructions.

Name: Anonymous 2011-01-11 11:34

>>34,36
You two are idiots.

Name: Anonymous 2011-01-11 12:05

>>40
ur c preprocessor isn't touring-complete
u jelly?

Name: Anonymous 2011-01-11 12:17

>>40

Keep in mind that std:: classes usually do bounds checking. And instead of bitching, I demand you to hand out your classes, so praque can turn it into many JEWGOLDZ

Name: Anonymous 2011-01-11 12:48

>>41
1) The C preprocessor is touring-complete, thanks to unbounded includes.

2) Everyone who thinks that the only differences between touring-complete languages are "syntactical" is an idiot.

Name: Anonymous 2011-01-11 13:48

>>42
I take it you were actually referring to >>37,39

My classes do bounds checking and have checked iterators, with the option to have then conditionally disabled via the preprocessor (which can be further controlled by a compiler switch).

My original code is being commercially used and protected by copyright, but as I have said, I have taken what I have learned and have been contributing to libc++.

http://libcxx.llvm.org/

I could also link you a paper I have written a while back, but then I'd be giving away my anonymity and we can't have that.

Name: Anonymous 2011-01-11 15:09

>>44
You'll just be the next Xarn, Xarn.

Name: Anonymous 2011-01-11 15:42

| C1x/C++0x have well defined memory models around which atomic
| operations can be implemented.

As sharing is implicit with static variables no manycores scaling can possibly happen. Thread-local is the way to go, not atomic operations.

| Enjoy your garbage collected and sequentially
| consistent programming environments, morons.

I don't think you understand truly how clueless you are.

Name: Anonymous 2011-01-11 15:44

An Interview with Bjarne Stroustrup, dated Jan. 10th, 2011.

http://www.codeguru.com/cpp/misc/article.php/c18357/An-Interview-with-C-Creator-Bjarne-Stroustrup.htm

What do you think of the C++0x features?

Name: VIPPER 2011-01-11 15:51

C-Creator-Bjarne-Stroustrup
Uhm... what?

Name: Anonymous 2011-01-11 16:23

>>48
Usually they don't put +s in links.

Name: VIPPER 2011-01-11 16:26

>>49
Those JEWS might as well add plus-plus since they seem to like long URLs.

Name: Anonymous 2011-01-11 16:35

codeguru.com
article.php

Name: Anonymous 2011-01-11 17:18

>>51
myface.jpg

Name: Anonymous 2011-01-11 17:54

>>52
polecat_kebabs.sjis

Name: Anonymous 2011-01-11 20:29

>>11
C++ has helped keep me employed during these trying times.
Speaking of which, I just got confirmation of my employment at a new software development shop today, I was one of their first picks for the development team. All thanks to my extensive knowledge of C++ and low-level systems programming. Well, maybe knowing one of the founders helped a bit too.

I quit my last job back in late November, was doing mind-numbing in-house ENTERPRISE development at a fortune 1000 in Java. I some how survived the layoffs during 2009 and early 2010, but the fear of losing one's job there was pervasive. Fuck that noise.

Time to get back into some real hardcore software development. Getting paid $95k plus stock options now, which is a couple of notches up from where I was at previously

Name: Anonymous 2011-01-11 21:23

>>54
If you don't mind, with how long work experience is that? Around five years?

Name: Anonymous 2011-01-11 22:35

>>44
My original code is being commercially used and protected by copyright

Then get the fuck out, goddamn poser bastard. Either you show some code, or you can piss off.

Name: Fuck off, !Ep8pui8Vw2 2011-01-11 23:11

>>53
Fuck off, ``faggot''.

You are so incredibly easy to troll. Wow.

Name: Anonymous 2011-01-11 23:34

>>57
polus cattus kebapus

Name: Anonymous 2011-01-12 0:03

>>57
polus cattus kebapus

Name: Anonymous 2011-01-12 3:28

>>55
Nine for me, but I'm a university drop out. It's possible to attract the attention of people responsible for hiring and make them more lenient when it comes to negotiating a salary with more education, and even better from a well repudiated school. But you had better have the skills to back yourself up or it won't last long. Of course, that's just common sense.

I've known some MIT CS/CEng graduates who were making over $250,000 at their first jobs.

Name: Anonymous 2011-01-13 11:52

[code]CocksCocks[\code]

Name: Anonymous 2011-02-04 12:55

Name: Anonymous 2011-04-17 15:50

>mfw this thread gets bumped

Name: Anonymous 2011-10-09 21:44

yall forgot about Rust

Name: Anonymous 2011-10-09 21:47

Friends don't let friends program in C++.

Name: Anonymous 2011-10-09 21:57

Fact: No one likes C++ after 10 years of programming in it.

Fact: Those who like C++ know few other languages

Fact: Sussman touched my penis

Name: Anonymous 2011-10-10 0:14

The only unifying design principle of C++ as a language can be summed up with two words: premature optimization.

Name: Anonymous 2011-10-10 0:20

Name: Anonymous 2011-10-10 2:00

I guess I'm neutral. After reading the FQA, I'm kind of disgusted, but I was pretty good at it. Although, I hate the fact that the standard library has basically nothing good.

Name: Anonymous 2011-10-10 2:29

>>68

Nine tenths of what this guy wrote is so crippled with prolix, obscure analogies and "deep" meaning ideas ("C++ is philosophically and cognitively unsound as it forces a violation of all known epistemological processes on the programmer"... what?) that the whole text becomes devoid of all sense, if there was any intended. The guy has no point to make; instead, he visibly wants to sound authoritative and deep (while, at the same time, he lazily forgets to proper capitalize words).

Unfortunately, that's what stains the programming communities: the programmer themselves. No language is good enough so that fond programmers won't behave as complete illiterate retards. (Some of them go even further in their ridiculous pretentions and attribute that to Asperger's, as Eric Raymond justifies in his famous "How to Become a Hacker" essay. I most deeply pity that guy.)

Curiously, this guy is from the Lisp realm, a supposedly (or rather claimed to be) distinct, enlightened space where more well selected people gather together. Yet, in my opinion, he behaves as badly as an emotionally impaired teenager writing suicide letters ("for more than a year after first exposed to C++ in a six-month project, I was actively considering another career"... oh wow!). From my experience, that's actually expected from the average cult-follower, which is somewhat why such (indeed good) languages acquire some strange, bad reputation among foreigner programmers.

In other words: again, the community propaganda is what defines better the reputation of a language than the language itself.

On to the topic. C++ has indeed a tough reputation as being an overcomplex, ill-designed language. It does have a number of important defects, a number which is actually much less than what is advertised, but which, in practice, makes the language usage difficult in certain scenarios. Compilation times are extremely long (though heavily ameliorated by using precompiled headers), compiler implementations are hostile to the programmer (confusing diagnostic messages, non-conformancies to the standard), complicated syntax which is difficult to master, and so on.

In my opinion, the most common mistake made by naive programmers, and the most common cause for criticism against the language, is that C++ is extense and difficult to master in its whole. That's a fact: C++11 has a 1300-page standard which encompasses a lot of syntax features and complex semantics. Nonetheless, the point of the language is not to "master" every aspect of it, or even worse, attempt to use every such feature in the same project. The language goal is to offer desired features to desiring programmers, in their particular cases, so that the programmer decides how to write his program in the best way.

Nonetheless, C++ has a number of interesting features. C++ has an interesting type system (which works, despite whiners who tend to always call out reinterpret_casts examples in order to argue it doesn't), some meta-coding features (templates, mixins), some support for object orientation (virtual dispatching, inheritance, polymorphism), error-handling through exceptions and, more recently, some functional programming support. Neither of these features are pristine-perfect; actually, many of them contains caveats and misdesigns, but most of them can be well circumvented with some discipline and practical knowledge. Small to mid-sized projects rarely touches C++ limitations in this aspect. Large projects employ pragmatic solutions (precompiled headers, modularization inside sub-libraries) for reducing the overall development complexity and gaining team productivity. Note that one of the most common denounced problems in C++ -- freestore memory management -- is actually rarely an issue; heap allocation is comparatively less used than stack allocation and, whenever it is used, programmers employ well-known tricks (shared and auto pointers) to handle them safely.

Even the C++ most idiosyncratic features have good practical usages. Templates are adequate for container libraries and type-generic functions. Multiple inheritance is a form of additively changing classes' behaviors, making them "be" several things at once, much similar to Java's "interfaces". References allow for pointer semantics when needed and without syntax issues (one can change from one to other when appropriate). Inner classes and namespaces elegantly wraps concepts inside a name or a class. "Friends" solve the very nasty problem of lack of modularization by roughly providing "package visibility" to (hopefully related) classes. Operator overloading increments semantics when used adequately, and so on. Good sense is imperative when using many of these features: a misused feature does not turn it into a design problem by itself, but the programmer's frustrations tend to aggravate bad feelings towards the language when problems arise.

Not that the decision of making C++ the all-in-one language is good, I particularly find that terrible. Even more, I believe "multiparadigm" languages are a priori ill-designed, since mixing different thinking processes inside the same syntax structure and execution environment is inherently bad. C++ programmers tend to have "idioms", which is a consequence of the forementioned fact: every C++ programmer (and thus every C++ program) has a particular trait, a projection of the programmer's known idioms in the source code, which in practice makes reading C++ a very complex task, and thus heightens the barriers of code integration and reuse.

In summary: C++ is not a (too) bad language, although it surely could be better (and C++11 did not evolve a bit in this sense). The main problem with C++ is that it gives a vast possibility of writing very bad and difficult-to-integrate code, and, what is worse, sometimes the community tend to regard such code as "expert" code (such as Boost, which is one of the most extreme abominations and ill-designed libraries known to me so far), but, again, this is community propaganda. On the other hand, C++ gives an adequate toolset for the programmer to drastically increase his productivity, at least when compared with other groundbase languages, such as C. Also, there are excellent frameworks for C++ (Nokia's Qt comes to my mind) that allows very quick development and deploy of extensively complex projects. Just look around: there are some brilliant (and beautiful) C++-written programs and libraries for use.

Name: Anonymous 2011-10-10 3:25

>>37

I pretty much end up doing this too. Especially if I want to target a specific platform, writing things in assembly for infinite performance~

>>38
D is gross; I'll keep my C-like C++.

Name: Anonymous 2011-10-10 3:56

>>71
D should be thought of as a better Java, rather than better C++.

Name: Anonymous 2011-10-10 4:06

>>72
Honestly, I don't really like it because of its relative obscurity (coming from a 99% C background) and high level-ness.

But I can appreciate it as a 'better java' I guess.

Name: Anonymous 2011-10-10 23:46

>>70
("C++ is philosophically and cognitively unsound as it forces a violation of all known epistemological processes on the programmer"... what?)

Try a dictionary. "epistemological" means "concerning the means of obtaining knowledge." The idea is that C++ expects you to know how your program works before you write it. His claim is that this, in reality, is never really possible. A C++ programmer must pretend he can anticipate ahead of time (like some kind of magic wizard) what the needs of the project are going to be. This is something like an anti-skill, if you ask me. You shouldn't need it. And yet, most every C++ programmer prides himself on this skill.

After writing C++ intensively for a few years, I agree with his ideas on how it affects your psychology. C++ makes you paranoid and untrusting. In a C++ project, if you drop one little detail from your head, something bad could happen. And it's very very hard to write something elegantly. So you become obsessed with "hiding" your code. Even the idea of someone LOOKING at something other than the nice facade you've put up scares the shit out of you. 

C++ has an interesting type system

It's interesting like a brain tumor is interesting, I guess.

Even the C++ most idiosyncratic features have good practical usages.

Because everything in C++ was designed with something particular in mind and then made to pretend to look like it has generic applications. If you can't see how backward this is, I pity you.

Almost every language feature in C++ is either very situational in utility or only there to plug up the problems in another feature. This isn't bad per se, but it causes bad behavior: people take the situational things and try to apply them to general stuff. You can't blame the people here. They are just victims of bad design. C++ is filled with intellectual traps.

I believe "multiparadigm" languages are a priori ill-designed, since mixing different thinking processes inside the same syntax structure and execution environment is inherently bad.

That's not an argument.

Name: Anonymous 2011-10-11 3:19

C++11 seems promising.

Name: Anonymous 2011-10-11 3:55

>>75
but LINQ seems better.

Name: Anonymous 2011-10-11 4:33

>>76
*grabs penis*

Name: Anon 2011-10-11 8:52

C++ sucks! Don't belive me, let's look at the first compiled line:
void main(void):
you already started and it has already 2 voids, by the end of the program it will be full of voids and will suck.

If you want a true program, pick one without voids.

Name: Anonymous 2011-10-11 9:19

>>1
Love it

>>75
Yep, like a different language. Very nice stuff.

>>76
Wtf? You should die.

>>78
Fuck you, troll.

Name: Anonymous 2011-10-11 15:19

>>72
Because "Better C++" is called   C  

Name: Anonymous 2011-10-16 10:07

hate it.

Name: Anonymous 2011-10-16 16:23

>>35

is this attitude serious? allocating memory manually is better for simple programs with a team of maybe 2 or 3 people. but once you get up to larger teams with bigger programs, garbage collection is faster than doing by hand. this has been proven over and over again.

managing state in your head is even worse than managing memory. it adds unnecessary complexity that makes the system less stable and less extensible. you should really read the humble programmer. if turing award winners can not effectively manage state in their hand, then i dont think you can. it leads to code that is untenable.

actor based models are the future of computation. we have about 2 generations of cpus before they cap out. we have more information in our hands than ever before, and if we want to make sense of it then we need to be able to run software on 1000+ machines with 100+ cores each.


i have yet to see a great programming mind say that garbage collection and stm are not useful.

Name: Anonymous 2011-10-16 16:45

C/C++ is a bubonic plague, while jews are the rats, who spread it.

Name: Anonymous 2011-10-16 16:46

>>82

If the way memory is allocated and deallocated is very well documented, it is possible for multiple people to manage it together. It is an extra complication that can be completely avoided by using garbage collection, but it isn't going to make collaboration impossible. Although if at least one developer makes assumptions about how memory is allocated/deallocated, and doesn't document the assumptions, then things will get confusing.

Another unrelated issue would be using an allocation scheme that ends up not being sufficient later on, IE, maybe some of the items in a container need to persist after the container is destroyed after all. It can be tedious to go back and redesign the container to fit this, after taking advantage of the restriction when writing other code. One could probably establish conventions for avoiding this problem though. Reference counting everything and then converting needless reference counting pointers to regular pointers later when the project is complete could be a good idea.

Name: Anonymous 2011-11-04 8:25

>>76
Ever seen Boost.Range?

Don't change these.
Name: Email:
Entire Thread Thread List