As a member of Python community, I hereby congratulate Ruby for joining the ranks of pretty-cool-but-not-so-hot-anymore technologies. There are years of Getting Stuff Done ahead of you. Way to go!
I know of at least three incidents. The CouchDB talk at a Ruby conference in 2009 had soft porn pictures [1]. Another Ruby conference in 2008 offered a 'daycare' where attendees could leave their 'spouse, boyfriend or girlfriend' if they weren't interested in the conference itself. They called it a 'girlfriend daycare' which generated some controversy on a mailing list named DevChix. [2] These aren't the most objective and reliable sources, its just to give you an idea of that drama.
Also BritRuby was cancelled because the speaker list consisted entirely of white males, which is somehow a bad thing. [3]
I'm stunned that RubyFringe is on this list. The writeup you linked to is brutally one-sided: the partner track ("girlfriend daycare") was conceived of, named and run by women working in the larger context of supporting a conference run by a woman who happens to be the managing partner of the original Rails dev shop.
The men who had a blast as partner track participants would agree that this controversy was the ultimate tempest in a teapot.
The name change happened because there was a conference to be run and there was no battle to be fought and won.
Luckily it didn't seem to matter as none of the DevChix folks had any intention of coming in the first place. A good time was had regardless:
The biggest problem in many such cases isn't really the name, but the reaction to complaints. Perfectly the name would be fine from the get go, but if it wasn't, people say "hey, that's crap", organizers change it, case closed. Real crap starts when people start freaking out that "OMG feminism has gone insane!", and it's that reaction that is the real symptom of big problems. All because someone deemed the name more important than the likelihood a woman would feel welcome in the conference proper.
Similarly in the case of PyCon: joke was crap, someone called it out. Instead of an apology and admission that it shouldn't have happened, two people lost their jobs, and a lot of whistleblowers will be discouraged from speaking out. All because people think their freedom of joke making is more important than the likelihood a woman would feel welcome.
People do know those aren't complaints about direct harassment – just about a lot of individually tiny things that, once taken together, breed an atmosphere that encourages harassment and discourages participation. And sure, some women can deal with that – but they shouldn't have.
Also, a dong joke wouldn't be an issue in a perfect world, but we're not living in one.
The PyCon incident blew up because of the tweeted picture, which to many of us was _far_ worse than the stupid joke. Complain to the organizers, sure. Make fun of them at the conference, even.
But the tweeted picture to a large number of followers took it well into harassment, where the joke wasn't.
From what I understand in the Pycon incident there was an apology and admission that it shouldn't have happened, and parties were happy with the result. The problem came later because of the tweeted picture.
I just read your link. So the issue is that they advertised themselves as a 'diverse conference' but didn't have a diverse speaker list. I don't typically look at race/gender when I look at speaker lists, so I didn't think it was a bad thing.
There are lots of ways to be diverse, its not just a matter of race/gender. Personally, I think diversity in race is a pretty week indicator of general diversity.
And if you haven't gotten an application from one to do so, no need to go out of your way to have one.
If they had rejected someone for being black/asian/a woman/all the above, I would have understand the outrage. But in a field where 99% of the people active are white males in Britain, it makes less sense.
Should a conference about confucianism in China also find a western person to speak, or be cancelled?
Here's a quick quiz for you: name a woman/asian/black person that is active and does interesting things in the Python community? Here are the people that come to MY mind: 1) Guido, 2) Alex Gaynor, 3) Jacob Kaplan Moss, 4) several more white geeks.
Whereas in, say, web design circles I know far more women that do interesting things.
>Here's a quick quiz for you: name a woman/asian/black person that is active and does interesting things in the Python community?
Jessica McKellar, Hilary Mason, Wesley Chun... Cancelling a conference b/c all speakers are white male is disturbing, but it's equally disturbing the idea of "token minority" is IMO.
>Here's a quick quiz for you: name a woman/asian/black person that is active and does interesting things in the Python community?
Mahdi Yusuf, Audrey Roy, Bryan Veloso, etc. You see what you have always seen. Open your eyes, there's more in front of you than what you consciously choose to know.
Awesome. This is getting added to our company chatbot's little morning news report, right next to the "days since last Java exploit" one someone posted here a couple of weeks ago.
Aren't those conferences targeted at adults? Is there some assumption in english speaking countries that the average adult is offended when he hears about sex?
Because it sure as hell doesn't hold true in most non-english speaking countries...
I think the assumption generally is that some women will feel uncomfortable with a sex jokes in an audience where they tend to be a small minority. My experience as a man is that women in groups are at least as prone to telling dirty jokes as men, but I can understand that if you're one of a handful of women in a room full of men it might feel quite different.
As the IT guy in a variety of medical offices who's known for being pretty laid back, some of the discussions that have happened when I was in the room are filthy. Also, sometimes folks forget I'm in the room.
The most memorable and amusing was the discussion by several women (some busty) of "[flopping them on the counter]", but there have also been discussions of men or parts thereof.
I live in America. It's still unclear if there's a national consensus on women being mainly sex objects with breeding potential rather than thinking, speaking human beings, and thus every woman with a brain needs to be reminded that they're properly understood to be fuckholes. Maybe in your English-speaking country, things are better?
One of the first RailsConfs (perhaps even the first one) had male/female drama... There was a chatroom somewhere that people were on while the presentations were going on and some folks said some questionable things and a woman blogged about it.
I think no longer being the "hotness" is, frankly, a blessing. Python appears to have thrived and has easily stomped Ruby when it comes to performing certain classes of Serious Work (TM), despite having been absolutely destroyed in the popularity contest war.
I personally like Ruby, and I always have. I'm excited to see how the community evolves over the coming years, even as I work with it less and less (professionally, I am switching to Python).
As member of the programming community, I hereby welcome Python and Ruby to the ranks of technologies that people uniquely associate their identity to!
every time I try to uniquely associate my identity with some technology or programming language, reality pulls the rug out from under me... i give up, perhaps it's time to invent my own in my zero minutes of spare time.
Has it really joined those ranks? Maybe in Jeff Atwood's bubble Ruby isn't the new hotness anymore but I'm still seeing everyone and their dog gush about how awesome they are for ditching their old and busted language for Ruby. To be clear, I'm not saying Atwood uniquely lives in a bubble, we all do, and I don't mean it in a bad way. Just that maybe the people he's talking to feel that way but it's been my observation that the larger developer community is still all about Ruby for coolness' sake.
Well, everyone is somewhere on the embrace-new-languages spectrum. It's clear that the people on the far edge of that spectrum have long moved on from Ruby. But there are still plenty of people further back. I'm sure we have years to come of stories of people switching to Ruby, just as we still see them with Python sometimes.
I wonder how you fall in to these categories, for instance, Ruby and PHP were developed around the same time (though Rails obviously came later) yet Ruby is such a "cooler language" so it can't be due simply to age.
I think a lot of it is Silicone Valley's attitude to being different to the rest of the world, the majority of sites are built in PHP? Sweet, let's go with something funky and different!
It's a great attitude to have for creating cool new things, I suppose, but it feels like it's moving too fast for me to keep up, is Node.js not cool anymore? What about Backbone? Lua? what the hell is Hadoop? How about a new Lisp?
I don't think it's "just" SV. On the whole, IME, Ruby (and Rails by immediate extension) appears to be a little more popular in the US than in Europe. I can't speak to other developer communities.
For instance, I was immediately struck upon visiting family in Norway that vanishingly few shops use Ruby, and surprisingly many use .NET. I had also just finished interviewing for an opportunity on mainland Europe for a shop that uses Perl as its production language.
There are actually tons of shops that use Perl here in Europe. It's quite popular, though it's not going to hit Java or C levels of popularity.
I lived in London and there were always tons of Perl jobs there and here in Paris, I'm shocked to find out that there are far more Perl jobs than I expected. It also appears to be moderately popular in Germany.
So yeah, Perl may also be "off the radar" for many people, but it's still a strong market. Interestingly I'm seeing Perl dev pay scales getting pushed up because because there was a rush of devs going to other languages a few years ago. Now there's a shortage of Perl devs but the code hasn't gone away.
My current company isn't very old and they start new projects in Perl all the time. I'm leaving in May to go freelance and my first contract is with a startup in London who's work is in Perl. I also know about http://www.nestoria.co.uk/, a very successful startup that's written in Perl. Still, these are anecdotes and not data.
I hear about new Perl companies and positions all the time, but given that I've found myself specializing in Perl and watching the market (since I'm going freelance), I might be seeing this more than most. That being said, everything I've seen about Perl suggests that the language's main issue is that it's been so successful that many competitors have arisen and taken some market share. (Of course, the language can be quite ugly at times, but I try to encapsulate the ugliness when I can, so most people don't see it in my code).
As primarily a Perl programer, I'd say there is a fairly even split between times I'm maintaining older code and writing new code in work environments. I've played with Ruby and Python a bit (by no means extensively), and when I started a web service last month (http://www.weightgrapher.com) I used Perl.
Dancer (Web framework), DBIx::Class (ORM), and other new tools make things pretty awesome; Perl isn't all CGI.pm scripts anymore.
Existing Perl shops start new projects in Perl. e.g. http://www.shutterstock.com/jobs.mhtml (which, to be fair, also starts new projects in node.js, ruby, and other things.)
My hunch, based in part on a few single point observations as well as this thread, is that not too many new projects are using Perl.
When I asked a prospective employer why they were using Perl, the answer was in effect that it was legacy from the late 90's. I never got the impression that this legacy was an onerous impediment, however. Given the scale at which they operate, switching languages & ecosystems would be costly - and (again, due to scale) they've built up a number of customized solutions using Perl that would be time consuming to port.
IMHO, given the state of the language & its ecosystem as compared to its closest cousins (Ruby & Python), I can't really see why any new projects would be started in Perl. If anyone has a counter point I would certainly love to hear it, as I will freely admit to not having had much interaction with the Perl community as of late.
> IMHO, given the state of the language & its ecosystem as compared to its closest cousins (Ruby & Python), I can't really see why any new projects would be started in Perl. If anyone has a counter point I would certainly love to hear it, as I will freely admit to not having had much interaction with the Perl community as of late.
I might, if I knew what your point was. There's just a vague implication that the language and it's ecosystem are substandard to Ruby and Python. Apparently you think it's self evident, so doesn't require explanation, but I don't feel that way, so I'm not sure what to address.
Mind supplying some examples of what you feel Perl is lacking in comparison?
To jump start it, I've been using Mojolicious[1] lately, and find it a dream to work in. And of course, being able to pull from CPAN is a plus.
>There's just a vague implication that the language and it's ecosystem are substandard to Ruby and Python. Apparently you think it's self evident, so doesn't require explanation
To turn the question on its head, why should anyone choose Perl over the alternatives? I honestly have never seen a reason to switch. Not terribly many others have either, as of late. I will attempt to lay out some of my reasoning.
When evaluating a new language & ecosystem, I tend to look for an active and welcoming community, a large selection of actively maintained libraries, and lastly a language that is interesting and/or fun to develop in. I can't really pontificate with authority on how Perl fares with regards to the above 3, but I will share my perception. Feel free to contradict (of course).
1. Community : there's no doubt Perl's community has taken a bit of a hit over the last n years population wise. In addition, the Perl community has, anecdotally, a reputation for being a bit terse [1]. Nothing cut and dry here, but again nothing that stands out IMHO.
2. Libraries : by extension of a diminishing pool of active contributors, it stands to reason some modules may not be as actively supported as their counterparts in other languages. This is compounded by the uncertain state of the language's version (5,6,7?)
3. Language : I personally have enjoyed coding in Perl, and am not really too intimidated by its historical warts. It's quite possible to write readable Perl, so write-only accusations are of little concern (to me).
Notes :
* Versioning : As an outsider, the current state of Perl's versioning is confusing. Perl 6 has been in development for over a decade, and I've seen mention of Perl 5.2 being released as Perl 7. None of this reflects positively on the language as a whole as it raises concerns about future proofing and maintainability.
* Mojolicious : Looks nice. My only concern would be that, based on the GitHub commit history, it is overwhelmingly governed and contributed to by a single individual. More so than even Rails, and significantly more so than Django. This isn't necessarily a negative, but I'd certainly want to trust him before building a production app using his tool.
> To turn the question on its head, why should anyone choose Perl over the alternatives? I honestly have never seen a reason to switch.
Was that the implication of the original statement? When you said you didn't see much reason for a new project to be started in Perl, I took that as any new project, even in a shop that has prior Perl experience, not a project where you are specifically looking for something different than our prior language.
Indeed, if you are already using one of Perl/Python/Ruby, I'm not sure I see a reason to switch from any one of those to any other.
If on the other hand you actually meant "When starting a new project, I see no reason to use Perl regardless of whether that's where you have experience", then we still have a discussion worth having.
> 1. Community : there's no doubt Perl's community has taken a bit of a hit over the last n years population wise. In addition, the Perl community has, anecdotally, a reputation for being a bit terse [1]. Nothing cut and dry here, but again nothing that stands out IMHO.
Did you actually read that link, or just read a section title and assume it made your point? Because the author updated that section saying that he really can't talk much on that point, because he wasn't there, and the evidence shows it to have been fairly civil.
That said, Sebastian does have a bit of a reputation for being "terse". But that's one person. Since when does one person define a whole community?
> 2. Libraries : by extension of a diminishing pool of active contributors, it stands to reason some modules may not be as actively supported as their counterparts in other languages. This is compounded by the uncertain state of the language's version (5,6,7?)
You have a lot of assumptions, and are using them as the basis for more assumptions. How much has the community decreased? What percentage of the community that are still active are contributors of modules, compared to similar communities of other languages?
Or, just look at some data: https://metacpan.org/recent
Feel free to change the filter on the left to new distributions, not just new releases, to get an idea of how much active development is going on. It may be more or less than other languages, but I think what's shown should be sufficient to disabuse you of the notion that no development is going on.
As for the the version number, this is a non-issue. There is no issue of version numbers, it's a solved problem. Some people in the community occasionally bring it up because it's a sore spot, and it gets a lot of play in the tech media sites, but it's really rather simple (if different than most other languages). Perl 5 is Perl 5, and will stay so unless someone forks it and competes. Perl 6 is a new language, intended as both a successor and a companion to Perl 5. People are NOT expected to migrate Perl 5 code to Perl 6, it is a different language. This has nothing to do with the state of the language's future. Perl 5 is still being developed. Perl 6 is still being developed. Both are available, and useful, for specific subsets of uses. For Perl 6 that happens to be a somewhat smaller subset currently because of performance issues, and some portions of the spec still being fleshed out (this is a different discussion).
> 3. Language : I personally have enjoyed coding in Perl, and am not really too intimidated by its historical warts. It's quite possible to write readable Perl, so write-only accusations are of little concern (to me).
Agreed.
> * Versioning : As an outsider, the current state of Perl's versioning is confusing. Perl 6 has been in development for over a decade, and I've seen mention of Perl 5.2 being released as Perl 7. None of this reflects positively on the language as a whole as it raises concerns about future proofing and maintainability.
Blame tech media sites for taking an internal community discussion, misunderstanding the state of things, taking random suggestions from people as real community movements, and playing it up for page views. I'm sure we can agree the media isn't infallible.
I'll agree that Perl 6 is unfortunately named. If you know the eventual goals (Perl 5 interoperability) the name makes a bit more sense, but it has caused some in the Perl 5 community to feel constrained to a version number (thus the talk of Perl 7). In the end, this is a marketing problem (which is why you see it from the outside).
> * Mojolicious : Looks nice. My only concern would be that, based on the GitHub commit history, it is overwhelmingly governed and contributed to by a single individual. More so than even Rails, and significantly more so than Django. This isn't necessarily a negative, but I'd certainly want to trust him before building a production app using his tool.
There's a fair number of other people that have committed[2], but I won't argue the impression that it looks to be primarily Sebastian (even if there's supposedly 4-5 core developers, according to changelog notices). That said, from your earlier link that explained him leaving the core Catalyst team[1], he started Catalyst, so he's got some experience in this area.
I feel fairly certain others would step up to the plate if he couldn't commit as much.
> Was that the implication of the original statement? When you said you didn't see much reason for a new project to be started in Perl, I took that as any new project, even in a shop that has prior Perl experience, not a project where you are specifically looking for something different than our prior language.
Yeah. This wasn't about a Perl shop switching gears, but rather seen from the POV of a blank slate. I tend to think in terms of new startups, and put myself in the shoes of someone trying to bring a new product to market.
>Did you actually read that link, or just read a section title and assume it made your point?
I did. A lot of the back-and-forth in the comment section helped me make the decision to include that link as illustration.
>It may be more or less than other languages, but I think what's shown should be sufficient to disabuse you of the notion that no development is going on.
I never said "no development" was going on. Please don't put words in my mouth.
My concern is that upon requiring a module for purpose X, to find that libraries A B and C are poorly supported / no longer supported. This isn't really as simple as counting global library updates on a given day.
For what it's worth, roughly twice as many new modules were added to ruby gems during the equivalent time period [1]. The data isn't made accessible anywhere near as neatly as on metacpan, and requires futzing with the API.
>You have a lot of assumptions, and are using them as the basis for more assumptions... Did you actually read that link..I might, if I knew what your point was...Apparently you think it's self evident
Feedback : you've spent a lot of time talking about me and my perceived flaws. Not sure if this is what you intended, but this conversation feels hostile. My intention is certainly not to be on the offensive, and I hope the same holds true for you.
> I did. A lot of the back-and-forth in the comment section helped me make the decision to include that link as illustration.
Ah. I assume when linked to an article that the article itself is the intended object of my attention. The comments are indeed a valid source of community info, but I also imagine an article title of the format "Why people don't like X", you're going to get some polarized views.
> I never said "no development" was going on. Please don't put words in my mouth.
You're right. My apologies. I know you weren't implying that. That was a sloppy turn of phrase on my part.
> My concern is that upon requiring a module for purpose X, to find that libraries A B and C are poorly supported / no longer supported. This isn't really as simple as counting global library updates on a given day.
Indeed, I agree with that assessment. I struggled with a way to provide the links as a way to indicate there is development while also alluding to the fact that I think number of updated and new modules over time is a bad metric for quality of modules, as well as being misleading as the number may change over time as many of the common, core needs are met, and those modules stabilize.
That said, CPAN module pages show the last updated time, as well as the dates of previous commits. The dependency (and reverse dependency) graphs available on metacpan also go a long way towards letting you know how much else a module relies on (for the purpose of assessing possible problem modules farther downstream), and how stable and mature a module is (to some degree, considering how many other modules rely on it).
> For what it's worth, roughly twice as many new modules were added to ruby gems during the equivalent time period. The data isn't made accessible anywhere near as neatly as on metacpan, and requires futzing with the API.
Yeah, I did some research, and found it a bit harder to get counts for Python and Ruby. But we agree raw count isn't all that useful, I was just including it to show that there was activity, and of a level that I would consider significant.
> Feedback : you've spent a lot of time talking about me and my perceived flaws. Not sure if this is what you intended, but this conversation feels hostile. My intention is certainly not to be on the offensive, and I hope the same holds true for you.
It's definitely not what I intended.
> I might, if I knew what your point was
Intended literally. I thought the statement was vague, and I wasn't sure the actual point, but it appeared to indicate something regarding the desirability of using Perl for new project due to the state of the language in comparison to similar languages. I was trying to be explicit.
> Apparently you think it's self evident.
Not meant to be snide, although I can see how you could take it that way. I assume assertions without explanations are put forth because the reasoning is self evident (or discerned easily enough to be self evident to those familiar). There were no explanations put forth, and if you did think it was self evident, that expresses something in itself. I have no doubt there are a great many people that will argue similar points to your original statement with little to no experience, by simple repeating claims they've heard as though they are fact.
> You have a lot of assumptions, and are using them as the basis for more assumptions
I'm not sure how you think this is hostile, but obviously by it's conclusion you do. it was in reference to a statement where you seemed to assume the Perl community was in decline, and used that to make more assumptions about module quality. You can't use community population and involvement decrease to indicate module decline because of lack of people without first qualifying community population and involvement decrease. That's what I meant about making assumptions, and using those to make more assumptions.
> Did you actually read that link, or just read a section title and assume it made your point?
A poor choice of words, but meant literally. The only portion of the article I found that might support your point there was replaced by a retraction that reversed the stance. I felt compelled to ask whether you had actually read that, or just went by the section title "The Developers are Mean/Antisocial/Stubborn/Other". A poor choice of words on my point, and you clarified your point to reference the comments, which indicates why you included that link.
> My intention is certainly not to be on the offensive, and I hope the same holds true for you.
No, I enjoy a good discussion, and actually attempt to monitor my speech (written or verbal) closely to try to avoid misunderstanding, but that's so hard to do with a natural language. :)
P.S. While it may seem like I'm trying to defend myself overly hard by addressing each point where you interpreted me as possibly hostile, I think it's important to explain my true point in each case to accurately reflect what I was trying to convey. If you interpreted them as hostile, it's possible you may have also misinterpreted my point, as tone often affects meaning. Individually addressing each allows you to look at each one anew.
Okay, that's enough meta. I do find examining the misunderstandings of an argument/discussion fascinating though...
I appreciate you taking the time to address the statements I was not interpreting correctly. It goes without saying, but communicating over text always leaves some small room for misunderstanding.
This discussion has certainly left me interested in re-exploring the world of Perl. As minor as it sounds, I really enjoyed playing with metacpan, which as mentioned is definitely more fleshed out than its counterparts.
In addition, while perusing various Perl repos I remembered how much I once liked writing Perl, and will probably revisit it in a side project (if not production just yet).
> It goes without saying, but communicating over text always leaves some small room for misunderstanding.
Definitely. Even spoken English is rife with misunderstandings, and when the tone is almost entirely removed as in writing, that just makes it all the harder.
> In addition, while perusing various Perl repos I remembered how much I once liked writing Perl, and will probably revisit it in a side project (if not production just yet).
Nice to hear!
Re: metacpan, it's amazing what interesting modules show up when you follow some of the metacpan dependency graphs. IMHO, once you're above a certain number of modules, the problem starts becoming less of whether a solution exists and more about how the candidate modules rate WRT reliability, platform compatibility, dependencies you do or do not already have, etc.
Regarding -new- Perl projects, take a peek at the Mojolicious web framework [0] (because nearly everything using it is a new Perl project). It's the most fun I've had in years.
If nothing else, the Mojocasts [1] will probably bring a smile to your face (personally, I laughed out loud at times because it's so strangely simple and brilliant).
Norways tech sector is small enough that it is severely dominated by entrenched interests with a Microsoft background, much more so than in larger countries. The places that tends to use Ruby tends to at least have started doing so when small, and the number of startups in Norway is vanishingly small simply because we're a small country.
(I'm from Oslo, but moved one of the startups I co-founded to London 13 years ago...)
Interesting. As a Norwegian who has never actually lived in Norway (although I have visited often and speak Norwegian) I would love to pick your brain about the tech scene there. My email is in my profile if you have a few moments to spare.
Ruby and Rails seem to be very popular here in Berlin IT scene. Still PHP and Java are a bit more popular, but it's not so hard to find work if you're a good Ruby engineer.
>> I think a lot of it is Silicone Valley's attitude to being different to the rest of the world, the majority of sites are built in PHP? Sweet, let's go with something funky and different!
I don't think that's it. Personally, I switched from PHP to Ruby because 1) Ruby seemed like a great language and 2) I saw a lot of excitement about Rails and 3) it seemed like a marketable skill.
But a few people had to decide #1 for #2 and #3 to happen. I think any new technology gets its initial hype because of some merits it has, even if the hype later gets out of hand.
"It's a great attitude to have for creating cool new things, I suppose, but it feels like it's moving too fast for me to keep up, is Node.js not cool anymore? What about Backbone? Lua? what the hell is Hadoop? How about a new Lisp?"
As far as the last part is concerned, what about R7RS Small, and later R7RS Large?