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

Ban C language

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 313
Thread images: 25

File: code.jpg (159KB, 800x623px) Image search: [Google]
code.jpg
159KB, 800x623px
Just in, 11 year old bug in Linux kernel just got patched by SUSE:
https://www.suse.com/support/kb/doc?id=7018645

It's a privilege escalation bug thanks to C's lack of security concept. In the current DCCP implementation an skb for a DCCP_PKT_REQUEST
packet is forcibly freed via __kfree_skb in dccp_rcv_state_process if
dccp_v6_conn_request successfully returns [3].

However, if IPV6_RECVPKTINFO is set on a socket, the address of the
skb is saved to ireq->pktopts and the ref count for skb is incremented
in dccp_v6_conn_request [4], so skb is still in use. Nevertheless, it
still gets freed in dccp_rcv_state_process.

The fix is to call consume_skb, which accounts for skb->users,
instead of doing goto discard and therefore calling __kfree_skb.

To exploit this double-free, it can be turned into a use-after-free:

// The first free:
kfree(dccp_skb)
// Another object allocated on the same place as dccp_skb:
some_object = kmalloc()
// The second free, effectively frees some_object
kfree(dccp_skb)

As this point we have a use-after-free on some_object. An attacker can
control what object that would be and overwrite it's content with
arbitrary data by using some of the kernel heap spraying techniques.
If the overwritten object has any triggerable function pointers, an
attacker gets to execute arbitrary code within the kernel.

See https://github.com/torvalds/linux/commit/5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4


How many times has C proven to be an old relic unfit for modern secure computing. OpenSSL's heartbleed, Grub2's Password exploit (the 29 key bypass), Shellshock -- all originate from one root of problem:
"C"


C is the reason why we still have shitty backdoors.
C is the reason why we cannot utilize multiple cores efficiently.
C is the reason why our programs continue to reveal security exploits after decades.
C holds back technology advancement to the 80's .
>>
>>59076300
source http://seclists.org/oss-sec/2017/q1/471
>>
>>59076300
>all originate from one root of problem
>shitty programming
fuck off op
>>
File: 1484979142601.png (200KB, 356x256px) Image search: [Google]
1484979142601.png
200KB, 356x256px
You know realize that the critical crypto lib you're using to keep your privacy safe from the surveillance state as well as criminals relies on a language so unsafe that even experts of the language frequently make critical mistakes while writing it.

>C was a mistake
- Dennis Ritchie (1941 - 2011)
>>
>>59076346
Linus is 10 times better programmer than a local fizzbuzzer like you, anon.
>>
C was a mistake

t. Ken Thompson, the creator of Golang
>>
>>59076364
What the fuck did you just fucking say about me, you little bitch? I’ll have you know I graduated top of my class in the Logic Gates, and I’ve been involved in numerous secret raids on Telegraph, and I have over 300 confirmed cisco certifications. I am trained in gorilla patching and I’m the top MOVer in the entire ASM forces. You are nothing to me but just another pointer. I will wipe you the fuck out with double precision the likes of which has never been seen before on this Board, mark my fucking words. You think you can get away with saying that shit to me over the Internet? Think again, fucker. As we speak I am contacting my secret network of neckbeards across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You’re fucking dead, kid. I can be anywhere, anytime, and I can kill -9 you in over seven hundred ways, and that’s just with my bare shell. Not only am I extensively trained in api hooking, but I have access to the entire arsenal of the Intel® 64 and IA-32 Architectures Software Developer Manuals and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your little “clever” comment was about to bring down upon you, maybe you would have held your fucking Linus. But you couldn’t, you didn’t, and now you’re paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You’re fucking read, kiddo.
>>
>>59076300
A modern gc implementation would be great.
>>
>>59076535
Hack me famalam.
>>
>>59076535
Sperglord of the day. Post fizzbuzz.
>>
>>59076300
There has been a lot of these exploits in the Linux kernel nowadays, why is that?

I remember the dirtyc0w that appeared a couple of months ago, that was a funny one...
>>
but, what would replace C?
>>
>>59076300
So better rewrite the kernel in C++ or Java?
>>
>>59076753
>why is that?
It's becoming pretty lucrative.

>>59076768
Rust soon(tm)
>>
>>59076300
Rust isn't the answer, you fucking dirty Rust commie.
>>
>>59076768
>but, what would replace C?
Haskell.
>>
>>59076753
linux is becoming popular, so expect viruses like its windows98
>>
>>59076776
Rust never™
>>
>>59076768
R U S T
U
S
T
>>
>>59076780
Rus IS the answer, you fucking degenerate redneck
>>
>>59076814
>the answer, you fucking degenerate
Russian will replace C
>>
Rust is a new /g/ meme or what? i wasnt here for two months and boom, rust everywhere,..
>>
>>59076753
>There has been a lot of these exploits in the Linux kernel nowadays, why is that?
Now that Linux has gotten traction, the spotlight is on Linux.

Now, people are sarting to realize how shitty and unsafe C is, don't get me wrong. Linus and his core co devs are genius programmers. But not even those people are able to defend C's retardation
>>
rust is mozilla's retarded child right?
>>
>>59076844
>>59076661
>>59076717
>>59076756
>>
File: 31.jpg (81KB, 900x900px) Image search: [Google]
31.jpg
81KB, 900x900px
>>59076823
This is the proof of HN and r/programming come here too.
>>
>>59076870
>>>/a/
>>
>>59076870
OP here, most of the times I am in lwn
>>
>>59076768
Go. Maybe JS and Python for userland stuff.
>>
>>59076894
Go for userland
Rust for platform
>>
File: IMG_1055.gif (486KB, 353x117px) Image search: [Google]
IMG_1055.gif
486KB, 353x117px
>>59076844
Rust is the future.
>>
File: 18.gif (5KB, 300x100px) Image search: [Google]
18.gif
5KB, 300x100px
>>59076876
Use redox then.
>>
>>59076894
>A language with GC
>Replace C
>>
>>59076894
i think there is a high chance of JS being everywhere, that shit is going too far, i saw even a complete backend written in JS
>>
>>59076346
if unix kernel hackers can't write error free c nobody can
>>
Fork OpenBSD with Rust. That'd be the most secure OS ever possible.
>>
>>59076768
Rust and only Rust
>>
>>59076973
>>59076901
>>59076899
>>59076803
>>59076776

look at that Rust™ hype, i cant wait that e-joke dies...
>>
>>59077029
Name one (1) programming language that offers the same safeties as Rust that could have a chance of replacing C.
>>
>>59077029
You are the kind of retro hipster faggot that likes to pretend that he likes music from the 90's
>>
It is kind of sad to see the state of C but everyone knew it was going to come to this point. Most people learn C now only to keep programs afloat and to exploit C programs. Actually the only real reason for learning C now is to learn how to exploit it.

Rust is pretty much the future. Nothing else can really touch it in terms of how much further ahead it is of the competition.
>>
>>59077048
>>59077045
>>59077043
if i get a windows patch everytime, that someone hype Rust...
>>
>>59077065
Hindi no good. 4chan only English.
>>
Somebody needs to rewrite Linux kernel in Go or something.
>>
>>59077080
>GC in the kernel
>>
>He thinks kernel programming can be safe
>>
>>59076300

>Ban bad programmers

>It's a privilege escalation bug thanks to the authors' lack of security concept.

FTFY
>>
>>59077127
>>Ban bad programmers
>Linus
>Bad programmer
Show me your fizzbuzz
>>
>>59076973
How would RUST exactly be bug free in writing a kernel?
What is the benefit of it?
>>
>>59076300
>C is the reason why we still have shitty backdoors.
>C is the reason why we cannot utilize multiple cores efficiently.
>C is the reason why our programs continue to reveal security exploits after decades.
>C holds back technology advancement to the 80's .
if you are going to troll at least try harder

Trying to convert opinions into facts? Trump administration surely has a position open for people like you
>>
>>59077048
>only real reason for learning C now is to learn how to exploit it.
Maybe, but the chance to get an actual job is a good thing.

>Rust is pretty much the future.

X is the future, Y is obsolete. Also the shitty LLVM and the lack of tools makes it harder to spread in the industry.
>>
>>59077151
Read OP

>>59077157
Dumb tramp fag fuck off
>>
>>59076300
If everyone coded in C for phone devices then we wouldn't need more RAM than in PCs to just run that android crap system.
>>
>>59077171
>get an actual job
Learn Java
>>
>>59077140
If Linux wrote this code, that proves he has no idea about DCCP protocol.
>>
>>59077175
OP doesn't show how would RUST protect against double free.
>>
>>59077182
*JavaScript
>>
>>59077184
You sure do :^^)
>>
>>59077182
>>59077196
These
>>
>>59077197
no, I have no idea about DCCP.
good false equivalent tho, really shows your smarts.
>>
>>59077206
>no, I have no idea about DCCP.
And yet you comment on LInus' knowledge
>>
>>59077182
Because C is a hipster shit like Rust, that used by nobody aside some memer. Sure.
>>
>>59076819
> You are stupid because you made a typo, I feel so superior now
>>
>>59077222
Pajeet please. Learn English.
>>
>>59077222
if you wanna go for HW or for low-level proggraming, then you shoud go for C...
>>
>>59077240
Rust*
>>
File: hypeman.jpg (40KB, 400x378px) Image search: [Google]
hypeman.jpg
40KB, 400x378px
itt rust plebs who don't get laid and can't into C try to force retarded meme onto C sex gods top kek five star good stuff
>>
>>59077249
so in Rust you can't make mistakes?
>>
>>59076916
node?
>>
>>59077261
I completely agree. There're also people who mentioned Haskell in this thread.
>>
>>59077263
It's way harder than C to make mistakes
>>
>>59077293
you mean that (you) mentoned haskell?
>>
>>59077237
Great argument, but landed in the ebin.

>>59077240
This will trigger the rusty autismo. In the past i tried rust, but i have yet to see a stable and well optimized program written in it. F# have higher chance to be mainstream and ada is safer, but need low level assperger.
>>
>>59077304
This comment >>59076783 shows what /dtp/-posters actually are.
>>
File: cgod.jpg (136KB, 480x414px) Image search: [Google]
cgod.jpg
136KB, 480x414px
>>59077303
don't be afraid to fail, be afraid not to try. making mistakes is how you learn. humans can't do error free anything. fuck your rust
>>
>>59077345
Rust guarantees close to zero chance of data race
>>
Can this anti-C shilling stop? C is here to stay and there is nothing you cucks can do about it.
>>
Posting in the "Ban C language" general thread.
>>
>>59077303
This is what I don't understand, how is it harder to make mistakes in RUST?

It's easy to make mistakes in JAVA, it's easy to make mistakes in C++ and it's easy to do so in C, but in RUST it's harder?
>>
>>59077352
>muh safe place XD
Kill yourself faggot
>>
>>59077351
u calling me a racist?
>>
>>59077357
May be a compiler generates more errors to prevent shitposters to compile their bad code.
>>
>>59077221

The point is that a bug is not the language its fault but the programmer. If Linus made that error then yes, he fucked up. He's just a human being and this is why FOSS is important.
>>
>>59077357
Rust is a meme now
>>
For as long as we use descendants of Unix, i.e. Linux and BSD, C is here to stay. Honestly we could really use a new modern OS but I don't see it happening any time soon.
>>
>>59077377
Haskell and Go are also memes.
>>
>>59077372
but isn't this possible with GCC to turn on all the minor bugs on compiler too?
>>
>>59077376
Yes this is why Rust is more safe as the compiler is smart to do more thorough checks
>>
>>59077391
There are some memory safety issues that no C compiler can detect

example: dangling pointers
>>
>>59077391
I don't know, I'm not a Rust programmer, I have alt conservative views on programming languages.
>>
>>59077403
There're tons of workarounds, smart pointers etc, no one uses this shit in C. People choose C because they want the closest code to native asm without bells and whistles.
>>
>>59077345
You misunderstand, it's not like rust restricts you from making mistakes. It _teaches_ you to not make mistakes.
>>
Oh boy here we go again,

We need to atleast translate userland products in Rust. Can't wait for the C meme to finally die
>>
>>59077422
>workarounds
And Rust has built in support for 10 more safety checks

If you want inline assembly, Rust will definately let you do that
>>
>>59077426
You can start porting today.
>>
>>59077435
I'm actually trying to port neo-vim to Rust.
>>
>>59077440
Good luck!
>>
>>59077432
but what if I want to write ASM code is easy to read format, you know. what C was created to do.
>>
>>59077444
Motivation is, using the existing Vim legacy to create a really user friendly IDE
>>
>>59077452
>what if I want to write ASM code is easy to read format
pretty easy to me
https://doc.rust-lang.org/book/inline-assembly.html
>>
>>59077362
no u
>>
>>59077399

No language can prevent a programmer from fucking up. Instead of wasting time on meme languages you'd better invest in good programming practices.
>>
Shouldn't freeing twice segfault?
>>
File: 1486100996174.jpg (37KB, 640x360px) Image search: [Google]
1486100996174.jpg
37KB, 640x360px
>>59076535
>You are nothing to me but just another pointer. I will wipe you the fuck out with double precision the likes of which has never been seen before on this Board, mark my fucking words.
>>
>>59076300
Matt Dillon's Rune Language is the future.
>>
>>59077474
C:
void print_out_of_bounds(void) {
uint8_t array[4] = {0};
printf("%u\r\n", array[4]);
}

// prints memory that's outside `array` (on the stack)


it’s worth mentioning that in most cases, this bug will manifest in much less obvious ways
Rust

In this case, Rust makes use of run-time checks to mitigate this unwanted behavior. I must admit, this non-glamorous feature put a smile on my face the first time I stumbled upon it.

Here’s the same example in Rust -
fn print_panics() {
let array = [0; 4];
println!("{}", array[4]);
}

// thread '<main>' panicked at 'index out of bounds: the len is 4 but the index is 4', main.rs:3
>>
Man /g/ goes from Rust is an immature language with potential if its SJW developers to at least 2 Rust shill threads disguised as C is kill threads in 24 hours. I guess we know where unemployed correct the record workers went.
>>
>>59077527
You are just mad C is trash aren't you
>>
>>59077521
But does rust protects against double free ?
>>
>>59077533
I'm impressed by the ramp up speed. /g/ shill threads are a better expenditure of funds than replacing slave and master in the source code so maybe this is a positive change of direction.

>C is trash
I'm not even sure what this means.
>>
>>59077497
It's free, not delete. C has no idea "what" is supposed to be in that memory address. The memory was put there by the kernel (even if it was at the request of the API), so the kernel has access to it.

Besides, it's the kernel and it can ignore segfaults if really wanted.
>>
File: 1487733593545.png (245KB, 1855x577px) Image search: [Google]
1487733593545.png
245KB, 1855x577px
>>59077581
>I'm not even sure what this means.
It means C is trash
>>
>>59077521

The fault here is reading outside the array. You shouldn't and it's your fault doing so.
>>
>>59077594

>It means C is trash

You still not making sense.
>>
>>59077619
Funny how rust compiler detects your fault of being a human
>>
Learn both C and rust. I say this because in 10 years rust will be more commonplace, which means a bigger market to get into. Learning C now means down the line when all the new programming students are strictly learning rust and go, you'll be a rare commodity able to work on legacy C code.

COBOL programmers used to be a dime a dozen. Some learned new languages and expanded out. Others have either burned out and left or got canned because they weren't necessary. Very few are needed now but they are still needed to some degree. Don't become obsolete, it is a quality that humans can continue to expand and you should learn to use that to benefit.
>>
>>59077629
Repeat after me

C is the reason why we still have shitty backdoors.
C is the reason why we cannot utilize multiple cores efficiently.
C is the reason why our programs continue to reveal security exploits after decades.
C holds back technology advancement to the 80's .
>>
>>59076768
The shitstorm started here.
>>
>>59077635
>all the new programming students are strictly learning rust and go

That would be interesting but most of them don't give a shit about rust and go.
>>
>>59076535
Beautiful version :')
>>
File: symbolics.jpg (433KB, 1405x1247px) Image search: [Google]
symbolics.jpg
433KB, 1405x1247px
>>59076300
I agree, let's write system software in ZetaLisp again.
>>
>>59077681
Are you trying to cut and paste to make a point or did you not read the whole thing. It says WHEN. Hell, majority of programming students are learning C less and less as it is.
>>
>>59076768
D.
Rust faggots can hack their tranny vaginas off.
>>
>>59077630

Funny how kids these days accept insubordinate programming languages.

If I want a program to read the 5th item of a 4 item array it better do so or in to the thrash it goes.
>>
>>59077637

s/C/Shitty\ programming/g
>>
>>59077714
Ex D fag here, Rust is objectively better
>>
>>59077737
Wow anon you are the true vim master haxor, do you also write ANSII C with that?
>>
>>59077637
People not capable of handling C shouldn't touch the kernel with a 10 foot pole.
>>
>>59077714
Hi, Andrey, you're 10 years late.
>>
File: genera.jpg (137KB, 1024x768px) Image search: [Google]
genera.jpg
137KB, 1024x768px
>>59076768
Common Lisp.
>>
>>59077713
What they learn:
>javascript
>java
>C++
>C#
>maybe python

Go can be there, but AMD will be a market when it will happen.
>WHEN
>>
>>59077755
This

If you can't handle chess you will never loose a game
>>
>>59077630
>Funny how rust compiler detects your fault of being a human
So basically Rust is for retards who can't do shit from the first try and allows to copy-paste from Stackoverflow until one gets it right.
>>
>>59077770
Yeah rust is for retards like linus that made that dirty cow bug amirite

fucking noob
>>
>>59077722
>If I want a program to read the 5th item of a 4 item array it better do so or in to the thrash it goes.
You seem to think no one makes silly bugs
>>
>>59077775
I dream in code
mut mut mut
>>
>>59077791
Linus is a fucking noob that can't even dream in code

thus he makes these mistakes
>>
>>59077800
Stupid cuck. You should kill him.
>>
What rust can do better compared to F#?
>>
>>59077924
F# is a CLR based language, right?

It is fundamentally faster at runtime. F# language itself is fantastic. Too bad it's not compiled
>>
>>59077924
Nothing, it's literally a meme language.
>>
>>59077939
C is a meme language
>>
>>59077924
Run without a VM.
Be fast.
Don't waste all the memory.
>>
>>59076300
>DCCP for IPv6
Obscure as fuck, no wonder it wasn't discovered before.
>>
File: css.jpg (7KB, 215x235px) Image search: [Google]
css.jpg
7KB, 215x235px
Hey fellas so by C you mean like C://Program Files// right? sorry to ask but i've only been programming in CSS which is suppose is C:// extension too
>>
>>59077283
yep
>>
>>59077964
It's the obscure shit that is the most dangerous. The regular guy hacks away on his machine blissfully ignorant of the holes that have been on his OS for 10+ years no one thought to look at. And guess what. That is the shit organizations like NSA looks for.

If NASA took that approach to rockets there'd be astronauts freefalling all the time. Using the obscure as fuck argument wouldn't give you too many brownie points when it came time for explanations.
>>
File: delicious.png (5KB, 346x83px) Image search: [Google]
delicious.png
5KB, 346x83px
>>59077649
thanks for that (you),

But, actually i want to know what i should learn instead of C, if i wanna do some low-level programming
>>
>>59077759
och no, if you want, you can make Lisp code literaly unreadable by human
>>
>>59078135
Any decent metaprogramming language that can spit out machine code for your architecture.
>>
>>59078159
Common Lisp is perfectly readable if you are not retarded, and you can retrofit any syntax you want on top of it easily.
>>
>>59078135
Memes aside, Rust
>>
>>59078159
If you want, you can make C code literaly unreadable by human: http://www.ioccc.org/
>>
>>59077505
>Not mark/sweep my fucking words
-1 from pajeet
>>
>>59077637
Mmm talking points.

>C is the reason why we cannot utilize multiple cores efficiently.
but we do. my most recent use case achieved about 95% of theoretical possible speed gain.

>C holds back technology advancement to the 80's
I was there. We're not in the 80s anymore.

>C is the reason why we cannot utilize multiple cores efficiently.
>C is the reason why our programs continue to reveal security exploits after decades.
Despite your team of correct the record shills this has not even taken a step in showing C is the sole cause let alone the major contributing factor. Did ya'll remind Mozilla that even with your help and the popular vote Hillary lost to a reality TV star?

Like I said probably still a better investment than removing master and slave. You guys can stay.
>>
>>59078197
CL is absolute garbage. It isn't even good at AI, which at one point was its bread and butter. But now that everyone is moving to machine learning as the best avenue for reaching AI, python and R have basically put the last nail in the coffin of Lisp.

Let it RIP in peace and move forward with the rest of the world.
>>
>>59077521
>Retard reading outside the array
>It's C's fault
Fucking pathetic, try again shill.
>>
File: meme frog.png (11KB, 400x400px) Image search: [Google]
meme frog.png
11KB, 400x400px
>>59078231
>C
>Concurrency
Uh-oh
>>
>>59078250
Yeah fucking noob retards amirite LOL why doesn't linus kill himself such a noob making dirty cow race condition
>>
File: e9d.jpg (16KB, 600x600px) Image search: [Google]
e9d.jpg
16KB, 600x600px
>>59078241
You forgot to list any actual arguments against Common Lisp.
>>
I realized that people who shill against C are probably the only one who still use it.

I mean, if you print out nth+1 index of array and cry that language does no warnings maybe you should start using two "are you sure?" dialogs on everything
>>
>>59078062
>If NASA took that approach
So you're saying NASA doesn't take that approach. NASA stands for needs another astronauts. Looks like not taking that approach doesn't help.
>>
>>59076920
The OpenBSD guys can. That's a very small fraction of the developer population though and I haven't seen code like theirs anywhere else.

I guess C just isn't worth it at this point.
>>
>>59078276
What are you talking about, I am such a 1337 C haxor I can NEVER make noob bugs like people that actually maintain and develop kernels

I bet you can't even dream in codes
>>
>>59078258
>linux
>concurrency
>>
>>59078292
>C
Found that problem
>>
>>59078274
you mean like how its only use case in its history is no longer even viable? Do I need anything else?
>>
>>59078287
>The OpenBSD guys can
well memed
>>
>>59078287
The problem is many tutorials are using bad habits in C, Linux kernel is shit to learn C as it's full of old cruft.
>>
>>59078287
only a very small fraction of the population can invent cures, yet they save millions
you're just incompetent senpai
>>
>>59078303
#REKT
>>
are there no automated tools to catch these kinds of things? why are millions of CS fags getting their advance degrees then?
>>
File: no.jpg (17KB, 411x293px) Image search: [Google]
no.jpg
17KB, 411x293px
> anon gone nuts
> take a small loan of milion dollars and shut himself indoors for a year
> made a openBSD but in Rust
> whole /g/ gone mad for it
> works fawlessly w/o any security overflow shit
> whole world realises, that Rust is the future

only in your dreams...
>>
>>59078309
>tutorials
come on, kid
>>
>>59077043
Go
>>
>>59078327
soo when you meet a new code, you just read the documentation and slowly try what that can do?

sometimes i do that too
>>
>>59078319
>made a openBSD but in Rust
do we really need another useless toy os?
>>
>>59078327
Books and YouTube videos and tutorials and blog posts, there are so many that teaches lots of bad habits and vulnerable coding styles in C.
>>
>>59078351
I'd be sold on OpenBSD in Rust
>>
>>59078344
>meet a new code
app-speak
>>
File: screenshot.png (783KB, 1026x770px) Image search: [Google]
screenshot.png
783KB, 1026x770px
>they don't know about Redox
Who needs OpenBSD in Rust when we have https://www.redox-os.org/ ?
>>
File: 1468947579050.jpg (247KB, 960x1200px) Image search: [Google]
1468947579050.jpg
247KB, 960x1200px
Maybe I'm thinking of this wrong. Maybe it's the guys who tried to replace install Gentoo with install Solus, tried to replace Stallman with Karlie, and then tried to replace Gentoo with Source mage. These occurences are becoming more frequent and less persistent. Is someone trying to culturally enrich us?
>>
>>59078380
defend >>59078304

t. Linux user
>>
>>59078356
there's no need to lie on the internet
>>
>>59078385
>defend meme frog
>muh mental illness
please
>>
>>59078380
Well, >>59078258 and >>59077261 are clearly reddit images. I blame /pol/.
>>
>>59077722
But it shouldn't, that's the thing. Why do you willingly want to waste hours tracking down bugs that other languages detect quickly and easily? Why would you want to in any way increase the risk of catastrophic bugs and security holes by using shitty tools? You're more concerned about upholding nebulous old-world "virtues" more so than actually writing a functional program, while simultaneously preaching in favor of the opposite.
>>
>>59077261
Show me one man who can into C.
>>
>>59078368
whats bad about app-speak?
>>
>>59078414
>I'm willing to give up all my freedom for perceived security
>>
>>59078385
hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
>>
>>59078426
I'm right here
>>
>>59078443
kek
what's ur fav anime?
>>
>>59078434
>I worry more about ideology and emotion than producing useful, secure products
>I try to deflect with irrelevant arguments attacking a specific language instead of the general idea that using shitty tools for a job for irrational reasons is dumb and childish
>>
>>59078448
I'm not mentally ill
>>
File: ctothemoon.jpg (382KB, 740x672px) Image search: [Google]
ctothemoon.jpg
382KB, 740x672px
>>59078426
>>
>>59078459
yeah yeah I "know"
>>
>>59078452
>I'm scared, I just want to feel safe
>>
>>59078459
Sorry, you failed the test. Only mentally ill people like Terry can write correct C code.
>>
>>59076768
Nothing that's available today. I would happily switch to a better systems programming language if there was one. The problem is, the kind of ivory tower language weenies who want to replace C don't understand why C is so popular and why C programmers use C.

I'll help them out. The language that eventually replaces C:
- must not have a garbage collector
- must be at least partially usable in a freestanding environment, with no runtime of any kind
- must not require WX memory (no JITs, no code generation)
- must support inline assembly
- must be able to create static and shared libraries with a C-compatible interface
- must be able to call into shared and statically-linked C libraries without a FFI
- must not have a significantly steeper learning curve than C
- must have at least two compiler implementations
- must not support unchecked exceptions like the ones in C# or JavaScript (these make it difficult to reason about control flow in complicated low-level projects like OS kernels)
- must support all major operating systems with no caveats, and must support "weird" platforms too (AIX, NIOS II, Cygwin, OS/2, etc.)

C, as it is used today, ticks all those boxes. Its replacement must do this as well, because it must be interoperable with existing C programs during the transition period (it's nice to fantasize about operating systems where even low-level kernel code is garbage collected, but those aren't what we have to deal with today.) If the language doesn't tick all those boxes, people will continue writing programs in C, which means the lowest common denominator will still be C, which means people will still write low-level libraries in C, which means people will still be required to learn and know C, etc.

Also note that the wide range of uses for C are the reason why there is so much "undefined behaviour" in the standard. How can CHAR_BIT be defined as 8 if C has to work on systems where the smallest addressable unit of data is larger than an octet?
>>
>>59078466
>pls no bully
>>
>>59078465
>to the moon
>goes downhill
>>
>>59077759
)))))))))))
>>
>>59078486
I'm not
>>
>>59078475
>I'm going to keep rambling on about irrelevant shit in an attempt to confuse my opposition and safeguard my delusion because it has no real foundation otherwise
Because I mean, you really can't be this fucking retarded, can you?
>>
>>59078484
>The language that eventually replaces C:
So Rust. The only thing it lacks is
> must have at least two compiler implementations
And it brings a lot more.
>>
>>59077980
C is the next killer Javascript library.
>>
>>59078484
>- must be able to call into shared and statically-linked C libraries without a FFI
That's by definition not possible
You would rather ask for an implicit FFI. (also I think rust does this?)
> - must support all major operating systems with no caveats
But it should do a better job at it than C where most is just "whatever *they* decide to do.
>- must be at least partially usable in a freestanding environment, with no runtime of any kind
there is a C runtime, we just mostly ignore it, since it's (rather) minimal
>>
>>59076300
This just shows how complex the whole thing is, and why you should use C and nothing else if you want to be perfectly safe. It took decades to get to that level and even then there's still bugs, even though that one is poor programming.

Here's an actual bug my team ran into recently, it's Red Hat exclusive: https://stackoverflow.com/questions/41810222/pure-virtual-function-called-on-gcc-4-4-but-not-on-newer-version-or-clang-3-4

Rest assured, no modern language is on that level: Java has bugs, Python has bugs, Go has bugs, Rust has bugs, Haskell has bugs... all those languages have countless bugs just waiting to be found.

C is used for critical stuff not only because of its performance and low-level access, but also because we've done C for long enough to realize it had become production ready. All those meme languages are not yet quite production ready. And if weaknesses have been found in stuff programmed in C, it's not because C is weak, but because C is actually used; make it in Java and suddenly there'll be bugs every day.

Most languages out there were created by people that were too retarded to learn C.
>>
>>59078540
It also lacks
>- must support all major operating systems with no caveats, and must support "weird" platforms too (AIX, NIOS II, Cygwin, OS/2, etc.)
>- must not have a significantly steeper learning curve than C
>>
>>59078536
>muh safety CoC!
>>
>>59078548
What kind of run time did my C program for 16 bit PIC ucontrollers have? That shit was light as fuck.
>>
>>59078540
Rust has a shitty idea of memory managment that makes it even worse than GC.
That same memory checker makes the learning curve weird at best.
it supports unchecked exceptions, they are discouraged but possible.

Does rustc do inline aseembly? last I checked all of unsafe was only available in nightly builds -.-
>>
>>59078563
>must support all major operating systems with no caveats,
llvm
>>
File: 1487437382189.jpg (14KB, 480x480px) Image search: [Google]
1487437382189.jpg
14KB, 480x480px
>>59078554
is this bait? this is absolute bullshit.
>>
>>59078583
https://forge.rust-lang.org/platform-support.html
>>
>>59078564
Guess so. Have the last meme arrow on me. I think I've made my point.
>>
>>59076308

Memory-related bugs, including use after free, are not unique to C. They are a necessary consequence of a language being able to use raw pointers. For certain tasks to be done, manual memory management MUST be available to the programmer. You cannot have automatic memory management without some library code working behind the scenes doing it all manually. Moreover, the use after free problem could not be solved in other programming languages, as kmalloc and kfree are not standard C functions, and there is absolutely no way for the compiler to know that one allocates memory and the other frees.

>C is the reason why we still have shitty backdoors.
Bad programming is why we still have shitty backdoors. Not all vulnerabilities are memory related, and many of them can just as easily be found in higher level languages that safeguard you from dealing with memory yourself.

>C is the reason why we cannot utilize multiple cores efficiently.
Your task scheduler is written in C. C is the reason why you can use multiple cores at all, stupid.

>C is the reason why our programs continue to reveal security exploits after decades.
Complexity + necessary manual memory management = vulnerabilities. You cannot remove the necessity of manual memory management entirely, you can only reduce it. Thus far, we've reduced it quite a bit. By the way, all of your high level languages still have C code managing the memory behind the scenes. Your only realistic alternatives are C++, Rust, and Ada, and all of them have the same potential to be abused if a shitty enough programmer is introduced.
>>
>>59078569
Not quite sure how much of a runtime those compile in, but for normal OSes these days it's doing all the process build-up tear-down stuff (organize arguments have the exit hooks etc.)
It's still pretty fucking light, but there's code running that qualifies as runtime.
On current day arduino SDK it's pretty obvious what's going on.
>>
>>59078584
Let's hear your arguments then.
>>
>>59078563
>- must support all major operating systems with no caveats
Whatever LLVM supports it supports. Also no one cares about OS/2, for you might as well demand support for DOS.
>- must not have a significantly steeper learning curve than C
It's different from C but it's not significantly steeper.
>>59078573
>memory managment that makes it even worse than GC.
"Worse" how? It's as safe as GC yet faster and less wasteful. What are the other criteria?
>it supports unchecked exceptions, they are discouraged but possible.
Well yeah, but then SIGSEGV is an unchecked exception too.
> I checked all of unsafe was only available in nightly builds -.-
Well ofc inline assembly is unsafe, duh. And yeah, it's only available in nightly, I don't know why they wont stabilize it already. I guess nobody really needs that much.
>>
>>59078600
That's a big list
>>
>>59078615
There are pretty nasty python bugs aswell.
No language is 100% safe
>>
>>59078554
Assembly languages don't have bugs, are supported by all operating systems and don't even need one to work. They also have very simple, unambiguous and easy to learn syntax. Use them instead. Surely it's not a problem to find a competent assembly programmer for enterprise projects, right?
>>
>>59078659
>No language is 100% safe
Rust is 99% safe right now and it will be 100% safe soon.
>>
>>59078647
>It's as safe as GC yet faster and less wasteful. What are the other criteria?
How is it faster and less wasteful if it is the exact same thing?

Unique smart pointers are just normal scoped variables and multiple smart pointers are the exact same thing as normal Garbage Collection. Java has the exact same capabilities, only it uses different terminology.
>>
>>59078554
>but because C is actually used; make it in Java and suddenly there'll be bugs every day
for every C line of code there's ten lines of java you fag
>>
>>59078656
for you
>>
>>59078675
Different platforms have different instruction sets, data sizes, and memory mapping. If we want crossplatform code, we need something other than that.

Assembly is also far too low level and lacks more abstract concepts, that take the programmer too far from the functional aspect and wasting too much time with purely technical stuff. It was fitting at a time, but the average computer needs are skyrocketting and the complexity of the computing required makes pure assembly unfitting today.

C is fine for most usages, though a tad of C++, Lua or Python on top is welcome to get even closer to the business side while keeping a tight grip on the technical aspects. But we really don't need more than that, and we at least need that today.

The rest of complaints against C usually boils down to "C doesn't do this!!!!", completely overlooking the fact that most "languages" these days comme with an associated framework which C lacks OOB, and then they're too retarded to use third-party libs and compile with them because most were never really told how to use a compiler. And then suddenly it once again boils down to a lack of skill.
>>
>>59078540
Yeah, Rust is one of the closest. I like how they are approaching language design from a practical perspective and developing it alongside a practical and complex program (a web browser engine.) Maybe when it's mature enough, it will become a viable C replacement. It has its issues though. The ownership system makes it hard to learn and hard to write a compiler for.

Even when a language satisfies all those things, you will still need to wait 5-10 years for it to mature. C wasn't the lingua franca of systems programming in back the 70s like it is today.

>That's by definition not possible
>You would rather ask for an implicit FFI. (also I think rust does this?)
Yeah, I thought someone would point this out. I should have said that. JNI and P/Invoke are obviously unacceptable and so is anything that requires trampolines or runtime code generation or anything that doesn't support callbacks. There must be a simple low-overhead way to call into flat C-style APIs because this is what most modern operating systems use.

>there is a C runtime, we just mostly ignore it, since it's (rather) minimal
Yep. I know GCC will generate calls to memcpy(), memset() and alloca() when dealing with big structures in ""freestanding"" code, but the required runtime is still pretty minimal.
>>
>>59078696
> it is the exact same thing
You have no idea what are you talking about. Rust has as much GC as C++ with smart pointers.
> Java has the exact same capabilities, only it uses different terminology.
Yes, and that "techology" wastes memory and stops the world periodically.
>>
>>59078718
>Different platforms have different instruction sets, data sizes, and memory mapping
Use an assembler with macro support.
>Assembly is also far too low level and lacks more abstract concepts, that take the programmer too far from the functional aspect and wasting too much time with purely technical stuff.
These are just shitty programmers. Hire the good ones.
>>
>>59078734
>Rust has as much GC as C++ with smart pointers.
Uh... bro, what did you think C++'s smart pointers were?
>>
>>59078659
But Rust is safer than C
>>
>>59078734
Not "technology", terminology. You're literally deluding yourself into thinking you're doing anything different, but Java's references and garbage collection work THE EXACT SAME WAY. And so do C++ smart pointers. What did you think garbage collection was? It's a use-counter combined with an algorithm that checks for cyclical references and other such things that would cause the GC to ignore them even though they are effectively unusable.

And while there might be some merit to explicitly stating in your code which things are only going to be locally scoped and which things might extend beyond a local scope, that's all it is: a way of making code more self-commenting.
>>
>>59077572
Rust uses ownership and borrowing rules buit right into the language semantics. It's pretty neat.

Here's a graphic depiction that explains it pretty well: https://rufflewind.com/2017-02-15/rust-move-copy-borrow
>>
>>59078647
>"Worse" how? It's as safe as GC yet faster and less wasteful. What are the other criteria?
Usibilty and completeness

> Well yeah, but then SIGSEGV is an unchecked exception too.
SIGSEGV has a significant semantic difference to exceptions.
Also rust can also get an SIGSEGV additionally to the normal exceptions it has.
> And yeah, it's only available in nightly
One of the things that makes rust completely unusable currently.
Once the langauge matures long enough to have all the excape hatches for their (at moments) bad ideas in stable, it may actually be usable.
>>
>>59078747
Looks like you're confused - GC stands for a "Garbage Collector" - subsytem of language's runtime what stops the world periodically to scan the memory for unused chunks. True, C++ and Rust have their mechanisms of automatic garbage collection, but they don't have an oversized runtime with a garbage collector to slow them down and to waste memory. Both languages guarantee determined memory deallocation on scope exit, meaning no memory is wasted and no scan is necessary.
>>59078775
>It's a use-counter combined with an algorithm that checks for cyclical references and other such things that would cause the GC to ignore them even though they are effectively unusable.
Gee, you really have no idea, do you? No modern Garbage Collector uses naive reference counting, and neither unique_ptr in C++ nor Box in Rust use it. unique_ptr and Box has no runtime costs at all, they just garentee the memory will be freed in their destructors. The only GCs what use naive RC now is some old-ass crap like Perl or PHP. True, C++ has shared_ptr and Rust has Arc, but they used only in limited cases where runtime overhead is justified.
>>
>>59078333
As much as Go is nicely designed, it has Garbage Collection which is a big no-no. :(
>>
>>59078386
There's no need to be a upset. :)
>>
>>59078573
> Rust has a shitty idea of memory managment that makes it even worse than GC.
I'm sorry, but i'm getting pretty upset now. Rust's memory managment pradigm on ownership is brilliant. It allows memory safety, scalability and fearless concurrency that hasn't been done by any language so far. I strongly disagree.
>>
>>59078814
Isn't that cute. But it's wrong.

>The other type of smart pointer built into [Rust] is the managed smart pointer, which allows multiple smart pointers to point to the same allocation and uses garbage collection to determine when to free it.

It's literally impossible for multiple references to be safe without "garbage collection." Any degree of research on the subject would demonstrate cyclical references to you and why an algorithm is necessary to prevent unreachable memory staying allocated forever. You don't need a dedicated garbage collector, but that just means you're performing the algorithm and use-counter immediately every time a smart pointer goes out of scope instead of when the run-time detects that you have a lot of free processor time. And, sure, I guess that's "different", but how is that better?
>>
Shit, I'm slowly falling for the rust meme.

What's a good book for a python pleb to start with Rust?
>>
>>59076300
isn't there an OS being made in rust anyway? It's only problem from what I hear is a cuck license.
>>
>>59078900
multiple OSes have been written in Rust

>>59078884
Rust Essentials
>>
>>59078855
Ever heard of modern C++ with smart pointers? (the memory management, C++ still has the aliasing problems from C)
The biggest difference to them I have seen from rust is the static checker.
And I really like the idea to have static guarantees I feel like the checker in rust just isn't that good.
And I'm not sure if that's in the theory they use for this idea in rust, or the implementation of the checker.
>>
>>59078867
So you still see no difference between "garbage collection" and a "garbage collector"?
>Any degree of research on the subject would demonstrate cyclical references to you and why an algorithm is necessary to prevent unreachable memory staying allocated forever.
> [..] you're performing the algorithm [..]
Neither Rust's Arc nor std::shared_ptr attempt to resolve cyclical references, they just use weak pointers instead because they can. And smart pointers with RC are optional, you usually don't need them, 90% of all allocations are unique_ptr/Box and thus have no runtime costs. Meanwhile in Java you have to use GC-managed pointer for everything.
> And, sure, I guess that's "different", but how is that better?
It's faster, uses less memory and don't stop the world periodically.
>>
>>59078867
Well it's opt in for one. D's great weakness was that it was garbage collected by default. You can use Arc if you can afford the runtime overhead, but you don't actually need it in most applications.
>>
>>59078932
Why do you think it isn't good? Genuinely wondering since I skimmed the borrow semantics white paper and it seemed very fine.
>>
>>59078932
I don't have enough experience with C++, but you're right that Rust's borrow checker still needs some additional work on Non Lexical Lifetimes.

They are currently working on it: http://smallcultfollowing.com/babysteps/blog/2017/02/21/non-lexical-lifetimes-using-liveness-and-location/
>>
>>59078973
Usability and completeness
It rejects way to much source code that should be valid, which makes it a giant pain to use.
At the same point it introduces weird wacky workarounds to deal with it at some points, that will introduce allocations/copies that aren't necessary.
I like the general idea behind it and I wouldn't be surprised if it can be made viable, but I don't think that (current) rust is at that point.
>>
>>59078949
The difference between garbage collection and a garbage collector is that one runs immediately and the other takes advantage of caching garbage collection to be performed during CPU-downtime. And if you aren't willing to save processor cycles by wasting RAM then you're living in the wrong century.

>Neither Rust's Arc nor std::shared_ptr attempt to resolve cyclical references, they just use weak pointers instead because they can.
The amount of ignorance in this sentence is making my head hurt. Do you even know what a weak pointer is? If everything was a weak pointer then they would just get de-allocated immediately.

>Meanwhile in Java you have to use GC-managed pointer for everything.
I suggest you read https://www.dynatrace.com/resources/ebooks/javabook/how-garbage-collection-works/ . Those "90% of all allocations" are equivalent to local-scoped variable GC roots. There is no costs assosciated to de-allocating them if they have no children, it is only when you make use of the multiple reference system that complex garbage collection happens. Yes technically there is a GC pointer attatched to it, but do you know what else has a pointer attached to it? Every single variable in every language. A GC root is essentially a variable on the stack.

>It's faster
Very very wrong. Go ahead, look up some benchmarks
>uses less memory
true, but see above
>don't stop the world periodically.
What, do you think this is 1995?

But go ahead, fetishize the way Rust uses the word "pointer." I know how hard that gets your dick.
>>
>>59079029
>The difference between garbage collection and a garbage collector is that one runs immediately and the other takes advantage of caching garbage collection to be performed during CPU-downtime. And if you aren't willing to save processor cycles by wasting RAM then you're living in the wrong century.

Different Anon, what's going on?

Rust doesn't have a garbage collector, just like C and C++. So what does this conversation on GC even about?
>>
>>59078707
And for every line of java code in a shitty business app no one cares about, there's a hundred lines of c code in critical infrastructure programs.
>>
>>59079029
> CPU-downtime
There's no such a thing in production.
> Do you even know what a weak pointer is? If everything was a weak pointer then they would just get de-allocated immediately.
Yeah, I do. Neither Arc nor shared_ptr tires to unroll reference cycles and instead rely on programmer using weak pointers to prevent them. No "algorithm" is necessary, the cost is a single counter decrement.
> do you know what else has a pointer attached to it? Every single variable in every language.
What?
> Very very wrong. Go ahead, look up some benchmarks
https://people.cs.umass.edu/~emery/pubs/gcvsmalloc.pdf
> If their applications will be deployed on systems with at least three times as much RAM as needed, then garbage collection should provide reasonable performance. However, if the deployed systems will have less RAM, or if their applications will have to compete with other processes for memory, then practitioners should expect garbage collection to exact a substantial performance cost.
> What, do you think this is 1995?
So modern GC don't stop the world or what? Even pre-thread GC still have to stop execution to make the scan.
>>
Garbage collectors create unpredictable pauses in the runtime
>>
>>59077521
Except that this is the behaviour I would expect from a debugger and not a language's runtime
>>
>>59079029
>do you know what else has a pointer attached to it? Every single variable in every language.
This is what GC weenies actually believe.
>>
>>59079193
It's only enabled in debug builds iirc.
>>
>>59079193
> I would expect from a debugger and not a language's runtime
And this mindset is why we get heartbleed and shit.
>>59079209
No, bound checks are enabled in release builds too. You have to use unsafe methods to index a slice without bound checking.
>>
>>59078724
>GCC
It's not only about gcc. It's how C implementations require symbols that aren't part of the program you wrote at link-time (mostly in crt1 I think).
>>
>>59077043
>Static linking
lmao son
>>
>>59078615
>stupid
Stopped reading here.
>>
>>59078688
Nah, only C with CompCert is 100% safe.
>>
>>59077521

cppcheck --enable=all file.cpp

Fixed
>>
>>59076300
>Blaming the programming language for a programmer's retardedness
>>
>>59078214
that shit is incredible
>>
>>59077521
>prints memory that's outside `array` (on the stack)
nope
>Rust makes use of run-time checks
slow
>>
>>59076894
>Python
>Used for anything but scripting
No.
>>
>I want a language that abstracts all secure coding away from the user because I'm too much of a babby to write low level code

C has a job, C does the job. Programmers make mistakes, code doesn't.

"We shouldn't have heart surgery because a surgeon can fuck up an cut a major artery, we should just rely on other less direct interventions for heart health like medication, where there is no ability to cut anything because something might go wrong with the cutting process."

Try harder nigga.
>>
>>59077521
>program an AI in rust that handles robots also programmed in rust
>AI decide humanity is trash
>sends robots to eradicate humanity
>you have 30 seconds to cause a memory leak in the robot to stop it from killing you
>cant because rust
>you got murdered because the program in the robot does not print the 5th element in a 4 element array
I want my robots in C please.
>>
>>59080257
Yes, but would you program your pacemaker in C tho?
>>
>>59077521
>In this case, Rust makes use of run-time checks to mitigate this unwanted behavior.
This is why Rust will never be the answer. It's not a bare metal language. Only bare metal languages (C/C++) can be used for embedded, drivers, and make libraries that other languages can use.
>>
>>59077521
Always use C++ vectors with -D_GLIBCXX_DEBUG in debug. Remove it in release builds. Problem solved.
>>
>>59080642
>C++
>problem solved
wut
>>
>2011+6
>not programming everything in machine language
Abstraction is an NSA backdoor
>>
>>59080663
C++ is an already established alternative to C. Rust may or may not be good but it's going to take at least a decade until it becomes widespread.
>>
>>59080694
>alternative
nope
>>
>>59080712
>What did he mean by this
>>
>>59080307
I've worked for Sorin Group, their pacemakers are coded in C, the remote programming software for diagnosis is in C++.

This company has made many terrible technological choices though, but not on their pacemakers.
>>
>>59078376
This is a toy os.
>>
>this triggers the C ucks

it's time for you to learn Rust or go back to >>>/v/
>>
>>59081378
So is OpenBSD
>>
>>59078484

Dont forget
>Must compile quickly
>>
File: drinking.jpg (34KB, 413x395px) Image search: [Google]
drinking.jpg
34KB, 413x395px
>>59076535
>You are nothing to me but just another pointer.
>>
>>59079106
who cares that's not my point
>>
>>59076916
Yeah, an operating system made in JavaScript so you can turn your harddrive into a fucking JSON object.
>>
>>59080076
I thought Lua was used for scripting? Why even use Python over Lua?
>>
>>59083815
> Why even use Python over Lua?

You wont.
Lua is literally the best language for scripting.
Anything else is a forced meme.
>>
>>59076364
he is still no Knuth, though.
>>
What do people even do with Rust currently?
>>
>>59085294
They post about how awesome Rust is and how great it would be if we all stopped using C.
>>
What about switt?
>>
>>59085444
The shill count is already reserved by rust fags. You could try to reserve next season for apple shilling.
>>
File: ThreadSFW.png (20KB, 1991x488px) Image search: [Google]
ThreadSFW.png
20KB, 1991x488px
>>59080083
>>59077964
>>59078062
>>
>>59078484
>this guy gets it

On a more philosophical level, the fizzbuzz bahbies who cry "replace C!" don't understand that C is just a slightly higher and more portable representation of what's happening in the hardware. That's why it's so useful for low level tasks. And that's also why replacing it with some meme language won't make the problems go away.

Processors and RAM do not garbage collect for you, or check for "double frees", or otherwise protect you from things like reading/writing the wrong address (buffer overflows). This kind of shit can...and does...occur in the highest level languages because at the end of the day they are translated to arrays of simple machine instructions blindly executed by the CPU. Just like anything made with C. And any number of people responsible for implementing MemeLanguage 2.0 can commit the same errors, as well as leave openings such that using language features in a particular combination or sequence leads to the same.

They also don't understand that C is "responsible" for so many low level hacks because C is the language of choice for low level shit. If Pascal had won out, they would be screaming "ban Pascal!" If all low level OS work was done in assembler, they would be screaming "ban assembly programming!"

The more interesting and dangerous hacks are hardware based any way. Like row hammer. Or the recent discovery of a way to use code execution timing to defeat ASLR.
>>
They should just port Linux to Rust or maybe Nim.
Should be easy, right?
>>
>everyone acting like rust is the first of its kind
Is everyone below the legal age?
>>
>>59086294
>lets rewrite millions of production code in unmature language with no real standard and only one implemetation
>>
>>59078241
>Let it ATM teller machine and move forward with the rest of the world
>>
>>59086294
Nim compiles to shitty C, are you mentally special ?
>>
>>59076709
>>59076725
oh we have some new friends here
>>
>>59076300
>using Linux
It's your fault
>>
>>59087178
Yes.
>>
>>59087178
I didn't know that. But how come Nim is garbage collected if it compiles to C? How does GC work?
>>
File: 1341619539905.jpg (107KB, 613x533px) Image search: [Google]
1341619539905.jpg
107KB, 613x533px
>>59087178
>ASM is unsafe
>Let's rewrite everything in C!
>But C compiles to ASM
>>
>>59087439
It's possible to write garbage collectors in C for C programs. Also, the GC is in charge of allocation in Nim, so it has a chance to collect garbage every time you allocate memory.
>>
File: 1468108376178.jpg (117KB, 618x564px) Image search: [Google]
1468108376178.jpg
117KB, 618x564px
>>59086307
EVERYTHING PRE 2010 IS IRRELEVANT. REEEEEEEEEEE
>>
Relevant!
>>59088232
>>59088232
>>59088232
>>
>>59078688
>source: my anus
>>
>>59087851
>it has a chance to make each memory allocation take a random and unpredictable amount of time

Your idea is now useless for 90% of what C is used for.
>>
>>59076300
>ban something because people are too stupid to use it properly
GUYS, LETS BAN CARS, THEY CAN CAUSE SEVERE ACCIDENTS
>>
>>59076364
He's nothing compared to Terry A Davis
Terry makes linus look like a monkey
Thread posts: 313
Thread images: 25


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

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
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.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.