4 ms·
[Warning: Personal anecdote... somewhat off topic.] Around 2003 I was getting very heavily into what we used to call "Dynamic HTML", which of course required p
by jt2190 10y ago
[Warning: Personal anecdote... somewhat off topic.]
Around 2003 I was getting very heavily into what we used to call "Dynamic HTML", which of course required programming in JavaScript. At the time JavaScript was looked down upon by most professional programmers as a toy. A toy that had buggy implementations in various browsers, that lacked the strict typing of C++ or Java, that didn't have classical inheritance, that had no good IDE, and, worst of all, that you could create some terribly confusing bugs with.
At the time I'd moved to Fort Worth which let me attend the monthly Pragmatic Programmers meetings/dinners at Spring Creek Barbeque in Addison, TX. This was a meeting with a lot of polyglot programmers and "old timers", and there was a prevailing attitude that programming languages were just tools, and a good programmer learned to use many tools well.
Anyway, there I was one night ranting about JavaScript to someone I only remember as Chris. I probably chewed his ear off for a long time about how terrible JavaScript was. After what I'm sure was many minutes, I paused to let Chris tell me how much he agreed that JavaScript was terrible. Instead, he simply said: "You need to learn about prototypical inheritance."
This caught me off guard. I don't remember if it shut me up, but I hope it did.
Fortunately I actually took Chris' advice. While I'd understood that JavaScript had prototypical inheritance, I'd never really taken the time to understand how it really worked. I'd also never really grokked how scopes worked. As I properly learned these features, I started to gain a new respect for the power of the language, and it quickly became my favorite.
So, now when I have a strong negative reaction to a new language or tool, I ask myself if I'm reacting because of a fault in the language or if I just don't like that feeling of being less productive because I haven't learned the language yet. Usually it's the latter, which means I need to grit my teeth and bend my brain and learn.
(P.S. Chris, if you're reading this: Thank you! I owe you a millions lines of code in grattitude!)
- frozenport 10y agoTCL is the counter example to this point :-)
- glv 10y agoI'm pretty sure that was Chris Morris. (He and I were both regulars at that group.)
- jt2190 10y agoHi Glenn :-) I could have sworn it was a _different_ Chris. I remember someone with black hair. He may not have frequented the meeting as much, because I don't remember seeing him again after that. (P.S. I've updated my profile.)
- groovy2shoes 10y ago> At the time JavaScript was looked down upon by most professional programmers as a toy. A toy that had buggy implementations in various browsers, that lacked the strict typing of C++ or Java, that didn't have classical inheritance, that had no good IDE, and, worst of all, that you could create some terribly confusing bugs with. This is how I still view JavaScript.
- codygman 10y agoWhoa, people from the dfw area on HN!