February 17, 2020

[Note] Programming language neutral programming

I started programming in BASIC when I was little, then quickly moved to 6502-assembly in the same year, and later used Pascal mostly, x86-assembly, and some C.  Then C and C++.  Afterward, learned LISP, Prolog, Cobol.  While working, learned Perl, PHP, Tcl, Java, Python, Erlang, Clojure, JavaScript.  Played around with OCaml, Hasckell, Objective-C, Scala.  Nowadays, I'm looking into Rust and Ballerina; and still trying to learn TypeScript (if I can find the time).

After being exposed to different (procedural, OOP) languages, it was natural to realize that the fundamental is almost the same, just different syntax, a bit of different characteristics, and better than other languages in certain use cases.  (didn't include functional programming here as it's quite different from procedural and OOP)  I've been wondering how the concept and idea (e.g. algorithms, logics) can be extracted and re-used in any languages.  Or better yet, no coding at all, and can run on any future systems on any platforms.

I've been looking into this on and off for many years, and seems like some small number of folks have the similar idea and actually wrote some code -- using XML, or some neutral language that can be compiled into other desired target programming language source code.

Here, I'm listing some of my findings while I was going through my old projects on my HDD, and don't want to lose the information.


I've been thinking similar idea to come up with "no-coding", or "low-coding."  These words were quite hot ("h-y-p-e") past a few years then seems like died down.  No-coding, low-coding, visual-development -- those were also hot back in 80's and 90's.

Now the whole industry is going again with "coding for everything" approach which reminds me of early 2000's.  I'm sure IT will go back to "no more custom coding, off-the-shelf and integrate" approach again within X years.

Anyways, in the mean time, this personal project is still in design phase and continues.


No comments: