Writing Programs
Writing Programs

Sunday • July 17th 2022 • 9:52:59 pm

Writing Programs

Sunday • July 17th 2022 • 9:52:59 pm

I always write computer programs,
I am always trying to write something neat.

It has been quite a journey,
long enough to observe technology change.

I also learned a bunch of languages I don’t use,
I use JavaScript now but it used to be slow.

Back then I wrote in PHP and Perl,
I liked them both.

I am too busy with JavaScript to miss them,
there is so much to learn here.

There is this strange joke
that a full stack developer can’t exist.

People who do everything are either,
Unicorns or Crazy.

There are serious technology limitations that,
make the name “Full Stack Developer” sound ridiculous.

They exist, but they are smart enough,
to never tell their employer.

And writing User Interface, Server,
Command, and Design Principles all at once.

Would make a programmer,
a slowpoke.

Personally, I enjoy the whole round trip,
from user interface to server and back.

But only with JavaScript, as other languages,
are just not mature enough.

In my Java days, dynamic user interface was hard, and it may still be frowned upon,
the lovely user interface technology called JavaSwing needed to grow up.

PHP and Perl could create a user interface,
but it would be a bad idea to build something serious.

Flash; that old web games were coded in,
made a leap forward, once.

Before it all fizzled out, their Action Script language,
was very powerful.

Their UI framework, called Flex,
was a decade ahead in prettiness.

Flash and Flex was amazing,
but the Flash Player had bugs.

And one company wouldn't allow it on their phone,
in part because it drained battery.

But also because it was somebody else code,
and that would be the thing that people would write apps in.

You don’t want some other company,
to own the language that your apps are written in.

As to the bugs Flash was probably written,
in a a low level programming language.

That usually means,
humans manage the memory.

That often means that a person can inject program instructions,
and may get access to the OS.

Low level languages are fast for lack of bounds checking,
but they are also hard, dangerous, and slow to code in.

JavaScript takes care of everything,
you just say a = “hello” and it will take care of it for you.

In C you have to make an array, or a list,
and then put letters in it.

You also have to specify how big the array is,
and you can’t go over that number.

If you do, then you may damage memory,
for some other thing, or allow code injection.

Full Stack developers avoid slow things,
and this gives them superpowers.

Just a moment ago, I generated code files on my disk,
using babel which allowed me to use syntax that is not yet part of JavaScript.

I triggered this generation, on the server,
under the control of a sweet event Emitter by means of engine.io.

I actually don’t really see a difference,
between talking to a program component or a server.

It is all event emitters, I don’t have to manage web sockets,
and they are so helpful.

But that is just the server magic,
my user interface, allows for complex automatic layouts.

My programs and website work on large screens, and tiny ones,
as I use Bootstrap, it took some getting used to .

But more than that, I use svelte,
so my program automatically reacts to me making assignments to variables.

I don’t have to remember to call userInterfaceUpdate(),
nor do I have to pollute my code with it.

But even more than that,
I can build my own code editor in a singe afternoon.

And I can inject a code editing area,
anywhere in my user interface.

Visual Basic, C, Perl, PHP, ActionScript, Java,
just don’t do this kind of thing.

They can each do one thing,
but not everything at once like I can do in an afternoon.

And you know, I used gulp and vinyl for my virtual file system,
and my server code is less than 10 lines and I have access to all gulp plugins.

It is not any one thing that makes this kind of programming so mighty,
it is all the things combined together in simple harmony.

Artwork Credit