Finance, Scientific Users Get ActivePython Updates
jcasman sends along this clip from PCWorld: "ActiveState has added three open source mathematics libraries to its ActivePython Python distribution that might interest financial and scientific computing markets, the company announced Thursday. The packages are being added, in part, to anticipate the demand that may arise from new proposed rules for the US financial community brought about by the US Securities and Exchange Commission. ... In April, the government agency posted a set of proposed rules for handling asset-backed securities that called for financial firms to disclose, along with their prospectus filings, the source code of the programs that generated the filings, as rendered in Python. The government agency will be accepting input about the proposed rule until August 2. The three libraries that are being added to the ActivePython package are NumPy, SciPy, and matplotlib."
IOW fudging the numbers.. only faster and easier
For justice, we must go to Don Corleone
For about an average of half the lines of code they might use in C, scientists too can now get an average of 1/50th the performance of C with 10x the memory consumption. Hurray!
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=python3&lang2=gcc
These are great and free tools for making publication-quality plots as well as the analysis of the data.
Okay so I'm the lead Microsoft certified developer at a Fortune 500 company. I have to get this crappy software integrated with our project that is running as a Win32 application by the end of the month and so I downloaded the packages and dragged and dropped them into Microsoft Visual Studio. Then I created a VB file that basically calls SciPy.getSECReport(somedata) and nothing happens. I get some "Error Method or data member not found" even though the stuff I downloaded was unzipped and dragged right into the rest of my libraries in my WIN32 directory.
... as well as dragging and dropping the excel files onto the packages (I'm not an idiot, I've tried everything). I even went to SourceForge to find documentation on this crap and there is nothing. Nothing! Can someone help me figure this crap out? It's impossible to use, the open source nuts have made it so it isn't streamlined and integrated with Windows. I mean, I'm a pretty talented hacker (MSCD and everything) and this just goes to show how crappy open source can be.
Oh and I also tried double clicking the packages and nothing happens
Will someone please rewrite this in Visual Basic so I can do my job?
While we're on the topic, here's something that confused me about the SEC / Python idea.
Python is Turing complete, which means some Python programs may never terminate*. Has the SEC taken this into consideration in its plans to use them?
Or is the SEC planning to impose limitations such as, "These Python programs must complete within 1 hour when run on an Intel Pentiun IV 2.8 GHz with 4 GB RAM and Windows XP SP 3"?
(* Of course, real computers have finite memories, so it's actually theoretically possible to detect looping on such a computer. But at this point we get back to specifying a particular memory size I think, which kind of goes to my question about the SEC specifying the particular hardware on which the program must run.)
( a.k.a. Standard ML of New Jersey )
and use nlffi to a C library.
Yours In Pittsburgh,
Kilgore Trout
I am surprised that this question has even come up. The R language is beginning to take a a serious foothold in the statistical and financial community. Has a similar request been made of the this language? ...and as for speed..... It is very fast.
Those packages are fantastic and really 90% of what I use in python are in those packages. I have been using enthought edition python rather than active-state (many reasons), and this tips the scales a bit more toward recommending active-state to others.
FYI: Matplotlib makes 2D and 3D presentation quality plots of data (even an absurd quantity of data). Numpy and scipy provide scientific and matrix functions that pretty much cut matlab off at the knees unless you are a simulink user. Matlab is many thousands of dollars, python is free, and they are both remarkable similar, except matlab chokes on large data sets where python doesn't.
Sheldon
while you can type a python program into a computer, you can't unambiguously list it, because on paper you can't tell the difference between a space and a tab. The only way you can accurately read a python program is by using an editor that preserves tabs then counting the number of times your cursor moves as you use your arrow keys to drive the cursor over white space. Other more conventional programming languages don't suffer from this design defect.
Slash should get paid for this. These packages have always been available. Where is the news?
Now people will be getting paid to obfuscate Python code.
TFA and TFS fail to mention that SciPy, Numpy and Matplotlib have been added only to the Business, Enterprise, and OEM Editions of ActivePython. The Community Edition (the only one that's free) doesn't contain these libraries.
http://www.activestate.com/activepython
Does this mean one less reason (scientific field) to use commercial Matlab and prefer free Sage/ActionPython/NumPy/SciPy/matplotlib?
Just asking, but since Sage can offer so much functionality, I wonder if now the community gets one more extra boost.
"Sum Ergo Cogito"
Because in the time that I save writing the program in Python rather than Java, I can run my program a million times. And even if I run it a million more times, computer time is nearly free, so it does not matter. And when it really does matter, in less time than it takes to write in Java, I can rewrite the single time consuming routine in C, and exceed Java's performance.
What do you mean by "list"? You mean echo to the screen? Print it out? Something else? Are you trying to say that you can't see the indentation? Really? If you can't follow 4-space indents (the recommended amount) visually then you are unlikely to be able to read the text accurately either.
It sounds like you prefer "line noise" languages that suffer from readability problems when abused in such fashion. More power to you. But you only sound confused and backwards when you can't even express your thoughts clearly. I recommend you try Python. Its rigorous requirements may help you order your thoughts as well as your programs into precise clarity.
thoromyr
you can't unambiguously list it, because on paper you can't tell the difference between a space and a tab.
You do realize that you can use spaces instead of tabs? You just have to be consistent in the way you indent. Your comment is invalid.
but while I was programming an important app, I accidently hit the space bar just before tabbing. Since this error wasn't visible on printouts or screen views, supervision decided to switch to dot net on windows because python tarnished opensource's reputation with the company because of the idiot tab / space bug.
But you can't blame them, I mean what sort of idiot language has whitespace signify blocks of code?
You don't even have to indent consistently, Python interprets tabs strictly as 8 spaces, even if you mess up and end up mixing tabs and spaces in the same file, as long as you print tabs as 8 spaces in the output, the program can be "listed", echoed, printed, snail mailed (except on Saturday), scanned, OCR'd and run back again at another computer.
with other languages you occasionally can run into confusion with 0 and o, or 1, l or I, but with python you ADDITIONALLY have space versus tab problems. At a previous workplace, we coded a preprocessor that let us use brackets as a block delimiter to turn python into a more normal programming language, but it turned out that the language was so weak all around that we went with perl.
I think the moral of the story is that if you think whitespace is a valid block syntactical element then you're probably not much of a computer software designer and as you can see in the following links, the author is actually pretty much a loon. http://www.python.org/~guido/pics.html
Even worse is the GIL mess. AGain, guido has made a design that runs faster on a dual or multiple core system IF YOU TURN OFF ALL BUT ONE CORE. This has to be about the stupidest implementation possible.
Moral of the story, if a language author is dogmatic enough to have whitespace block symbols, you can bet that he sucks pretty bad at computers, and as the GIL mess shows, Guido does not know how to program computers in an effective manner.
we still had a stray space somewhere in a few thousand lines of a prototype that we never found, but once we encountered that mess we changed to perl because the assessment was that if the python guys couldn't get syntax right, they probably messed up lots of stuff and if you see the associated comment about the crazy GIL bug, the assessment turned out to be pretty correct.
if you want the true horror of python, check out this link: http://www.blip.tv/file/2232410
Guido van Rossum is the WORST programming language designer in the world! The GIL effectively turns modern computers into windows 1.0 era cooperative multitasking dogs. World class suckage folks!
Use Macports. Manual package management is something I try to avoid - 'sudo port install matplotlib py26-matplotlib' and all the dependencies and compiling are taken care of, not to mention the ability to cleanly uninstall if you wish. Macports recently upped to v1.9.1, which now tracks which ports you requested, so it's easy to prune away orphan libraries you no longer need.
And matplotlib is a gem. It's got a ridiculuous number of plot-styles so it's remarkably flexible - if you are into GIS, look at matplotlib-basemap, which adds many map projections and the ability to plot geo data on those.
I do wonder why people would pay for the 'special' (i.e. non-free, non-community) version of ActivePython. AFAIK, ActivePython neither develops the base libraries (matplotlib, SciPy and Numpy), nor python itself. What do they add other than as a bundling service?
I think you meant to say, "Can someone at Microsoft please re-write VBasic to work with these modules?" Yeah, it can never be Microsoft's fault.
Damping absorbs vibrations. Dampening is caused by moisture.
I had no idea python was that bad. While I didn't like the stupid tab space idiocy, I thought at least it was a relatively normal language besides that, but this is FUCKED UP! Who in their right mind would seriously consider python knowing that stuff????
Van Rossum must be a fucking retard LOLOL
at least "brainfuck" was sort of done in fun, apparently Rossum and his drooling fans think python is actually an ok system.
I hate to essentially troll, and I hate to burst your bubbles, but these math packages aren't really doing anything all that wonderanomous. The guy I learned numerical analysis from in college used to use Excel to do a lot of his numerical techniques - and used to do a lot of them on a TI-80. Numerical analysis is all about knowing a lot to write an efficient algorithm to get the answer.
I've done Q/R decomposition in VB6 (for a real honest to god client! for money!)
I'm glad these tools are around for people to use but don't think they're all that new or revolutionary. Easy is easy, and there have been many generations of Easy for N years.
Flavor of the month.
Except that NumPy will use LAPACK and BLAS for it's linear algebra making it far more efficient. Try a QR decomposition on a matrix of any significant size in VB, then do the same decomposition using LAPACK and you'll see a huge difference. As for numerical analysis being about writing efficient algorithms, sure, that's true, but why would you want to rewrite those algorithms when highly optimized versions come by default?
Disclaimer: Yes, I'm sure you could get VB to use LAPACK and BLAS but python will do it by default.
The OP is entirely correct. Python listings are brittle when you think about all the ways that they might be shared around: on HTML pages, on paper printouts, quoted inside a Word/OO document, quoted inside a LaTeX document, written in an email to a colleague, etc.
A piece of Python source code is not much better than a binary blob, when it comes to listing/communicating it to others. Whatever the merits of the language itself, the indentation business is fundamentally dumb.
You're comparing apples and cadillacs. Excel doesn't use LAPACK either, but Prof used to dig it because of it's profound recursive capabilties. I didn't write the Vb6 code from scratch - it was originally written in Fortran using LAPACK there, and for some reason the guy wanted it in VB6 (I guess so he could enter the parameters from a database using a form.) It was a simulation of some complexity and ran well enough for his purposes. The same calculations were being done, on ordinary PCs.
It's a distinction without a difference. No cool points for using lapack just to use it.
here
Hmm.
ActiveState has left a bad taste in my mouth in the past. My quick research just now may have dug up some reasons to re-evaluate them.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
if for some weird reason you can't (or don't want to) install GNU/Linux,
just go for python (x,y)
http://www.pythonxy.com/