Live data from Hacker News

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

github.com

101–110 of 147 posts

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

#101
post #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 profes…

Interestingly, that is precisely the way I've been framing the problem for several years now. For example, here's a comment from a couple of years ago: https://news.ycombinator.com/item?id=8308881. And one from a couple of months ago: https://news.ycombinator.com/item?id=12668086.

"I think we're in a preliterate state with programming: it's hard for anyone to quickly look at a program listing and answer the basic sorts of comprehension questions we might test school kids on for prose.

"What we find easy is to read programs we wrote. Recently."

Here's my manifesto based on the same starting insight as you: http://akkartik.name/about. And my project (with one other collaborator): https://github.com/akkartik/mu

Nice to meet ya! I'd love to chat more at some point once the HN rush dies down, perhaps over email (address in profile). We seem to be attacking the same problem but from very different directions. I'm focusing on new methodologies rather than tools, and heading down to fix the foundations before creating empowering interfaces on top. Cross-pollination of ideas would be useful.

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

#102
post #65

I propose capital punishment for people who do not put enough effort into optimizing memory usage and performance. I know we have more than 64kb of ram now. That does not mean we have to add useless shit that just bloats everything.

What should be the punishment for premature optimization?

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

#103

> More and more, users are put into - sometimes golden - cages, and forced to hand over their ideas, personal information, and even identities to international quasi-monopolies that put everything into walled gardens which the creator can only access through tiny keyholes. I don't think this has anything to do with software, it seems more like an attempt to educate the masses on the evils of facebook and twitter, but…

They might not be as benign as you think: https://www.youtube.com/watch?v=CAeHuDcy_bY

But I agree that this is not a software problem but a business model problem. The solution however, can be software.

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

#105
post #31

I think this misses the problem completely. The problem is not that people that trust computers need to put more effort into understanding computers. The problem is that people keep trusting computers. What people really need to be educated on is "Why computers are not and never will be trustworthy". And they don't need the details of why, just the bottom line.

Why are computers not trustworthy nor ever will be?

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

#106

Yet another "If only Hypercard had been the future" dream. I agree it would have been nice if it had been. But there are Reasons it didn't work out that way, and probably isn't gonna go there.

What do you think those reasons are? In case of HyperCard I think it's that there wasn't any inter-stack-linking let alone networking. What I'm crying about is that Smalltalk was not the future.

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

#107
post #92
post #33

Earlier quoted context omitted.

From the 10mins I spend looking at it: - It seems some kind of language/computation-model. Loosely based on a "everything is an actor" model. - It did look goodish. I tried following the Fibonacci example, which sort of made sense (I got the impression that recursion is handled by creating new nodes/zells). The discussion chapter also seemed interesting. - It has that abstruse academic feel, where sometimes it is har…

- that's exactly what it is. And the way I see it, actors are an implementation of OOP (in it's original meaning) so I would stick with "everything in an object" - thanks =) - I had that same feeling while writing it, constantly balancing my own ignorance with an acceptable level of vagueness - call me the over-the-top guy. But the way I see, your vision has to be grand, if not megalomaniac if you want the essence to…

If the thesis is relevant at all to what you're doing now, might I suggest linking to it directly from the manifesto? Otherwise it sounds mostly like you are very excited about something, but I got almost no idea what that something is.

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

#108
post #91

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…

Change replicated to represented or modeled, and it's a true and useful observation. Maybe the author believes "replicated," or maybe he just didn't find the right word that day. In any case, if I change that word as I read it, it becomes a useful observation to me. Just because I'm reading an authors words doesn't mean I have to accept those words as-is. I just got a useful thought out of an incorrect statement. :)

Ah words. That might be the wrong one indeed. I guess I always assume the benevolence of the reader while I'm writing. But precision is important.

What I meant was that in that virtual world they can be replicated. So the replications would be virtual themselves. I better make that clearer.

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

#109
post #95
post #66

Can we please just let this idea die. Almost since the day programming was invented there has been at least one person out there trying to dumb it down to work for the average person and it always fails. Computers are hard to program because they're complicated . Programming languages strike a balance between simplifying some aspects of that complexity and exposing enough of the inner workings to efficiently implemen…

It sounds like you really want programming to continue to be difficult.

On the contrary, I want programming to be easier where possible, but the goals of this manifesto (and all the similar ones before it) are trying to fix the wrong thing. Better and more powerful abstractions are always good, I'll always welcome a new tool that makes my job easier. However the goal of this project is to make a tool that's explicitly designed to make code that's easier to read for the average person, not easier to program in. This is in many ways a set of opposing goals. Things that are easier to understand tend to lead to more verbose code and vice versa. Look for instance at assembler. Conceptually assembler is very simple but because of that simplicity implementing anything non-trivial in assembly tends to be very verbose. On the other extreme languages like APL and Haskell are very concise but they're hard to understand because they're very complex and leverage a lot of very powerful concepts.

What I want are new tools that leverage powerful concepts to allow me to efficiently express complex ideas. These tools by their very nature are hard for the non-programmer to understand. Look at what's being proposed in this manifesto. They're advocating for what is in essence internet enabled Excel. Do we really want to start trying to write applications in Excel? Can you imagine the horrible spaghetti code that would result in? Imagine how much code you're going to have to write to express even mildly complicated concepts? Imagine trying to maintain one of these beasts.

Further more, for this idea they propose to get off the ground, the vast majority of programs would need to be written in this new language they're proposing, which is, quite frankly, not going to happen anytime in the next 20 years at least. We're still using C and assembly, and they don't look to be going anywhere anytime soon (although maybe Rust can dislodge a little of the C). I do think it would be good for more of the population to at least have a passing understanding of basic programming concepts, at the very least learning how to solve problems using abstract thinking would be useful, but I don't think trying to create some kind of "simple" programming language is the way to do it. There are "simple" programming languages out there, just look at any of the toy languages designed to teach children how to program. But that's the thing, they'll always just be toys, they expose a very limited subset of capabilities for solving a limited subset of problems (mostly they focus on making it easy to draw on the screen since it allows for simple games that provide positive feedback for children learning).

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

#110
post #76

Earlier quoted context omitted.

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…

I must admit that I have only very limited understanding of numeric and cryptography. But I do find these very interesting discussion points.

The uncomputable real numbers are the irrational ones, no? But those you can compute to an arbitrary precision. It's just for most applications, you don't need much precision. But again, I've not done very much simulation so I might miss something.

Patterns are something I haven't thought about in this context. I'm not entirely sure what kind of patterns you're talking about. I'm guessing software patterns. I was thinking about abstract patterns and had to think of Deep Mind and how it learned to play Go by recognizing patterns.

I stay with my statement about security. I never said that it's sufficient. But necessary. I think a cryptography-enabled capability-based security model could be very interesting.

Will definitely read Aaronson's talk. That's a very interesting subject.

Post reply on HN