gisborne
Joined 18 years ago
Joined 18 years ago
I am convinced a better alternative to the execrable SQL would significantly raise developer productivity.
Dart is a half-decent language, able to be used without excessive pain for mobile, desktop, web and backend development. It compiles to Javascript and WASM, as well as native code. And web can be either traditional HTML or a recreation of your mobile/desktop UI.
It’s a really healthy community with strong leadership and wide participation.
You’ll need SQL, but otherwise, you can build any kind of app with Dart and Flutter with reasonably fluidity.
Still, I use Electron apps that UI-wise are fine. Well-known examples include Discord and Slack. They’re big and a bit slow, but they’re fine and I appreciate the uniform user experience when I use those apps on other platforms.
Flutter is just better, provides something close to a native experience, and slick experiences at that (really slick animation is easy) while being an efficient cross-platform development solution (for mobile, also).
But electron etc are a fine choice. The heft of the Javascript ecosystem, if nothing else, is a serious consideration.
But no-one hires Flutter developers at least in the US and Canada. It’s pretty popular in India and China and some other parts, but you’ll struggle if you want to find work doing this, or if you try to hire someone to do it (although the latter wouldn’t be terrible, and you’d be hiring someone who’s choosing a tool for its virtues, not just its market share).
If those considerations bother you, then Electron or something lighter weight like Gluon or Electrino.
The other major alternative is React Native. You should look at that also.
But if this is really just you, Flutter, no contest. Desktop, mobile and even web (although it is not ideal for just a web app, but it would let you offer a web version with minimal extra affort, and it’s improving in this area rapidly).
I am working on better APIs driven by a better user interface experience.
The better APIs are REST but relational. The better UIs are driven by an embeddable component-based view of the API and its data.
The result is plastic software that out of the box more resembles Access or FileMaker than Ruby on Rails.
There is a particular logic (“Classical Logic”) that people are usually thinking of when they mention logic. Many folks don’t know that there are many, many logics that have been invented by mathematicians and philosophers, and an infinity of possible logics. All are as mathematically sound as each other. They vary in how truth behaves (SQL’s true-false-null is a poor attempt at a 3-valued logic, for example; or you might include notions like necessity and possibility or time).
Fuzzy logic is another logic. It’s quite precise about how truth behaves, and truth is a real number on the range [0, 1]. And it does a nice job of providing a notion of partial truth.
The entire industry’s understanding of the power of the relational model has been destroyed by SQL, which is the largest foot gun of so many in our industry.
In fact, much more of most business applications (hell, just about all applications) can and would profitably be expressable in First Order Logic. The resulting programs would be simpler, easier to modify, easier to get correct, and other things besides.
Much of what Bret Victor has shown could be expressed in First Order Logic.
Would you still want Turing Complete traditional programming languages? Of course. But both programmers and non-programmers would benefit from being able to express more of programs using the sorts of declarative idioms that Bret Victor has shown and that the relational model provides.
The language even for discussing this is tiring to read…
A HTTP request is a function call with named arguments. What if the server had some endpoints that provide basic fp (map, fold, curry, …), and you let your users create their own endpoints by currying together other endpoints?
This will make energy virtually free, which will change _everything_. Think heating the open air downtowns of cities, for example, even in quite cold and snowy areas.
Is is cheap and easy to produce clean water, given abundant energy.