The Artima Developer Community
Sponsored Link

Weblogs Forum
Big Python

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Bruce Eckel

Posts: 875
Nickname: beckel
Registered: Jun, 2003

Big Python (View in Weblogs)
Posted: Oct 26, 2011 12:19 PM
Reply to this message Reply
Visiting the ALBA Synchrotron in Barcelona and speaking at the ICALEPCS conference of people who program machines like this, I was struck by how much Python is used to run these systems.

From my unscientific survey of skimming through all the posters in the poster sessions (over a hundred, I think, which made my brain hurt; it seemed to be a lot more physics than programming), it seems like over half the machines in Europe use Python as their main programming language, using Python's numerous foreign-function-call interfacing techniques to tie together things witten in other languages.

It's a testament to how far Python has come that it is being used for such large and complex machines. The computers consist of banks and banks of high-speed boards, all hooked together with fiber optics. If there was any time that someone would invoke the "Python is interpreted and therefore too slow" argument, it would be here. But it seems to work great; indeed, the productivity benefits seem to keep the software development process on time and within budget (this latter is hearsay but I'd like to know more about the time/budget issues using Python on larger projects).

For hardware control, the predominant system (again, in Europe; the US seems to use other technology) is the C++ CORBA-based open-source TANGO, which is controlled from Python via PyTango. At the conference, the TANGO team received a special award of appreciation for their work.

The user interfaces at the ALBA Synchrotron, and in a fair number of other installations but I didn't get a sense of how dominant it was, was Qt, via PyQt. I last looked at Qt a number of years ago, and at that time it seemed to be going through paroxysms of licensing issues, and trying to decide whether it was going to be a commercial product or open source. It was not only confusing but, while commercial products definitely have their place, I've been burned too many times investing time and effort in a commercial product that gets orphaned. With open source, if a project loses its momentum the people who have invested in it don't get cut off. So at the time, Qt sounded good but possibly too encumbered ... and problems like that are not unknown to be the beginning of an implosion.

Since then Qt seems to have evolved nicely and apparently cleared up a lot of its usage issues. It even apparently has UI support for at least some handheld devices, although very specific OSes like Symbian and Meego which now seem to have an uncertain future. So my inclination is to continue to focus on HTML5 technologies for UI, but it sounds like it's worth keeping an open mind about Qt.

Topic: Implementing Programming Language Tools in C# Previous Topic   Next Topic Topic: JavaScript Redux (and Closures)

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use