Gotta say, ive done magical things in Javascript. NodeJS in particular can do damn near anything you set your mind to, and it doesnt give a damn if you use tab or 4 spaces.
Back in the day before enforcing code formatting via linting tools become commonplace, many programmers often ignore formatting at all and do whatever they please, mixing tabs and spaces in the same file, not indenting their code blocks, mixing camel case and snake case, and a whole lot of other formatting eyesores. One day Guido van Rossum decided enough is enough and created a programming language where such programmers are forced to behave, else their program wouldn't run. He named it Python because he often hiss at those annoying programmers during code reviews.
They do share a significant commonality, though; they are both interpreted languages, rather than compiled. Sure, you can compile them, but they are meant to be run interpreted so you can quickly and easily tweak and change things and not have to wait for compilation to see the results. In that regard they are very comparable.
Pretty much all online service APIs (Google APIs, Facebook and so on) out there are text-based.
Granted, JSON formatted text, but still absolutelly human readable text.
The reason for that is because it's agnostic of the machine architectures (stuff like endianess) on both sides.
The really crazy stuff in banking are the old binary protocols (like EDF) from the time when bandwidth was way less than now (so, the early 90s and earlier).
I had to do a project once with JavaScript. I did not enjoy the experience. In my opinion, a language where you need a reference to tell true from false is a bad language. So maybe JavaScript is the JavaScript of languages.
I'm not a programmer but I took a class in JavaScript. Unless I'm misunderstanding what you mean by reference, I don't recall that feature of the language. Can you explain?
What I think he meant is that in JS every object is a reference or a pointer. This means that instead of the variable be the place in memory where the data is, the variable holds the address of where the data lives. This helps languages like JS and Python have variables that changes their types (you can assign a=true and later a=3 and everything will be fine). A non reference variable, as you can find in languages like C and Rust, is defined by its memory size statically, and the program can just pre-allocate a continuous block of memory that is enough for all the needed variables. This helps your cpu cache and access variables more efficiently. In reference types, memory can end up anywhere on your memory because it is allocated dynamically at runtime, so you access whatever memory that is free and available at the moment. Also the extra step of following a pointer just to get to a block containing a boolean (literally just one bit of memory) compounds and adds up to be actually noticeable in long calculations.