5 ms·
> 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
by buckbova 10y ago
> 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.
- throwaway2016a 10y agoYeah 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.
- laggyluke 10y agoText can be version controlled and diffed.
- buckbova 10y agoAnd 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.
- warfangle 10y agoWhy do people still build business process tools when they could point and click in Salesforce?
- Pfhreak 10y agoWhy 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.
- seangrogg 10y agoThis 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...
- sievebrain 10y agoBecause there are no good visual designers for web apps.
- mcphage 10y ago> 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.
- vbezhenar 10y agoI 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.
- 50CNT 10y agoConcentrating 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.
- a_e_k 10y agoThe "natural language" programming thing has been done a few times. HyperTalk comes to mind for one example.
- 50CNT 10y agoAnd 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.
- sievebrain 10y agoThat'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.
- ktRolster 10y ago
- maxxxxx 10y agoI have been doing coding for twenty years now and I am kind of surprised that plain text is still the best representation of code.