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

Pages: 1-4041-

The Boost Virus

Name: Anonymous 2016-04-29 23:03

Why is everyone so fucking inclined to use Boost?
Why do you need to add a fuck ton of dependencies on your small toy programs?

Can't you just stick with vanilla C++ and do us all a favor?

If there's anything I'm never installing for a project? It's boost.

Name: Anonymous 2016-04-29 23:17

Did you mean: Can't you just not use C++ and do us all a favor?

Name: Anonymous 2016-04-29 23:57

>>2
C++ is literally C with added features.

I'd like to hear /prog/'s objective analysis[0] on whichC++ features are shit.

Please, tell me. [1]

[0] opinion
[1] and save yourself the trouble of ragging on people's usage of the language

Name: Anonymous 2016-04-30 0:07

>>3
Class oriented programming, inheritance, multiple inheritance, a retarded template system, half-hearted strong typing, the STL, runtime polymorphism, Seeples programmers, smart pointers, compiler vomit, "if it ain't broken, add another class", copy constructors, new, delete, operator overloading, etc....

Name: Anonymous 2016-04-30 2:07

>>4
Literally all of these features are in Common Lisp as well, yet /prog/ loves CL.

Name: Anonymous 2016-04-30 7:11

>>5
can modify classes at runtime with changes propagating to existing objects
class oriented programming

Nigga you weak in the mind or something? You've failed right on the first item in the list.

Name: Anonymous 2016-04-30 7:16

>>5
WRONG. We love Scheme. Get it together fuckrod. You need to read your SICP more often and stop saying such silly things.

Name: Anonymous 2016-04-30 7:18

>>7
No we don't. Scheme is a shitty toy language. Common Lisp is king.

Name: Anonymous 2016-04-30 7:20

>>8
Lies, of course.

Name: Anonymous 2016-04-30 7:27

>>9
Pathetic Schemefag is pathetic. Found at least one non-toy implementation of your toy language yet?

Name: Anonymous 2016-04-30 7:53

Why using Boost, when you can use C#, which has smaller runtime size?

Name: Anonymous 2016-04-30 13:39

I swore an oath to myself: I will never use a language that I will not be able to fully and well implement without wasting half of my life.
This holds true for C and Scheme but not for Common Lisp (probably) and surely not for C++.

Name: Cudder !cXCudderUE 2016-04-30 14:13

Ditto for trying to put as many of those OMG NEW C++11/16/17/1337 features/libraries/templates/whatever into the code just for the novelty of it. "I read about X somewhere, let's use it!" I've seen what could easily be done in a single C function call turn into a 5-layer-deep nested template instantiation that creates a few dozen intermediate objects and winds its way through just as many method calls... before making that very same C function call itself.

Name: Anonymous 2016-04-30 17:03

>>5
The question (as per >>3) was which C++ features are shit. Other languages are free to do them well.

>>13
Fuck off, Cudder. You don't know jack shit about anything you ever bring up.

Name: Anonymous 2016-04-30 18:04

>>12
What a stupid oath. How long would it take you to invent and build the car you ride on? The airplane you fly on? The computer that runs your code? So why the fuck are you still using those things? You need to go live in the woods where everything, from your hut to your spear and axe will be fully and well built by fucking yourself, mister NIH.

Name: Anonymous 2016-04-30 19:40

>>6
So you've never heard of clos?

Name: Anonymous 2016-04-30 19:43

>>16
Calling CLOS "class-oriented" shows that you're the one who's never used it. I'll have you know CLOS is object-oriented.

Name: Anonymous 2016-04-30 19:48

>>17
There is no practical difference outside of your pedantic fantasy universe.

Name: Anonymous 2016-04-30 20:26

>>18
I already told you the obvious practical difference, nit-wit. But you can keep to your fantasies you like to twatter about so much.

Name: Anonymous 2016-04-30 20:53

>>19
Classes are just an implementation of objects, you ``mental midget''.

Name: Anonymous 2016-04-30 21:20

Jaden Smith: How Can Mirrors Be Real If Our Eyes Aren't Real?
>>20: Classes Are Just An Implementation Of Objects

Name: Anonymous 2016-04-30 22:45

check em

Name: Anonymous 2016-04-30 22:47

C++11 is pretty cool. It's the only language that has dubs in it. Check out my dubs by the way.

Name: Anonymous 2016-04-30 22:50

>>23
Too bad it doesn't prevent off-by-one errors.

Name: Anonymous 2016-05-01 8:25

>>24
Damn, should have used Rust.

Name: Anonymous 2016-05-01 14:10

>>23
What about C99 and C11?

Name: Anonymous 2016-05-01 17:40

>>24
rekt

Name: Anonymous 2016-05-02 0:44

>>15
This argument is stupid since I do not program my car nor the airplane I fly on. Moreover, making a shitty cpu is not that difficult for a single person.
The reason to program only on languages you can implement is that you will never be locked out of your programs and you will always be able to have your programs running in your own system.

Name: Anonymous 2016-05-02 6:37

I hate it. Boost this, Qt that.
This is exactly the Java-mentality shit I want to not have.
..
Who needs self-reliance when you can not.

Name: Anonymous 2016-05-02 7:24

>>28
If you can't build a basic, naïve working implementation of any mentioned language in a week or two max, you fail as a programmer.

Name: Anonymous 2016-05-02 8:42

>>28
You're the one who's stupid, not the argument. But I'll try to spell it out for you.

I do not program my car nor the airplane I fly on

Exactly. So why do you want to program the language you use? Why the double standards?

you will never be locked out of your programs and you will always be able to have your programs running

What do you do not to get "locked out" of your car (i.e. cannot use it)? You drive to a gas station, or to repairs, but do you get out a wrench and proceed to make repairs of you own? I would you're not that dumb. So if it's OK for you to pay someone to take care of your car, why is it not OK to pay someone to implement your language on any platform you desire? Hell, some implementations are even free. There is absolutely no more reason to make your own implementation of the language you use than to build the engine of the car you ride.

Name: Anonymous 2016-05-02 17:16

Dubs for C++

Name: Anonymous 2016-05-02 18:54

>>31
Exactly. So why do you want to program the language you use? Why the double standards?
I explained to you above, learn to read.

Name: Anonymous 2016-05-02 19:00

>>33
I can only conclude that you are a clinical idiot.

Name: Anonymous 2016-05-02 19:39

>>34
I can only conclude that you lack basic abilities related to comprehension.

Name: Anonymous 2016-05-02 20:41

>>34,35
You're both right!

Name: Anonymous 2016-05-02 23:26

>>1
Install Boost once and all the other programs that use Boost can use it as well!

Name: Anonymous 2016-05-03 2:13

>>37
No, thanks to templates and macros.

Name: Anonymous 2016-05-05 6:45

Boost. I thought I would never have to touch that again. I was wrong.

Have to integrate Microsoft's Xbox Live SDK for iOS and Android into our project, and low and behold it's using Boost. Why does Microsoft have to fuck everything up?

Name: Anonymous 2016-05-05 7:28

>>39
Microsoft likes Boost because it does what they need.

Name: Anonymous 2016-05-05 8:38

>>39
It's "lo and behold," you degenerate illiterate.

Name: Anonymous 2016-05-05 14:48

>>39,41
It's a reddit quality idiom either way, just like "Enter React.js".

Name: Anonymous 2016-05-05 17:58

Boost is just a natural, cancerous extension of the tentacle monster called STL.

C++ gives rise to powerful abstractions, which come at a high cost - as Linus called it, "spooky action at a distance". This is why a lot of people have agreed to treat it all as a black box, to even keep track of it all. Custom standard libraries are impossible for readable code, as potential audience would have to learn everything that happens underneath from scratch.

Note that OO itself isn't the devil, it's the sheer complexity of low level C++ you're forced to use with C++ OO.

This prompts contrarians to NIH their shit. To stop that, STL and Boost were invented. Have you ever worked with STL/Boost "free" codebase? Those tend to have NIH stdlibs just straight broken and ill conceived. Of course STL has its plan9 unicorns too ("better, but the predecessor is good enough so we use that") - for example QT, or even WTF.

Third route is to just treat C++ as C with classes and ignore most of its problematic features (references, scoped destructors, templating, operator overloading...) so that rules stay basically the same as with C - code can be read more or less intuitively, top down, procedural fashion, with minimum of hidden side effects. Then C++ becomes a convenient syntactic sugar.

If you want less broken OO language for system programming, just use something designed with that in mind. Go, Rust...

Name: Anonymous 2016-05-05 19:18

>>43
C++ gives rise to powerful abstractions.

No, C++ gives rise to very constrained abstractions. The way you abstract and the tools you use to do so are railroaded by the fear of computational cost of the C++ designers. The only way to get anything semi-abstract out of it is with the template explosion of STL and Boost, or large amounts of manually added runtime code. I would not call this "powerful" in comparison to the rest of the field.

Name: Anonymous 2016-05-05 20:54

>>4
Seem like Crystal is the right choice

Name: Anonymous 2016-05-05 21:46

>>44
in comparison to the rest of the field.
Agreed. The frankenmonster C legacy is somewhat unfortunate, in combination with weird degrees of freedom to accomodate it. However what else is actually out there integrating with C, directly at semantic level, ie not as mere FFI.

>>45
Crystal is really cute, owing much to orthogonal design of ruby OO. Still in its infancy, also needs a proper GC (or even better, rc).

Already using it to port some slow ruby tools.

Name: Anonymous 2016-05-05 21:53

>>46
What C++ did with C hardly qualifies as integration, but its particular brand of integration was not as much a mistake in the particular instance of C++ as it was in general. The question is not "What else integrates™ C?" — it's "Why the hell would I want to integrate™ C?". If you want something that is fundamentally different from C, don't mix it with C, full stop.

Name: Anonymous 2016-05-05 22:12

If you want something that is fundamentally different from C, don't mix it with C, full stop.

Yet binding generator libraries consistently try (sometimes poorly). Ever had to deal with boost-python?

Clearly there is some demand to directly bridge code. LuaJIT-like FFIs are somewhat popular for this reason, as it exposes direct view of C namespace to the host language without need to actually re-declare the import C arity/structs using some special, host-specific facilities. Sadly this works only on clear ABI boundaries. If you want macro support, you have to pull in the whole shebang and stay syntactically compatible, just like C++ does.

Name: Anonymous 2016-05-06 13:02

>>48
Binding generators are no languages and macros in an API are shit for exactly this reason. What the fuck are you even talking about?

Name: Anonymous 2016-05-06 15:19

Forget about binding to libraries, every major OS and almost all minor OSes expose their system API in C, and assume an application-side libc dependency. That's the fundamental bullshit about computing.

Name: Anonymous 2016-05-06 19:36

>>50
People are stuck with C because the majority of today's PL researchers focus on ``lambda calculus with $type_system'' instead of creating better languages for programmers to use.

Name: Anonymous 2016-05-07 14:16

| Crystal is really cute, owing much to orthogonal design of ruby OO.

I'm using it to implement some algorithm for project euler. It's pretty fun compare to C/C++

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