3 ms·
So, this is where the founder of a "low-code" startup pops up to confirm it: "Low code" is mostly a false promise. We have been programming computers for most
by meredydd 7y ago
So, this is where the founder of a "low-code" startup pops up to confirm it: "Low code" is mostly a false promise.
We have been programming computers for most of a century: 71 years this year. And in all that time, nobody has come up with a better way of telling a computer what to do than writing text in a programming language. People keep trying, of course, with endless permutations of flow-charts and rules. But sooner or later, you'll find yourself either:
(a) unable to express what you need to express, or
(b) tangled up in Cthulu's own flow-chart, barely accomplishing something that you know is a three-line `for` loop in Python.
And the thing is, anyone calling their system "low code" (rather than "no code") knows this. They know that the shiny demo can't actually do all you need. The moment you want to build something they haven't already imagined, you fall off the edge of the world. That's why they hedge, and say "sure, you might write a little code". Then the trap-door opens underneath you, and you go straight from a click'n'drag flowchart to writing a React component (or worse). Not fun.
I cofounded Anvil (https://anvil.works https://anvil.works), and if you squint hard you could call it a low-code platform for web apps. But many valuable apps are a fifteen-line Python script surrounded by fifteen tons of JS framework. The problem here isn't the application logic - it's everything else! So build a drag'n'drop designer, and a VB/Delphi-like component UI, then get out of the way and let the author write their app logic in peace. When your users try to do something you haven't thought of (and they will!), they'll have an industrial-strength toolbox to deal with it.
But to tell someone that they can build substantial apps without writing code is to invite them to drive at speed up a blind alley.
- rdiddly 7y agoToday I'm working on a project in which I was brought in late to rescue it, where they're extracting data from BIM software (which fits the definition of a no-code database-backed GUI app) using (low-code) MS Access and pushing it into (low-code) QuickBase, and all 3 pieces were set up by people who (yay) didn't need to understand code but (boo) really could've used a few lessons in best practices. So I agree with your rant, though in principle and in my most idealistic moments I'm still interested to see where the whole low-code "movement" goes.
- lubujackson 7y ago"No code" is always only "less code": look at the complexity of Excel spreadsheets by non-coders. But it is a "singularity event of sensible defaults" that allows useful things to be built before the first whiff of code. What is exciting is that simple web/apps are getting to that same place that spreadsheets were at and where blogging was at. People already have a clear idea of what they need most of the time: "fill out this form, send it in a email, put in a spreadsheet, load it on this page with an image", etc. Provide sensible defaults and let the CRUD apps flow.
- meredydd 7y agoExcel is sui generis - it is the end-user-programming platform that lived. But even Excel formulas are a textual programming language, and the really hairy Excel spreadsheets spill over into VBA (a "real language" for these purposes, and one whose ergonomics still blow the web out of the water). It is tempting (albeit a bit snobbish) to think that "CRUD apps", as a category, have so little logic that you can describe a useful working version without code. I just don't think it's true - they are always shot through with squirrelly business logic. You can carve off products like form builders (eg Google forms/Airtable/etc), but anything you'd describe as a "CRUD app" contains an amount of logic that's just painful to describe without code. (And the form builders know it, which is why they don't support those use cases!)