Live data from Hacker News

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

github.com

31–40 of 147 posts

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

#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.

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

#32

> Just as knowing why apples fall down and aeroplanes fly up, the citizens of the 21st century need to know that computers are not magical boxes but composed of dynamic models. I'm not sure most of the public could explain why gravity works, or how an airplane actually gets in the sky. This is because most people are not inquisitive by nature, they generally take things at face value without questioning why. This kin…

I think the problem with creating a society of thinkers and tinkerers is that some people just do not find it interesting, so we should not force them into it.

I am curious by nature and like learning new things and figuring out how things work, and it has been like that since I was a kid. My brother is the exact oposite to me, yet we both had the same upbringings (we differ just three years).

When he studied the sciences, it was just pass highschool degree, and after that he went into the social field as a caretaker for special-needs children. I doubt he would benefit a great deal in his day to day life from knowing why apples fall down or planes fly up.

Whilst I like the idea of encouraging a generation of thinkers and tinkerers, I accept that it just isn't for everyone, and neither should it be. Maybe it's just not in their nature.

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

#33
post #6

At first glance, it seemed like yet another silicon-valley-neoliberlist-style lots of words and ideologies, but no code and practicalities. But it seems like OPs thesis has a more hands-on approach: http://zells.org/res/Zells_DiplomaThesis.pdf

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 hard to assess whether the problem is my ignorance, or just vagueness of the publication.

- Motivation sections usually have an exaggerated tone to them (i.e. this will totally change everything), but this one, and the article above, are a bit over the top.

- There are also some over-the-top statements sprinkled throughout the thesis (e.g. "a model of virtual objects which exist independent of any hardware").

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

#34

Earlier quoted context omitted.

> When I drive my car, I just want to get from point A to point B while listening to a podcast. I don't care to know how they work. Yet, you've spent months explicitly training for that task.

people don't spend more that a few minutes learning the interface of a car, everything else is learning how not to die or kill other people with it.

Maybe if you drive an automatic. It took me a long time to be comfortable enough with shifting gears, operating turn signals and what not to leave enough attention for the actual traffic around me.

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

#35
I think there is room for a "global librarian". Moreover, when AI starts to program itself, having a logically linked system that can be queried for potential implementation strategies will be beneficial for integrating new features. However I think google can already do this to some regard. Perhaps its time for something like "site: github, lang: python, tags: [csv, excel, graph]. Then add some local db that can receive notifications from github on changes?

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

#36

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.

Can someone name a couple of those hundreds of attempts?

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

#37
post #30

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

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.

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

#38

>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 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 writing and making a mental model of a problem and its programmatic solution. Yet it's easier for most people to pick up a pen or open a word processor and express themselves than it is to write a working program.

Why should it be so? Apart from implementation details of hardware platforms and runtimes, you're really talking about expression in different units: subroutines rather than paragraphs, APIs rather than outlines, user stories rather than theses.

To bring it back to your analogy, consider what a tool that lowered the barrier to entry to brain surgery might do. It might certainly do things like list the particular skills, tools, and medications required to perform certain procedures. It might provide a check list of crucial steps and a sort of troubleshooting tool. It isn't going to make an expert out of an unskilled user, and a particularly skillful surgeon might not benefit from the tool at all, but on balance, it would raise the baseline competency of many users and help ensure that certain critical requirements were met.

A good assisted programming tool would do the same. It would help the user accurately model the problem, it would advise the user of certain best practices, and it would certainly warn the user of common mistakes. This is all very much in line with a good word processor, with features like spellcheck and document templates.

So I disagree that programming is analogous to brain surgery. Programming itself is a tool for the expression of an idea and much more akin to composition, and there is no good argument in my opinion against tools to assist with either. Remember that for a large part of our history, literacy was considered a niche skill, and widespread literacy led to explosive growth of our knowledge of the world. I'm not one of those "literally everyone should learn to code" types, but there is quite a lot of potential in spreading programming literacy, even if you feel most people have no business practicing it.

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

#39
post #36

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.

Can someone name a couple of those hundreds of attempts?

Most languages try this at some point, Java claimed you could link all your code into Java and use OOP.

Self-describing components in .NET

Visual Basic 6's component method.

Windows has had various of these, including ODE and COM.

Obviously, any linux distribution, and plain old C linking, probably comes closest (although that tends not to be self-describing.

Lots of RPC systems I would say fall into this list, just google for "self-describing RPC" to find a bunch of versions.

Post reply on HN