If you could talk to Dennis before he began work on C and UNIX, what would you say?

If you could talk to Dennis before he began work on C and UNIX, what would you say?

Attached: ritchie_HP.jpg (1200x873, 99K)

Show him Plan9

who? is that the guy who assisted Steve Jobs in building the first macs?

In the future we have plenty of memory and cpu power, so include a fucking gc

Attached: sMBnuqU.jpg (4380x6570, 1.54M)

Absolutely disgusting

On C:
That thing you do with the preprocessor and macros and stuff? Yeah, that's bad, please either get rid of it entirely, or make it much more flexible and powerful.

On Unix:
Processes should be completely separated from their environment. A process shouldn't know (or care to know) whether it's running on a PDP-9, or a million distributed heterogonous computers across the world.

When you die there will be a thread stickied on an image board called Jow Forums where anons repeatedly will press "F" to show their respects.

>more like Bennis Ritchie
Probably that.

How exactly could you make a process inherently distributable?

Abstract it away from the hardware layer.

That doesn't mean it can be distributed easily

Cant you just make LISP faster please

No lists suck

Oh god that was 7 1/2 years ago what the fuck have I been doing with my life?!

Attached: 1515545956001.jpg (550x366, 28K)

Char should be unsigned.

What you you suggest beyond the strict text replacement?

XD man thats so funney, where did u here that 1?

>show him the u8/i16/f32/etc type names used in some parts of the linux kernel
>encourage him to use a strong type system
>tell him Stallman and co won't be able to follow through until it's much too late
>wish him the best, he's a better programmer than I'll ever be

this

What did plan9 do wrong/right?

Oddly specific request : Please make sure there isn't a path length limit on unix domain sockets.

The fact that path lengths on unix domain sockets are limited to 108 characters always seemed like a wierd and arbitrary limitation to an otherwise nicely orthogonal set of primitives..

kys stupid nigger

Are you asking how I'd redesign C? Because the answers are pretty straightforward.
>Explicitly sized integer types {u, i}{8, 16, 32, 64, size} by default
>No fucky declaration syntax
>No array decay
>Make the va_arg api less retarded
that's about it really. there are a lot of things I'd like to use like generics or ctfe but they're outside of the scope of a deliberately simple language like C.

Why do you harbor such animosity towards a remarkable man?

O(1) string len

linux is not unix
gnu is not unix

i would encourage him to put
>Rustfaggs BTFO
in the first revision of the language

All that's wrong in computing is a consequence of his decisions. The gratuitous complexity. The abysimal security. All of it. That fucking nigger got lucky and we all have to suffer for it.

That would have no infuence on dennis, my dude

I'm creating a new operating system off of open source architecture designs in order to make up for the transgressions of modern computing
Why aren't you doing the same

*weird

True. Apologies.

I'd show myself the door and let the man do his work.

>Why aren't you doing the same

Frankly speaking, I have too many ideas and too little stamina. My health fucking sucks.

cons cells are godly.

Doesn't "wierd" looks odd? Like there's something wrong with it.
My brother misspells it too.

Oy fucko, turns out [this long list of shit ideas in UNIX and C] is a bad idea. No need to thank me.

a pointer and datum are suhWEET dude

Too late CIA wasn't involved earlier enough which makes it unusable even in isolated LANs. Distributed COM in Windows failed just as much.
People don't like the idea of resources over the network at least not on an operating system controlled level.

Like another Anons said, I will show him Plan 9.
For C: variables with size and namespaces

I'd be amazed if anyone of you would even say "hi" to him.
>H..hello.. *runs away*
This is what I imagine would actually happen. Or most likely not even moving a muscle while near him, avoiding eye contact.

Did he die a virgin? I think so.

Plan 9 was the logical successor to UNIX, streamlining the good parts of it and getting rid of the bad parts. It's an incredibly elegant design, its codebase is immaculate in terms of quality and readability, and the ideas behind it are fundamentally sound.
In the late 80s and early 90s, BSD and System V were still too busy swinging their dicks around to pay attention to Microsoft taking over the world of consumer computing. Plan 9's call for a better, cleaner, and more modern UNIX fell on the deaf ears of a lethargic, corporatized community.
Plan 9 was also created in the midst of the collapse of Bell Labs (technically it still exists in name, but THE Bell Labs is most certainly dead). As a result, it turned into a money grab attempt by Lucent, and was unable to develop a community the way early UNIX did.
Stallman failed to deliver on the promise of a free-as-in-freedom UNIX clone in the 80s, Plan 9 was crippled by bureaucracy, and Linux simply came too late. And here we are today.

Multics is better to begin with. All your efforts are unnecessary.

stop

I'd tell him to get Jow Forums

>Heavy make up (1 ton of bb crean)
>Shaved eyebrows
>Fake eyelashes
>Enlarge eyes lens
>Dyed rough hair
Posting Gook extreme

I would tell him to stop what he was doing immediately and that the world would be a better place without his ideas.

Some guy will build one language call C++ adding a lot dog shit but because begin call C++ everybody will believe begin next version C from C company.

Build better C before C++ con-artist come for you.

Attached: 1526978121654.png (251x231, 40K)

No case sensitive filenames, please.

the gc?

and yet you would like to have a girlfriend like that, but it is impossible for you. Also, she is chinese

Attached: DsYeSb_VsAAHbun.jpg (1365x2048, 243K)

>come back in time.
>ask Dennis to teach me how to pointers.
>"sorry user, i don't know"

The words you say sound smart, but I'm wondering if you just mean running everything virtually. In which case, no. We STILL don't have the computing power to make that fast.

This is a bad idea, and wouldn't make it distributable, just cross-platform.

Because that's an incredibly ineffective endeavor

Attached: 1362182102921.png (203x209, 14K)

>overlooking the horrors that led to LOCALE and its ilk

"char" is simply a convenient name for a storage class representing the smallest addressable data size on any particular system. it's not actually a character type.

Why would you even need pointers?

Dude context switches are expensive. Also, remember that 32bit timestamps are simply too small.
The pipe system could also use some kind of standardized serialized format / object format so that the output of programs can be changed without breaking backwards compatibility while also making it much easier to write pipes without having to re-parse the data between each step.

Oh, and also...
DON'T
INVENT
GLOBAL
LOCALES

It's the most catastrophic designed decision in C's standard library.

Null pointers are retarded

>If you could talk to Dennis before he began work on C and UNIX, what would you say?

For C:
- Arrays need to be proper structs/tuples of pointer & length, and strings should not have in-band null character termination. Your "cleverness" to save a few bytes for short strings will not be worth it.

- Making declaration syntax mimic usage syntax (as in the case of pointers, arrays, and the original syntax for functions) is really fucking clunky and needs to be seriously rethought.

- Make the preprocessor more constrained in what it can express. Rebuilding the whole fucking work from the parse stage onward because the preprocessor is nearly a freeform text substitution engine will make building shit in the future far more painful than necessary.

For UNIX:
- too many things to even begin listing

>When you die there will be a thread stickied on an image board called Jow Forums where anons
he replies "what's a thread? what's stickied? what's an image board? what are anons?"

Please don't

Tell him to stand before the Supreme Court and tell them software and algorithms should be unpatenatble and uncopyrightable.

reading up on the the licensing history of plan9 is just vomit inducing

Yeah "cleverness" is a definitely problem with C and Unix

Kill him and give Bjarne a revised C++ specification based on a combination of C++26 and Rust (the good parts (no BC)) that fixes everything wrong with C++.
Then jump back to 2018 and enjoy the perfect programming language.

The problem with char arrays is not that they're null terminated, it is that people don't know how to work with them. The null terminator is what you'd call a sentinel, something that is prevalent in all of computer science in most data structures, despite what the brainlets would otherwise suggest. The proper and idiomatic way to iterate over a char array is:
char arr[] = "MyString",
*c = arr;
/* The right way to do it */
while(*++c){
// do shit
}

/* The wrong and probably buggy way to do it */
for(int i=0; i

String length goes before the string; do not use terminators.
NULL is a mistake, use an optional type.

This guy died a legit virgin. How the fuck can you reach 70 years of age and be worth as much as he was without getting some pussy? I would rather not achieve what he did and have sex than be reincarnated as Dennis Ritchie. Absolut incel what the fuck.

Say what you want about sentinels and data structures, but sized strings are a simpler, cleaner, and better design.

You, sir, are an idiot.

Why is self worth for you directly related to other people (pussy). Even if all you want is a piece of meat that is definitely not the right attitude nor approach to get it. Females (as in all of creation) would go for the best male, the one that runs faster, strikes harder, builds the fanciest nest, fends off the most competitors something that is called the alpha male in the literature. What is that in human beings? hm...
That is the most focused guys with the most drive, the ones that achieve the most, a woman won't probably fathom what you do day to day, but she'll know that she probably wants a place beside you based on what you achieve and how it shows in society, a nice car, fame (this I personally don't like, but meh..), a fancy vacation house by the beach... You get my drift.

>How the fuck can you reach 70 years of age and be worth as much as he was without getting some pussy?

Autism

The language doesn't stop you from designing your own Strings, lcc did it, some game engines did it too with added hashing functionality. The main point is that those aren't the weak points of the language.

And you sir come up with some stellar arguments I am speechless.

>a woman won't probably fathom what you do day to day, but she'll know that she probably wants a place beside you based on what you achieve and how it shows in society, a nice car, fame (this I personally don't like, but meh..), a fancy vacation house by the beach...
That is called a woman not worth your time. They don't actually love you.

You sound like a fucking virgin

>And you sir come up with some stellar arguments I am speechless.

Every language implements strings differently from C.

Without some form of metaprogramming it just becomes a pain in the ass to use anything that isn't baked into the languabe.
In C++ if I want to use size prefixed string literals I can just define my new string type and make one with "Hello, World!"_n wihout runtime overhead. No such thing exists in C.

The poster never said woman, he said pussy and so I was arguing that to get something you need to trade something for it, that something is not your chasing them, you have to have them chase you. And to that end material wealth is unbeatable. I just don't use the word pussy that much when referring to the opposite sex, I wouldn't want to do that unconsciously in a social setting so I am not picking up the habit now.

>you have to have them chase you. And to that end material wealth is unbeatable.
No, they're not chasing you.
They're chasing your wealth and success.
All they'll do is divorce you, take your shit, and ruin your life. Because after all, they do not love you. They only love your stuff.
Do not waste your time with them. Continue loving anime girls instead.

I understand what your point is, but all I'm saying is that these women (pussies) are definitely not worth it. They are nothing but gold diggers.

define struct _String{
char *data
int capacity;
int length;
} String;

You can make even make use of the stdlib functions by making sure that data[length] always equals '\0' through your interface functions. And if you want meta-programming C is not for you. But I'd argue against C++, it plain sucks, CL is the superior language.

Literal wizard computing powers. That's why, he would lose those powers if he got laid

don't. PDP-11 is retarded, use pascal

>And if you want meta-programming C is not for you.
That's the kicker. C's defaults are chosen for you, so trying to do anything that isn't C's way (like sized strings) is a clumsy and restrictive pain in the ass.

>No, they're not chasing you
You're reiterating my point, I said it was a trade did I not?
>Continue loving anime girls instead
I am sorry, I am just not wired that way, I have needs, and an anime *gril* cannot meet them. I am a rational man, and when I want to get laid I know what I to flaunt around and about, if I want actual human contact I know enough to tell it apart.

suckysucky fuckyfucky 5 dolla

C as a whole adheres to the modular way of doing things, so what you find repulsing is just how it is done in C. You get to define your data structures and interfaces in a .h header file, implement them and then use them by including said .h file. That is the appeal of C, it is a feature not a bug, a very small core language, extended by a set of libraries and modules.

>4 different hardware privelege modes that must be manually controlled by the kernel
wew lad

>still missing the point

No, you are.

link?

you fucking mongoloid fuck no
case sensitive filenames are awesome
windows got it backwards

sorry, i should've been more polite

>The language doesn't stop you from designing your own Strings, lcc did it, some game engines did it too with added hashing functionality. The main point is that those aren't the weak points of the language.

The issue is that a standard library is effectively part of a language even if it is not the technical core. C strings became part of 3rd library ABIs because no better option was available in every deployed system by default, further reinforcing everyone else to use them (or things that have to be converted to them) in their own software.

>> Making declaration syntax mimic usage syntax ... is really fucking clunky
>How so?

Mostly because prefix notation address-of and dereference operators are hard to visually follow with postfix arg-call and array index operators for most people with any level of nesting complexity, and forcing readers to work though what invocation a declaration looks like in order to know what it even is, is perverse. Function pointers with non-trivial signatures are probably the worst offenders, and it is laughably easy to construct signatures that 95+% of experienced C developers still need to time time to decipher.

Aw man, you threw right back to my college days, when I figured out the rule to parse them function pointers, good times. 95+% is just a number you threw there, experienced C developers read C the same they'd read English, but all of what you said is true, I couldn't see it, the same an English native doesn't see how to other non native people some constructs of the English language are awkward/backwards and sometimes just clumsy.
The sad thing here is that most college kids get so caught up in the syntax that they forget to try to do engineering with their new tool. An array of function pointers is used in the Linux kernel to unify driver calls, if memory serves right. Those kind of things are surprisingly easier to address using the lisp family of languages.