Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some problems in my hand and would like to resolve them by myself (rather than hiring some professional, obviously due to cash problem!):

  1. build a really good website (planning to set-up my own start-up).
  2. build some good software (preferrably with exe installation files) on many mathematical and statistical techniques.

To accomplish those tasks, is it worth to learn Python in advance level? I have advanced programming experiences with R and Matlab and VBA (and some sort of C), however not anything on Python.

Be very grateful if experts put some guidance here.

Thanks for your time.

share|improve this question

closed as off-topic by user16764, gnat, Florian Margaine, Bart van Ingen Schenau, GlenH7 Oct 25 '13 at 11:25

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – user16764, gnat, Florian Margaine, Bart van Ingen Schenau, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

Why Python and not Java, or C# or boo or Ruby or... – Oded Oct 22 '11 at 19:09
I don't think you provide nearly enough information to know if it is worth it to learn Python. I mean "a really good website" could mean just about anything, from Google to Youtube to, etc. Also, "really good software...on many mathematical and statistical techniques" could mean quite a bit, too. Such programs already exist of course. I just think your description leaves a lot of options open, so it's hard to answer it with any certainty. – Chelonian Oct 23 '11 at 0:56

Well, although Python is popular here, there and everywhere you don't actually need it but build a website. As far as (2.) goes, if you already know MATLAB and are experienced in it, I see no advantages of going down the Python path for that. MATLAB is more than a capable software package for that purpose. You can build .exe files with it as well.

However, if you really wish to start learning Python, this might be a good place to check out: Learning Python the Hard Way (although there is really a mass of other tutorials as well. Just try searching on this site alone for "python tutorial" or "python book").

share|improve this answer
As far as the Matlab is concerend to build exe file, I need to have Matlab compiler (ref: '…). To be frank, I personally do not have any license of Matlab compiler, neither the Matlab itself (I use Matlab in my University lab.) I hope as Python is free, there would not be any requirement to buy something like that (please correct me if I am wrong.) Thanks, – Christofer Bogaso Oct 23 '11 at 4:00
@ChristoferBogaso - No, I believe you are right. You do need the mat.compiler, and of course matlab license. I don't know how things stand nowadays (our sysadmin was in charge of that), but they did offer at one time a student version of matlab, greatly reduced price-wise. Matlab's free alternative is Octave. – Rook Oct 23 '11 at 4:54
@Idigas: While MATLAB is good at mathematical calculations, Python does offer similar capabilities (through the NumPy, SciPy and Matplotlib packages), and is definitely better at more general computing tasks (like extracting information from web pages, from text files, manipulating complex data structures, graphical user interfaces, etc.). So, it does make sense to go beyond MATLAB if one is interested in a little more than pure mathematical calculations. – EOL Oct 23 '11 at 8:18
@EOL - (Oh, why does it always have to be Idigas; it's Ldigas <- why can't sometimes somebody err in the right direction) Agree. But for what he is interested in; (not general computing); MATLAB is a more adequate package. Python is better in general, let's say, but for this specifically MATLAB is better prepared, from an IDE to plot quality, to a representation in the industry. Books in non cs fields of engineering are plentiful with matlab examples; python - not so much. – Rook Oct 23 '11 at 12:43
@ldigas: OK, I'll trust you on this. :) – EOL Oct 23 '11 at 13:59

Building a good website isn't just about knowing python. You need css, html and JavaScript skills to make it really good. There is also significant skill in ux design that isn't related to any language.

While all of these things are nice to have they will take time to learn. Its your call if paying someone else is worth it, we don't really have enough info to make the call. If its not a skill you would need going forward then pay somone else to do it

If your doing mathmatical/statistical programs then you can't really beat R, the whole language was designed with that in mind. You might want to learn a little C# or similar to make a nice GUI wrapper. That really depends on how much your clients value looks though. Don't switch from R for the guts.

share|improve this answer
"If your doing mathmatical/statistical programs then you can't really beat R" I completely agree with this. However my plan is that, I build exe using Python and call R and C++ within Python to do hardcore mathematical calculations. Ofcourse many other entry level calculations will be done within Python itself. Hope this makes sense. – Christofer Bogaso Oct 23 '11 at 4:05
@TomSquires: I would argue that using Python is more productive than using R, for mathematical/statistical calculations: (1) the rpy package gives access to R functions; (2) Python is arguably more general, expressive and easy to use. – EOL Oct 23 '11 at 8:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.