Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is there any evidence for this supposed trend? Or will these “many” programmers remain merely a vague hand-wave?


I have also observed this trend and commented on it here http://news.ycombinator.com/item?id=1087287 where other HN users have also confirmed it.

My own Python code, over time, became more and more functional in style until eventually I jumped ship to Clojure and Yeti (and over the past week, F#).


I doubt anyone has valid stastics to answer this, but I'll throw in yet another anecdote. For about five years I used Python for all my personal projects, then for a couple years I switched to Ruby because I was using it at work. Last year I switched to Haskell for everything from simple command-line scripts[1] to larger programs[2] to silly recreational programming[3].

[1]: http://github.com/mbrubeck/outline-grep

[2]: http://limpet.net/mbrubeck/2009/10/30/compleat.html

[3]: http://github.com/mbrubeck/mynock


i've found that demanding empirical evidence from a blog post often leads to disappointment ;)


I left Python for c++ because the job called for c++.

But there wasn't anything in Python that I found compelling so I never came back.

As a scripting language, Ruby seems so much more compelling, despite it's friendliness seeming to doom it to eternal slow bugginess. I'd go back to Ruby before Python.

But I'm more likely to add Python support to an app I'm developing, since I know it's more sensible.

Python's functional aspects seem chronically undeveloped so leaving it for a real functional language makes sense. But functional approaches seem limited in the "real world".


Right now, for me, it comes down to the libraries. I'm much happier in Ruby, but Ruby doesn't have nltk, scipy or boto.

Then again, Python doesn't have rake.


Right on the money ;) All the evidence i have is purely subjective and anecdotal, but I personally know of a number for whom this is true.


As additional anecdotal evidence, this is true for me, though I'm still using Python for my next project simply because it's a proven language with proven libraries.

But I'm certainly ready and interested in moving toward a more functional language -- I've always been interested in the Lisps, and have always tended to write code in the functional style, where possible (even though my first language was Java...)


this is true for me ... though I'm still using Python for my next project

i think you must mean "false", then.


No, he said he's using python, so it's False


it's taken me a day to "get" that - i'd been thinking it was a confused comment rather than a (questionable quality!) joke... have a vote back to 1 since i suspect you've been downvoted by others as confused as me.


I think the point is anecdotal is not evidence and blog posts are all too often lacking in anything but.

Then again he's programming in a hot bed of programmers in that well known programming mecca of Hamilton, New Zealand. Oh, wait...


The idea that people inevitably give up on their toolchain and move to another language en masse strikes me as a bit weird. I'm sure some people find itertools a good reason to learn other languages, but it's not some massive exodus. It's possible to use more than one language, you know. On the same project, even.


Python is currently in a perfect storm for experienced users to want to move away. If it was just itertools it wouldn't be the case.

Point the first: Python 2.x to Python 3.x if you already have to make a transition, there is more impetus to make a transition to something that suits how you actually work.

Point the second: itertools is partly a catalyst, partly an indicator. Once you get fluent with it, it illuminates pain points.

Point the third: There is a new batch of functional languages that support the style that is a pain point, as well as fixing other issues that hurt in python.

Lastly, not all python programmers will want to make the shift. But the ones fluent with itertools are more likely to be the subset that will.


I've been using Python for a while (since before 2.0). I think it's a good language, but nowadays my first choice for starting new projects in its niche would be a mix of Lua and C, unless the project depended entirely on a complex library available for Python but not C.

I did in fact switch during the 2.x->3.x transition, though I haven't given up on Python entirely - I still know the language, I'm fine with working in it, It's just not my first choice anymore. If there were one factor (and there isn't, my switch to Lua was gradual* ), it would be GvR's insistence that Python will never get tail-call optimization, because it's "unpythonic". (http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi...) That has major implications for the expressiveness of the language.

* I think what happened was that I had been reading Lua's source to see how a small, clean implementation of a bytecode compiler worked, and along the way discovered that it suited my preferred development style better. Lua feels like a minimalistic hybrid of Python and Scheme, with the "good parts" of Javascript (prototypes, object literal notation) harmoniously integrated, but designed with embedded and multi-language development in mind. Also, the whole language can be installed with a DLL smaller than SQLite (!), which makes deployment rather easy.


From the "data is not the plural of anecdote department", I can say that personally, the more I use languages from the Lisp and ML families, the less desire I have to use Python, despite having spent a fair amount of time tinkering with it in the past. Alas, I currently use none of these at my day job, but any hobby projects I start in the future are very unlikely to be in Python.


I am in EXACTLY the same position, though I will be leaving my day job in about a month to work on personal projects/contract work/startup ideas and I will be using a lot of Clojure for these projects. My main startup project is being constructed from a little C++ :-(, a lot of Clojure and some Yeti (ML derived JVM language).


I posted it because it's largely true of me. I'm still using Python (with Django) for my day-job, because I know the libs and the tools and the pitfalls, but almost all the code I've written for myself in the last year has been Clojure. I toyed with Haskell a little, but the type system killed me, and Scala wasn't quite functional enough (in the FP sense) for my tastes.


Just a data point, but I am in this position, for the reason listed in the blog post.

When I say in this position, I mean that I would like to switch but won't in the next future (too costly).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: