5 ms·
This criticism comes up every time this kind of thing is discussed, but seems to ignore the fact that regardless of the destination (programming is a way of thi
by one-more-minute 11y ago
This criticism comes up every time this kind of thing is discussed, but seems to ignore the fact that regardless of the destination (programming is a way of thinking, fine), the journey you take to get there is important too.
Environments like Excel aren't powerful because they make programming fundamentally easier, but exactly because they don't require you to put yourself through the process of trying to grok for loops and if statements, patiently waiting for an epiphany to come, before you can do anything useful. It's just a nicer route to the programmer way of thinking.
"Programming for non-programmers" just means reducing the set of concepts and thinking processes you have to absorb before you can do something useful – just like Excel does. The Eve guys may or may not achieve that, but I definitely think it's a worthwhile goal to have.
- danso 11y agoOh don't mistake me for an anti-Excel snob, I'm absolutely a fan of it, and I believe learning spreadsheets should be as mandated a school course as typing...I also think that even the basic application of cell-based formulas counts as programming...which, well, makes sense given that it's also math. Again, I don't want to be too harsh on what the OP excerpts as I'm not sure if Eve's ultimate intent is to just make programming more accessible to non-programmers...but from how I interpret the original announcement, Eve is pushing the notion that the hard computational problems can be approached by anyone, if it weren't for that programming hurdle: > Imagine a world where everyone has access to computation without having to become a professional programmer - where a scientist doesn’t have to rely on the one person in the lab who knows python, where a child could come up with an idea for a game and build it in a couple of weekends, where your computer can help you organize and plan your wedding/vacation/business. A world where programmers could focus on solving the hard problems without being weighed down by the plumbing. That is the world we want to live in. That is the world we want to help create with Eve. http://www.chris-granger.com/2014/10/01/beyond-light-table/ http://www.chris-granger.com/2014/10/01/beyond-light-table/ For starters, some of that is already realizable. Does anyone doubt that GameMaker is a legit platform after the success of Spelunky? I haven't used it but I've heard it billed sometimes as a way to make games without coding. However...AFAIK, Spelunky and other big hits were most definitely not constructed solely through a drag-and-drop editor. In other words, making something truly fun and unique requires programming, because programming is as explicit a medium for us to communicate our commands and creativity to a machine. To refer back to the Eve announcement, to that scientist who has to rely on the sole Pythonista to get some kind of task done...why shouldn't the ambition be that that scientist learns some Python? Why is programming seen as some dirty work relegated to the lab nerd with an obsessive interest in closures and indentation, instead of being integral to the scientific process? To use another analogy, in the world of journalism, it is possible to be a fantastic reporter -- the kind who knows how to seek stories, sources, ask the tough questions, understand the important issues, etc. -- and be a horrible, horrible writer. And vice versa. And yet it would be unheard of to hire a great investigative journalist who was functionally illiterate...it's not as if that journalist couldn't just focus on the reporting and then dictate his findings to a writer. But besides the inefficiency of hiring two people just to get a story in written form...there is something most definitely lost when the reporter/observer of facts and events is not the same person who is structuring the narrative and arrangement of facts and events. If you've ever been heavily edited, you know what I mean. And to address the example of "A world where programmers could focus on solving the hard problems without being weighed down by the plumbing"...maybe I'm just very narrowminded and have turned into the prototypical code-nerd...but it's hard to think of many hard software engineering problems that didn't involve plumbing. The reality of programming is that it almost always deals with very mundane, boring, pedantic work...but isn't that the point? That the programmer's main worth is to be able to succinctly and efficiently translate and delegate that work to a machine, so that the programmer (and the rest of society) can move on to more complex things?
- Kalium 11y ago> To refer back to the Eve announcement, to that scientist who has to rely on the sole Pythonista to get some kind of task done...why shouldn't the ambition be that that scientist learns some Python? Why is programming seen as some dirty work relegated to the lab nerd with an obsessive interest in closures and indentation, instead of being integral to the scientific process? Because to many, programming is a industrial process that is kept deliberately obscure and obtuse by programmers who fear the loss of their power. Not as something that has a certain inherent amount of complexity to it. It's the same as people who hate doctors because they believe medicine is 99% fancy vocabulary. To many such people, programs should be as simple as they look. So should everything else in life. I can only assume they have never looked under the hood of a car.
- dragonwriter 11y ago> Environments like Excel aren't powerful because they make programming fundamentally easier, but exactly because they don't require you to put yourself through the process of trying to grok for loops and if statements, patiently waiting for an epiphany to come, before you can do anything useful. Or, given the studies of actual excel use, before you can do something that appears useful but produces incorrect results. The hard part of programming isn't learning languages and tools, its learning the technology-independent processes that allow you to correctly address needs and verify that they are correctly addressed. Projects that aim to make programming accessible that aren't focused on that end, but are only focused on revising (even if radically) the way in which we interact with code aren't going to make successful programming more accessible (and, anyway, most of the time, what they end up doing is creating tools that, at best, end up being used by programmers, not non-programmers.)
- ZenoArrow 11y agoI agree it's a worthwhile goal, but perhaps one that's better tackled from a different direction... Instead of asking how to make programming more accessible, why not ask... What would an evolved Excel look like? Take cell-based formulas for example. For all their benefits, there are a few obvious issues with cell formulas in Excel. First, it's not always obvious where they are. You can have formulas all over an Excel spreadsheet and it's not easy to tell at a glance where they are, so you don't know what parts of your spreadsheets are static and which parts are dynamic. Second, formulas can become unwieldy very quickly. Whilst Excel formulas are very Lisp-like, the lack of user-defined functions within Excel (you can do it other ways) means you often have large nested functions or resort to suboptimal methods like storing intermediate steps of a calculation in other cells to keep the formulas manageable. The language constructs aren't designed to enable semantically-rich yet succinct formulas, though occasionally there are useful tricks to extend beyond what is immediately obvious (such as the ways SUMPRODUCT has been twisted beyond its original purpose). You want to encourage elegant creativity, rather than relying on arcane tricks. Lastly, plenty of scope to improve performance. All three of these issues above are very much solvable, would allow non-professional-programmers a far nicer tool to work with, whilst unlocking more of their creativity and the potential of the machines they're using. Seems like it would also be a reasonable base for further research into improving the accessibility of programming, as you could learn which concepts stick in people's heads and which ones don't.
- karmakaze 11y agoEvolved Excel was Lotus Improv on NeXT