Saturday, September 14, 2019

Flutter lang versus the world

The flutter language and ecosystem is interesting and is actually built on many generation of giants. However from my position it seems more like lazy rather than pragmatic. "We" are in a very different world right now and flutter is not really going to fix it.

For years managers have been wanting a unified programming language so that [a] client interface programmers and [b] server and service programmers; could be interchangeable. Sure there were some minor successes when nodejs was released and made it mainstream. In fact there are still a number of meaningful applications but that's another story.

Where we are is management has nothing but contempt for the rockstar programmer and the wanna-be rockstar programmers. Management sees us as simple labor. Of course management is not alone as there are many other pressures. Take a look at any org chart and the rank and file programmer is typically at the bottom. From time to time a company has a technical track however these individuals never have the same influence that program managers, designers, and worse yet professional staff that are invested in Six Sigma or Agile.

So I'm a little off track here so lets get redirected...

If you ever used Turbo Pascal then you know what a pragmatic language and toolkit looks like. Turbo Pascal was a subset of the official pascal; it was nicely integrated with DOS, super fast to compile, the executables it produced were also speedy. Back in the days of DOS these programs could be desktop applications or TSRs. Later TP became a Windows development environment by incorporating the Windows API which Microsoft eventually polluted. The takeaway is that the tools worked and we got work done.

Flutter builds on a sidecar promise of java. While it is possible to build/cross compile for different processors it actually adds on the model by supporting iOS, Android and Web. And with that we inherit a complicated IDE and build system. After years of IDEs like Visual Studio and IntelliJ have we not learned anything? Heck, just look at the auto tools for building gcc apps on Linux. For that mater look at the latest build tools for golang. This does not have to be so f*cking complicated.

Languages -

  • java has just become stupid hard. OO programming is not the exception but @override is the rule.
  • Javascript was always buggy and it never properly supported concurrency and promises make the code difficult to read and write.
  • golang is still pretty good. The only problem is that java programmers are moving over in droves and want their favorite features included making it more java like. Go back to java please.
  • C and C++.. does not require much of a mention but the build process is no fun even though it is well understood.
  • perl and php are showing their age. Perl 6, based on parrot,... it generally forked the base and has not improved. CPAN is awesome but it's also showing it's age.
  • Python was rated a top language in 2019 but this tab vs space thing is still making it a bad choice. Copy/paste between windows/terminal sessions can have unexpected results. The language team are just a little too opinionated in that they seem to protect their pet projects rather than the language.
Embedding Lua and tcl make more sense.

No comments:

Post a Comment

another bad day for open source

One of the hallmarks of a good open source project is just how complicated it is to install, configure and maintain. Happily gitlab and the ...