Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> To get there, programming tools should first use our language. For instance, to turn a button red, we shouldn’t have to write code. We should just be able to point to the button and select a shade of red.

We've had that for over twenty years.



Yeah but web developers still tend to do it the "hard way" but editing the CSS directly. Why do web developers still do it that way even though visual tools exist?

My guess is because with working with text is more efficient. The cognitive load of finding a setting in the UI, moving your mouse to it, and selecting the value is far greater than just typing.


Why do people play D&D instead of WoW?

Perhaps, in part, because one allows for a greater expressiveness -- albeit with a little more planning and cognitive load.


This does make me wonder if developers tend to be involved in more forms of creative expression (roleplaying, art, etc.) than in creative consumption (gaming, movies, etc.), what intersection(s) exist and why...


> Why do web developers still do it that way even though visual tools exist?

Visual editors don't work so well with pages where parts are static & parts are dynamically generated. (Like, a css class may be different based on the data that it's showing). And at this point, pretty much every page in a web app has dynamic parts.


Text can be version controlled and diffed.


And so can IDE generated code from drag and drop controls.

Visual Studio and many others have this out of the box but there's plenty of companies that do well selling exactly this like telerik.

I personally don't and been doing it the "hard way" since the beginning because it feels less confining. And I don't want to rely on an IDE to build something. Plus the code it generates was always kind of kludgy.


Why do people still build business process tools when they could point and click in Salesforce?


Because there are no good visual designers for web apps.


I like smart tools. I can open CSS in Idea. It'll highlight colour values. Then I can click on that colour and change it using colour picker. I think that it uses the best of both worlds.


Concentrating on the "our language" part, we could probably create something that changes setting based on natural language. You'd say

    Turn the color of button3 in pane4 red
Which would be equivalent to

    pane4.button3.color = 'red' 
Which is...actually a bit shorter, and a lot more precise. Who'd have thought. CSS is actually pretty close, descriptive and all.

    #pane4 #button3 { color:red;}
Neat coincidence on the number of WYSIWYG editors too.


That's exactly what Bubble does. Having played with it a bit it seems pretty nice ...basically the latest iteration of tools like Klik & Play or Mediator from the 1990s. You get a visual designer with a few basic widgets, a simple workflow editor that allows for basic sequences of actions and so on. It's programming stripped down to the absolute basics. You get a database, a simple visual query builder thingie that vaguely resembles English, etc.

I just showed it to my girlfriend who is learning Python. Her comment was "hmm but is this really easier than learning to code"? Well, it probably IS a lot easier, as long as your app fits within the constraints of what Bubble can do.

The problem with such tools is always that you very quickly hit the limits of what they can do, and then you're stuck. You can't easily peel back the abstraction and go deeper. You end up having to scrap the project or just give up on certain things. Bubble's "language" can't do looping, for instance. You can apparently write snippets of Javascript to do other stuff, but then you're back to needing to learn programming again.


Good! Now, the button should be a slightly different shade if the user is logged in. And it should be blue if the user is an administrator. And the customer requested that it shouldn't show up at all if the user lacks the 'foo' privilege.


Turn the color of button3 in pane4 red

Cobol had that idea, and Applescript took it farther. For example:

  tell application "Safari" to activate
It starts to get unwieldy because there are so many parts of speech, and remembering them all and how they fit is a pain. Some people call Applescript a "read only" language because of this.

"Looking like a natural language" doesn't make the language easier to use, at least until we have AI compilers.


The "natural language" programming thing has been done a few times. HyperTalk comes to mind for one example.


And never quite took off.

I think python strikes a good balance, naturalish language whenever possible, without forcing it into places where it doesn't fit. At least that's the feel I got from it.


I just had a waking nightmare of AppleScript.


I have been doing coding for twenty years now and I am kind of surprised that plain text is still the best representation of code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: