5 ms·
Thinking "PHP is enough" and not trying/learning new things - that what is much more expensive.
by EugeneOZ 11y ago
Thinking "PHP is enough" and not trying/learning new things - that what is much more expensive.
- vinceguidry 11y agoWhy wouldn't PHP be enough? It solves problems, you can make money with it, what more do you want? I use Ruby, and I see zero reason to venture outside of my domain. I can happily keep using and learning and diving deep into Ruby for the rest of my career. I used to worry that I'd eventually become obsolete, but languages do not really go away. People still make fine livings coding in Fortran. There is a world outside of code, you know.
- jeena 11y agohttps://en.wiktionary.org/wiki/if_all_you_have_is_a_hammer,_everything_looks_like_a_nail https://en.wiktionary.org/wiki/if_all_you_have_is_a_hammer,_...
- vinceguidry 11y agoAll I'm getting paid to do is drive nails. If I want to scratch an itch, I'll start a side project. Then again, I use Ruby because I love it, so my side projects tend to also use Ruby. Also, programming languages are not tools. The tools are the programs written in the language. The language is just the human interface layer. Why people get emotional about this I have no idea. (three downvotes in 1 minute on GP) With a programming language, you custom-build a tool for every nail-like object you have to drive into wood-like material.
- jeena 11y ago> All I'm getting paid to do is drive nails. Because you only have a hammer, what do you expect? > Also, programming languages are not tools That is obviously not true. If I want to write a decision engine then Prolog is a good tool for that, if I want to write a high volume web-api then Go or Erlang is a good tool for that, if I want to write a kernel module then C is a good tool for that. And so on. Saying that all objects are nail-like and all materials are wood-like is, at least in my world, quite crazy.
- vinceguidry 11y ago> Because you only have a hammer, what do you expect? That's right. But it's not that I have a hammer. I am the hammer. Ruby is an extension of my mind, just like how a fencer's sword becomes an extension of his arm. Why in the world would a champion fencer stop spending 10+ hours a day practicing his art and start picking up axe throwing? Doesn't make any sense. It's not something you would do by choice. I used to think that devs who bounced around languages and tech stacks were getting more well-rounded. Now I believe they are cheating themselves out of mastery. > That is obviously not true. If I want to write a decision engine then Prolog is a good tool for that, if I want to write a high volume web-api then Go or Erlang is a good tool for that, if I want to write a kernel module then C is a good tool for that. And so on. That's ridiculous. I can write a decision engine in Ruby. I can write a high-volume web-API using Rails. You can even write a kernel module with Ruby: https://github.com/utshina/mruby-lkm https://github.com/utshina/mruby-lkm
- jeena 11y agoI never said you can't fix a computer with a hammer, it is just clearly not the right tool for that.
- vinceguidry 11y agoYou're stretching your metaphor entirely too far.
- fenollp 11y agoYou are both right. One says such-and-such is good for this, which is right (keyword is good). The other says "I can do this and that with my hammer". Yes, true. But yeah add the words "not slow as hell" and "maintainable" and one of you is right, the other is delusional. BTW that link to "a kernel module wrote in Ruby" is pretty much all C with a few lines of Ruby on top.
- vinceguidry 11y ago> BTW that link to "a kernel module wrote in Ruby" is pretty much all C with a few lines of Ruby on top. Did you just look at the language stats? That project implements Ruby using mruby in a kernel module. Of course it's written in C, Ruby is written in C. The few bits of Ruby are just a hello world example.
- EugeneOZ 11y agoIf you are programmer, you should always learn something new. If you stop learning new things, soon you'll be a bad programmer - you will be just outside of the current scope of technologies.
- vinceguidry 11y agoNever said I stopped learning. I learn new things all the time. I just don't waste time trying to pick up new languages. I read about the features of other languages all the time and I try to glean insights to use in my Ruby code. But people really underestimate how deep topics like object orientation really are. If you burn all this time figuring out syntax, semantics, standard libraries, toolsets, et al of languages, then you won't have the time or the head space to dive deep into them.
- EugeneOZ 11y agoDifferent languages will allow you to have different points of view for problems solving. It's better to know about different but right tools for each job, than know how to use one tool everywhere (often with hacks and limitations).
- vinceguidry 11y ago> Different languages will allow you to have different points of view for problems solving. You don't need to actually know different languages in order to get this benefit. For example, I know how to code in a functional style in Ruby and gain the benefits. I know how to use design patterns in Ruby. A lot of times, I find concepts in other languages that amount to hacks. Haskell's monad concept, for instance, once I understood what was going on, I now feel is mostly used to hack state into a language that was designed to eschew it. > It's better to know about different but right tools for each job, than know how to use one tool everywhere (often with hacks and limitations). I disagree. I want to use the tool I know like the back of my hand. I want to keep the number of things I have to learn for each new objective to a minimum. If you call on me to solve a new problem in a new language, I'm liable to ask you to just call a specialist. I am a professional, not someone you can just boss around.