News for hackers. Stuff that matters.
Re:Challenging projects every programmer should try by p-e-w on Tuesday December 26, 2023 @03:06AM (#38769761)
> If you are only using ready-made building blocks, there is a lot of great software you just cannot write. And I think we all see that, because there isn't much great software around.

I claim that the opposite is true: The reason there are so few software projects that are really great is because high-level skills, not low-level ones, are in short supply. Every CS graduate can implement Paxos. The number of people with the experience needed to take an implementation of Paxos, and many other components, and put them together into something that works really well is much, much smaller.

> But I have bad news for you. This kind of software will soon be written not by you, but by an AI.

AI is actually much better at writing low-level code than high-level code. If you tell it to implement a piece table or a Fibonacci heap, it will do so without problems, in any language. If you tell it to create a simple CRUD application using existing libraries, it will output something that doesn't actually work.

Re:Challenging projects every programmer should try by auggierose on Tuesday December 26, 2023 @03:32AM (#38769910)
I guess it all depends on your definition of low-level. High-level can also be low-level, just with different building blocks, if the building blocks are based on well-specified abstractions.

I am actually currently writing a novel text editor, and I can guarantee you, my requirements mean that an AI cannot help me with that directly, because the underlying mechanisms I need don't exist yet. The AI is still helpful though when researching existing mechanisms, and to pinpoint why they don't work for me.

> AI is actually much better at writing low-level code than high-level code.

> If you tell it to create a simple CRUD application using existing libraries, it will output something that doesn't actually work.

If your low-level code is just a copy or adaptation of something existing, then yes, AI is really good at that. Something novel though, AI cannot help you much here.

On the other hand, simple CRUD applications will all be done by AI very soon. Probably not using existing libraries though, because these are crap.

But there is certainly a role for humans currently in high-level design, I agree with you here. But this high-level design crucially relies on your ability for low-level design, with the ability to imagine and then implement (possibly with the help of AI) the building blocks you need, not just reuse the ones that are there.

Re:Challenging projects every programmer should try by eternityforest on Tuesday December 26, 2023 @04:49AM (#38770306)
You have to be pretty smart to even think of an idea that can't be done with existing building blocks.

It seems to show up more in hobby stuff, or in cutting edge projects.

I'm always excited whenever I see any kind of algorithm work, because it's such a novelty. Most everything I do is just a UI around a few libraries.

Re:Challenging projects every programmer should try by yxhuvud on Tuesday December 26, 2023 @06:17AM (#38770769)
There is a world of difference between "can be done" and "can be done well". Existing building blocks typically is good for the former but often not the latter, or you have to exercise a good amount of judgement when piecing things together.
Re:Challenging projects every programmer should try by coolThingsFirst on Tuesday December 26, 2023 @07:07AM (#38771096)
Existing libraries for writing CRUD apps are anything but crap.

If we can’t create special libraries that work well for common tasks then as a species we are too dumb.

Re:Challenging projects every programmer should try by auggierose on Tuesday December 26, 2023 @07:37AM (#38771263)
Which ones are your favourite libraries, let's say for a TypeScript only code base?
Re:Challenging projects every programmer should try by flir on Tuesday December 26, 2023 @08:24AM (#38771556)
If you feel like telling us about your novel approach to text editing, I'd like to hear it (or I'll just wait for the announcement post. That's cool too).
Re:Challenging projects every programmer should try by deterministic on Wednesday December 27, 2023 @05:56PM (#38787888)
No AI needed. I use a custom code generator to generate 80% to 90% of the code I need in CRUD applications. And I can actually trust the code unlike code written by an AI.
Re:Challenging projects every programmer should try by auggierose on Wednesday December 27, 2023 @06:09PM (#38787992)
Yes, indeed, that's what I would expect as well if I was in the business of CRUD applications.
Re:Challenging projects every programmer should try by FiberBundle on Tuesday December 26, 2023 @06:03AM (#38770708)
> Every CS graduate can implement Paxos

Is all of this satire?

Re:Challenging projects every programmer should try by ahoka on Tuesday December 26, 2023 @11:38AM (#38773258)
Just plain old elitism.
Re:Challenging projects every programmer should try by sokoloff on Tuesday December 26, 2023 @06:22AM (#38770797)
> Every CS graduate can implement Paxos.

I have lived evidence that not nearly every CS graduate even knows about the topic that Paxos addresses.

Re:Challenging projects every programmer should try by p-e-w on Tuesday December 26, 2023 @06:28AM (#38770834)
Where in the world can you get a computer science degree without hearing about consensus algorithms?
Re:Challenging projects every programmer should try by tester756 on Tuesday December 26, 2023 @06:31AM (#38770850)
Pretty much everywhere below country's top3, top5?

I've got masters degree and I don't think anyone even mentioned word "paxos" or "raft" during my 5 years there.

Fortunely internet is a thing and I could read something about this topic.

I know graduates from various public schools and people who heard about paxos (let alone can implement it) are tiny %.

Re:Challenging projects every programmer should try by ryandrake on Tuesday December 26, 2023 @03:48PM (#38775897)
I have a Comp Eng degree from the 90s, been in the industry since then (~25 years), and I have never heard of Paxos. Even the top results from a Google search yields that Paxos is one of: 1. a blockchain company, or 2. a Greek island. More than halfway down the page there is mention of an algorithm of some kind. Probably not a good example of "baseline knowledge" for a software engineer.
Re:Challenging projects every programmer should try by _gabe_ on Tuesday December 26, 2023 @10:20AM (#38772464)
You’ve just shifted the goalpost twice here. I never learned about Paxos, but I did learn about consensus algorithms. Second, learning about something, and implementing something are completely different. Most CS graduates have an idea of how syntax parsing works. How many can implement a parser? What about a syntax highlighter? Most graduates have an idea of how an OS works. How many can build an OS?

I guess if you’re always using libraries though, you may mistakenly be thinking that these libraries are just doing trivial work. Once you dive in and try to implement the low level stuff, then you realize how big of a disconnect there is between a fuzzy idea in your head and the lines of code that constitute that idea in reality.