[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Why is your favorite programming language not C++? #include
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 35
Thread images: 5
File: NwNPU.png (695 KB, 720x1863) Image search: [Google]
NwNPU.png
695 KB, 720x1863
Why is your favorite programming language not C++?

#include <master_race>
>>
>>52155166
Kek, wtf is html doing there
>>
Lua
>>
>>52155236
That's why it's a flower pot autismo.
>>
>>52155166
Because it actually includes pleblanguagewithheaders.hpp
>>
It depends on the use case.

C++ is fine for desktop applications.
The code can easily become too verbose with nesting namespaces but the new editions of the language is really good.
I still use C on embedded stuff as it is simpler and there is usually a compiler for it.
Hardware manuals are usually writing the communication protocol or the registers, so language does not matter
>>
>>52155612
#include <stdint_master_race.h>
>>
C >Rust > C++ > *500 miles of shit* > D > Java > Go

Rust does C++ no cost abstraction a lot better with cleaner easier to understand error messages. Yes Clang++ does have better error messages, but C++ is also dragging 30+ years of backwards compatibility.

C lambdas are best lambdas basically lisp w/ pointers. Rust lambdas are overly verbose. C++ lambdas require template magic if your gonna use them return types.

C's manual memory management is best. Rust/C++ RAII system is actually pretty great (just good luck ignoring everything written before C++14). Easier in Rust then C++, but life time management feel awkward until it *clicks*.
>>
>>52155709

Honestly, apart from "feeling cool because muh fedora tier" there's no advantage of C++ over Java.

Java does everything C++ does, only that it's safer, easier, works on every plattform, has better libraries and so on.

Oh yeah, I forgot the 0.00001 microseconds speed advantage - because we all write real time applications for supercomputers, right?
>>
C++
>>
>>52157391
>has better libraries

I disagree
>>
>>52157391
>Java does everything C++ does
Any Turing-complete language does that. INTERCAL can do that.

>only that it's safer
Because there's never been an exploit in the Java framework.

>easier
maybe if you are really good at searching through documentation.

>works on every plattform
It does not work on the Symbolics 3600

>has better libraries
no
>>
C syntax
Imperative
Unsafe
Types are a joke
>>
>>52157391
> works on every plattform
If you install the JVM. For example, I didn't install it, so Java doesn't work on my PC. Not sure where this "works on every platform" meme came from. You could say the same thing about any programming language.
>>
File: 2012face.jpg (34 KB, 240x312) Image search: [Google]
2012face.jpg
34 KB, 240x312
My favorite is Javascript
Fite me faggots
>>
>>52158086
>some idiot pushes code with one brace missing
>every method after is suddenly missing with no other errors
>>
>>52155166
C++17
>>
>>52158086
>memescript
>>
It is, I love C++ because of how little resources it needs to run compared to an interpreted language like Python. Also because it's OOP.
>>
>>52155166
Based C++ is for based weenies. Use based C instead, because it is based, not based.
>>
File: come at me bro.jpg (36 KB, 450x450) Image search: [Google]
come at me bro.jpg
36 KB, 450x450
>>52158086
Prototypical Object Oriented Programming

poopscript

PoopScript

POOPSCRIPT!
>>
>>52155166
I don't understand the C++ one
>>
>>52158823
>I love C++ (...) also because it's OOP.
C++'s object model is downright retarded though.

No common ancestry; multiple inheritances causes more problems than it solves; no proper property support (and no, obj->property(), obj->setproperty() is not enough); objects are value types by default (HERE LET ME WRITE/DELETE A COPY CONSTRUCTOR AGAIN), no possibility of deriving classes with non-trivial constructors without redefining the fucking constructor in the new class and explicitly calling the parent's; destructor is not virtual by default; no meta classes/class references; interfaces must be implemented through abstract classes (and good luck keeping all the static_cast<>s right so you don't end up with the wrong vmt pointer) ... fuck, I could go on for days.
>>
>>52160725
Yeah C++ is not perfect but it gets the job done in the end and that's what really matters. You either complain about a programming language that just werks®™ or you don't use it at all.
>>
>>52160725
>C++'s object model is downright retarded though.
This. The only non-retarded object system is CLOS.
>>
>>52160838
>C++
>just werks
http://www.radford.edu/ibarland/Manifestoes/whyC++isBad.shtml
>>
>>52160875
Which nobody fucking uses.
>>
>>52157391
> Java
> GC

Great for babby's first CRUD app.

Not as great for things with realtime use-cases or time sensitive services in general.
>>
>>52155166
C++(11) is my primary work language, but I've long since passed the point of understanding it well enough to settle firmly in love-hate territory.

There simply is no real alternative at the moment to making very large and complex projects with deterministic efficiency.

Yes, the Linux kernel exists, and yes, it's huge, but the vast majority of the codebase is drivers written against a relatively small number of standard interfaces.

C sucks for doing anything large and collaborative because it's fragile and everything is held together by ad-hoc conventions and preprocessor macros.

Likewise, everything with GC does OK in a lot of scenarios, but you have automatic ~2x memory costs, sporadic and often perceptible collection freezes, and lower stead-state performance since you're constantly having your caches (instruction, data, BTB, TLB, etc.) wrecked.

C++ has a lot of ugliness, but aside from the pervasiveness of exception-based flow control, most of it is forgivable to me.
>>
>>52161341
You're talking about embedded systems, of course you're not going to use Java on an embedded system where you're literally counting cycles.
>>
>>52160894
This article is basically saying that programming languages should work like the human brain works and now work as a computer language. I guess if you're talking about teaching programming, that's alright, but not if you want a usable language.
>>
>>52155240
I'm inclined to agree. It's incredibly simple and well-documented.
>>
File: vdLy7iS.png (63 KB, 367x202) Image search: [Google]
vdLy7iS.png
63 KB, 367x202
Thanks for reminding me that SOTI is dead anon.
>>
>>52161843
That must be why smartcard microprocessors run Java, right?
>>
>>52161843
Not *just* embedded systems. There are valid use cases where local daemons or even network services need to avoid GC pauses as much as possible, and not having to worry about a GC in the first place makes that problem go away.
Thread replies: 35
Thread images: 5

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.