Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Your experience with other scientific languages?
IDLers, It is not my intention to start a troll-like discussion here. I am reading this newsgroup since a couple of years now and I really appreciate the friendly tone of this group (I followed some other groups where arrogant people argued with other arrogant people... awful). Having said this, I am wondering why we are never talking about other languages. Is it to avoid trolls like me, or because EXELIS people also read this group? (did I emphasize already how much I appreciate the reactivity of Mark and Chris on this group? ;-)) To my point: I am starting a career in academia and my future employer and colleagues don't use IDL. I could argue with my future boss and make him pay for an IDL license. But I am seriously wondering if I want to do this during my whole career (taking the risk to always be the only one using IDL), and I am thinking about leaning Python. I've been searching a bit for pro and cons, and since I am in the atmospheric sciences I came to this website for example: http://pyaos.johnny-lin.com/?p=544 Such a topical argument can last for ever, starting with the pros and cons of open-source VS commercial softwares. So I will try to limit the discussion to a couple of points: - Map Projections: pyproj relies on the state-of-the art proj.4, and can do Datum shifts (it seems). IDL's system is quite old and can't do datum shifts. - Graphics: I read in a VISualize presentation that IDL's objective was to be "better than Python" in plotting (can't find the PDF anymore). Does that mean that Python is really good at plotting? - Statistics: my feelings says that Python probably has many more tools "out-of-the-box" due to the larger community. - Easiness of use: I am a Linux user so I am not afraid of installing some packages, but I'm told that python is quite complicated in this respect. My question: did some of you have experience with python or similar languages and if yes, what was your impressions *from the IDL user perspective*? Any thoughts are appreciated! Thanks, Fabien
Re: Your experience with other scientific languages?
For some context, I use IDL as my main programming language for Earth science research (satellite and ground-based remote sensing). I have used Python a bit. Some friends (in the same field of research and so with the same basic needs) swear by it, and are able to produce maps and plots which look as nice as those I make in IDL. One of the main reasons I use IDL is that's what a lot of other people were using, and what our department's code was in when I started my doctorate (well it was mostly IDL but also a bit of Python and FORTRAN). We didn't really have a choice and I was a novice programmer so didn't want to strike out with a different language when everyone else was using IDL. When I moved to my current job it was also an IDL-rich group, so it was again easier to migrate some of my own old code, and also deal with inherited code. Python was present at both institutions (as was Matlab, incidentally, which I've never used), but it was always second fiddle to IDL. So for me the argument for sticking with IDL through the years has been ease of dealing with inherited code and not having to build up personal libraries from the ground. I also prefer the way written IDL looks to Python (I find the indenting and lack of 'closure' of indents in Python jarring to read), although expect I could train myself not to be bothered by it. I guess if I were moving to a new job where they didn't use IDL it may be tempting to start again with Python... it would solve license issues (all institutions I've been at with IDL have had limited numbers of licenses because of the cost, which can lead to a lot of frustrations having to walk around buildings and figure out who really needs it that day). In terms of Python's ease of installation, I'm told that while the language is free there's some package you can pay for which is an 'easy install' of most packages you'd use. From time to time I think of taking the plunge with Python but without a 'push' to do it, so far I haven't. I do think IDL is fairly easy, which is one attraction, and am happy with it (most of the time, see my previous threads regarding map_image, map_continents and so forth and what appears to be a lack of interest from Exelis to fix these things). Andy
On 11/11/13, 10:11 AM, Fabien wrote: > It is not my intention to start a troll-like discussion here. I am > reading this newsgroup since a couple of years now and I really > appreciate the friendly tone of this group (I followed some other groups > where arrogant people argued with other arrogant people... awful). > Having said this, I am wondering why we are never talking about other > languages. Is it to avoid trolls like me, or because EXELIS people also > read this group? (did I emphasize already how much I appreciate the > reactivity of Mark and Chris on this group? ;-)) I think we don't discuss them here is simply because this is an IDL newsgroup, though I think your discussion is still appropriate as it relates IDL to other languages. > To my point: I am starting a career in academia and my future employer > and colleagues don't use IDL. I could argue with my future boss and make > him pay for an IDL license. But I am seriously wondering if I want to do > this during my whole career (taking the risk to always be the only one > using IDL), and I am thinking about leaning Python. I've been searching > a bit for pro and cons, and since I am in the atmospheric sciences I > came to this website for example: > http://pyaos.johnny-lin.com/?p=544 > > Such a topical argument can last for ever, starting with the pros and > cons of open-source VS commercial softwares. So I will try to limit the > discussion to a couple of points: > > - Map Projections: pyproj relies on the state-of-the art proj.4, and can > do Datum shifts (it seems). IDL's system is quite old and can't do datum > shifts. > - Graphics: I read in a VISualize presentation that IDL's objective was > to be "better than Python" in plotting (can't find the PDF anymore). > Does that mean that Python is really good at plotting? > - Statistics: my feelings says that Python probably has many more tools > "out-of-the-box" due to the larger community. > - Easiness of use: I am a Linux user so I am not afraid of installing > some packages, but I'm told that python is quite complicated in this > respect. > > My question: did some of you have experience with python or similar > languages and if yes, what was your impressions *from the IDL user > perspective*? Any thoughts are appreciated! I like Python and have used it for occasional projects. Back when I was using it more frequently, it was a difficult task to collect and build all the third-party packages required to do scientific programming. I think that is mostly solved by packages such as Anaconda (store.continuum.io/cshop/anaconda). If you have to do something outside the normal realm of scientific programming, like web programming, Python gives you a lot of choices. Mike -- Michael Galloy www.michaelgalloy.com Modern IDL: A Guide to IDL Programming (http://modernidl.idldev.com) Research Mathematician Tech-X Corporation
Andy, Mike, thanks for your answers! Like you I learned to really like IDL and I am efficient enough with it, but the relatively poor map projection handling and the lack of user friendly standard statistical tools (matlab for example proposes graphical ANOVA, significance tests or histogram fitting tools) are really annoying. I will give a look at python or R and try to be able to develop in both languages in the first place. I'll let you know! Fabien On 11/11/2013 06:11 PM, Fabien wrote: > IDLers, > > It is not my intention to start a troll-like discussion here. I am > reading this newsgroup since a couple of years now and I really > appreciate the friendly tone of this group (I followed some other groups > where arrogant people argued with other arrogant people... awful). > Having said this, I am wondering why we are never talking about other > languages. Is it to avoid trolls like me, or because EXELIS people also > read this group? (did I emphasize already how much I appreciate the > reactivity of Mark and Chris on this group? ;-)) > > To my point: I am starting a career in academia and my future employer > and colleagues don't use IDL. I could argue with my future boss and make > him pay for an IDL license. But I am seriously wondering if I want to do > this during my whole career (taking the risk to always be the only one > using IDL), and I am thinking about leaning Python. I've been searching > a bit for pro and cons, and since I am in the atmospheric sciences I > came to this website for example: > http://pyaos.johnny-lin.com/?p=544 > > Such a topical argument can last for ever, starting with the pros and > cons of open-source VS commercial softwares. So I will try to limit the > discussion to a couple of points: > > - Map Projections: pyproj relies on the state-of-the art proj.4, and can > do Datum shifts (it seems). IDL's system is quite old and can't do datum > shifts. > - Graphics: I read in a VISualize presentation that IDL's objective was > to be "better than Python" in plotting (can't find the PDF anymore). > Does that mean that Python is really good at plotting? > - Statistics: my feelings says that Python probably has many more tools > "out-of-the-box" due to the larger community. > - Easiness of use: I am a Linux user so I am not afraid of installing > some packages, but I'm told that python is quite complicated in this > respect. > > My question: did some of you have experience with python or similar > languages and if yes, what was your impressions *from the IDL user > perspective*? Any thoughts are appreciated! > > Thanks, > > Fabien > >
Le lundi 11 novembre 2013 18:11:22 UTC+1, Fabien a écrit : > IDLers, > > > > It is not my intention to start a troll-like discussion here. I am > > reading this newsgroup since a couple of years now and I really > > appreciate the friendly tone of this group (I followed some other groups > > where arrogant people argued with other arrogant people... awful). > > Having said this, I am wondering why we are never talking about other > > languages. Is it to avoid trolls like me, or because EXELIS people also > > read this group? (did I emphasize already how much I appreciate the > > reactivity of Mark and Chris on this group? ;-)) > > > > To my point: I am starting a career in academia and my future employer > > and colleagues don't use IDL. I could argue with my future boss and make > > him pay for an IDL license. But I am seriously wondering if I want to do > > this during my whole career (taking the risk to always be the only one > > using IDL), and I am thinking about leaning Python. I've been searching > > a bit for pro and cons, and since I am in the atmospheric sciences I > > came to this website for example: > > http://pyaos.johnny-lin.com/?p=544 > > > > Such a topical argument can last for ever, starting with the pros and > > cons of open-source VS commercial softwares. So I will try to limit the > > discussion to a couple of points: > > > > - Map Projections: pyproj relies on the state-of-the art proj.4, and can > > do Datum shifts (it seems). IDL's system is quite old and can't do datum > > shifts. > > - Graphics: I read in a VISualize presentation that IDL's objective was > > to be "better than Python" in plotting (can't find the PDF anymore). > > Does that mean that Python is really good at plotting? > > - Statistics: my feelings says that Python probably has many more tools > > "out-of-the-box" due to the larger community. > > - Easiness of use: I am a Linux user so I am not afraid of installing > > some packages, but I'm told that python is quite complicated in this > > respect. > > > > My question: did some of you have experience with python or similar > > languages and if yes, what was your impressions *from the IDL user > > perspective*? Any thoughts are appreciated! > > > > Thanks, > > > > Fabien I am using IDL since many years (since IDL V2.0 ...) for multiple purposes in astronomy like instrumentation handling, data processing, or theoretical modeling. In rare situations, the coupling with a lower level (C like) language was needed, but always easy to perform through IDL facilities as bridges, external calling or DLM writing. Efficiency of most of the kernel functions (like FFT or HISTOGRAM) is amazing. Compactness and elegance of the IDL language (directly linked to program developing efficiency) is great. I was also occasionally looking at other similar tools, like MATLAB, Python or R, but I never found any scientific or technical rationale for finally not using IDL in those cases. The only reason for avoiding IDL might have been its licensing cost, but this kind of reasoning cannot be considered as fully satisfying from a scientific point of view (and is not relevant for MATLAB which is as much expensive as IDL). That is said in general. Regarding the topics you pointed out: - mapping: I have not enough experience in it. - graphics: the so called NG graphics functions are now very usable and full of possibilities (thanks to their object programming scheme). In spite of a somewhat frustrating and erratic introduction during the last 3 years, they offer now the abilities to easily produce plots of publishable quality and to efficiently build GUI for VM executables, without dealing with the whole widget programming subtlety. - statistics: what are you actually missing ? Maybe some functions for second order statistics. Otherwise, I think that most of the fundamental bricks for doing efficient statistical analysis are already here. You also can get some third party free libraries. - easiness of use: see above. Returning to the general question: is the costing IDL a good choice versus the free Python ? The answer depends on the way you define the scientific cost of your work. Are you using software for "small" interactive calculations of for developing "large" processing pipelines ? are you developing alone or within a collaborative team ? etc... Finally, I would say (at least it was my impression in reading many posts from this group) that a number of IDL users were disappointed in the last few years by some "IDL instabilities" (unknown in old IDL versions up to 6.4), due to several important changes, namely the introduction of Workbench and New Graphics, which took time to be made really working by EXELIS. Whence most of the questioning about "leaving IDL for Python". In addition, the present VM scheme for IDL executable distribution seems to me a bit outdated, and might no longer be appealing enough to incite users to do not use unnecessary developer licenses. But EXELIS must also sale enough licenses to maintain IDL at the good level. The economical compromise is maybe not so easy to find... alain.
Hi Alain, On 11/12/2013 03:50 PM, alx wrote: > - statistics: what are you actually missing ? I mean "high-level" tools (not in the statistical complexity, but in the programmatic sense). For example, IDL has a regress() function. If you want the T-tests and significance thresholds you have to do it yourself or you look for external libs. Writing the code by yourself is easy, I agree, plus you get to really understand what you do while doing it. But Matlab or R have built-in tools for this, with GUI (e.g.: http://www.mathworks.com/help/stats/regstats.html) The same for curve fitting: http://www.mathworks.com/products/curvefitting/index.html This is not of vital importance but such things tend to scare students who started with R or Matlab for example, and might find IDL less "user friendly" at the first sight. Fabien
> I like Python and have used it for occasional projects. Back when I was > using it more frequently, it was a difficult task to collect and build > all the third-party packages required to do scientific programming. I > think that is mostly solved by packages such as Anaconda > (store.continuum.io/cshop/anaconda). This definitely still is a major hassle in Python. Yes, Packages like Anaconda and Enthought Canopy are very helpful, but still, in any complex project I run into many missing packages, with widely varied degrees of difficulty to get installed. Particularly varied when I have to install them on several different systems, with different OS. Which is why the developers of several complex packages distribute their own Python packaging (Ureka, CASA and yt, to name a few). Leading to several different, possibly interacting, Python installations to manage. Then there is the whole mess of the Python 2-3 transition. Nearly all scientific software I come upon is still in Python 2. So I agree that "python is quite complicated in this respect." I also have suffered a lot for the lack of a Python IDE that worked as nicely for debugging as IDL's. I recently started using Spyder, which is giving me a better experience so far.