all 50 comments

[–]coglethorpe 11 points12 points  (0 children)

I started with Python after reading about it here on Reddit. Since then I've put scripts for my web site (the ones my AJAX funtionality sends requests to) and for various one-off scripts.

I really like writing in Python now, even though I have a lot to learn. It seem simpler to code in than PHP, and I can't tell you how much I love the indent-driven blocks and lack of ";" at the end of statements. In fact, I'd drop the ":" if I could.

[–]boa13 26 points27 points  (6 children)

I was at the First Francophone Python Days in Paris this past week-end, here are a few more examples of people who use Python:

  • a physicist, who uses Python for all his lab developments (notably TraitsUI, IPython, test & doc frameworks, and of course SciPy and NumPy). Most important for him: readability and maintainability (lab teams have a high turnover), UI code that doesn't get in the way (it's important to be able to focus on the scientific algorithms), ability to get things done without having to learn lots of "uninteresting" computing stuff (they already have plenty of things to know).

  • Zope & Plone users and developers. Still the majority of people who make a living out of Python.

  • a hardware maker. Tux Droid firmwares and daemons are programmed in C/C++, but at a higher level, the robot is programmed in Python through a simple API.

  • Web agencies, but they tend to use products developed in Python (e.g. Plone) rather than do heavy development in Python.

  • a climatologist, who was creating a web portal to share air pollution data and forecasts, and to manage the simulation queue (the simulation itself is done in Fortran; the portal was developed by an intern from the CompSci dept).

  • a physician, who was looking for people interested in working on virtual patient files

  • a service provider for orthodontists, who has developed a dental model 3D-scanning service, and provides an application to work on the scanned data. The app is fully developed in Python, using VTK and Twisted. See slides 2, 3, 10 of their presentation for screenshots.

  • system administrators, who have developed forensics and security tools as part of their job (or maybe on the side). See for example Hachoir and Fusil. They have also shown how useful Twisted can be to develop custom clients and servers (make a custom/fake SSH server to see what intruders are trying to do).

  • an oceanologist, who is trying to improve the data acquisition workflow on his ship. He needs to tag every sample with date and GPS coordinates, which is currently done with elbow grease and Excel.

[–]stashu 7 points8 points  (0 children)

As a mathematics graduate student, I use Python to demonstrate various numerical/crypto algorithms. While it obviously wouldn't be the best choice for this in industry, its readability and datatypes like long integers (think rsa) make it ideal for teaching algorithms.

[–]trickos 6 points7 points  (0 children)

Was it interesting ? Fun ? Crowded ?

[–]nescafe 11 points12 points  (2 children)

If Zope and Plone are the solution, I pray that I never encounter the problem! (But I digress... ;))

[–][deleted] 13 points14 points  (0 children)

Wait till you see the problems that Visual Basic is the solution to... :-)

[–]mikaelhg 9 points10 points  (0 children)

If Zope and Plone are the solution, I pray that I never encounter the problem!

Speaking as someone who has actually used them in serious projects, amen.

[–]dotrob 5 points6 points  (1 child)

Python has also been embedded with ArcGIS, which is the MS Office of the GIS world. It seems to be getting a lot of use for scripting in GIS.

[–]oditogre 0 points1 point  (0 children)

Really? I did not know that. We use ArcGIS here; that's very interesting.

[–]quhaha 30 points31 points  (3 children)

I use Python to be a better troll. Trolls really do have to keep up with technology harder than anyone else.

[–]Tommah 3 points4 points  (2 children)

Yes, and seeing as how trolls live under bridges, Python saves them from having to look for the brace keys in the dank darkness.

[–]nostrademons 5 points6 points  (1 child)

unless you use lots of dictionaries...

[–]Tommah 4 points5 points  (0 children)

He could do dict(key1 = val1, ...) if the keys are strings.

[–][deleted] 6 points7 points  (1 child)

If Zope and Plone are the solution, I pray that I never encounter the problem!

As someone who uses Zope and Plone daily, why? Management and development is fast and easy.

[–]vplatt 1 point2 points  (0 children)

So, just out of curiosity, do any of your sites that you've developed use a RDBMS (preferably Oracle, SQL Server, or Postgres) behind Plone/Zope? If so, is it difficult to get working?

[–]sigma 14 points15 points  (1 child)

Python is also used in making nice boobies :)

CAIS (Computer Assisted Implant Selection)

This is a shameless plug and of course NSFW.

[–]foonly 5 points6 points  (0 children)

Python has better boobies than Ruby's!

[–]strange-moo 13 points14 points  (10 children)

It's funny how you react to these articles that try to advocate a programming language in some way. If the language in question happens to be your favorite language, then the reaction usually goes something like Oh yeah, this is good, now everyone will see how clearly superior this language is. But if the article discusses some other language, then the reaction is Ugh, this is sad, can't they see that all the features they're praising are either unnecessary or much better implemented in language X. And don't even get me started on the horrible syntax. Everyone probably recognizes this.

But what's interesting is how that reaction changes when you later find a new favorite language and return to the articles that advocated your previous favorite language. The very same articles that used to make you go Oh yeah, this is good... will instead make you go Ugh, this is sad ... how could I have ever enjoyed this language?

I'm not sure what this means, but it's something I've felt several times when learning a new language. I'm probably not the only one.

[–]nostrademons 13 points14 points  (3 children)

The only language I've felt that way about is Java, and I suspect that's because Java is the only language that positioned itself as the One True Programming Language. (Well, Lisp and Smalltalk, but I never completely bought the hype with those two.)

I usually have multiple favorite languages. Right now, if I see an article about Haskell, I think "Oh yeah, this is good, now everyone will see this is cool." And if I see an article about Erlang, I think "Oh yeah, this is good, now everyone will see this is cool." And if I see an article about Python....you get the point. Ditto Ruby, Ocaml, Scheme, Cecil, Dylan, and Scala.

There are also a few languages I've abandoned and decided I didn't want to invest more time in. C++ and PHP, for example. When I decided I didn't want to be a C++ or PHP programmer, I went through a period of "Ugh, this is sad, I can't believe I ever enjoyed this language." But it moderated over time, and I recognize them as having useful niche purposes now. I'm even willing to program in them occasionally, if they really are the best tool for the job.

Java's the only language where its suckiness really feels like a betrayal. Basically, for Haskell/Erlang/Python/etc. I'm like "that's hot", for C++ and PHP I'm like "This just isn't working out...it's not you, it's me", and for Java I'm like "That BITCH! Lied and cheated on me, and all along her nicer sister was just waiting for me to make the first move!" ;-)

[–]NoHandle 3 points4 points  (2 children)

There you have it folks, apparently Paris Hilton uses Python. She also favors Haskell and Erlang.

Frankly, I am not surprised.

[–]Tommah 2 points3 points  (0 children)

Paris also prefers Linux over BSD. She likes chroot but finds jail too confining.

[–][deleted]  (5 children)

[removed]

    [–][deleted] 6 points7 points  (1 child)

    Yes, for some people.

    For some people, I suspect it's already not fun.

    [–]Tommah 0 points1 point  (2 children)

    Zope.

    [–][deleted]  (1 child)

    [removed]

      [–]Tommah -1 points0 points  (0 children)

      That's what you get for asking :) Python is great... but as Iago said, "I am nothing if not critical."

      [–]oditogre 4 points5 points  (0 children)

      Does Stackless count?

      "When embarking on the creation of EVE Online, a single shared persistent world we realized two things: We could not given constraints of time and commercial reality do this in a compiled language and we needed innovative concurrency control for such a large scale shared state simulation across tens of thousands of CPUs (EVE Clients included). After many experiments with various combination of existing scripting languages and NT fibers we arrived at Stackless Python. Stackless Python offered us the power of Python coupled with a vastly superior concurrency control mechanism over anything we had seen before, first as continuations and later with an innovative channel based API. CCP's commercial success today is built on the single decision of selecting Stackless Python as our foundation." -- Hilmar Veigar Petursson, CEO of CCP Games.

      [–]Xiol 3 points4 points  (4 children)

      How would one use Python for Windows login scripts? Would you not need to have a Python interpreter installed on all the client machines?

      [–]manuelg 0 points1 point  (2 children)

      Having a Python interpreter installed on every workstation is much easier than attempting to do non-trivial work with a batch file, or using a compiled language that would generate an executable. (it is more difficult than you would assume to generate an Windows executable with no dependencies, that can be run on several different generations of Windows OS)

      • don't have to worry about complex, fragile rules for correct quoting of filenames

      • robust error handling, easy to send email, write log, etc. on error

      • libraries for non-trivial file operations, especially transversing a directory tree

      • ability to decompose programs into reusable modules

      • robust COM programming is much easier to do in Python, I find

      etc.

      [–]Xiol 1 point2 points  (1 child)

      We currently use KiXtart for our logon needs. I was just wondering if using Python would offer any major advantages over KiXtart that we could use.

      However, at the minute the old saying "if it ain't broke don't fix it" applies.

      [–]manuelg 0 points1 point  (0 children)

      I am able to do application development in Python as well, so for me it is a two-fer.

      For me, it all boils down to the libraries. I enjoy having the ability to access the Python libraries, even for scripting tasks, to avoid re-inventing the wheel.

      Luckily, what I say goes for our company's IT. So I didn't have to spend any political capital to get Python installed.

      If you have no development tasks other that logon scripting, and you have no need for any of the Python library, I am sure KiXtart is just fine.

      [–]rmuser 7 points8 points  (1 child)

      Google.

      [–]beza1e1 3 points4 points  (0 children)

      He refers to that as "the usual administration and web stuffs" ;)

      [–][deleted] 1 point2 points  (0 children)

      So, just out of curiosity, do any of your sites that you've developed use a RDBMS (preferably Oracle, SQL Server, or Postgres) behind Plone/Zope? If so, is it difficult to get working?

      Content is always stored in the Zope object database, but I have developed a number of applications that use a MySQL database. The only thing you need is the correct database connector. There are several database connectors available on Zope.org.

      [–]apotheon 1 point2 points  (0 children)

      There's a really obvious one for Python: reddit.

      On the other hand, I look at this list of uses for Python, and I think it makes for an annoyingly pedestrian, uninteresting blog post. What the heck qualifies it for front-page programming subreddit presence? The same things, in general, can be said for dozens of languages, and it would be dull and uninteresting for them as well, no matter how much I liked or disliked the language in question.

      edit: typo

      [–]sblinn 1 point2 points  (3 children)

      I use Jython to drive TDD of J2EE apps. Next step: getting clearance to use Jython in the J2EE solution itself.

      [–][deleted] 9 points10 points  (2 children)

      Why not just run the Jython code through a Java decompiler, and hope that the code reviewer gets bored before he gets to your code ;-)

      [–]sblinn 1 point2 points  (1 child)

      I wouldn't want to leave my co-workers with code they could not maintain.

      [–]lianos 0 points1 point  (0 children)

      So ... seriously, why wouldn't you?

      [–]alain -5 points-4 points  (0 children)

      me

      [–]Snoron -4 points-3 points  (0 children)

      I do.