I’ve had experience with Javascript in the past, although that was through Unity3d, so thus far it hasn’t been much different from what I’ve seen, although it has been a good refresher having not used Javascript much since that project.
From the software engineering perspective, I think Javascript is an okay language. Not the best, not the worst, although I also haven’t touched this language a whole lot to give it a fair review as I might do with, say, Java and C#. There are definitely a lot of frameworks out there for Javascript making it a very versatile language to use, although I’m unsure about the community behind each since I’m not part of it. How active, helpful, and the documentation existing for them is something I’ll have to experience myself to give a fair response to whether or not I deem it ‘active’.
Currently, I think that when it comes to software engineering, there are a few more parameters that must be defined before discussing what language is the best language. I believe that the most important details are the operating system(s) the software is meant for, the system (Desktop, laptop, mobile, tablet, game console, web-app), and what exactly the project is. The latter may sound vague and “oh this applies to literally any project” cliche cop-out answer, but there’s a reason behind it. Such as my Facebook Automator project, if I kept to the idea of having a possible business side to it, everything would have changed. I’d use a different framework, different languages, and possibly even a different database management system. Instead of C#, PHP, MySQL, and the deprecated Facebook C# SDK, I probably would have ended up using PHP, Java, MS SQL, and the officially supported Facebook PHP API, along with some of the front end languages like HTML, CSS, JQuery/Javascript.
Different languages are good for different tasks, I’m a firm believer that there is no one true ultimate superior language.
One of the cooler things about this class is the athletic software engineering approach- where you are given a quick challenge to solve. It very much reminds me of hackerrank which is something I’ve been slowly getting back into. It’s great practice to keep yourself in check, just like a work out. I also think that because we are under a time constraint, it induces stress which causes me to want to perform quick and well, and practice beforehand. It makes succeeding all the more enjoyable and, at least so far, more motivated to continue.