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

Pages: 1-4041-

John Carmack and Sepples

Name: Anonymous 2012-06-11 1:51

Today, I do firmly believe that C++ is the right language for large, multi-developer projects with critical performance requirements, and Tech 5 is a lot better off for the Doom 3 experience.
--John Carmack

http://twitter.com/ID_AA_Carmack/statuses/26560399301

COMMENCE SEPPLES THREAD

Name: Anonymous 2012-06-11 2:41

The whole idea that "C is faster and less bloated than C++" myth started in the early 90s when personal computers became fast enough and had enough memory to run C compilers but were still too small to run C++. In the late 70s computers didnt even have enough RAM to run a C compiler at 4k with a 1mhz CPU(Apple II/TRS-80). By the late 90s these memory limitations all but disappeared and you really cant measure any difference between C and C++

Name: Anonymous 2012-06-11 2:51

>>1
Took
him 15 years and just 4 Unreal Engines to come to that assumption. Well good for him.

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2012-06-11 3:57

>>2
It's much easier to generate massive amounts of bloated code in C++ compared to C.

Name: VIPPER 2012-06-11 4:30

Sepples, sux.

Sepples thread #9001 closed.

Name: Anonymous 2012-06-11 4:31

>>4
that has nothing to do with the language, all the OO and templates part of C++ is optional. most C++ books teach C++ wrong, they teach a Java style of programming as a way to express code with higher abstractions. you can get away with that kind of thing in Java because garbage collection will always clean up your messes and there are no pointers and memory allocation to turn your OO abstractions into an untraceable soup of code.

bottom line is you think you know C, but you dont. if you did, you would understand how C and C++ is related. But you dont understand, so you just blindly refer to C++ as bloated

Name: Anonymous 2012-06-11 4:32

John Carmack? You mean the guy who actually thought that OpenGL immediate mode and Direct3D retained mode were good ideas and D3D11 deferred contexts are anything but a gimmick?

Name: Anonymous 2012-06-11 4:39

all the OO and templates part of C++ is optional.

what would be left? All I can think of is references.

Name: >>8 2012-06-11 4:40

and namespaces. I don't know if exceptions count as OO or not.

Name: Anonymous 2012-06-11 4:46

>>8
what would be left? All I can think of is references.
You are left with pointers, memory allocation and structs. Just those 3 things are very powerful and put C on a higher level of expression that could never be done with a language that doesnt have them

Name: Anonymous 2012-06-11 4:46

>>8
STL containers and type-safe generics are pretty useful.

(If you think STL containers are object-oriented, read that one interview with Stepanov.)

Name: VIPPER 2012-06-11 4:51

>>10
I think >>8 wanted to know features that are part of C++ but not part of C without the said features.

Name: Anonymous 2012-06-11 4:53

>>8,9
Better type safety

Name: Anonymous 2012-06-11 4:57

>>12
I dont even understand the point of that question then

this was not my response >>13

Name: VIPPER 2012-06-11 5:03

>>8 Wanted to know what is left of C++ without OO and STL but that is not part of C.

Name: Anonymous 2012-06-11 5:08

>>10,11,13
true dat

>>14
it was metaphorical.

It's really weird to me though, that C++ basically just added a clusterfuck of an oo system, interwined with a template system, and then a couple other unrelated features. And it somehow manages to seem so huge and complex. I guess these sorts of things seem complex when you retain the low levelness and lack of safety.

Name: Anonymous 2012-06-11 5:15

I hate sepples for doing everything private by default.
C'mon.

Name: Anonymous 2012-06-11 5:17

>>15
that question is not answerable because the question is wrong. it assumes that OO and STL were something that was added to C but not part of C. The OO in C++ is an extention of what is already C, the fact that structs have to be defined as a static template rather than just declared and used like arrays is what makes C statically object oriented. The OO in Java, Python, etc is not implemented statically, objects are dynamically allocated. People dont understand this, they program with OO in C++ like its Java and fuck up. There is really no OO in C++, its just C extended to work in a OO way.

Name: Anonymous 2012-06-11 5:47

>>18
This. C++ is just a overly complex macro language on top of C.

When I get rid of OOP and the STL, I'm left with namespaces, lambdas/closures (macro sugar for function pointers and a static struct type representing the closure that captures data by either copying it or pointing to it), function argument-list overloading, default arguments, template functions/structs for a few things where it makes sense (like being able to overload a function on only the return type, by explicitly specifying the return type as a template parameter [code]float4 a = make<float4>(1.0f, 2.0f, 3.0f, 4.0f); double4 a = make<double4>(1.0, 2.0, 3.0, 4.0);[code/]).

I know C11 now has preprocessor macro support for function overloading with the _Generic keyword and generic functions, but it's a bit more work for the programmer to use than in C++, due to ABI backwards compatibility issues. If C had namespaces and lambdas/closures, I would just use C.

Name: Anonymous 2012-06-11 8:13

>>17
Do you know what the difference between a class and a struct is in C++?

Name: VIPPER 2012-06-11 8:28

>>18
that question is not answerable because the question is wrong. it assumes that OO and STL were something that was added to C but not part of C. The OO in C++ is an extention of what is already C
I cant do private public or <shit> in C, so its not part of C.

Name: Anonymous 2012-06-11 10:08

>>21
scoping of member variables isn't a part of the computer. There is no ALU for public/private. You can still access private member variables using pointer trickery. C++ is just a macro preprocessor for C.

Name: Anonymous 2012-06-11 10:08

>>19
It was in the past, now it's a distinct language in its own right.

Name: Anonymous 2012-06-11 10:18

BAWWWWWWW C++ IS TOO CONFUSING

HOW DO I SHOT CLASS

Name: Anonymous 2012-06-11 10:21

>IMO, good C++ code is better than good C code, but bad C++ can be much, much worse than bad C code.

Yes, because C is so bare that it's hard to do anything in the first place with it.

Name: Anonymous 2012-06-11 10:28

>>24
C++ has outstandingly complicated grammar. "Outstandingly" should be interpreted literally, because all popular languages have context-free (or "nearly" context-free) grammars, while C++ has undecidable grammar. If you like compilers and parsers, you probably know what this means. If you're not into this kind of thing, there's a simple example showing the problem with parsing C++: is AA BB(CC); an object definition or a function declaration? It turns out that the answer depends heavily on the code before the statement - the "context". This shows (on an intuitive level) that the C++ grammar is quite context-sensitive.

In practice, this means three things. First, C++ compiles slowly (the complexity takes time to deal with). Second, when it doesn't compile, the error messages are frequently incomprehensible (the smallest error which a human reader wouldn't notice completely confuses the compiler). And three, parsing C++ right is very hard, so different compilers will interpret it differently, and tools like debuggers and IDEs periodically get awfully confused.

And slow compilation interacts badly with frequent recompilation. The latter is caused by the lack of encapsulation mentioned above, and the problem is amplified by the fact that C++ has no way to locate definitions. OK, so before we can parse AA BB(CC);, we need to find out whether CC is defined as an object or a type. So let's locate the definition of CC and move on, right? Not quite.

Name: Anonymous 2012-06-11 10:33

>>26

tl;dr version:

i am too stupid to learn c++

Name: Anonymous 2012-06-11 10:35

>>26
much of the problems with compile times and lack of error messages has been fixed with clang by being a more modularized compiler

Name: Anonymous 2012-06-11 10:35

>>27
It takes me time to completely comprehend highly technical issues
stupid
2012
ISHYGDDT

Name: Anonymous 2012-06-11 10:36

I, being a 20 year old neckbeard on 4chan, believe that my opinions on programming and technology hold as much weight as those of John Carmack, who has over 20 years of experience in the field and is also a rocket engineer with his own aerospace company.

Name: Anonymous 2012-06-11 10:37

>>30
I wrote an ANSI C compiler in ANSI C when I was 12.

Name: Anonymous 2012-06-11 10:40

what a moron he is

Name: Average Corporate Slob 2012-06-11 10:46

over 20 years of experience
YOU'RE HIRED! I'LL GET YOU STARTED ON SOME HTML5 TECHNOLOGIES.

Name: Anonymous 2012-06-11 10:52

>>31
That means that you still have only about five years of experience, four times less than he.

Name: Anonymous 2012-06-11 12:43

>>27
back to >>>/g/

Name: Anonymous 2012-06-11 13:34

Someone with twitter account ought to tell him to check his male privilege

Name: Anonymous 2012-06-11 21:29

>>36
Well, you don't have to explain the concept of non-binary personal pronouns over and over and over again.

Name: Anonymous 2012-06-11 21:36

>>36
Fuck off and die you feminist piece of shit.

Name: Anonymous 2012-06-11 21:54

>>38
He was being facetious.

Name: Anonymous 2012-06-11 22:40

>>39
Me too.  I know that /prog/ is capable of military-grade trolling and nobody will ever convince me that there is an actual feminist on /prog/.

Name: FFP 2012-06-11 23:23

>>40
I'm Feminist Female Programmer, and you can rest assured i'm not a "troll".

WATCH YOUR PRIVILEGE, MALE PROGRAMMER.(WYPMP)

Name: Anonymous 2012-06-11 23:43

When the Day of the Rope arrives, you will be the first to hang high for betraying the Patriarchy.

Name: Anonymous 2012-06-12 1:48

>>41
So you're trying to convince me that you're a spamming female retard, is that it?

Name: Anonymous 2012-06-12 3:58

>>43
go fuck yourself, you sexist pig.

Name: Anonymous 2012-06-12 4:28

>>43
Whatever you say, you double nigger

Name: Anonymous 2012-06-12 4:37

>>44
Okay, I'll play.  Prove I'm sexist.

>>45
Okay, I'll play.  Prove you're not racist.

Name: Anonymous 2012-06-12 10:40

I approve this SEPPLES thread.

Name: Your privileges 2012-06-12 17:18

check 'em

Name: Anonymous 2012-06-12 21:32

>>46
I'm not racist because your a double nigger.

Name: Anonymous 2012-06-13 16:40

Name: Anonymous 2012-06-13 17:05

>>49
Die in a fire, feminist scum.

Name: Anonymous 2012-06-13 18:06

>>51
WATCH YOUR PRIVILEGE, MALE PROGRAMMER.

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