5 ms·
Has there been any research done on programming language readability for non-programmers? I think that that would be extremely interesting.
by thurn 15y ago
Has there been any research done on programming language readability for non-programmers? I think that that would be extremely interesting.
- irahul 15y agoInteresting for sure but what purpose would it serve? Programming languages are meant for programmers. A survey of non-programmers on programming would be something on the lines of non-math people on math symbols.
- danohuiginn 15y agoEvery programmer starts as a non-programmer. Every mathematician starts as a non-mathematician. So in both cases, it'd be extremely useful. Professional mathematicians and professional programmers are small groups. They're surrounded by very many people who do a bit of math or a bit of code to get things done. Helping them is extremely valuable.
- irahul 15y ago> So in both cases, it'd be extremely useful. Assume all those surveyed say they don't like what they see in Mathematics at all - its all greek symbols and stuff. And then we do what? The current practices have originated from long research and its the best we have right now. For beginners, things are simplified in both programming and mathematics.
- randallsquared 15y agoThe current practices have originated from long research Technically true, but only in the sense of "have originated as a side effect of long research in other things", rather than "have originated from long research into the most efficient or easily understood practices".
- irahul 15y ago> "have originated from long research into the most efficient or easily understood practices". Agreed. But judgement can't be passed on efficiency and/or clarity based on opinions of people who don't follow the trade. If we are talking about Mathematics, its going to look strange to people who don't follow it. Weird symbols and horrifying looking formulae are the most efficient and clear form of describing Mathematics - and its actually pretty clear to people who follow them.
- Sakes 15y ago> Assume all those surveyed say they don't like what they see in Mathematics at all - its all greek symbols and stuff. And then we do what? Go to Adobe and get them to create the ColdFusion equivalent for Mathematics!
- irahul 15y agoBut ColdFusion didn't change much. And the abstractions it provides are generally frowned upon and ultimately, you need to learn what lies beneath. Doing that for Mathematics would be a bad idea. I can't find the reference but it was Feynman or someone who said something about that we have to let go of the idea that I am here to show you why Mathematics or Physics is fun. Mathematics is fun but it requires work on your part. If it seems cruel, that isn't so to torment you - that's how it is. There are shortcomings and people work consciously to overcome them. There always is room for improving mathematics or programming or anything for that sake. But why not aim at converting the non-programmers to programmers(which takes work - a lot of work) and then working at optimizing programming for programmers? It seem like a better option than transforming programming to suit non-programmers.
- martey 15y agoI think that a programming language that is easy for non-programmers to read might be easier to learn. When I learned Python, it took me significantly less time to internalize its syntax than with C.
- jimbokun 15y agoIn the case of your example, not just easier to learn, but far easier to use on a daily basis to get things done (unless the things you need to do are mostly things that need to run faster than Python can go without lots of tweaking). Which suggests a correlation between a language being easy for beginners to learn and being productive for advanced coders.
- _delirium 15y agoI've heard an argument that Python, of the widely used languages, comes closest to being "executable pseudocode", simultaneously actually code and yet readable as an informal algorithm description. It'd be interesting to know if that were true.
- irahul 15y agoAmong others, Norwig has said(on HN; can't find the thread but it was the thread about "Ask PG: Lisp vs Python") about close mapping between his pseudo code and Python code. Personally, I find it true.But I also find it true for Ruby, Clojure and other high level languages. If we are talking non programmers, I am afraid this close mapping would mean anything to them. Isn't it more or less about how similar programmers find the pseudo-code and the implementation?
- deleted 15y ago[deleted]
- derleth 15y agoIf there's one thing I've learned from studying programming languages, it's that human minds are extremely diverse, especially when it comes to designing notations. For some programmers, their 'executable pseudocode' language is Haskell, or Forth, or maybe even the assembly language of some specific piece of hardware. Some people might naturally think in COBOL. Also, the problem domain can dictate some of the shape of the language: Something that's built out of a mathematical expression is almost always going to be expressed most compactly as that expression in standard mathematical notation, with something like APL coming close to being the 'executable pseudocode' form of that program. That said, there are almost always many ways to solve the same problem.
- andrewflnr 15y agoI haven't actually programmed in Haskell, but once I started reading about it, my pseudo-code started to look like it, especially type declarations and inline conditionals. Other times, I use more Python-y (won't say Pythonic) syntax. So even in one person, it can vary.
- jtchang 15y agoDo it on people just learning to program. They don't have any preconceived notions of what is a block and the research would be more valuable.