Quantcast
[ 3 / biz / cgl / ck / diy / fa / g / ic / jp / lit / sci / tg / vr ] [ index / top / reports / report a bug ] [ 4plebs / archived.moe / rbt ]

Maintenance is complete! We got more disk space.
Become a Patron!

/g/ - Technology


View post   

[ Toggle deleted replies ]
File: 163 KB, 600x382, 1509751555513.png [View same] [iqdb] [saucenao] [google] [report]
63215258 No.63215258 [Reply] [Original] [archived.moe] [rbt]

C is a disservice to intelligent programmers. It has almost 0 features that a modern and intelligent programmer uses to be productive. Since C is such a timesink, it's popularity is falling more than any other languages in the market.
C is dying and it should die ASAP. C programmers are actually retards in general. C is a small language to grasp, exactly the kind of shit that makes things retard friendly.
C has no advanced features like C++ does.

But as a newfag you are kinda in the right direction. C is for newbies. Think of it this way:
During ancient times, counting to 10 was a big deal and a person who could count to 10 was considered to be "wise".

Fast forward a few century counting to 10 is so trivial we teach this to toddlers. Now toddlers appreciate the vast "knowledge" of counting to 10 while matured brains are busy with modern technologies.

C is from stone age and the people who still preach it is like overgrown toddlers that can't learn advanced things. C is for lesser programmers.
C doesn't have delegates
C doesn't have resizable arrays
C doesn't have strings
C doesn't have string concatenation
C doesn't have namespaces
C doesn't have exception handling
C doesn't have closures in the standard
C doesn't have unit tests
C doesn't have Function overloading
C doesn't have memory safety of any kind
C doesn't prevent memory exploits and has no bounds and runtime checks
C doesn't support dynamic method loading/creating
C doesn't even have generics and templates
C doesn't have meta programming
C doesn't have mixins
C doesn't have higher order functions
C doesn't have contract programming
C doesn't have inner classes
C doesn't have function literals
C doesn't have array slicing
C has a very limited support for implicit parallelism
C doesn't even have string switches

C is a cancer that plagues the modern software industry

>> No.63215288

>>63215258
Rust can't be used on 8051s ... yet

>> No.63215313
File: 72 KB, 381x499, rust book.jpg [View same] [iqdb] [saucenao] [google] [report]
63215313

The reason Rust is being pushed so hard is because social justice warriors have found great difficulty penetrating the communities of open source system coders who use C and/or C++.

The "safety" features give advantages to lobotomised Feminist studies "coders" who are trying to "disrupt" these communities while breaking the knee caps of everyone else who knows what they are doing.

Literally nothing in Rust actually solves problems that haven't already been solved by RAII in C++ and even some GC/stack/heap techniques in the arguably superior but slower D compiler.

The advocates are all social justice warriors and this is their "long march through the development communities". They are employing critical theory against their main targets C and C++, by criticising everything it is and does and demonising its users. They've held back their "cis het white male" jargonism for now, but once they have established a foot hold "killer app", expect them to go wild with it. Just read through the big throbbing CoC they've erected on their main website.

Rust is kill. Don't touch it, spit on all its advocates.

>> No.63215317
File: 1.24 MB, 297x312, 1448152150067.gif [View same] [iqdb] [saucenao] [google] [report]
63215317

>>63215258
>C doesn't have strings
>C doesn't have string concatenation

>> No.63215333
File: 910 KB, 1280x800, the smuggest.png [View same] [iqdb] [saucenao] [google] [report]
63215333

Rust is basically: social justice, the language, just read the CoC. If some Rustnigger comes in telling you it's not important, ask him to take it down and see how quickly he'll deflect and get angry.

They've taken one or two old ideas from ADA, sprinkled in a linter and code analyser that most companies integrate into their C++ build system and called it "safe".

Then they go around assaulting communities and cursing programmers for writing "potentially unsafe code".

Their aim is to be the gate keepers of system programming, because they've seen the power they wield over people in other SJW take overs:

- Firefox: now with DRM and donates to feminism. Main driver of
- GitHub: cancer the community, gives Rust more facility and attention than it deserves
- systemd: a slow burn attempt to infiltrate kernel dev.

They even made an entire OS out of it, something is not right here. This isn't a language or a community, it's a cult.

Rust can be, in theory, as fast as C++ for certain things, but it can never be as expressive and it can never have the kind of code inlining that their module system pretty much prohibits. They've gone to the length of incremental compilation just to account for their module bullshit, it's hilarious to watch them melt down over this.

Fuck Rust and spit on all its advocates.

>> No.63215336

>>63215258
>But as a newfag you are kinda in the right direction. C is for newbies. Think of it this way:

It's worse than that. C makes newbies think they're skilled programmers. This point is illustrated perfectly by 99% of the existing C code out there.

>> No.63215347

>>63215258

rust is literally bugman: the code

>> No.63215348
File: 145 KB, 709x821, 1504699745033.jpg [View same] [iqdb] [saucenao] [google] [report]
63215348

I don't intend this to be taken as a joke in any way, nor do I intend it to be unnecessarily mean, but I think that the Rust community inadvertently discovered a new paradigm of software development: Autism-Driven Development.

>> No.63215357

>>63215313
wtf i hate rust now

>> No.63215388

>>63215333
>Rust will never be as expressive as C++
Confirmed to never have used either of those two languages.

>> No.63215395
File: 11 KB, 200x194, 1485220421666.jpg [View same] [iqdb] [saucenao] [google] [report]
63215395

>tfw you prefer Go and sidestep the cancer that is rust or the dinosaur that is C

>> No.63215400
File: 146 KB, 388x400, 1494353083447.gif [View same] [iqdb] [saucenao] [google] [report]
63215400

I am a C++ developer, but all that shitting on Rust, all that
>but muh SJW
got me interested.

If the primary complaint about a language is that moral people, who believe in fairness, like said language, it suggests that it must be a good language.

>> No.63215422

>>63215258
half of these “problems” with C is just you being a retard and not using the language right, bear in mind most languages compile back down to C in the end anyway.

>> No.63215425

>>63215400
>moral people, who believe in fairness
That's absolute bullshit but it's true that the language is good if the primary complaint is muh sjw.

>> No.63215438

>>63215395
Go has the same "impede productivity and put everything on crutches so Pajeet can shit out code" mentality that Rust does.

>> No.63215451

is D really the perfect language?

>> No.63215453

>>63215422
>bear in mind most languages compile back down to C in the end anyway
Even if that were true you're still trading "have to write every program ever correctly" for "have to write a compiler correctly"

>> No.63215460
File: 127 KB, 601x508, 1506112612488.png [View same] [iqdb] [saucenao] [google] [report]
63215460

>>63215422
>most languages compile back down to C in the end anyway

>> No.63215477

>>63215258
>It has almost 0 features that a modern and intelligent programmer uses to be productive

I don't understand this attitude and extreme focus towards "feature-driven development," it seems like a complaint that only junior developers would make. You do realize that turing completeness means you can do anything in any language? All those things you list can be done in C with a library.

I think the complaint you actually want to make is something along the lines of "waah my tooling only supports this feature with X language." Which is a vaild complaint, but you should probably mention that to the developers of your tooling if you want to get anything done about it.

>> No.63215484

>>63215422
No they don't. They get compiled to compiler backend's IR.

>> No.63215491

>>63215477
>turing completeness means you can do anything in any language
I sure LOVE having to reimplement linked lists in every C project!
>t. Ctoddler

>> No.63215501

>>63215438
>>63215313
Where the fuck are you people getting the idea that Rust impedes you from?
Very rarely will the borrow checker prevent you from doing something that's actually safe but even then you can use unsafe {}
The Rust compiler has only 2% unsafe code and pretty much all of that is calls to LLVM.

>> No.63215539

>>63215501
Try writing any non-trivial program in rust, you will spend 90% of your time fighting with the borrow checker

>> No.63215561

>>63215539
If you are spending 90% of your time fighting the borrow checker then 89.9% of your time you are writing code that segfaults in C++.
Rust is doing you a service.

>> No.63215599

>>63215491
Use a library retard

>> No.63215604

>>63215491

You do realize that any decent C programmer has implemented a linked list and that there are tons and tons and tons of libraries that implement linked lists.

Also, if you can't implement a linked list in 5 minutes, you need to go back to school. It is literally the simplest data structure and if you can't write one I question whether or not you would even be able to spot one in someone else's program.

>> No.63215666

>>63215599
Just install a library from the C library repository :^)

>> No.63215792

>>63215666
Is Git too hard for you?

https://github.com/stefanct/sglib

>> No.63215814

>>63215792
>https://github.com/stefanct/sglib/blob/master/sglib.h
Pure cringe. No wonder no one uses that

>> No.63215839

>>63215792
>clone the repo
>manually place files into the required folders
>manually add some magic to your makefile
>hope that it works
>no easy updates
>no dependency management
vs
>package_manager install library

>> No.63215869

this thread gave me cancer

>> No.63215877

>>63215869
>!!bbWg9592HoS
Looks like you had it before this thread too.

>> No.63215886

>>63215258
>C doesn't have delegates
function pointers
>C doesn't have resizable arrays
realloc
>C doesn't have strings
it does, you can build your own pascal-style strings too
>C doesn't have string concatenation
you can build your own
>C doesn't have namespaces
valid point, though doesn't really matter in practice
>C doesn't have exception handling
better ABI
>C doesn't have closures in the standard
meh
>C doesn't have unit tests
pretty sure you can write your own?
>C doesn't have Function overloading
useless bloat
>C doesn't have memory safety of any kind
valid complaint
>C doesn't prevent memory exploits and has no bounds and runtime checks
valid complaint
>C doesn't support dynamic method loading/creating
why would that even be useful
>C doesn't even have generics and templates
it does with macros
>C doesn't have meta programming
it does with macros
>C doesn't have mixins
i'm sure that's a terrible loss
>C doesn't have higher order functions
it does via function pointers
>C doesn't have contract programming
it does via macros
>C doesn't have inner classes
really?
>C doesn't have function literals
who cares?
>C doesn't have array slicing
you can emulate it anyway
>C has a very limited support for implicit parallelism
ok
>C doesn't even have string switches
that'd need strcmp() to be a part of the language

nice pasta though

>> No.63215930

>>63215886
The two "valid complain" points are enough to warrant a replacement even if you ignore every "you can but you need to use this roundabout unwieldy method".

>> No.63216005

>>63215451
Yes

>> No.63216012

>>63215258
> C doesn't have strings
What do I write to a log then?

>> No.63216017

>>63215258
oh look another one of those posts where X language has no featurOH WAIT I'M JUST STUPID CAUSE I CAN'T PROGRAM EFFICIENTLY AND CORRECTLY IN X LANGUAGE.

>> No.63216217

>>63216012
A character array. Read a book
>>63216017
C++ is the superior language

>> No.63216315

>>63215839
except that isn't true at all, it's more like

>os_package_manager install library
vs
>package_manager install library

your OS does have a package manager built in right?

>> No.63216349

>>63215258
Meme languages come and go
C has been here since the 70s, and it's not going anywhere

Once the current webdev bubble bursts all you framework faggots will be fucked but C programmers will always have a job

>> No.63216355

>>63215477
this desu

>> No.63216382

>>63216315
>apt install sglib
>Reading package lists... Done
>Building dependency tree
>Reading state information... Done
>E: Unable to locate package sglib

Oh no, looks like the OS package manager only has a handful of manually approved libraries that are several major versions behind master and adding a new library is a very tedious process.

>> No.63216400

>>63215258
C doesn't have any feature....why can't you write proper code then?

>> No.63216430

>>63216382
so just like any reasonable package manager in any other language then?

also i've never used "sglib" but it's a bad example for this because it's single file header only so you can just copy that one file into your project and #include it and it will work

>> No.63216446

>>63215886
>C doesn't even have generics and templates
>it does with macros
Technically, you can do generic programming with (void*) pointers, but that's just cruisin' for a bruisin'

>> No.63216467

>>63216430
Any reasonable package manager in any other language lets you create an account and publish a package without any bureaucracy.

>> No.63216504

>>63216467
>create account
>publish "mylib" package that secretly does rm -rf /

lol bureacracy sucks mirite

>> No.63216528

>>63216504
>install a random package
>run it without knowing what it does
How is that worse than manually installing a package from github and then doing the same thing?

>> No.63216583

>>63216528
once you can answer that, you will realize why "the OS package manager only has a handful of manually approved libraries that are several major versions behind master"

>> No.63216663
File: 21 KB, 903x440, c++.png [View same] [iqdb] [saucenao] [google] [report]
63216663

>>63216583
Once you realize that a language package manager and an os package manager have very different target audiences you'll understand why people are singing Rust's praises, why C++ is slowly but surely dying and why there have been so many attempts at creating a package manager for C++.

>> No.63216674

>>63215539
Try writing a non trivial C(++) program without out of bounds or use after free bugs.

>> No.63216891

>>63215422
kek

>> No.63216897

>>63215400
>sjw
>cultural marxists
>speaks about "morals"

Not sure how you're intelligent enough to browse this site and breathe at the same time

>> No.63216945

>>63215451
yeah but isn't D proprietary? Using a proprietary video player, for example, is one thing, but proprietary languages are complete cancer.

>> No.63216975

>>63216663
1) tiobe index does not mean what you think it means
2) rust is a fine language but does not replace c++ any more than go replaces C (it doesn't)
3) if the primary feature of a "language packager manager" is to provide a way to install shit from github on your command line, then it's a toy program not for production use

>>63216674
>out of bounds
use std::vector
>use after free bugs
use std::unique_ptr

>> No.63216978

>>63215491
You're a fool. C is made to be low-level. What if you had to b work on systems code? you can't trust some garbage collector or some baked in abstraction. YOU MUST DO IT ALL YOURSELF.

You use the right tool for the right job.

>> No.63217293

>>63215333
>just read the CoC
What do furry futas have to do with Rust?

>> No.63217393

>>63216975
>tiobe index does not mean what you think it means
Regardless of what you think tiobe index means, losing two thirds of that value in 15 years is an indication that C++ is getting replaced by other technologies.
>rust is a fine language but does not replace c++ any more than go replaces C
Rust and C++ are targeting the same audience and use-cases. Go and C are not.
>if the primary feature of a "language packager manager" is to provide a way to install shit from github on your command line
It should do more than that >>63215839
If the entire purpose of your programming language is to compile to binary and make your life easier then it's a toy program not for production use.

>use std::anything
Various methods of std::anything return references that can (and will) become invalid without a warning.
It has been proven time and time again that humans can't write safe code in an unsafe language.

>> No.63217450

why do cultural marxists think it matters to converge coding? Inefficiencies they introduce will just drive it offshore to India and China. Is that the point?

>> No.63217457

>>63216978
Rust has been known to compile to microcontroller targets, at least if you leave out the standard library.

Stable support for CPU/OS/ABI triples other than common desktop systems doesn't seem to be a priority, though.

>> No.63217478

>>63216975
>use std::vector

Hell no.

>> No.63217488

>>63215886
>realloc
Pretty inconvenient
>it does, you can build your own pascal-style strings too
char* is a poor mans string type
>useless bloat
Function overloading is useful and leads to cleaner code.
>it does with macros
Which is vastly inferior and awful to work with.

>> No.63217494

>>63215333
Corruption of champions?

>> No.63217605

>>63215333
>>63215313
Great conspiracy theory, anons

I bet you think the reason you can't get laid is (((white genocide))) and not that you're simply intolerable

>> No.63217625

C cucks BTFO!

>> No.63217651

>>63215258
>Another anti-C Rust thread
You people are like lepers. Take your dying language and fuck off already.

>> No.63217673
File: 60 KB, 347x419, comfy-as-fuck.jpg [View same] [iqdb] [saucenao] [google] [report]
63217673

>>63215313
>>63215333
These posts are fucking wonderful.

If the CoC is meaningless, why not get rid of it?

>> No.63217699

>>63215438
>Go has the same "impede productivity and put everything on crutches so Pajeet can shit out code" mentality that Rust does.
Pretty much this.

Go: Pajeet wants to code too, so we've removed all the features that can potentially make him fuck the project up.
Rust: Pajeet and Zihr want to code too, so we've made it so hard for you to do anything productive that they can keep up with you in the name of safety.

>> No.63217749

>>63216663
>TIOBE
>Not an artifact of lepers joining github and shitting out code that no one uses.

>> No.63217763

>>63216897
>justice is not morality
Have you tried reaching adulthood? Why did you fail?

>> No.63217775

>>63215539
Only people who have never really tried to write a non-trivial program in Rust say that.

>> No.63217877

>>63215348
Terry A Davis invented that though

>> No.63217882

>>63215348
Not a chance. The Linux community discovered that decades ago.

>> No.63217916

>>63215258
Yes you are right OP, new processors should start interpreting ASM.js so everybody can do everything on master race pure beautiful em6

>> No.63217925

>>63215258
The only people pushing rust are the NEET who had never worked on IRL problems.

>> No.63217940

>>63217925
>google employs NEETs

>> No.63218033

>>63217940
I am almost 100% complete sure this rust cancer wont reach embeded development, why? , because we firmware engineers love unsafe memory maped model (C / C++ its enought) , rust its for fucking brainlets.

>> No.63218056

>>63218033
You can do unsafe code in Rust too you know.

>> No.63218474
File: 99 KB, 627x715, this-is-what-a-feminist-wants-to-look-like.jpg [View same] [iqdb] [saucenao] [google] [report]
63218474

>>63215258
what other options we have?use that piece of shit rust that was made for sensitive and dumb millenials who needs their safe-spaces because the internet is mean?

rust code of conduct:
>On IRC, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe and welcoming environment for all.
>Please be kind and courteous. There’s no need to be mean or rude.
>Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
>Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others.

https://www.rust-lang.org/en-US/conduct.html

>> No.63218565

>>63218474
You cherrypicked that last line as if it's something bad. Did you even read what it says?

>> No.63218618

>>63218565
>please use rust

>> No.63218643

>>63218474
I don't understand what part of expecting proper behavior triggers some people so hard.
Is it a murica thing?

>> No.63218657

>>63218643
It's because they're spergs

>> No.63218702
File: 1016 KB, 500x270, 1507053601307.gif [View same] [iqdb] [saucenao] [google] [report]
63218702

>>63218643
no im hungarian.also shouldnt you'd be writing your shitty blog about trump instead of wasting your time here?does your mom knows what kind of websites are you visiting?dont forget to delete your browser history or she will give you one more week in the chastity cage.

>> No.63218724

>>63215313
If only these lobotomised Feminists need safety features, why does old C legacy code written by men break?

>> No.63218771

>>63218474
>>63218702
>too retarded to add a space after a sentence
Why should I even consider your opinion?

>> No.63218785

> toddler language
> makes you do everything yourself
Pick a coherent argument, cause this ain't it.

That said, I only use c on 8bit micros anymore, c++ on 32 bit arm embedded stuff, and when I get to write code for real computers I don't care what I write in because I'm used to having 256 bytes total for all variables and stack

>> No.63218805

wat aboot c# u guys

>> No.63218866

>>63215313
If you were talking about Go, I would agree... But Rust is a godsend in my workplace.

>> No.63218911

>>63218724
why not fix it instead of making a hard reset?
the task of migrating code will kill and or make a lot of software disappear we already saw this with Distros and their package management where some programs get dropped or unmaitanied because people are to focus on pushing their systemd or wayland memes all around the community.
I see a regression no an advancement, this new languages are just splinting programers into more lillte and niche groups all commanded around by religious a like dogma, google with their golang and firefox with rust will be just two more meme languages that wont survive C.

>> No.63218920

>>63215258
>C has no advanced features like C++ does
And here we see that OP fundamentally misunderstands the intended purpose and use cases of C

>> No.63218927

>>63218805
cant be used for writing drivers or os-es.also its only really useful on windows.its a great language but cant replace c.

>> No.63218947

>>63218805
That's more for business applications and logic, like Java or Go, not low-overhead systems programming.

>> No.63218993

>>63218911
>why not fix it instead of making a hard reset?
That's what C++11/14/17 are for and yet they can't fix everything, precisely because of backward compatibility.
Or you can do like Firefox and replace bits of C/C++ progressively like they're doing with Stylo in 57.

>> No.63219054

C, C++ or Rust?

>> No.63219061

>>63219054
I don't care

>> No.63219074
File: 40 KB, 800x450, hipster.jpg [View same] [iqdb] [saucenao] [google] [report]
63219074

>muh superior organic gluten-free programming language
>w-why can't people simply put aside their biases and face the truth of the oppressive orthodoxies of the programming community
:^)

>> No.63219111

>>63218474
Love how you cherry picked this shit:

>We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behaviour. We interpret the term “harassment” as including the definition in the Citizen Code of Conduct; if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.

Linked to http://citizencodeofconduct.org/:

>Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.

>ableist

>Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.

>> No.63219126

>>63218993
>precisely because of backward compatibility
That's horseshit, C++17 actively breaks backward compatibility to fix things.

>> No.63219134

>>63215258
>C doesn't have resizable arrays
realloc
>C doesn't have strings
string.h
>C doesn't have string concatenation
strcat
>C doesn't have namespaces
Unnecessary in most cases
>C doesn't have exception handling
Exceptions are evil™, retvals are superior, although variant types are needed for it to be ideal
>C doesn't have closures in the standard
Make your own
>C doesn't have Function overloading
Use _Generic
>C doesn't have memory safety of any kind
>C doesn't prevent memory exploits and has no bounds and runtime checks
C is concerned with speed, not safety
>C doesn't even have generics and templates
Acceptable complaint, but void* and token pasting macros exist if you're desperate.
>C doesn't have higher order functions
Function pointers can be passed or returned. Structs containing function pointers can be passed or returned for stateful closures.
>C doesn't have inner classes
Unnecessary to have classes at all
>C doesn't have function literals
Use a static or scoped function.
>C doesn't have array slicing
Literally just offset your pointer and size.

>> No.63219186

>>63215258
> c doesn't have [feature], therefore a version of c with [feature] added is a superior language!
great bjarne-tier logic. OP's a real language design expert

>> No.63219234

>>63215400
Nice bait.
A computer doesn't care if you're black, woman, transgender, gay, mexican or jew. It executes code, and shitty code gives shitty results. There's no place to social justice in programming.

>> No.63219256

>a language from 1972 isn't modern

>> No.63219290
File: 634 KB, 1630x888, Screen Shot 2017-09-24 at 11.07.55 PM.png [View same] [iqdb] [saucenao] [google] [report]
63219290

>>63217488
please go back to your js code.
you show you know nothing about c or even the concepts that go into it.

>> No.63219304

>>63219134
Safety is a meme, if you plan out your code properly you need not be concerned with it ever failing.

>>63215400
>Rust programmer trying to make it look like anyone cares about Rust.
>Programmer cares about morals

>> No.63219316

>>63219126
no it doesn't you fucking liar

>> No.63219322

>>63219290
Nice straw man

>> No.63219452

>>63218911
>why not fix it instead of making a hard reset?
Because obviously the old process failed and applying a bunch of band-aids to legacy code that has fundamental issues that created these problems isn't a very maintainable process.

>> No.63219675
File: 328 KB, 790x658, 1501293384833.png [View same] [iqdb] [saucenao] [google] [report]
63219675

>have 40 years to develop a good high-level language
>fail
>this is the fault of c

>> No.63220876
File: 59 KB, 959x534, oct2017.jpg [View same] [iqdb] [saucenao] [google] [report]
63220876

>>63216663
You sure about that, or you just want to keep pulling shit out of your ass?

>> No.63221008

>>63215451
No, but it is basically the most outright powerful at this point. If you want absolute control over the fastest in memory system you can write at the highest level of abstraction, you can't do better than D at the moment.

>> No.63222013

>>63219316
No it does. Yet it's 10 times better than working with C.

t. actual C++ programmer, with a job

>> No.63222041

>>63216945
No D is free as in freedom

>> No.63222068

>>63215317
Strings are char arrays in c

>> No.63222421

>>63215313
sorry but I'm into locking my penis and I feel offended by being related to rust developers

>> No.63222442

>>63219316
>HURRR FUCKING LIAR!
Even C++11 is not backwards compatible. Your Rust talking points are entirely false.

>> No.63223161

>>63215258
C++17 has all of that
... I see you've mentioned that now
I agree with op
C++>>>C
Fight me

>> No.63223306
File: 107 KB, 1000x1414, my_avatar_by_magicalgeek826-dbcywlt.jpg [View same] [iqdb] [saucenao] [google] [report]
63223306

C? More like, C-uck! LITERALLY!

Introducting Rust, the coding language you'll fall in love with!

Rust makes anime real!
Rust is typesafe!
Rust compiles faster than C!
Rust has no bugs!
Rust doesn't leak memory!
Rust is inclusive and diverse!
Rust has generics!
Rust makes $300k starting!
Rust won't assume your gender!
Rust is perfect on Sublime Text on your MacBook that you would buy if you could afford it!

So what's your excuse to use archaic dinosaur buggy patriarchal coding languages, /g/?

>> No.63223346

>>63222068
And what's wrong about that?

>> No.63223451
File: 924 KB, 600x336, govnocode.webm [View same] [iqdb] [saucenao] [google] [report]
63223451

>>63215258

>> No.63223568

>>63223346
They are presented as strings

>> No.63223747
File: 23 KB, 331x444, smug_dog.jpg [View same] [iqdb] [saucenao] [google] [report]
63223747

>>63215258

Hey, guys. I just got done having sex with my hot girlfriend. What's going on here? Oh, another programming language war. I'll catch you guys later then. I'm going to use some stupid language to make lots of money in the mean time...

>> No.63223748

>>63223306
>/g/ in the year 2089-72
>this is it guiz

>> No.63223796
File: 11 KB, 200x200, main-thumb-t-1513768-200-pywguwnuivobpiejjorxtqtmaapjjfpj.jpg [View same] [iqdb] [saucenao] [google] [report]
63223796

C is decent, Rust is terrible, this is now a Jai thread.

/g/, why are YOU hyped for what will be the greatest language of all time? For me it's the automatic conversion from AoS to SoA

>> No.63223830

>>63216897
>>cultural marxists
Can you please stop associating us with those niggers and feminazis? Thanks.
t. Marxist. No, not "social" "marxist" >implying.

>> No.63224149

>>63215258
>ASM is from stone age and the people who still preach it is like overgrown toddlers that can't learn advanced things. ASM is for lesser programmers.
>ASM doesn't have delegates
>ASM doesn't have resizable arrays
>ASM doesn't have strings
>ASM doesn't have string concatenation
>ASM doesn't have namespaces
>ASM doesn't have exception handling
>ASM doesn't have closures in the standard
>ASM doesn't have unit tests
>ASM doesn't have Function overloading
>ASM doesn't have memory safety of any kind
>ASM doesn't prevent memory exploits and has no bounds and runtime checks
>ASM doesn't support dynamic method loading/creating
>ASM doesn't even have generics and templates
>ASM doesn't have meta programming
>ASM doesn't have mixins
>ASM doesn't have higher order functions
>ASM doesn't have contract programming
>ASM doesn't have inner classes
>ASM doesn't have function literals
>ASM doesn't have array slicing
>ASM has a very limited support for implicit parallelism
>ASM doesn't even have string switches
Well I guess assembly sucks, eh?

>> No.63224472

>>>63219126
>no it doesn't you fucking liar
Yes, it fucking does. throws() was deprecated and is forbidden in 17. That blows up code that declared what exceptions it might generate.

>> No.63224503
File: 45 KB, 918x1032, cpp.png [View same] [iqdb] [saucenao] [google] [report]
63224503

>>63215258
If only there was a language we could use instead that retained the power of C while having all the modern features one could want!

>> No.63224528

>>63224503
>the power of C
>C project will not compile as C++
oh would you look at that?
C++ isn't anywhere nearly as expressive as C

>> No.63224674

>>63224149
Yeah what's your point? Assembly does suck. No one uses it anymore unless they have to.

>> No.63225380

>>63217293
what are you doing here fenoxo

>> No.63225472

>>63219304
>Safety is a meme, if you plan out your code properly you need not be concerned with it ever failing.

I too program perfectly safe fizzbuzz implementations

>> No.63225502
File: 176 KB, 960x796, 1467749737820.jpg [View same] [iqdb] [saucenao] [google] [report]
63225502

Why are safetylets (C, C++) and performancelets (Go, Swift, etc) so mad about Rust?

>> No.63225508

>>63223796
>automatic conversion from AoS to SoA
Didn't he have to drop that in one of the latest versions?
I will be very mad if he just creates a slightly more modern C++. A language that lets you access a uninitialized or freed memory without a warning is not worth my time.

>> No.63227096

Dumb brainlets think you can't do generics in C
https://github.com/purpasmart96/pmd_test/blob/master/src/common/stack_generic.c

>> No.63227116

>>63225508
>I will be very mad if he just creates a slightly more modern C++
thats what he's doing, its just Jonathan Blow flavoured C++

>> No.63227138

>>63223796
Jai is interesting but irrelevant really.

>> No.63228471

How to be productive in rust, in two lines:
unsafe {
}

>> No.63228609

http://cglab.ca/~abeinges/blah/too-many-lists/book/

>In this series I will teach you basic and advanced Rust programming entirely by having you implement 6 linked lists. In doing so, you should learn:
> - The following pointer types: &, &mut, Box, Rc, Arc, *const, *mut
> - Ownership, borrowing, inherited mutability, interior mutability, Copy

>> No.63228614
File: 347 KB, 1919x1033, 1509853438760.jpg [View same] [iqdb] [saucenao] [google] [report]
63228614

>> No.63228620

>>63215501
That is not true. I really love rust and I completely agree that it's infinitely superior to C (and in many respect, much superior to C++), but the borrow checker fucks everything up in non-trivial programs. Literally spend a whole day figuring out what ordering of operations allows me to keep track of a resource handle while simultaneously being allowed the immense privilege of actually making use of it and still haven't figured it out because any solution would require rewriting my entire project from scratch, and it's months' worth of work.
Another aspect that fucks shit up bad is the type inference. You have to keep track of all lifetime and parameterization (upcoming are slight improvements in that regard at least), which is both extremely verbose (e.g. making refactoring extremely costly) but also extremely hard to manage when working with complex external libraries (because they might not want to tell you what the real type of an object is since it's not technically part of the interface, unlike the functions - in particular specific variants of functions with the right type parameters might yield extremely complicated expressions that cannot be in turn accepted by one of your functions without fully, explicitly typing out the final form of the type, and things like type aliases and macros don't make that easy).

That said, it is in no way a crutch, quite the opposite: it forces pajeets to write good code and, in principle, non-pajeets are not supposed to ever have these issues since their code by definition is already good. It's just that due to the halting problem, it's not quite fact yet.

I still wonder to this day, why is the borrow checker working at definition time rather than around call sites? I think this would provide exactly the same amount of safety but be significantly more lenient and amenable to common programming constructs.

>> No.63228623

>>63228614
My dream is to have a C-syntax variant of Pascal.

>> No.63228636

>>63215451
>forced gc because of the stdlib
No. It also does not improve enough over C++ in my opinion. It's not a bad language once the stdlib is fixed though.

>> No.63228651

>D, Rust, Jai

All hipster shit.
Use Ada.

>> No.63228658

>>63228651
Anyone who mentions jai just needs to be shot in the head.

>> No.63228696

>>63224528
>c++ isn't anywhere nearly as expressive as c

>> No.63228803
File: 43 KB, 385x526, 1509819760088.jpg [View same] [iqdb] [saucenao] [google] [report]
63228803

A string is not a data type.

>> No.63228816

>>63215258
>contract programming
WTF does that mean?

>> No.63229056

>>63223796
>automatic conversion from AoS to SoA
Literally useless and you'd know it if you were actually writing high performance applications.

>> No.63229070

>>63228803
It is if you define it as one.

>> No.63229072

1: trolls trolling [1]

>> No.63229086
File: 707 KB, 960x540, [RH] Himouto! Umaru-chan - 10 [405AC755] [00_14_00.338].png [View same] [iqdb] [saucenao] [google] [report]
63229086

>>63215333
Everyone here is a parrot of bullshit they heard on here.
Read and compare Go's CoC to Rust's. Go's literally mentions microaggressions while Rust's doesn't.

>> No.63229118
File: 515 KB, 767x694, Nicole Waterson reaction 28.png [View same] [iqdb] [saucenao] [google] [report]
63229118

>>63229070
in no lang is a string a data type, anon. it may be treated as one for the mental solace of new programmers, but it's always at most a class.

>> No.63229127

>>63229118
In TCL, string is the only real data type.

>> No.63229129
File: 35 KB, 600x539, 1507565580960.jpg [View same] [iqdb] [saucenao] [google] [report]
63229129

>>63229118
>a class is not a data type
the power of /g/

>> No.63229155
File: 725 KB, 4001x2850, 1509819516637.png [View same] [iqdb] [saucenao] [google] [report]
63229155

>>63229070
A string is an array or list of a data type, it's not a data type in and of itself. Tell me what a string looks like in the registers of a CPU.

>> No.63229163
File: 489 KB, 899x644, Nicole Waterson reaction 72.png [View same] [iqdb] [saucenao] [google] [report]
63229163

>>63229129
in C terminology, "type" refers to what OO people may call "primitive type".

>> No.63229172
File: 69 KB, 907x624, 1508349768708.jpg [View same] [iqdb] [saucenao] [google] [report]
63229172

>>63229163
And he keeps delivering!

>> No.63229188
File: 688 KB, 3840x2160, 1506178292364.jpg [View same] [iqdb] [saucenao] [google] [report]
63229188

>>63229155
>an array or a list aren't types
>you can see types in the CPU registers

>> No.63229199

>>63229188
This is the problem when 99% of /g/ has no-to-Java-tier CS education.

>> No.63229200

>>63215258
oh look this pasta again

>> No.63229235
File: 2.97 MB, 1434x1974, incensed penguin.png [View same] [iqdb] [saucenao] [google] [report]
63229235

>>63229200
It is not a good pasta. It doesn't even mention hashmaps, and C does have string concat methods.

Also, namespaces are useless FÁM. Like. You have some shit in a lib named Foo. You do Foo.shit.
In a lang with namespaces, you do using namespace std so you don't have to write std:: every two fucking seconds and you still do Foo::shit. NOTHING
HAS
CHAYANGED

>> No.63229249
File: 143 KB, 600x877, 1509704172083.jpg [View same] [iqdb] [saucenao] [google] [report]
63229249

>>63229188
>has to interpret his data type with a procedure
So any arrangement of integers or floating point numbers in a program is a type?

>> No.63229268

>>63229163
>a struct is not a data type

>> No.63229297

>>63229268
>In computer science, a composite data type or compound data type is any data type which can be constructed in a program using the programming language's primitive data types and other composite types. It is sometimes called a structure or aggregate data type,[1] although the latter term may also refer to arrays, lists, etc.
It's not a data type.

>> No.63229311

>>63229297
Did you even read your own quote?

>> No.63229314
File: 67 KB, 750x725, 1509614037756.jpg [View same] [iqdb] [saucenao] [google] [report]
63229314

>>63229297
It literally says it's a data type though.
>Ctoddler can't even properly read

>> No.63229344
File: 116 KB, 850x728, 1508859048381.jpg [View same] [iqdb] [saucenao] [google] [report]
63229344

>>63229311
>>63229314
>a data structure made from composite data types is a data type
The state of stroustrupfags.

>> No.63229358

>>63229344
That's literally what you wrote, yes.

>> No.63229363

>>63229344
>composite data type
>literally a data type
>still believes the CPU cares about what the register's values are beyond what the logical gates are doing
Lmaooo Ctoddlers everyone

>> No.63229369
File: 276 KB, 380x377, amakejres.png [View same] [iqdb] [saucenao] [google] [report]
63229369

>>63215453
>trusting the compiler jew to do your work

>> No.63229377

>>63229363
>my composite data type is a data type
>my wife's son is my son

>> No.63229393

What the fuck is this thread?
There are actual, legitimate reasons to criticize C. Certainly one would want to change many things if one were to design it from scratch. But criticizing it for not being a high-high-level language, like OP is doing, is not a legitimate criticism.
OP seems to be trolling, but if so, why is he doing it so badly?

>> No.63229401

>>63229377
>deflecting this hard
>also is a poltard
I have a question. Why are Ctoddlers so easy to laugh at?

>> No.63229414

>>63229401
Because C is for brainlets

>> No.63229462
File: 52 KB, 470x430, 1508213450587.jpg [View same] [iqdb] [saucenao] [google] [report]
63229462

>>63229401
>a compound data type is a data type
>a string of characters is a character
It isn't hard to grasp the semantic issue here.

>> No.63229478

>>63229462
The semantic issue is that you think data type is equivalent to primitive data type.

>> No.63229491

>>63229393
function overloading and namespaces aren't especially high level concepts

>> No.63229507

>>63225502
we're not mad you should be because your language is shit

>> No.63229517

>>63229507
Rust is pretty comfy tho

>> No.63229532

C doesn't have my useless esoteric syntactic bullshittery taken straight out of a category theorist's ass on the planet Zi Bzorp Wang.

>> No.63229546

>>63229532
t. brainlet

>> No.63229565

>>63229517
if you're comfortable with it fine but that doesn't mean it's a good language overall

>> No.63229570

>>63229517
No, it's not.
It's going to flop, and you're going to realize you wasted your time and brain cells learning the very alien and uncomfy paradigm of a now-dead lang that had a weird fetish for MT safety.

>> No.63229577

>>63229478
>data type with no qualifiers like primitive or composite is an umbrella term for all data types
Seems like an overloaded term.

>> No.63229580

>>63223568
they're not, they're presented as arrays of chars
FUCKTURD

>> No.63229585

delegates have no use
namespaces have no real use (use an underscore, nigger)
exceptions are crap
unit tests are up to you
function overloading is useless
generics are useless except for vector/matrix libraries
templates are horrible
metaprogramming is incomprehensible and useless except in lisp and tcl
mixins are useless
contract programming is almost useless
classes are shit

>> No.63229597
File: 691 KB, 759x572, sisko 01.png [View same] [iqdb] [saucenao] [google] [report]
63229597

>>63229577
A star cluster is a general term
A globular cluster is a dense star cluster
An open star cluster is a sparse star cluster

>> No.63229609

>>63229597
read it in his voice

>> No.63229618

>>63229597
>star trek analogy

>> No.63229644
File: 67 KB, 705x530, sisko 02.jpg [View same] [iqdb] [saucenao] [google] [report]
63229644

>>63229609
*Quick inhale* The issue is not that nobody understands what a type is--
*Yelling but without increasing decibel level and instead saying everything in a dramatic inflection*
THE ISSUE IS THAT PEOPLE FROM THE LOWER LEVEL DO NOT RESPECT HIGHER LEVEL PEOPLE'S MULTIVALENCE OF THE TERM! A TYPE *IS* A PRIMITIVE TYPE, AND IT'S WHAT THE METAL WAS LITERALLY BUILT TO WORK ON.

>> No.63229667

>>63229546
[email protected](blorpblorp::Weeble::Beep<<gralunk.alunk=>>snort[]!>>=^bzz,bop).eeoo!::eeo(ee){.<barf:blorf}

this is a rust programmer writing a productive progr-- oh wait there aren't any programs written in rust

truly the worst of haskell, ml, c++ and d combined

>> No.63229680
File: 117 KB, 996x868, 1505326405231.jpg [View same] [iqdb] [saucenao] [google] [report]
63229680

>>63229644
>C relies on an abstract machine for its specification
>but types are what metal is built to work on

>> No.63229681

>>63229580
a string's an array of chars

use a string library

>> No.63229736

>>63229644
You're not using ASM, you're using C. C is aware of types and does (pathetic) typechecking, for primitive and compound types alike.

>> No.63229784
File: 7 KB, 206x245, 1506633660813.jpg [View same] [iqdb] [saucenao] [google] [report]
63229784

>rust wants to replace c
>WITH A GARBAGE COLLECTOR

do you rust fags even know what c is used for?its mainly used for developing operating systems and embedded systems.so lets say i've written an operating system in rust.i close one of the running programs(kill the process) in this operating system.how am i supposed to implement the feature into the operating system to free the memory used by the process when its killed when it can only be freed when the gc runs?and dont get started with this unsafe{} bullshit because at that point you are better off writing c.sjw rustfags you will never infiltrate systems programming give up already.

>> No.63229790

>>63229680
>arranging the stack, treating memory as a series of bytes and abstracting away os signals is analogous to the java virtual machine
Also, an int is typically the word size of the processor.

>> No.63229805

>>63229784
>its mainly used for developing operating systems and embedded systems
no it isn't, it's used for all sorts. the vast majority of libraries are written in c.

i don't use c much anymore though, go has replaced it for me.

>> No.63229807

>>63229784
Rust doesn't have a GC though

>> No.63229830

do i have to be a fat blue haired legbeard feminist that spends half of xir time discussing why white males should not have access to culturally authentic ethopian lunches but should pay for them anyway to use rust?

>> No.63229840

>>63229830
you just have to be dissatisfied with C and C++, which isn't hard

>> No.63229850

>>63224528
>I have no idea what I'm talking about, the post
A handful of syntax changes designed to remove vague bullshit does not make the language "not anywhere near as expressive".

>> No.63229869

>>63229850
sepples is king as vague bullshit

>> No.63229871
File: 654 KB, 683x527, Janeway 05.png [View same] [iqdb] [saucenao] [google] [report]
63229871

>>63229736
But asm is much closer to C than C is to many other langs in that you actually have to work with types on the metal.
*Performs facial expressions after finishing dialogue.*

>> No.63229889

>>63215438
you don't seriously think mixins make you productive do you?

>> No.63229896

>>63229840
im sorry pointers deemed to be too hard for you.maybe in the next life.enjoy being a webdog tho.

>> No.63229906
File: 172 KB, 640x360, Umaru (2).png [View same] [iqdb] [saucenao] [google] [report]
63229906

>>63229896
Pointers are easy.
I just don't get why we need references.

>> No.63229943

>>63229871
>you actually have to work with types on the metal.
>types on the metal

>> No.63229946

>>63229896
Pointers are easy though.

>>63229906
In Rust?

>> No.63229957

>>63229871
What's the type of 0xDEADBEEF?

>> No.63229979
File: 1.33 MB, 3024x4032, 1509222925421.jpg [View same] [iqdb] [saucenao] [google] [report]
63229979

>>63229871
Types on metal only make sense for architectures like x86 where the al register can be either al, ax, eax or now rax as the architecture has developed.

When you load a 32-bit floating point number into a register is it actually physically loaded into that register or sent off to a floating point unit for computation before being returned in that register?

I fucking hate this shit, I want my 6502 back.

>> No.63229995
File: 536 KB, 693x527, Gul Dukat 0.png [View same] [iqdb] [saucenao] [google] [report]
63229995

>>63229840
How could one be dissatisfied with C++? It has everything: speed, a stdlib furnished with magical arrays and hashmaps, as much direct power or offloaded abstraction as you need or want any any given moment.
>>63229957
A 64-bit integer

>> No.63230007
File: 673 KB, 960x540, [RH] Himouto! Umaru-chan - 10 [405AC755] [00_14_33.581].png [View same] [iqdb] [saucenao] [google] [report]
63230007

>>63229946
>In Rust?
In C++, senpai!

>> No.63230012

Go > Rust
Prove me wrong. Pro-tip: you can't.

>> No.63230028

>>63230012
Das rite, but they are BOTH SJW langs.

>> No.63230049

>>63230007
The reason they were added was for operator overloading. But they're also used over regular pointers when you want to indicated that something isn't an array and isn't nullable.

>>63229995
Too bloated and inconsistent.

>> No.63230081

>come up with simple compiled language with CSP-style concurrency built into the syntax
>implementation nearing maturity
>decide compactness sucks and C++ is a great design to shoot for
>back to the drawing board
>decide that your language still isn't bloated and hard to read enough so you adopt more exotic never-used features from standard ML
>decide that excellent support for concurrency isn't important in this day and age after all, so you remove those features and advise people to just use mutexes
>start ragging on your former mentor golang for not having generics, when golang should be ragging on you for removing your flagship feature
>adopt a CoC and try to spread social justice cancer far and wide
And that's how a language locked itself into relative obscurity.

>> No.63230104
File: 14 KB, 318x240, Gul Dukat 3.jpg [View same] [iqdb] [saucenao] [google] [report]
63230104

>>63230049
>Too bloated and inconsistent.
Well, so is Windows, but there's a reason everyone uses it anyway.
(Except to code in C++ because both VS and MinGW are a nightmare.)

>> No.63230113

>>63215258
Gr8 b8

>> No.63230125

>>63230028
go foolishly adopted a coc, and dave cheney is a prick, but you can tell the foremost figureheads are keeping their power level in check

>> No.63230161
File: 64 KB, 500x814, Untitled.png [View same] [iqdb] [saucenao] [google] [report]
63230161

Feels good

>> No.63230192

all useless shit you wouldn't need if you were a real programmer

>> No.63230340

>>63225380
Thank you for acknowledging my joke. I haz smile.

>> No.63230416

Can we just stop trolling and appreciate rustup and cargo for a second?

>> No.63230422

>>63225380
>>63230340
Ha! I didn't even catch that, and I've gotten all the way up to the Minotaurs! And farther in TiTS.
Guy makes good shit.

>> No.63230438

will C++ go the way of COBOL and just be useful for maintaining legacy shit if rust takes over by force?

>> No.63230460
File: 298 KB, 600x800, Common_Hoopoe_(Upupa_epops)_Photograph_by_Shantanu_Kuveskar.jpg [View same] [iqdb] [saucenao] [google] [report]
63230460

>>63230438
>by force

>> No.63230462

>>63230416
>every language now needs its own package manager
I hate this dumb numale shit.

>> No.63230491

>>63230462
your lang does, too, you fucking RETARD

>> No.63230537

>>63230491
No, it doesn't.
They're all installed with my system-wide language-agnostic package manager.
I also don't use a bajillion unstable micro libraries like some nodefag.

>> No.63230646

>>63230537
>put millions of language-specific dev libraries in the OS package manager
>out of date, no versioning, often modified from upstream by the package maintainer which causes different behavior than on other platforms
>want to use some smaller library that isn't in OS package manager yet so now you need some hybrid of system package manager dependencies and manual installs
>some distros may have different sets of libraries than yours
>anyone building your software has to get a list of your dependencies and track them all down and install them
Yeah this is a much better system than just using the language-specific package manager to gather up all the dependencies at the right version automatically in the build step.

If you seriously think language-specific package managers aren't a huge boon to developers, you don't actually do any serious development, and you're probably just basing that opinion on npm being a shitty implementation of a package manager. The concept itself is sound and other languages do it far better.

>> No.63230698

>>63230646
Just because your numale OS has only crap package managers like homebrew, doesn't mean mine is shit like that. And I'd think even crap like homebrew has basic shit like versioning.

>> No.63230851

>>63230537
System-level package managers are _not_ tools for managing an application's development environment. The update cycles of an entire distro's userspace and some in-development application's unstable deps are years apart --- and they should fucking stay that way if you aren't developing software specifically for the distro's next release.

This mismatch between package update cycles is why half the distros out there can barely deliver a desktop OS that actually starts on recent hardware without having over 9000 unstable pieces of shit installing with it.

>> No.63230862

>>63230698
I was actually talking the most about Debian, but other distros have just as many problems. Don't know about homebrew but I imagine it's just as bad or worse.

Again though, you clearly have no idea what you're talking about and just like to spout shit.

>> No.63230879
File: 2.01 MB, 4000x3000, Gull_Beak_IMG_1575.jpg [View same] [iqdb] [saucenao] [google] [report]
63230879

>>63230460
Antifa Riseup anarchist pic related
>>63230646
>>put millions of language-specific dev libraries in the OS package manager
Excuse me, what?
If you want a lib, sir, do you not do the needful and import the .h files and include and link them in your code?
Why are you relying on the System du Operation for this>?

>> No.63230925

>>63230851
If you don't target bleeding edge versions of libraries like a complete retard, it's fine.
I know that's hard for rustfags to understand since not even their core language is stable.

>> No.63232683
File: 717 B, 110x42, spr_savebt_0.png [View same] [iqdb] [saucenao] [google] [report]
63232683

save

>>
Name (leave empty)
Comment (leave empty)
Name
E-mail
Subject
Comment
Password [?]Password used for file deletion.
reCAPTCHA
Action