

You shouldn't have to learn how to code - estraschnov
http://www.huffingtonpost.com/emmanuel-straschnov/you-shouldnt-have-to-lear_b_6111914.html?utm_hp_ref=technology&ir=Technology

======
Steven_Bukal
This article is very silly. Complaining that software has gotten easier to use
but programming remains difficult is like complaining that cars have gotten
easier to use but automotive engineering remains difficult. The design and
construction of an end product is not the same as the end product itself.
Product like cars and software can be made much easier to use over time with
better design and technology. It's not obvious that the design and
construction of these things itself can be.

Many people have tried to achieve this and will continue to try - look at
light table and Apple's playgrounds for recent attempts. But these
'revolutionary' 'accessible' programming tools have never delivered on their
promises. This is something Fred Brooks predicted in the 80s. Much of what
makes programming hard is essential complexity inherent in the problem to be
solved. Improving our tools and processes is a good thing, but there are no
silver bullets when it comes to improving programming productivity.

~~~
dllthomas
Design and construction _of the same thing_ can be made easier. But we aren't
happy using the same thing. Pushing the envelope will always be comparably
hard, because the envelope expands at about how hard people are able to work.

------
jordanpg
> For instance, to turn a button red, we shouldn't have to write code. We
> should just be able point to the button and select a shade of red. Instead
> of talking about concepts the computer cares about (like variables and
> servers), programming tools should talk about things the programmer cares
> about (an image or a cloth order).

This is the concrete example of what the revolution will look like. It doesn't
involve interfaces or logic, just a color customization, which has been
possible in most user-facing software as long as I can remember.

The only thing that can bridge the gap between as-yet-unknown interfaces (in
the most generic sense) and non-programmers is some flavor of artificial
intelligence, which is far from a forgone conclusion.

~~~
estraschnov
I used that example as it was easy, but I could also have said: "we should be
able to say: when the user is logged in and clicks on submit, then create a
new apartment" (you'll have recognized airbnb...) My point being it could be
much more complicated than turning button to red.

Most people try to solve the issue with AI. I think it's one of the reasons
why we haven't solved that problem (making programming more approachable) yet.
I'd argue the first step is to make that it's readable in plain english. If we
have this, then we can start thinking about AI. Why don't you have a look at
Bubble (bubble.is). That's our approach

~~~
jordanpg
A domain-specific WYSIWYG editor is a long, long way away from a future that
doesn't involve any coding. Unless by "coding" you mean HTML/CSS/JS in
e-Commerce web apps.

The point is that there are infinitely many interfaces (again, in the most
generic sense) that haven't even been conceived of yet. All of those will
require coding.

~~~
estraschnov
I dont know... We're pretty close to WYSIWG, as you can read workflows. It's
just the beginning, but we have something that 's def more readable than code

And for the new interfaces, there will prob be some coding required, but let's
build tools so that we can reuse them, without code

------
bitcuration
The visual programming has a goal to be like 3D printer in software industry,
when we draw the product on paper, the machine will "print" the software
automatically. 3D printer can make simple mechanical product, likewise visual
programming can only produce simple laughable software.

Today, iphone is not possible to be printed from a 3D printer, nor is
photoshop can be generated from a visual programming tool.

Why someone always want to make the giant leap instead of focusing on the
logical next step, is a mystery.

~~~
dllthomas
I think a 3D printer promises what we've had for decades in the software
world: once experts have designed something, you don't need to be an expert to
use it. You don't need a huge CNC setup or a minicomputer. Everyone doesn't
need to be writing their own programs (or designing their own printed items)
for that to be revolutionary.

At the same time, making it easier for more people to write their own programs
(and modify them as they need) _also_ has tremendous value. I don't think
visual programming delivers on that well, though.

As an aside, note that when I say "experts" above, I don't necessarily mean to
wall it off - anyone who takes the time to learn the skills involved would
deserve the label, to this purpose. I just mean an expectation of some measure
of study/skill/specialization that won't be present by default.

