TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Visual Programming – Why It’s a Bad Idea

3 pointsby phowatover 6 years ago

1 comment

PaulHouleover 6 years ago
Bogus.<p>Scratch is good at what it is; I know people who swear by LabView, Alteryx and similar tools rather than swearing at them.<p>One could make the case that current software development tools really aren&#x27;t good enough and that one fundamental problem is dealing with naming and polysemy.<p>The trouble fundamentally is that there is no system that is going to produce ergonomic names for everything. There are systems that can name everything but the names look like<p>84746261718<p>or<p>178bcd0d-70ce-413b-9497-5364a5f56972<p>which people can&#x27;t remember or easily discover. Part of the appeal of GUIs is that you can pick something out of a palette, list, or menu although the gain you get there is limited. Ever see a 1000+ page book on Microsoft Word or (worse) try to explain to somebody how to use mobile apps for the first time (eg. &quot;click on the hamburger icon; huh?&quot;, &quot;swipe down; ... doesn&#x27;t work ...; maybe when you swipe down you have to start above the edge of the screen...&quot;) and you realize that there are limits to how many things you can present on a screen and how well people can find things.<p>When you are talking to people you can use a word which is ambiguous and people figure it out most of the time and if they don&#x27;t figure it out you can have a conversation with them about it as opposed to a programming language compiler which typically give messages like:<p>Could not find or construct Composite[CustomDataType]. [error] [error] If CustomDataType is a simple type (or option thereof) that maps to a single column, you&#x27;re [error] probably missing a Meta instance. If CustomDataType is a product type (typically a case class, [error] tuple, or HList) then probably one of its component types is missing a Composite instance. You can [error] usually diagnose this by evaluating Composite[Foo] for each element Foo of the product type in [error] question. See the FAQ in the Book of Doobie for more hints.<p>Until we accept that we can do fundamentally better and that we must we are going to be stuck having the same stupid conversations.