3 ms·
"Many modern languages similarly give up readability for writability, like Ruby, where you can literally redefine the + operator on integers so that it no longe
by raju 19y ago
"Many modern languages similarly give up readability for writability, like Ruby, where you can literally redefine the + operator on integers so that it no longer gives you their sum." I believe Dave Thomas covered this in "Metaprogramming Ruby" video [http://www.infoq.com/presentations/metaprogramming-ruby http://www.infoq.com/presentations/metaprogramming-ruby], and the problem here is not that the language allows you to do it, rather your programmers are willing to do something like this.
This is not a language feature problem, its a developer education problem. I agree with sammyo that a wrong abstraction can make it harder to decipher whats really going on. On the other hand, isn't that true for any kind of abstraction? Frameworks like Spring abstract away notions of AOP and unless you really understand whats going on under the hood you will be left scratching your head. Does that make Java a toy language? If yes, then whats the point of this post?