> Are you seriously equating the laws of physics and human artefacts?
Yes I am. The property that they share is they will not be changed or avoided in the near future.
Another property is that despite certain limitations, you can still accomplish many things. If you focus on these limitations, you will accomplish less.
> If the laws of physics suck, suck it up.
Not in all cases. Physics is just a model of our understanding of physical existence. Einstein demonstrated that.
> If your tools suck, change them.
I guess if it's worth it to spend that much effort, then go ahead. Just know that the frequent examples of javascript's "problems" are easily surmountable, that is if you don't dwell on these "problems". Javascript has some great attributes to it.
Indeed, it does not "suck". That's like saying the human body sucks because we have this ridiculous tail bone and wisdom teeth. No accounting for taste, I suppose.
I choose to focus on that and progress in mastery of my craft. If you want to complain and/or change your tools, go ahead. I don't judge you.
> Yes I am. The property that they share is they will not be changed or avoided in the near future.
You vastly overestimate the effort it takes to change your tools. When I was talking of a few days to add a feature to a language, that was a conservative estimate. With proper knowledge it's more like hours. And I'm not even assuming access to the implementation of the language. Source-to-source transformations are generally more than enough.
Heck, I have done it to Haskell and Lua. And it wasn't a simple language feature, it was Parsing Expression Grammars (the full business). I used no special tools. I just bootstrapped from MetaII (I wrote the first version by hand, then wrote about 30 compilers to the nearly final version). (For Haskell, I took a more direct route by using the Parsec library.)
Granted, writing a full compiler to asm.js is a fairly large undertaking. But fixing bits and pieces of the language is easy. Real easy.
> Not in all cases. Physics is just a model of our understanding of physical existence.
Oh, come on, don't play dumb. You know I was talking about the way the universe really works, not the way we think it works.
> I choose to focus on that and progress in mastery of my craft. If you want to complain and/or change your tools, go ahead. I don't judge you.
I'm not sure what you're saying. It sounds like you want to focus on particular programming languages. This would be a mistake, pure and simple. You want to master the underlying principles of programming languages. It can let you pick up the next big thing in a few days. It can let you perceive design flaws (such as dynamic scoping). It can let you manipulate your tools, instead of just using them.
Your way leads to obsolescence.
---
My advice to you: if you haven't already, go learn a language from a paradigm you don't know. I suggest Haskell. Also write an interpreter for a toy language. Trust me, that's time well spent. For instance, knowing Ocaml made me a better C++ programmer.
First, I'd like to point out that your tone is attacking & condescending. Why?
> You vastly overestimate the effort it takes to change your tools.
Cool! If you don't mind the asset overhead, having to recreate the existing javascript ecosystem, & the abstraction mapping, & the other unknown unknowns, then it's all good. Are there any well-known production sites that use such techniques? I don't doubt there will be, but are such techniques "ready for prime time"?
I personally have not experienced enough pain to be motivated to all that.
> Oh, come on, don't play dumb. You know I was talking about the way the universe really works, not the way we think it works.
The thing about existence is we don't know about it in it's entirety. Even if we know the rules, there are many mysteries to explore. It's wonderful :-)
> It sounds like you want to focus on particular programming languages. This would be a mistake, pure and simple. You want to master the underlying principles of programming languages.
I am mastering the underlying principles of programming languages.
I want to focus on getting better, faster, & smarter. For the web, it's nice to have everything in one language. Lot's of sharing of logic. Keeping DRY. Being efficient with time. Smaller team sizes. More stuff getting done.
Maybe compiling to javascript will help for other languages.
I'm a fan of dynamic languages. There's more than one way to master the craft. Asserting your one true way is a failure of imagination.
> Your way leads to obsolescence.
I doubt it. You vastly underestimate my ability to adapt & evolve ;-)
> My advice to you: if you haven't already, go learn a language from a paradigm you don't know. I suggest Haskell.
Maybe one day. In the mean time, I'm focusing on becoming a more fully rounded thinker. That means subjects outside of programming. Learning yet another language has diminishing returns.
I'm humble enough to not give you unsolicited advice, which would only serve my ego.
Ooh, and I agree. OCaml, Erlang, & Lisp are fun languages. Javascript is also fun.
Yes I am. The property that they share is they will not be changed or avoided in the near future.
Another property is that despite certain limitations, you can still accomplish many things. If you focus on these limitations, you will accomplish less.
> If the laws of physics suck, suck it up.
Not in all cases. Physics is just a model of our understanding of physical existence. Einstein demonstrated that.
> If your tools suck, change them.
I guess if it's worth it to spend that much effort, then go ahead. Just know that the frequent examples of javascript's "problems" are easily surmountable, that is if you don't dwell on these "problems". Javascript has some great attributes to it.
Indeed, it does not "suck". That's like saying the human body sucks because we have this ridiculous tail bone and wisdom teeth. No accounting for taste, I suppose.
I choose to focus on that and progress in mastery of my craft. If you want to complain and/or change your tools, go ahead. I don't judge you.