4 ms·
I've been a Ruby (Rails) developer for about 4-5 years now, I guess. After a job change about a year ago, I've been thrown around to various different projects
by ddellacosta 14y ago
I've been a Ruby (Rails) developer for about 4-5 years now, I guess. After a job change about a year ago, I've been thrown around to various different projects--I was mostly doing Sinatra stuff until earlier this year, but about four months ago I started working with Python (2.7).
I'll say right off the bat: I don't think my experience is really enough to judge an entire community on. I also feel pretty strongly--as I've read a bunch of articles on Python from a number of perspectives while learning about it--that there are a variety of perspectives within the Python community, some more conservative, some less. In fact, it may be harder to characterize the Python community with a broad brush than the Ruby community (although I live in Japan, and meeting some of the old-school Japanese Ruby coders shifts your perspective a lot...but that's another story).
What I will say, however, is that there are aspects of the community that correspond very much to the stereotypes. More to the point, there are folks who use the talking points within the Python community as an excuse for really foolish practices.
For example, I work with a developer who insists that you should do your damnedest to use nothing outside of the standard Python library. So he ends up writing his own web framework from scratch (!) rather than using Django, or anything really--we are on raw webob/webapp2. This has something to do with, in his words, "There should be one-- and preferably only one --obvious way to do it."
He will also turn code into long blocks of if/else statements because he insists this is easier to grasp; and Python code should be readable..."Explicit is better than implicit. Simple is better than complex." Etc. etc.
The Ruby community has its own normative qualities, I won't deny (I...kinda agree with Zed Shaw: http://learncodethehardway.org/blog/AUG_19_2012.html http://learncodethehardway.org/blog/AUG_19_2012.html). But my experience roughly corresponds to the original article's perspective: Ruby, as a community, tends to have a more forward thinking, "break it and fix it quick" perspective. And as far as Rails at least, testing is entrenched, which I think is a good thing. Generally speaking, experimentation is good, and conservatism can get stuffed.
I don't think Python is a bad language. But I personally think having these philosophical statements like "the Zen of Python" and "Pythonic" and whatnot is actually poisonous to the community as a whole. It promotes a certain type of dogmatic thinking that I think is really harmful--even if the ideas expressed are correct! It becomes easy for bad programmers (or good ones who haven't had their ass kicked in a while) to fall back on when they don't feel like challenging themselves.
Also, this is kind of neither here nor there but functional programming paradigms in Python suck. Well, maybe 3.x is better, I haven't really checked it out in depth yet...
(Edit: sorry that last bit about functional programming in Python was a cheap shot, with no bearing on the conversation at hand...)
- lucian1900 14y agoI think you just met one idiot that happened to be using Python.
- ddellacosta 14y agoYeah, I mean, I've been reading a lot, and watching talks from conferences and whatnot online, so it's pretty clear to me that this person does not represent the Python community. I've definitely learned some things about programming from my time so far in Python: there are some really smart folks using it (and writing it). And I think calling the Python community "conservative" doesn't it enough credit, on the whole. But I've also read a lot of stupid arguments in threads about what is "Pythonic" or not...so it's not just one idiot.
- think-large 14y agoI know absolutely nothing about Ruby, is it as useful outside of the web framework as python is? I have come to use python a lot for different programming needs and as a test before I turn to something like C/C++ any more. I have been able to use Python as a middle ground. A place that I can go and work to make web tools, but also go offline to solve little problems that bug me. Is this something that is equally easy in Ruby? I mean, if I was going to go to the web strictly, I can see comparing the two as apples to apples, but that's not why I use Python...
- dmorgan 14y ago>I know absolutely nothing about Ruby, is it as useful outside of the web framework as python is? Ruby is used a lot for sysadmin, systems management stuff (more than Python, surprisingly, because of good tooling). It's also used for stuff like iOS development (RubyMotion), and general purpose scripting. That said, _is_ there anything of importance happening "outside of the web" nowadays?
- dagw 14y ago_is_ there anything of importance happening "outside of the web" nowadays? Seriously??? You can't swing a cat without hitting someone singing the praises of "Big Data". We're at a point where machine learning is moving from academia out into "real world" in a major way. Statistics, data analysis and simulation is playing a more and more significant role in more and more fields every day. Both GIS and BIM, while still pretty niche, are growing rapidly in importance in their respective fields. I could go on all day. I'd almost (but not quite) say web frameworks is least important or interesting thing happening these days.