Friday, July 22, 2011

FRACKING RANT!!!!

It seems the more I work with Ruby the more I like, but the more I like it, them more I'm reminded of why I don't like. <-- ROFL!!!!!

Seriously tho, there are a lot of different things to like about languages, or dislike.

Same even with spoken langauges. Turkish vs German as an example. As a native english speaker, the whole agglutination that is a very important aspect of Altaic languages (like Turkish) DROVE ME NUTS!!!!

German OTOH, is A LOT more like English (and even sounds like it when you really listen).

But back to the topic of agglutination, here comes Ruby where you can do ish like...

"User.find(ul.id).orders.all.map { do | order | the_order = order.payments.where(:type => 'some_string').first }"

!!!!!!!

And that's nothing compared to stuff I've seen!

So do you see what's going on here? You take one thing, which in this case is "User.find", then start taking all kinds of shit on to the end of it.

Now slowing down for a moment here, there is a lot going on in that single line of code. This alone points to the power and flexibility of the language. My issue here is that this precludes a "first glance" understanding of what's going. While the code can be read rather easily, it still "must" be read. The problem here is that it's not that easy for someone that's new or new"er" to the language to quickly grok. And never mind what the engine has to do in the back end

And never mind the fact that some will come along and write lines of code twice as long as that with pride and swollen chest.

It's almost like the age of high diction vs listening to someone who spent a career in the Marines.

More to the point here, I'm not sure if I feel it's bad that the language supports it or that the community demands it.

It's my opinion that a well placed comment with short terse directive lines of code is better then the single mega-line.

Hmmm...... RISC vs CISC?

Perhaps it's my feeling that only the minimal amount of complexity need be accepted. A system is going to have a given amount of complexity based on what it's designed or hoped to do. Anything beyond that is garbage.

Where Ruby is concerned, the complexity tends to be in the expression, as condoned and expected by the community. Where rails is concerned, the "additional" complexity is in convenience and forced convention.

Do I like Ruby? Well yeah actually. A lot of cool shit it does.

That said, I hate Rails!!!!!! I do not approve of forced convention. I'll take CI or my own take on an MVC framework anyday. More flexible and brutally fast. Less to grok in the effort of just getting someting done. Of course, if you do something stupid, the framework isn't going to come to your rescue. But hey(!), that's one of those trade offs right?

I'll take PHP and Python any day over Ruby. They may not be as "expressive" as Ruby, but they can do some cool ish as well!

PHP in particular feels like English. A language that allows the use of elegance when desired or the situation demands, but is still just as cool when the going (should) get(s) simple and the grunts need to understand.

Perhaps I'm too influenced by Larry Walls' comment about complexity.

Perhaps what I'm really bitching about (once again) is the community.

Perhaps I'm bitching about other things related to being a code monkey.

Perhaps I need to train some monkeys of my own damnit!

Wednesday, July 20, 2011