So, i have been a C++ developer for 10 years, a PHP developer for 6 and a system administrator (*NIX) for god knows how long, but i speak no JavaScript.
I tried once with a very nice book called “JavaScript, The Definitive Guide” by David Flanagan, but couldn’t read through the first few chapters, simply put, the lack of what i consider a clear discipline got on my nerves *(Explanation follows)
What happens is, My brain got used to C++, then i started accepting PHP once i knew how the interpreter worked with my code and started making sense of what seemed a lack of discipline.
What happens is this, people consider C++ to be a tough language because you have to take care of every single detail, you invoke procedures stored at known addresses in memory, You borrow memory from the OS and need to give it back, you declare a variable and the type of that variable is fixed, you know, very strict, in PHP i had to wonder how i could simply switch the data type of a variable by simply assigning a new value, it felt as if it was very inefficient (By imagining what could be happening at the compiler level) having to deal with all the random castings one can make while writing PHP code, sure i was wrong, and the gurus that made PHP made sure it executes like a BMW (If C++ was a ferrari), in short, PHP turned out to be a very good performer, and surely, for the time savings PHP offers, i would chose it for web development over C++ any day of the week, if it can run WIKIPEDIA, it can run my applications.
It took me some time to understand how the interpreter of PHP works, i jumped into understanding it when i was fiddling with APC (Software to almost precompile your PHP code).
In case you are curious why i was playing with APC, I was playing with APC to try and make all instances of a WordPress PHP file in every client account (Website) use a single copy of the opcode to speed up WordPress on our servers, it turned out that APC uses a files INODE and not it’s flags and attributes for caching and my plans were canceled due to the risky nature of similarity guesswork.
Anyway, not to get far off topic, Javascript reminds me of my PHP-switch pains, i don’t comprehend it well yet (maybe i am getting old), and my brain functions in a very primitive way, the “Jump in now understand later” approach i have been trying to adopt is not working well, it never did, so i have always had to do it the hard way.
I have for a long time asked for a dose of wisdom from my gods (if you are wondering, i asked Athena, Minerva, and the mighty Nabu) but to no avail, this evil mechanism inside my brain is demanding a simple language (Like C++).
Sure JavaScript is a discipline, All computer languages are, but not to speak in absolute terms, When a Discipline has 2 many rules and even more exceptions, it looks random until you master it, what is getting on my nerves even more is the fact that everything i write in it works, and that scares me, i feel as if bugs will happen any minute with any user and crash his or her browser.
But as a web developer, It seems AJAX is essential and there is no running away from it, I have to add it to my skill sheet no matter the cost, so consider me away for a weeks time while i get a good grasp of this vodoo language