As a veteran C++ developer, I actually quite enjoy Javascript. Once I understood that Prototypes are linked lists and that *this is a pointer that changes according to 2 simple rules, Javascript became quite easy.
I mean they even give you a GUI debugger. It's hard to get stuck for long, even though it's not not a Visual Studio.
Like you said, you have already all the abstractions you need with this language. You can do complex things and for me, if I have composition, I'm pretty much already good to go.
I had noticed everyone had the same typical serious programmer personality here. That's why I enjoy reddit a lot more because it's not like that 100% of the time.
How is it different than someone selling barely modified WordPress websites?
I'm not into that line of work but obviously, many small businesses in America rely on selling custom open source software.
Everytime something like this comes out, I think the following : Wouldn't it be great if I could develop and debug this under Windows with VS and deploy my release with Linux. The network libraries are always Linux(and family) only.
If you haven't seen a Brendan presentation, they are quite enjoyable. Last time he was playing some zombie video game in the middle of his presentation. He insisted on not killing zombies with a shovel using instead deployable automatic turrets. I'm sure he uses the shovel when he plays alone though.
Javascript's is actually growing very well and fast. It's quite surprising how soon it will have everything.
In a way it can be compared to PHP - soon it will be a giant toolbox. The difference is that every tool was chosen and added one at a time. It ends up being a very good toolbox. I'm sure productive programmers aren't complaining. Pure FP programmers can always compile their ClojureScript to Javascript. For me, ES7 Javascript is already making me happy.
Can you imagine if we could have had Lua in the browser from the start? So much time would have been saved.
Now Javascript, with ES6, is good enough to rival Lua in features. This kills the intent to learn Lua because if you are going to learn a dynamic language properly, might as well learn JS. There are way more jobs and projects made in it.
About ZeroBrane IDE now. It's an amazing IDE and I love using it.
His last video was 2 years ago. Maybe he has a new hobby!
I looked at some of his pure math videos. Basic stuff but I thought he explained well. If you visit this HN post and you decide to investigate further, just bookmark his youtube channel and maybe you enjoy some of his videos on maths or quantum physics sometime.
You are probably aware of this. But on Windows and Chrome, when I try to open a documentation page for "templates", it downloads a templates.gz file to my computer. It does this for 90% of the documentation pages. Very annoying, I have to cleanup a few files now :)
Other than that the documentation is really lacking. I wanted to spend time looking into the work you've done but I haven't managed to do much besides having a static file server because of the bad documentation.
I starred the project on github, hopefully it will keep getting better.
Remember that the computer chess AI is actually a snapshot of the intelligence of a human being. I don't see this distinction made enough. If you are struggling against a game, you are struggling against the one who made it.
I like the exam idea but it's not really the best way to test the skill of a person. You wouldn't hold an exam for the best painter or the best sculptor. I feel like computer programming (and related jobs) in general is similar.
If you watch the TV show Better Call Saul (strongly recommend), you see him in the last episode learning that his own lawyer brother doesn't want him working at the same firm because he did an online law school, instead of going to a prestigious law school.
Socket.io is wayyyyy more noob-friendly. If you send json over the wire, socket.io automatically converts it to a javascript object or array for you, ready to be used. The best feature however is that you can send emit any string as an event :
socket.emit("hello"); and the server can listen on this event with socket.on("hello"). If you want to do the same thing with the reference WebSocket you have to re-implement the same thing again and you will probably end up recoding the wrapper that socket.io already gives you.