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

Plan 9 Uses are total nutjobs

Name: Anonymous 2011-01-07 4:27

"Why?" you surely wonder. Actually, I didn't want to start yet another C++ discussion, mostly because alot of links from cat-v.org would fit perfectly in this context.

But there is this particular site of cat-v.org, that literally screams "HEY! LOOK AT ME! I'M LOUD! I'M ANNOYING! I SAY THINGS! I CRITICIZE EVERY POSSIBLE ASPECT! LOOK AT ME! LOOK AT ME DAMMIT". That particular site is: http://harmful.cat-v.org/software/c++/

Okay, just a boring link to an interview with Stroustrup (the billionth this time), where stroustrup explains why he 'created' C++ (again, a topic that had been discussed a billion times before).

But it's more about the quotes, not the link. It includes classy ones like this: "If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? " ---

The author could as well have said: "I don't understand language $XYZ, so it must be a) extremely bad, b) the work of satan himself c) the work of communists", instead of saying "I don't understand language $XYZ, but maybe it's because.... I never learned it! Or because I never bothered to learn it to begin with" - Not on cat-v.org. No.

Another fairly ``common'' argument against C++ is the lack of a Garbage Collector. My question is, why does a language that never creates garbage, a garbage collector? A GC is used in a language that doesn't run natively (read: compiled to machinecode, and the machine just runs the code literally), since the Virtual Machine has to organize allocated chunks somehow.

But since C++ doesn't run in a Virtual Machine, and therefore doesn't have a layer that is required to keep track of allocated and de-allocated references, the need of a garbage collector is simply void.

Don't get me wrong though, not everything of cat-v.org is bad; My personal favourite is this one: http://harmful.cat-v.org/software/GNU/ - Because it's simply the truth. Fuck GNU.

Oh dear cat-v.org, please continue to exist for the next thousand years, so that we always have something to point and laugh about (but mostly only the authors of cat-v.org themselves, of course).

Name: Anonymous 2011-01-08 16:49

>>560
Windows NT and newer are written almost entirely in C++.

>>558
Other than that, >>1 never heard of BoehmGC
I've heard of BoehmGC. It's a pointless library.

Name: Anonymous 2011-01-08 16:54

>>561
Indeed the WinAPI is written in C++ with C bindings.
Please fuck off.

Name: Darkr 2011-01-09 1:54

C++ has problems but it's not the monster people make it out to be.  If it were really that horrible, you wouldn't see so much successful software written in it.

C++ does suck for a compiler developer though.  It's insanely difficult to parse.  It requires an absolute minimum of 3 passes to correctly parse and the reference implementation is 7 passes.

I use Qt which hides a lot of C++'s worts.  It's a very nice toolkit and I'd recommend it to anyone that wants to do cross platform development but without the slowdown of interpreted languages.

Name: Anonymous 2011-01-09 3:20

>>563
Those are a few of the reasons why we consider C++ to be a monster. How does one reliably use a language that is so hideously complex that it becomes unreasonably difficult to parse? The answer is to not use it, by that I mean that you only use a small subset that is reliable. If you do decide to do that, you may as well move to a different language that isn't so hideous.

Name: Anonymous 2011-01-09 4:08

>>564
you may as well move to a different language that isn't so hideous.

Like...
  * VB, which uses XML Literals (ohgod)
  * C#, which uses pseudo-SQL syntax (select, dear jesus!)
  * Java, which uses 'new' to instantiate a class (my god)
  * Haskell, monads (the pain, ohgod the paaaaain)
  * Python, which uses forced intendation (why, god, why.)
  * Ruby, which is the bastardchild of Python and Perl (Jesus wept.)
  * Perl, which uses regular expressions for fucking everything (god has left us)
  * Scheme/Lisp, which uses parentheses for fucking everything (hail to our new lord, satan)
  * APL, which uses UTF8-encoded syntax elements (please excuse me while i kill some kittens)

I hope you see what I try to say here (The way you described it makes every goddamn language look bad, not just C++); Or you don't, in which case I kindly beg you to go back to /b/.

Name: Anonymous 2011-01-09 4:12

>>563
If it were really that horrible, you wouldn't see so much successful software written in it.

That's why java isn't that horrible, either!

Name: Anonymous 2011-01-09 4:18

Scheme/Lisp, which uses parentheses for fucking everything
The way you described it makes every goddamn language look bad, not just C++


Not really. The parentheses are quite nice once you get used to them.

Name: Anonymous 2011-01-09 4:34

>>565
Haskell, monads

Not really. Monads are quite nice once you understand them.
And I hate Haskell.

Name: Anonymous 2011-01-09 4:39

>>565
Fuck off, faggot.

Name: Anonymous 2011-01-09 4:49

>>565
unreasonably difficult to parse
This is referring to lexical analysis, not human readability.

Name: Anonymous 2011-01-09 5:12

>>570
I like how you imply that Monads / XML Literals / Pseudo SQL Statements are easier to parse than Metatemplates in C++. You must be new to this page, yes?

Name: Anonymous 2011-01-09 5:29

>>571
You must be new to not being autistic.

Name: Anonymous 2011-01-09 5:46

>>571
imply
You must be new

I like how you imply that you aren't new to this page.
Monads (the do notation) are just ~10 lines of syntax-case.

Name: Anonymous 2011-01-09 7:17

>>571
Yes. I did imply that Monads / XML Literals / Pseudo SQL Statements are easier to parse than Metatemplates in C++.

Monads are trivial. XML is easy. SQL-like statements, I wouldn't know. Metatemplates are just one part of why it is monstrous to parse C++.

Name: Anonymous 2011-01-09 7:26

>>573
I like how you are being a total dick

Name: Anonymous 2011-01-09 7:32

>>574
XML is easy.
XML != XML Literals. Don't make me murder you.

This is what this monstrum looks like:

Dim contactDoc As XDocument =
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>


Even IF it were just plain XML, parsing it is still not "easy". But in case of XML Literals, the XML Element is directly translated into an Object.

Metatemplates are just one part of why it is monstrous to parse C++.

Says OMG PROFESSIONAL HAKSAL/LITHP/RUBEE-KUN (so kawaii ^_^) Programmer.

Name: Anonymous 2011-01-09 15:13

XML Literal(s) is a feature that Visual Basic developers can call their own! The XML Literal syntax facilitates creating XML documents and elements that support the vast majority of the XML 1.0 specification. Complementing the literals are axis properties that aid in navigating and accessing XML elements and attributes.
This is second year CS theory.

Name: Anonymous 2011-01-12 16:39

pantsu

Name: Anonymous 2011-01-12 17:44

You guys are going to shit your pants when you hear about "Managed C++."

Name: Anonymous 2011-01-12 18:51

>>579
I heard C++/CLI is the new way to "ALL I WANTED WAS TO MAKE VIDYAGAEMS" nowadays.

Name: Anonymous 2011-01-12 21:29

>>580
No, C++/CLI is "I'm an Indian programmer" these days.

Name: Anonymous 2011-11-17 22:55

neat

Name: Anonymous 2011-11-17 23:00

Please, tell us, what does the following C/C++ code do

compM<ListM>()[ makePair[X,Y] | X<=list_with(1,2), guard[true],
          Y<=list_with(3,4), guard[ (Y %divides% X) %equal% 3 ] ] ]

Name: Anonymous 2011-11-17 23:34

>>583
The argument you're using to show that C++ is overly complex is a logical fallacy. To prove that point, please tell me what the following Lisp expression does:

((compM 'ListM) (logior (makePair X Y) (<= X (list_with 1 2)) (guard 't) (<= Y (list_with 3 4)) (guard '(#%[divides equal] Y X 3))))

Name: Anonymous 2011-11-18 0:19

>>584
>please tell me what the following Lisp expression does:
It's an invalid expression:
1. Lisp cant overload operators
2. #%[divides equal] isnt Lisp.
3. (compM 'ListM) isnt Lisp.

Name: Anonymous 2011-11-18 0:35

>>585
1. readtable
2. readtable
3. readtable

Name: Anonymous 2011-11-18 0:41

>>586
not Lisp.

Name: Anonymous 2011-11-18 0:51

alot

fucking kill yourself

Name: Anonymous 2011-11-18 1:04

"Why?" you surely wonder. Actually, I didn't want to start yet another C++ discussion, mostly because alot of links from cat-v.org would fit perfectly in this context.
Actually, I didn't want to start yet another C++ discussion,
yet another C++ discussion,
C++ discussion
C++
Why are you calling SEPPLES that?

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2011-11-18 4:18

>>583
Syntax error, unmatched closing bracket.

Name: Anonymous 2011-11-18 8:15

>>587
Lisp is shit.

>>588
fuck off and die you prescriptivist piece of shit

Name: Anonymous 2011-11-18 8:27

>>591
Sorry, but ugly Python is going to die. Stop denying the beauty of Lisp.

Name: Anonymous 2011-11-18 9:08

>>592
Python should die. Lisp is already dead.

Name: Anonymous 2011-11-18 10:54

>>583
I strongly doubt that this is C++

Name: Anonymous 2011-11-18 11:18

Hay guise, whats going on in dis thread?

Name: Anonymous 2011-11-18 11:44

C is shit. C++ is shit. Lisp is shit. Python is shit.
Every programming language is shit.

Turing completeness?

Yeah, that's shit too.

Name: Anonymous 2011-11-18 12:03

C++ is anti-elegance. thread over.

Name: Anonymous 2011-11-18 12:28

>>596
Turing shittiness

Name: Anonymous 2011-11-18 13:27

>>560
Those are not "leaks", those are retarded programmers that can't do addition.

Name: Anonymous 2011-11-18 19:18

>>594
I strongly doubt that this is C++
this IS C/C++
http://www.cc.gatech.edu/~yannis/fc++/

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