Python and Ruby, siblings? 40
I have written code in many languages (Basic, dBase, C, Sculptor 4GL, Assembler(many flavours) Perl, VBA, Javascript, Ruby and finally, Python.
For much of my experience of Ruby, I viewed Python as a sibling language. I thought Ruby and Python where rough equals in capability and complexity.
It took me about 3 months of Python coding to realise that this is very far from the truth.
Ruby and Python are not compadres, they are not friends, they don't work at the same level.
Ruby is much simpler than Python, it has far less 'language' there. For a start, python is a compiled bytecode language (you do notice all those PYC files all over the place don't you?).
That and its explicit binding mechanism (all those import statements at the head of a python file just make my ruby sensibilities scream!) make for a much quicker language than Ruby.
When you add to that all this stuff about decorators, metaclasses etc, that takes some getting used to. The whole idea that methods associated with an instance are actually method instances that need calling (forgetting @property for the moment).
When I read about that, my mouth started watering, there must be some REALLY interesting uses for that! But then I let it stew for a while.
Really, all that does is force the coder to recognise that there are properties and then there are methods, and to require the user to know the difference.
With ruby, you don't need that. Well, really, with ruby, there are really ONLY ever methods, this forces encapsulation much more completely than Pythons default behaviour does.
Looking more deeply into decorators and metaclasses, I realise that they are trying to give the same sort of versatility to Python that Rubys blocks give to it.
Blocks affect EVERY aspect of Ruby, without blocks ruby is a rather dull, flat language. With them, it is a rich, expressive language that allows for some truely lovely DSL applications. Python tries to get the same functionality from metaclasses, decorators etc, but it just feels that much more forced. Having to use several different but interlocking constructs to ALMOST do what Rubys blocks do. This MIGHT be as a consequence of limitations enforced on the language by its bytecode underpinnings, I don't know enough yet to be able to say.
So, I suppose my final word on the issue is that Ruby is NOT a sibling of Python, its probably more of a teenager to Pythons twentysomething. There is a LOT more depth to Python than there is to Ruby, but thats not because the depth brings anything extra, it's more because Rubys simplicity is sufficient for the task. Python IS faster though, and probably always will be.
The later the binding, the slower the runtime performance.
Hi! XmrMiXHU http://gbfbjd.com/ BMVYnzTV [url=http://tyobsw.com/]BMVYnzTV[/url]
oEqTQSJa Buy Phentermine Cialis Cheap Valium Lorazepam Xanax
NivmtR Cheap Xanax Viagra Buy Tamiflu Buy Viagra online Cheap Xanax
caBeZg Cigarettes Viagra Cheap Tramadol Viagra Cheap Valium
ENLLdI Buy Xanax Cheap Phentermine Tramadol Ultram Cigarettes
QVcRJhJw Buy Ambien Viagra Lorazepam Zolpidem Ambien
ZDjjdyC Ambien Ultram Viagra Cheap Phentermine Cheap Ambien
jOwwPci Cigarettes Cheap viagra Tramadol Cheap viagra Marlboro Cigarettes
exymfqf Cheap viagra Cheap Cigarettes Xanax Alprazolam Buy Tramadol
2OcuMZ kgudkilzhmbj, [url=http://ygebtgclcmvi.com/]ygebtgclcmvi[/url], [link=http://yxhwuangfafa.com/]yxhwuangfafa[/link], http://zfqunjifptda.com/
2OcuMZ kgudkilzhmbj, [url=http://ygebtgclcmvi.com/]ygebtgclcmvi[/url], [link=http://yxhwuangfafa.com/]yxhwuangfafa[/link], http://zfqunjifptda.com/
pehIIJ Ambien Xanax Cheap Xanax Cheap Phentermine Phentermine
HKZFQH Diazepam Cheapest Cialis Cheap Valium Valium Cheap Xanax
FubcVwh Ambien Buy Tamiflu Cheap Tamiflu Phentermine Ativan
McRUNaM Valium Adipex Cheap Ativan Tramadol Marlboro Cigarettes
aiJtTUW Valium Buy Phentermine Valium Viagra Buy Ambien
aJhYhVWO Buy Cigarettes Diazepam Cheap Valium Valium Diazepam
GmUAnnF Ambien Ativan Cheap Tramadol Clonazepam Cheap Tramadol
QFscuOU Phentermine Adipex Cheap Valium Cheap Ativan Ativan
kOCeez pjmnkgxooloz, [url=http://tgcwmvwezctz.com/]tgcwmvwezctz[/url], [link=http://hgxfxjtnbmnf.com/]hgxfxjtnbmnf[/link], http://ozmkxdqjltcx.com/
DZGgatrO Buy Viagra Buy Valium Buy Ativan Xanax Xanax
OsRgqNx Cheap Ambien Buy Xanax Cigarettes Cheap Cigarettes Buy Viagra online
ZhtdCk Xanax Xanax Ambien Diazepam Buy Cialis
BhlOame Buy Phentermine Valium Ambien Buy Ambien Cheap Tramadol
moWyEoY Buy Cialis Online Cheap Ativan Zolpidem Alprazolam Valium
QzfOYJOu Xanax Valium Cheap Phentermine Ambien Cheap Ativan
QHaxyC Cheap Ambien Viagra Lucky Strike cigarettes Buy Xanax Buy Cigarettes
VewCYWW Cheap Tramadol Viagra Cheap viagra Cialis buy Pall Mall cigarettes
HTpcxnq Cheap Valium Cheap Ambien Buy Ativan Buy Viagra online buy Marlboro cigarettes
comment6, retin-a, levitra, xanax and migraine treatment, seroquel generic, rimonabant 270 pills,