Live data from Hacker News

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

github.com

61–70 of 147 posts

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

#61

>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…

Oh, I think we could go a lot further as a society if we had more understanding of basic software and related concepts like revision control.

It hurts my head watching people sometimes, going through major contortions to achieve something just because they do not know a few commands or programming ideas. Is it “better” to develop massive, twisted dependencies on programs like Excel, when a few lines of real code would have been equivalent and infinitely more maintainable (not to mention vendor-independent)? Is it better to have massive, manually-copied-around duplicates of files because no one knows about revision control systems? Is it better to do things manually, like repetition, that computers do extraordinarily well?

Programming not only gives you the power to solve arbitrary previously-unknown problems but it puts you in the mindset to assume that an external tool will work better than an internal one. It makes you stop waiting for Your Only Vendor to “implement” feature X, and instead realize that there are already 4 other ways to do that with existing tools.

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

#62
IMO we're kind of headed that way now. I always saw this as the point of Google's combined interest in TensorFlow and Kubernetes.

Containers are the piece of the toolchain we've been missing. Now we actually have some feasible logical methods (deep neural networks + gradient descent) that can be used to structure existing computational tools into deeper, more intelligent systems.

Think of it this way: what's the difference between (an ideal) container and an artificial neuron? Structurally, they are nearly identical: they both have collectors and emitters, and perform some non-linear action in concert with other similarly-structured systems. Containers can also help with some of the "trust" problems: if we're shipping around trained data models (or container images) rather than the actual training data, we can push storage out to the edge of the network and run the models there. Containers provide a common computing language that enables you to do that.

This platform is not a leap forward for the theoretical capabilities of AI; but it is a shortcut that should eventually make it easy for AI researchers to leverage vast existing libraries of software written in any one of hundreds of programming languages.

I actually suspect that this is just the first generation; there are a number of software problems that currently can't be solved easily in a multithreaded manner. However, if you can build a container that does what you need, you can eventually train a model to replicate the container -- it may be less computationally efficient, but with future orchestration platforms it may end up being more time-efficient.

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

#64

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?

I think you misunderstood me. I'm not saying that people should become literate in programming so they can program their own solutions, although that'd obviously be good. I'm saying that we should encourage people to become literate in programming if only so they could express their needs more clearly and evaluate solutions better.

I likened programming to composition. Most people who took composition courses don't necessarily need to write papers on a daily basis, but they certainly benefit from being able to interpret and evaluate material. If I could get people to understand the general concept of a data type, I'd certainly have an easier time of communicating with them and satisfying their needs.

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

#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 implement algorithms. Different languages strike different balances but ultimately they all are more complicated than the average person can handle because at the end of the day the computer itself is more complicated than the average person can handle. No amount of dumbing down or simplifying things is going to create a programming language that you're going to want to write serious programs in but that the average person is going to be able to understand.

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

#67
post #56
post #50

Earlier quoted context omitted.

>One of the first things you learn in Computer Science is that not all problems can be solved with a computer. Oh ... could you elaborate? I think my cut-rate, community college degree skipped that part :) it seems like a useful thing to know!

I assume skywhopper is referring to undecidable and uncomputable problems. https://en.wikipedia.org/wiki/Undecidable_problem

I don't really get how that's a critique of the ability to represent complexity on a computer well. After all, isn't a human mind constrained by P ?= NP in the same way as a computer architecture?

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

#68

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…

We went to the moon. A lot of people said that was beyond what humanity could build then, too.

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

#69
post #23
post #16

Earlier quoted context omitted.

And that’s just learning how to use the car. We’re talking about building one.

I think the car analogy kind of falls apart at this point. Using a computer and writing programs for a computer are both interacting with software. Take spreadsheets, for example: is making a spreadsheet analogous to building a car or to driving one? What about drag-and-drop visual programming?

[deleted]

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

#70
post #30

Earlier quoted context omitted.

The difference is most people won't need brain surgery in their lifetime. A more relevant comparison would be car maintenance.

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

but if you were informed about how your car worked, you would know that the 200$ "break pad cleaning" recommendation your dealer was asking you to do is pure bullshit.
Post reply on HN