C Master Race

>he actually thought Rust was the systems language of the future

You can only post in here if you didn't fall for the functional meme

Attached: nova-1076387_1280.jpg (1280x719, 131K)

Other urls found in this thread:

news.ycombinator.com/item?id=10917414
blaisepascalmagazine.eu/academy/programming-in-c-or-pascal-english/
twitter.com/NSFWRedditVideo

I didnt fall for rust but I am learning erlang which is a functional language

Rust as a systems language has no future as long as POSIX is a C interface.

C and POO6 are archaic rotten garbage though

Maybe for people who can't code.

that's what people who can't code tend to fell for

>The price of commercial compilers wasn't the only issue with Ada. It never had any friends in the UNIX culture.

'''>UNIX culture always ignored safer system programming languages from the 60 and 70's.

>If the hacker culture bashes Java for being verbose, what would they say about Algol languages like Ada?'''

news.ycombinator.com/item?id=10917414

>Of course, the poor legibility of C is a direct consequence of the use of special characters. Here you can see that the authors just did not have the experience that Wirth had, as many operators are poorly chosen. The symbol ^ for differencing in Pascal reproduces the nature of a pointer much better than the star, which is also used as a multiplication sign. It has done better with the “->”, with which composite components can be addressed. And I have never understood why == and != is used for comparisons, instead of = and . '''I often have the impression that the sole aim of C syntax is to be different from Algol or Pascal, and not more easily comprehensible.

>Perhaps the original aim was to save space, but this means that C programs have to be commented much more, which wins you nothing. The partially cryptic nature of C actually attracts some programmers who love this; there are even programming competitions in C such as “Obfusticated C”. Here programs that no one can read win prizes. In this example the need to avoid a buffer overflow and append the binary zero makes the C program even longer than the Pascal program'''. (Note: Of course, “Obfusticated C” competitions have nothing directly to do with C, but they represent a culture that sees an art in writing cryptic programs that are neither readable nor easy-to-understand. The fact that people who are predisposed to using C instead of Pascal does however have something to do with the programming language.)

blaisepascalmagazine.eu/academy/programming-in-c-or-pascal-english/

[cont.]

[cont.]

now it all makes sense

unix niggers chosen C as their language because it is unreadable and they can pretend to be evil dark hackers that type strange symbols into computer. same like when they claim that CLI is better than GUI, in reality they prefer CLI because they can memorize some nigger commands from manual and then feel like DARK HACKERS that control computers with strange letters and stuff

unix niggers care about how they are perceived, they don't care about productivity or software safety and quality. so unix niggers are similar to objective-c apple gay starbucks onions devs, they are just from different team, both teams hate each other but in reality both teams are bunch of dumb niggers

hacker/unix culture = dumb shit niggers that want to show off that they memorized some cryptic magic commands and they are DARK HACKERS.

Pointers are gay

Only virgins want to manage memory

This, but unironically. Only LARPers think there is any virtue in doing that when you don't have to.

Let me guess, you're still asspained that you weren't be able to master Bash?

Maybe you should start with a baby's first linux distro like Manjaro. It's more forgiving on brainlets such as yourself.

Attached: Ben-Shapiro-1.jpg (900x506, 106K)

Are you saying that Rust can't link against C or doesn't have a native language binding for C (that can link against POSIX)?

Also
>systems programming
>working in userspace

>no argument besides hurr durr bash baby's first distro hurr
>using the term "linux" to mean "gnu/linux"
Cniles are truly pathetic.

Attached: 1547139936468.jpg (896x1312, 175K)

Imagine coding like a slob, leaving your garbage WHEREVER to be cleaned up by a program.
C is pure and clean. Don't be a slob, user. Use C.

Imagine coding like a slob, leaving your stack contents WHEREVER to be cleaned up by a compiler.
Assembly is pure and clean. Don't be a slob, user. Use assembly.

>You can only post in here if you didn't fall for the functional meme
But C is functional though.

Not really, it doesn't support currying/capturing state and functions aren't really first class citizens (they can be referenced by address, but they can't be treated as data and modified).

true its not high-level functional but id still argue its functional, sure you cant dynamically create functions (well not in strict accordance with the standard anyway) but you can pass and store references to them and every line of code that isn't a declaration has to be in a function and you've got modules (declare something as static and it won't be exported) and everything is plain ol data w/ no objects (only records) and you even have a very rudimentary and poorly enforced but nonetheless universal type algebra, you've got product types that work pretty much correctly (struct), sum types that aren't sanitized (union), exponent types that can't be dynamically instantiated (function pointer), type variables that are completely useless because they can't vary (typedef, enumerated types whose data constructors all have to be nullary and are even more useless than that because people can easily use invalid nullary data constructors that aren't even defined for said types without the compiler complaining (enum), and even type-level functions that aren't first-class citizens in any way and are so shoddily implemented that the brackets in the function bodies don't even have to match (macros).

Imagine coding like a slob, leaving empty space between your instructions WHEREVER to be cleaned up by an assembler.
Machine code is pure and clean. Don't be a slob user. Use machine code.

Imagine coding like a slob, leaving your instructions WHEREVER to be interpreted by a CPU.
Integrated circuits are pure and clean. Don't be a slob user. Use integrated circuits.

In my book, it isn't really a functional language unless it supports currying (capturing state and returning a new function). C++ does though (modern sepples through lambdas, older sepples through functors), so I would argue that C++ is very much a functional language. But the limitations of C makes it hard for me to call it functional.

Also unrelated, and even though it sometimes is a great convenience, I'm also not very fond of C's lax type enforcement tbqh.

Imagine dealing with converting analogue signals to discrete digital levels, leaving voltage levels WHEREVER to be approximated by an ADC.
Mathematics is pure and clean. Don't be a slob user. Use mathematics.

Jesus if you think just regular C is bad, what do think of C++.

bell labs vs xerox.

c = small brain
c++ = big brain

I feel like just C is too limiting i mean the code is more readible cuz of the lack of libraries that C++ has but you have so many option in C++ i dont fucking care if people struggle to read my code.

rust isn’t a functional language though

oh no C is so limiting for me imagine writing an OS in such a limiting language

kys pythonfag

why not just use C++, over C?

That's not what I meant. Rust is condemned to be another layer on top of C and POSIX. C is the lingua franca of systems programming. In the userspace, POSIX is the only way to access ressources from any compatible kernel in a standard way. Try and program your own POSIX-compliant kernel in Rust, that won't change anything to the fact that most system utilities are written in C and that there will be a demand for a pure C development environment.
I know Rustlets live to rewrite everything in their language, but maybe we can talk about using Rust as a systems programming language when an industrial-grade POSIX OS written in Rust gets enough traction. Personally, I hope it won't.

C is a near-perfect language that was developed to solve an actual problem. C++, on the other hand, is a Frankenstein language. The original idea was a C kind of language with classes. Nothing wrong with that (well object oriented programming is kind of retarded but ok) but since then it picked up many additional features and became very bloated.

I recommend reading Linux Torvalds C++ rants. He's right that C encourages good programming while C++ does not. Linus is a wise man.

that says nothing about the relative suitability of C or Rust for kernel development. If anything the fact that you have to make that argument is proof that rust is better -- it should come as no surprise that most kernels in use are written in C because they're all ancient. If rust had existed at the time, I'm sure Torvalds would have used it instead

How easy is it to switch from C# to C++?

is C# any good or is it trash?

> If anything the fact that you have to make that argument is proof that rust is better
Now check out this argument: Rust is too good to be a replacement for C. That's what you'll never understand. You can't get your head around the argument that potentiality is not forcibly a GOOD point for a language that aims for simplicity and portability. That's why, thankfully, C++ didn't replace C as the lingua franca. Rust is more in competition with C++ in that regard.

not that guy but I used it for work a few years back. It's actually pretty nice for anything where you're working with databases; LINQ is pretty nifty. That said, it bored me to write .NET code because there is a single right way to do pretty much everything. Syntactically it's fine though

Can you provide a single reason for that other than the fact that legacy C code is written in C?

>since then it picked up many additional features and became very bloated.
This is a good thing though, it's hote when languagewaifus gain weight.

Very hard

Attached: 1516621793276.png (2048x833, 776K)

>there is a single right way to do pretty much everything

I think companies started trying to get that to be a thing in programing languages, that way when someone has too look at your source code they arent fucking lost af.

wow, someone used this meme correctly
amazing

>they claim that CLI is better than GUI, in reality they prefer CLI because they can memorize some nigger command
turn your brain on before posting user. the command line is far more reliable when doing real work. it's always going to be there for you. What if you were working on a system remotely over a poor connection, you're telling me you'd want a GUI instead of CLI ?

Yeah, it's by no means a bad thing for enterprise software, just takes some of the fun out of writing code

GUI has never been for serious work. It's just a tool so that normalfags can use computer software without having to learn anything.

>In the userspace, POSIX is the only way to access ressources from any compatible kernel in a standard way.
Is this 1999? There are plenty of ways to access system resources these days, userspace drivers for example use VFIO or uio. For fast file systems, you use fuse or libaio or spdk. Hell, even for synchronization you use futexes instead of POSIX mutexes. epoll() instead of POSIX poll() etc. POSIX is dead.

Also, POSIX is literally just C signatures to system calls anyway; system calls that you can trigger in freaking assembly if you want. Any language with support for FFIs can be used to interface with the OS.

There's nothing essential with C, it just happens to be the language used in most popular kernels today because back in the days it was very useful. And I say this as someone who works mostly with C for a living.

>I recommend reading Linux Torvalds C++ rants.
Those are old and dated and not even slightly relevant to modern C++. Also, Linus is arguing from emotion, not making a technical argument.

What reason for what decision? That Rust is too good to fulfill the objectives of its creators? It makes no sense trying to invent a reason for a fact, it just is. But if you want it more developed (even though you could do without), it goes like this: a lingua franca can only be simple enough that the mental overload of reading and writing does not prove prohibitive for a non-native speaker. Rust does not qualify for such criteria, for its syntax is more complex than C's, and its marketed features are not exactly the most accessible. Then, you could retort that C is a brainlet language, you'd still be right, but it wouldn't change anything to my point.

>laborious and error-prone manual memory management
this isn't the 1990 any more

Rust isn't functional.
It's just typed imperative style programming.

OCaml is functional.

>Is this 1999? There are plenty of ways to access system resources these days, userspace drivers for example use VFIO or uio. For fast file systems, you use fuse or libaio or spdk. Hell, even for synchronization you use futexes instead of POSIX mutexes. epoll() instead of POSIX poll() etc. POSIX is dead.
And what's common between all these non-POSIX APIs? They're so fucking complex to use. Seriously, do you use epoll() to poll on 2 file descriptions? futex() for simple atomic variable access? These are advanced techniques, they have their use case, that is, high-performance applications, but the POSIX API is still the simpler, standard way to systems programming.

Except POSIX is garbage, especially pthread.

>And what's common between all these non-POSIX APIs? They're so fucking complex to use.
They're really not.

>Seriously, do you use epoll() to poll on 2 file descriptions?
No, but for two file descriptors you don't even need select(). You would use the non-POSIX GNU O_NONBLOCK flag to open() and just check the first and then the second.

>futex() for simple atomic variable access?
No, for that you could use std atomic, oh wait, yeah that's right, C doesn't have that. You use a nonstandard GCC atomic instead.

>These are advanced techniques, they have their use case, that is, high-performance applications, but the POSIX API is still the simpler, standard way to systems programming.
POSIX is archaic and deprecated. Seriously, why the fuck would you need not one dup, not two dup, but fucking three dup calls (yeah, technically dup3 isn't POSIX, but dup and dup2 are).

POSIX a shit, which is why all the BSDs and Loonix implement it slightly differently so your code isn't exactly portable to begin with and you need a gorillean macros to check which version of POSIX you are using and whether to use GNU extensions and whether to use Linux calls or macOS calls or FreeBSD calls etc.

Rust is more readable and expressive than C/C++. Any "mental overload" is just baby duck syndrome caused by it not being identical to C

It's not a purely functional language, but you can write pure functional code if you choose to
Threads in rust are WAY nicer than using pthreads

Rust isn't functional YOU FUCKING RETARD

>pattern matching is a meme
>everything being an expression is a meme
>traits (basically haskell typeclasses) are a meme
>being able to leave out the verbose return keyword at the end of a function is a meme
>closures are a meme
retard

who the fuck needs any of that shit you fucking zoomer, literally any of that is possible in C if you have enough intelligence, oh wait

>Maybe for people who can't code.
Once you get a decade or two under your belt, you too may also realize that nobody can code. We just approximate good results with different tools that require different amounts of work to get to different tiers of quality in different areas.

>reinventing the wheel and writing non-idiomatic C code for the sake of emulating features that are readily available in modern languages is the best use of my time that I can think of
Professional fizzbuzzer, I see.

OP is a fag but Rust is just a refined systems OCaml.

>201X
>using C
OP is a CIS white male.

>writing hideous C code just to reinvent something which is integrated cleanly and orthogonally in Rust
let me guess, generics are a meme too?

rust tranny fags can stay and larp as good programmers in their safe space discords.

He says, unable to use the language due to his cripplingly low IQ.

There's no point in rewriting good, well-audited C code in Rust. But code where C keeps blowing up, hell yeah. Network stacks, filesystem drivers, crypto libraries, et al.

Switching languages doesn't help bad coding practices.

I feel like rust is simpler and handles alot of the back end.