Live data from Hacker News

What's wrong with Software nowadays and how we can fix it

github.com

81–90 of 147 posts

Re: What's wrong with Software nowadays and how we can fix it

#81

>To fix this, we need to increase the currently tiny number of people who are able to write, modify, combine and share software. We need a tool that makes writing software easy and fun, and accessible to everyone. A tool that enables software literacy. Global access to niche knowledge doesn't seem like an effective use of the world's time to me. Let's look at this same idea, but replace "develop software" with "perfo…

I thought long and hard about a apt analogy and decided on "literacy" because I'm hoping that using computers as a medium for formulating and exchanging ideas would have a similar effect as reading and writing had.

I can very well imagine that a couple of hundred years ago people thought that writing was some niche knowledge and it's perfectly fine to leave that to the monks.

My goal is not to make everybody a professional software engineer just like everybody should not be a professional author. But people should be able to use the medium to discover and understand powerful ideas.

Re: What's wrong with Software nowadays and how we can fix it

#82

Earlier quoted context omitted.

I disagree with your analogy. In my opinion, programming is more analogous to composition. Most courses of study require at least one composition course, because no matter what discipline you're studying, it's important that you be able to organize your thoughts and express them clearly as well as understand the formal expressions of others. I personally experience a huge overlap between ordering my thoughts for writ…

Why not we (software developers) take the route of improving end-user software and letting people easily accomplish their mundane everyday tasks, instead of letting them program as a remedy to the sorry state of software? Have you looked at it that way? Would people buy a car that required them to tweak it and service it right after it went out of the showroom?

That's definitely an approach we should keep trying. But it hasn't worked out very well so far and I'm convinced that it's impossible to create an application that fits 100% of the needs of 100% of its users. I would definitely buy a car that allows me and maybe even makes it easy to tweak it. But I wouldn't want one that requires me to do so.

Re: What's wrong with Software nowadays and how we can fix it

#83
post #76

Anyone who says this: in the virtual world of computers, everything can be replicated, from complex physical phenomena to abstract ideas, and even your own mind. Does not understand computers well enough to be lecturing the world about the need for software "literacy". The assertion that computers can represent any of those things is a complete falsehood. Computers are great with complex mathematical models of physic…

I remember a draft of the manifesto that had indeed way more classifiers in it. I guess removing almost all of them for better readability was maybe not the best idea. DecoPerson and noxToken are right about this being a general statement about computing and not present day technology. Whether or not the human brain can be completely simulated by a machine is still an unanswered question but nothing I came across so…

Sure! Most real numbers are uncomputable, for starters. "approximations are usually good enough" is a smoke screen that assumes that it's always possible to make approximations and iteratively improve their accuracy, something which generally is only true for computable numbers!

Another example, something I've been studying recently, is the phenomenon of patterns. Patterns are very abstract, and it's not at all clear how a computer can model a pattern without resorting to some concrete instantiation of it. At best, we have blueprints, models, code, designs, and instances; these are all themselves occurrences of patterns, but they fail to embody the pattern itself.

While I've got your attention, "Cryptography also enables a high level of security." is a ridiculous line. Cryptography, by itself, is only a building block. Security is structural. Check out object capabilities: http://srl.cs.jhu.edu/pubs/SRL2003-02.pdf

Edit: Scott Aaronson discusses limits of quantum computation in this talk: http://www.scottaaronson.com/blog/?p=2903 Basically it is totally possible that minds cannot be simulated by computers without destroying the mind in question!

Re: What's wrong with Software nowadays and how we can fix it

#84
Pleased to see more efforts to fix fundamental problems with computing. It's certainly needed, this won't get fixed by piling more crap on top of the existing stacks (including: building OSS versions of proprietary things.)

This one seems to address some of the values I think are important, so, neat.

But I'd argue ordinary people just need to be able to use software, not necessarily build it. So, available software should be high-quality. There should be meaningful choices between alternatives. I think that means: no lock-in.

Re: What's wrong with Software nowadays and how we can fix it

#85

Earlier quoted context omitted.

I disagree with your analogy. In my opinion, programming is more analogous to composition. Most courses of study require at least one composition course, because no matter what discipline you're studying, it's important that you be able to organize your thoughts and express them clearly as well as understand the formal expressions of others. I personally experience a huge overlap between ordering my thoughts for writ…

> Apart from implementation details of hardware platforms and runtimes The platform described to share all this knowledge and code is beyond what humanity can build today. The manifesto described that we share "All cells exist in a single, globally shared hierarchy". The trust problem has many forms, from trusted medical info on Wikipedia, Facebook fake news filtering, to open Github code with hidden backdoors. See a…

That's an awesome list, thanks. There seem to be two concept intermingled here though. First is decentralization which I'm a big fan of not only for social and humanitarian reason but also because I'm convinced that it's the better design. And while there are many problems still unsolved, there are also very promising approaches. The other one is trust which is required in centralized and decentralized networks but has a very different taste in both and I think it might be actually easier so solve in an open, decentralized environment. Lastly, I wanted to point out that while all cells exist in a single address space, that doesn't mean that every cell is accessible to everyone.

Re: What's wrong with Software nowadays and how we can fix it

#86

Anyone who says this: in the virtual world of computers, everything can be replicated, from complex physical phenomena to abstract ideas, and even your own mind. Does not understand computers well enough to be lecturing the world about the need for software "literacy". The assertion that computers can represent any of those things is a complete falsehood. Computers are great with complex mathematical models of physic…

Is it possible that you're being overly literal in your reading?

Re: What's wrong with Software nowadays and how we can fix it

#87
post #60

Earlier quoted context omitted.

Well, most people don't know how to fix their car, so the result seems to be the same to me.

Another fault with his logic is that programming languages are very specialized and very powerful tools. You could try to dumb them down to make them work for the average person (which has been done ad nauseum at this point) but then they would no longer be capable of solving certain classes of problem either simply or quickly. To go back to the car analogy, yes most people understand at least at a rudimentary level…

I don't like the car analogy too much since a car is basically a tool while computers are a medium. I agree with you that programming languages on the other hand, definitely are tools.

Re: What's wrong with Software nowadays and how we can fix it

#88
The cells concept seems like a global git repo atop a NFS. While such a thing might help the people who choose to use it. I think you will have to be very careful to avoid the competing standards trap. https://xkcd.com/927/

If you are truly passionate about bringing programming to more people, then I suggest starting by trying to teach each existing language to a different person who doesn't know programming. The intro experiences of each of those people should confirm or refine your ideas about what needs to be built in order to get the maximum number of people programming.

Alternately, you could start with the observation that it seems to be the case that even most programmers do not make most of their own solutions. If that is true then a good thing to build might be a general programming language that would get most programmers to start making most of their own solutions.

Either way, the result should be a language that is so much simpler to write in and that provides such a small time to useful solution that not only will most programmers choose to use it to solve their own problems but most programming instructors will choose to use it as a first language.

Re: What's wrong with Software nowadays and how we can fix it

#89

I usually try hard not to be cynical, but in this case I can't stop myself. This seems to be another attempt at a grand, unified packaging and IPC / linking method. There have been hundreds of these, and there is no attempt at all to discuss where all the others went wrong, and how this will improve upon them.

Since you're 100% right I wouldn't call that cynical. It is indeed another approach to create a unified messaging standard. And yeah there are plenty and I haven't even looked at every single one in detail to be able to reject them. But that's definitely an exercise I will try soon.
Post reply on HN