For about a year now, I've been doing full stack web development. I am doing about 66% backend stuff (in Python), but from a time to time, I need to write HTML, CSS and JavaScript.
I really want to learn more JavaScript, but I can't find the time or passion to learn it. On the other hand, I would definitely happily learn fay-lang or purescript.
But before I dive in, I am asking: do programmers who use these languages have to master JavaScript?
If I already master Python, would I benefit from using stuff like skulpt or brython before I master JavaScript?
|
|||||
closed as off-topic by Justin Cave, MainMa, MichaelT, DeadMG, Thomas Owens♦ Feb 15 at 13:05This question appears to be off-topic. The users who voted to close gave this specific reason:
|
|||||
|
Let me cite from your own question:
It seems obvious to me what is the more likely course of action. You obviously don't enjoy JavaScript as much as the other languages you mention. Having fun while learning and feeling passionate about the subject are great ways to stay motivated. So even if you might benefit from knowing JavaScript before you learn these other languages — and that's an if —, at the same time you will perhaps enjoy the overall journey less, or even give up before you reach the interesting part. Why don't you start studying what you actually want to study with passion — and if you find yourself in trouble because you really require that JavaScript knowledge, then go and study JavaScript. You just might discover that once you see why you should learn it, and how your JavaScript skills will help you with the other languages, you'll feel more motivated and it'll be a lot easier because you now study it with a very specific goal... perhaps you will even enjoy it. But then I don't know for sure. The above is just some bit of popular psychology. |
||||
|
There's certainly a case to be made for it. All high-level languages that aren't purely interpreted "compile to another language", and most developers manage to be successful without ever learning (or learning very much of) ASM/CIL/JVM bytecode/whatever else. However, it's important to keep in mind the law of leaky abstractions. When you work on something high-level that translates to something lower-level, there will always be some case where something gets lost in translation. Software can and does have bugs in it, and cross-compilers are software. When things go wrong for whatever reason, because there are bugs or simply because there are concepts in your original high-level language that don't map well to the destination language, it really, really helps to know the destination language well enough that you can examine the output and figure out what's going on. This is particularly true for JavaScript, because you'll generally end up in there anyway for debugging. If you go to debug a webpage, it's not going to display your original-language code in the debugger, afterall! |
|||
|