If you are asking for the most general-purpose technology around right now, I would say Dart/Flutter.
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.
I significantly prefer the Mac user experience over Windows (it’s bad, but Windows is abominable).
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.
If you really are doing this for yourself, Flutter has the best development efficiency and you can use animations and such pretty easily to make a slick product.
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).
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.
Computer programs needn’t be Turing Complete. There are plenty of useful languages that are not, the Relational Algebra being example 1, which is equivalent to First Order Logic, and is in a pretty strong sense about as good as you can do without Turing Completeness.
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.
I’m puzzled why you equate “default state” with “nothing active”. If the default should be that thing the button says is on, then have the button default to being in the active state.
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 is probably completely wrong. It is looking like fusion power will arrive sooner than most people realize.
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.
This is true, but it’s not the only truth that matters.
Public goods can be _very_ efficient, even if inefficient in their delivery. I would have trouble believing that an educated citizenry is not a good thing, for example.
So although taxes are evil, they can be outweighed by a _much_ greater good.
But, also, wasted public spending is a great tragedy.
From this, I arrive at a left-Libertarian point of view: we should limit what the government does as well as we can to those things that are clearly better than the evil of the taxes involved, while it is still I think true that social welfare is compatible with this view.
I’ve given my two kids, now older teens, pretty much free reign to watch what they want and use the Internet as they want.
I was certainly gifted with nice and precocious kids, but still: they both really like watching educational videos. They spend hours every day doing that. The quality and number of these videos is now utterly amazing.
They both have a much greater level of general knowledge than I did at their age. They have a much wider set of interests, a greater awareness of possibilities and opportunities, and correspondingly greater opportunities than I ever did, too.