The Future Is Always Bright, Once You Learn Programming
The Future Is Always Bright, Once You Learn Programming

Saturday • August 31st 2024 • 12:15:50 am

The Future Is Always Bright, Once You Learn Programming

Saturday • August 31st 2024 • 12:15:50 am

But you have to navigate it right, you have to hit the right steps.

You have to pick the right language, and choose the right battles.


I once had to strategically learn Action Script, to eliminate early browser compatibility issues.

It worked out too perfectly, as people started adding stuff, without consideration for the User Experience.

That was a beautiful problem to have, during an age where JavaScript was slow and browsers incompatible.

--

Then Steve Jobs decided that ActionScript, does not belong on the iPhone.

Due to business reasons, efficiency, and security, conserving battery bower and the like.

And ActionScript was no more, which was a huge mistake.

As it was basically modern JavaScript, a promise to write web apps and phone apps early on.

TypeScript and React in their mangling of JavaScript, will never catch up to what ActionScript was.

I personally didn’t trust ActionScript, because it was too corporate, it was tied to a company.

So I did my server programming in Perl, and PHP, in contrast to PHP Serl fell behind on integrating with the web.

PHP HTML was cleaner, think server side svelte, cats and dogs happily living together.

While I enjoyed PHP OOP, the moment Node.js, or competent server-side JavvaScript happened I left PHP and Perl behind.

It was silly to use JavaScript in the browser, and PHP on the server.

Node.js made it so that JavaScript could run on the server, and in the browser, I moved my entire practice into JavaScript.

Both PHP, and Perl have suffered, they are not as popular anymore, but JavaScript is going strong as heck.

A lot of programmers got tricked into Python, due to a certain large company relying on it.

Having watched Perl and PHP fade, using Python was silly.

Now it is being called slow, being phased out towards maybe Rust.

Torvals decided to rewrite Linux Kernel, in Rust, so it is a good bet.

I wouldn't recommend it, but it won’t be a regret like Python, Ruby, CoffeScript, J++, TypeScript, Swift.

I would still recommend C and C++, for low level stuff.

If the future version of C++ wows everyone, then Torvalds will ask everyone to rewrite the Kernel again.

Which brings us to Java, having learned ActionScript, learning java only took me 48 hours.

It is often the case, that though you may regret investing your soul, in a dead language, you can carry a lot of its power into a new one.

The moment I made my first Java application, I went back to college to take a Java class.

Java has always been chained to large corporations, and it was annoying to install, and slow, the IDE was slow too.

I missed one question on the final, in regards to similarly named nonsense that was long abandoned.

The college tests were patched to sound recent, but they were uneven, outdated, and quite an insult as they used trickery.

Learning a language is a noble and precise thing, bringing trickery to a test, is extremely inappropriate.

And tarnishes the teacher, lectures, and the college.


I loved programming in that class, as we were tasked with creating a gibberish window.

A nonsensical application, to test our knowledge.

I made mine perfect, and enjoyed it, but only because I never took the class seriously.

I was just entertain myself, with a new language I learned.

From a serious perspective, it was fraud, a real crime.

Overpriced outdated mangled text book, teacher who didn’t see anything wrong with gibberish.

And the lectures were extremely costly, and from a serious perspective heartbreaking.

The class didn’t teach programming, it taught the crappy textbook.


I had no room in my life for Java, I just wanted to see the the famous Java Object Oriented Programming.

It was on my todo list for ages, but there was a problem.

In Java everything was Objects, in reality that just makes code unredable.

As javaScript shows, object programming is an extra, it is a solution pattern.

OOP it is awesome for User Interface development, as objects like buttons have a lifecucle.

They are instantiated, active, and destroyed.

Meaning all you have to do to update the User Interface, is destroy some Object that represents a User Interface component, like a button.

But a programming language that is all objects, will be forced to re-create the entire world of programming as objects.

It kind of makes sense to have a File object, as it will kep the file handle, and maybe some utility functions for you.

But if you just want to write a command, or a simple program coding in Objects within a Typed language is just stupid.


JavaScript, along with server side run times, is more like a super modern version of Perl, it is just perfect.


But that is still not enough, because you need a s solid user interface technology.

And that can only be a stripped down unbranded browser, that is where you should start learning JavaScript.

Today, the best implementation of a stripped down browser is Electron Fiddle, it is based on Chromium, but just recently Firefox got headless support.

And that may mean, Opening a bare window with server side JavaScript capability, will soon be possible enough to write a proper Fox Fiddle and Application Foundry.


Now you have the most powerful application framework ever, right at your fingertips.

As to HTML and CSS, which is something you will have to learn as well.

HTML is just a way to instantiate nested objects, and CSS a way to apply properties to them.

If you tried that with JavaScript, the code would not be as readable.

Well designed Objects do not need the full power of a programming language, HTML is just a convenient instantiation notation.

CSS is the same way, you don’t need JavaScript notation, to apply object properties, as it would be too much confusing code.

CSS is a language that makes applying properties, more readable, that makes entire property sheets, easy to read.


If you are not sure what your first application should be, create a Desktop environment that has a task bar, clock, windows, and apps.

Maybe, make it a zooming and panning user interface so that you can zoom out, to see all your windows all at once.

And maybe consider giving windows some ability to connect together, maybe connect them by cables or wires, or stack them.

This way, you can make a audio recorder app, and pipe its data into a voice changer app, or an audio library, or just a folder as file.

Try to improve the concept of the desktop, and make it more programmable, so that people won’t need so many apps.

Artwork Credit