views:

183

answers:

1

I have started learning python now and shortly we'll be employing it by writing codes and scripts to better the already existing geo-statiscal modeling software package called SGeMS. As to what I know right now regarding the project, it'll involve using the sophisticated programming and visualization capabilities built into Python. I have been using Matlab, and as of now, I find using Matlab easier to use for engineering projects because of multiple built-in functions it has. Then again, I am naive to python right now so I would like to know how python is powerful, as I have heard, for doing engineering projects. The above project that I described comes under that.

EDIT: Also, if you can explain how can I learn more and make myself stronger with regards to sophisticated programming and visualization capabilities built into Python

A: 

Matlab is fantastic for the set of functions it has - but go outside this and it may be impossible (or incredibly hard) to do what you need.

Python is (just about) as capable as Matlab for maths - once you add numpy or scipy.
But if you also need to talk to a gui, or a web service, or a GIS or CAD package then python is much easier.

Martin Beckett
-1: writing programs in Matlab is not impossbile, it's not even moderately difficult. I call in evidence, m'learned friends, the wealth of Matlab programs available across the net.
High Performance Mark
But interfacing a Matlab script to another app that doesn't have a Matlab interface is harder. It is possible to write a C library to link to Matlab but it's not trivial.
Martin Beckett
@Martin: you're right interfacing Matlab to C and Fortran is not trivial, it's about as difficult as interfacing Python to C or Fortran.
High Performance Mark
Yes but with Python there is much more chance that some code already exists, to say, read an excel file or talk to a web service - than having to write it yourself.
Martin Beckett
@Martin Beckett: If it's a common file format, Matlab likely comes with the routines built-in. There's `xlsread` to read Excel files (and `xlswrite` to write them), and here you find the documentation to interface with web services http://www.mathworks.com/help/techdoc/matlab_external/f6010.html
Jonas