"Stack Overflow founder Joel Spolsky: "No one should ever code anything in C"

"Stack Overflow founder Joel Spolsky: "No one should ever code anything in C"
translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=de&ie=UTF-8&u=https://t3n.de/news/joel-spolsky-stack-overflow-1088665/&edit-text=

Ayy lmao

Attached: Joel-Spolsky-Stack-Overflow.jpg (620x347, 26K)

Other urls found in this thread:

joelonsoftware.com/2005/01/02/advice-for-computer-science-college-students/
youtube.com/watch?v=0nbkaYsR94c
twitter.com/SFWRedditImages

*blocks your path*

I mean, he writes exclusively in C# on Windows for at scale web services.

His language/platform opinion isn't worth much

>creates site for retards
>his opinion is a reason to make a thread on gee

I bet he writes his drivers in pure javascript

>Post closed: Sort of kind of resembles a poorly answered post from five years ago.

The jelly is real. None of you could ever make a platform as good as SO.

I agree. C is only good for very specific use cases. And even then it’s pretty much superseded by C++

>write code for a specific use case in Java
>it works extremely well for me
>"Nobody should ever code in anything but Java"

While C++ is pretty much superseded by C#, Java, and Python. Java is losing popularity too, there's nowhere to hide.

Attached: 152954567943650135.gif (324x580, 55K)

>Java is losing popularity too
no, it really isn't.

Java is losing popularity among web dev soibois who blog and tweet about programming. But Java is essentially this era's version of COBOL - if you work for any large company whose main focus isn't software, you're probably going to be using Java.

So Kotlin and Scala are just vaporware? I don't hear about Java, outside of serverside legacy software. Examples please.

Kotlin is useful for developing modern mobile applications that, in many cases, need to be written like a web application. Scala is intended for scalable, functional programming applications (the sort of stuff you might use Erlang/Elixir for).

Java is used for general business logic, which is still a massive chunk of what modern programming shops do.

Everything that matters is written in C.

Who cares what a web developer says

So your internet browser, smartphone userspace, game engines, media editing software do not matter?

Why does being a web developer invalidate his opinion? Just because someone is applied at a higher level doesn't make them some script monkey.

Because he's a web developer he obviously doesnt need C, so his comment is very narrow minded and stupid, just because he doesnt need it he thinks no one does while the very tools he uses are written in C.

Not really, no.
They also require things written in C.

the two most popular C compilers require C++ to build.

>everyone on Jow Forums thinks they're smarter than a successful CEO who has been involved in software since before he was born

Also, he's obviously talking about larger-scale software engineering projects. He's not suggesting embedded systems and drivers should be written in python.

They may have parts written in C, but the majority of their codebases are written in C++ or other higher level languages that provide re-usability and encapsulation.

Read post below, he may be a web developer in the present, but he has a lot more knowledge than any of us.

just stop

C is a legacy language, literally the COBOL of the 80s. When was the last time a major project was started that used C?

Wayland
Everything GTK related
Better yet everything Linux and System Programming related.
CGMiner
Python libraries like Numpy manually declare PyObjects, and implement in C.

So literally nothing from this decade other than Memeland which is already dead?

But he unironically named his site after one of the most fatal errors caused by writing in C.

CGMiner and many Python libraries are from this decade.

Ubuntu and many other distros have just switched to Wayland. No idea what you're talking about.

>a fucking BITCOIN MINER
Kek. Meanwhile actually meaningful libraries like Tensorflow are written in C++.

elaboration please

Yeah, arguably the most popular bitcoin miner?? No idea why you're so defensive, I'm a bigger fan of C++ myself, just telling you C still has a major fundamental purpose in software.

Read the context.

>I'm a big fan of C - but I think nobody should ever code anything in C It's simply not possible to use C safely. Even followers describe C as the programming language "without safety belt".

> Yes, it's about such things - and I personally love programming in C because you fully understand what's going on. Everything that happens is somehow manifested in the code you look for, while in almost every modern programming language there is magic in it that you can not see in the actual lines of code. I like C, but it can not be safely used in larger projects.

Joel has sung C's praises before.
joelonsoftware.com/2005/01/02/advice-for-computer-science-college-students/

>Learn C before graduating

>Part two: C. Notice I didn’t say C++. Although C is becoming increasingly rare, it is still the lingua franca of working programmers. It is the language they use to communicate with one another, and, more importantly, it is much closer to the machine than “modern” languages that you’ll be taught in college like ML, Java, Python, whatever trendy junk they teach these days. You need to spend at least a semester getting close to the machine or you’ll never be able to create efficient code in higher level languages. You’ll never be able to work on compilers and operating systems, which are some of the best programming jobs around. You’ll never be trusted to create architectures for large scale projects. I don’t care how much you know about continuations and closures and exception handling: if you can’t explain why while (*s++ = *t++); copies a string, or if that isn’t the most natural thing in the world to you, well, you’re programming based on superstition, as far as I’m concerned: a medical doctor who doesn’t know basic anatomy, passing out prescriptions based on what the pharma sales babe said would work.

>While C++ is pretty much superseded by C#, Java, and Python
Other way around.
C++ superseded both of those before they even came out.

only literal fucking undergrad kids say shit like this

PATHETIC

He's right though.
Modern C++ is objectively better in every way.
If you still can't stand C++ because you're a hipster faggot then Rust is better than C in every way.

How do you write a website in C#?
t.brainlet

>look mom I quoted everyone!

>sockets to connect to web browser
>Parse request
>send html over
Wala

Android replaced Java, that was a huge blow.

CGI, or you can write your own stuff to serve HTML.

Kotlin basically replaced Java on Android, the most popular mobile phone OS. You're trying to downplay that?

Based Joel. He created Trello and sold it to Atlassian for bank. He's a very comptent and insightful developer

"You Suck at Excel" is a classic talk
youtube.com/watch?v=0nbkaYsR94c

1. Get visual studio
2. Create .NET Core project
3. ????
4. Profit

Kotlin runs on Java what are you talking about

Reminder that Joel wrote Excel. I know >windows, but Excel is damn good technology.

Java had already been replaced on Android. Most apps nowadays are written as Javascript web apps and then built and deployed for the mobile platforms.

And Android was always a tiny part of the absolute fuckton of shit written in Java.

This is true. Microsoft's office applications are their bread and butter

And what do post grads say?

He's right though. It's a legacy language that's buffer overflow-prone because it was created before memory protection was even a thing.

Attached: 1497637482479.jpg (387x550, 78K)

>not writing your site in assembly

((Spolsky))

C is the aryan white male language

C is for autists desu. If aryan white males had a language it would be Haskel.

(You)

/thread

I was working on a project using SDL and lua, C makes sense for this. Or should I rewrite it in C++?

We should write everything in C so shit programmers like JS "developers" dont exist anymore and only the real coders who know how a computer actually works are the ones who get a job

Almost every indeed job listing. Search for scala and kotlin jobs then report back

Node js is also c++

ASP.net son.
Newfags these days...

Do you realize that the world runs on server-side "legacy" software, not on weekend github projects written in meme languages?

It's like saying, "I don't hear about electricity outside of electrical appliances".

That's the point I'm trying to make, legacy-ware. What happens when that software gets phased out, do you think their successors will be written in Java?

by "good" do you mean "toxic and detrimental"

>a literal israeli dual citizen
Opinion discarded

Sounds about right

Same as you do with anything else? Like php you get php and fastcgi php? So c#you get asp.net? Idiot

Banks are still using COBOL code from the 1970s. If this is your grand plan to kill Java, you're going to be waiting half a century.

So many brainlets do not how to program in C, you can create your own abstraction functions that can do most the dirty work for you

Wasn't that the guy who didn't completely grasp Unicode himself? Why the fuck is he so overrated?

Sure, tell me again how it's not technically more or less a trivial web portal with the usual annoying stuff.
Also, see

Then again, a lot of brainlets do program in C. Resulting in the ecosystem we have today.
Some of those faggots think eg. that C can call by reference.

>call be reference
Strict evaluation of any kind is pure soi. The only proper evaluation strategy is call by name.

C can call by reference when arrays are in play

It literally cannot. All arguments in C are passed by value. That value can be a pointer, but it's still pass by value.

void rewrite(int arr[8]) {
for (int i = 0; i < 8; i++)
arr[i] += 1;
}

int a[8] = {0, 1, 2, 3, 4, 5, 6, 7};
print(a);
>0 1 2 3 4 5 6 7
rewrite(a); // totally pass by value
print(a);
>1 2 3 4 5 6 7 8

>inb4 hurr durr arrays are just pointers
no they aren't

a is just a pointer to the first element in the array, but nice try.

no read specs or some more readable books on their interpretation

this is exactly what meant by
>That value can be a pointer, but it's still pass by value.
because arrays are pointers or degenerate to pointers or some stupid bullshit.

arrays sometimes decay into pointer and will kick you in nuts when they don't (mostly when linking comes in play)

>and will kick you in the nuts when they don't (mostly when using C's redeeming feature)
nice

Attached: index.jpg (173x291, 7K)

>read specs
I have. The C90 standard literally specifies that all arguments are to be passed by value.

Attached: c90standard.png (819x752, 108K)

arr is a pointer that points to the address of a in your case. "arr" variable inside your function isn't the same pointer, but rather a different pointer that points to the same memory address. what you're doing is modify the memory address that "arr" points too.

this is why you usually don't pass whole structs to function calls but only pointers to them since c makes a fucking copy of the parameters.

>I used a hammer to drive a nail through a piece of wood and it worked well
>nobody should ever use anything but a hammer for carpentry
Yeah, Spolsky is retarded.

Attached: 1493921947718.png (435x269, 5K)

This is your brain on PHP

Unfortunately C89 (or the crippled version that Microsoft delivered until a few years ago) is the only viable way to write cross platform software.

I can't write a Rust application for Win98 or DOS or Playstation 3. So it's worthless for me. Meanwhile modern but portable libraries like pixman, lua and sqlite are still compilable to those platforms.

The only good alternatives to C are FreeBasic and FreePascal. I like Pascal but I don't want to write wrappers for every damn library I use.

only brainlets use C

Attached: 1529541592378.jpg (620x380, 49K)

Considering C and C++ is the cause of many security problems, I agree. But they are so darn fast...

want performance ?
c/c++

If he uses "code" as a verb, I immediately discard his opinion anyway.

fizzbuzzers on /dpt/ who exclusively use C blown the FUCK out

game engines and smartphone "userspace" do not matter, you useless child.

I write in C for F U N

>thinks that coders know how computer works

cute edges

>flagged for deletion: didn't post a build file, link to a compiler, and a minimum of 5 pages of test cases

well the conclusion is correct

SO is one of the few sites that hasn't actually lost major functionality over the years

Kotlin is really only gaining popularity because android devs are DESPERATE to write in literally anything else.

I automatically disregard opinions from (((them))).