You are not logged in.

#1 2007-04-21 05:37:10

pecan
Member
Registered: 2007-04-06
Posts: 93

Advice for a beginner

I have very little programming experience, I can use Basic, and I played with C++ a bit. The thing is, ever since I moved to Linux my experiences with programming have been pretty bad. I tried to use eclipse for some C++ but I honestly know nothing, and couldn't get my simple applications to run like i would on windows. Now I want to start from scratch, can anyone suggest a language that is good for mathematics and I wouldn't mind maybe eventually working up to some audio stuff. I was thinking C++ but if I choose that whats a good IDE?

Offline

#2 2007-04-21 07:03:08

junglepeanut
Member
From: California
Registered: 2007-01-24
Posts: 145
Website

Re: Advice for a beginner

For math, Fortran then Python or C/C++ (if simple I say python or maxima)

Python sounds best as it will be a good easy scripting language to start for math and audio stuff.

If heavy math definitely Fortran or C unless you have to have objects and don't want to use more than one language (rare).

Just my opinion.

Web guys seem to be big fans of RoR.

Offline

#3 2007-04-21 13:39:02

equadon
Member
Registered: 2007-04-12
Posts: 25

Re: Advice for a beginner

C++ will be a great choice. It has plenty of libraries and many communities. If you plan to develop GUI applications along with your math stuff, check out Qt as it's very nice to work with. Some resources regarding C++ that you might want to check out are www.cplusplus.com and Bruce Eckel's free ebook, "Thinking in C++". Also, Qt has a bunch of great tutorials on their site if you want to start GUI programming.

The reason I suggested Qt is because the best IDE for C++ is KDevelop, which is nicely integrated in KDE and Qt. I have tried many IDE's before, such as Anjuta, Eclipse, OpenLDev, Code::Blocks, normal text editors, and a few other. However, none of these are even close to be as good as KDevelop.

Offline

#4 2007-04-21 15:23:06

pjeremy
Member
Registered: 2007-04-03
Posts: 66

Re: Advice for a beginner

J, C++, Matlab, Fortran, Haskell

Offline

#5 2007-04-21 16:15:04

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Advice for a beginner

For math, Haskell and Octave are good. For application programming I use Python and C/C++ (I prefer C for its cleanliness, however, I'm a huge OOP nut so I end up using C++ and trying not to explode).

Before using *nix I always used IDE's. I now hate IDE's with a passion. What I use to program is Pallavi (gVim and Kate also work really well) and to compile I use SCons. If you are not familiar with SCons, it's a build system written in Python that is _MUCH_ easier to use than Makefiles (IMHO). Google it. BTW: SCons is platform-independent due to its being written in python (it will even use proper prefices and suffices on your object files based on what platform you are running)

Whenever you learn the tools that a *nix environment provides, you'll start to despise programming on Windows. One tool that is especially nice is pkg-config. SCons can work with pkg-config like so: http://www.scons.org/faq.php#SS_4_4

Offline

#6 2007-04-22 03:07:05

mosor
Member
Registered: 2007-04-02
Posts: 22

Re: Advice for a beginner

I recommend Python, it's a perfect all round language you'll never be sorry for learning. It's rather easy for those new to programming, but in proper hands can be tremendously powerfull.

I use it for GUI programming in wxPython (Windows and Linux), and I've done some rather complicated stuff with it, web programming (Pylons) instead of PHP, system maintenance tasks instead of shell/Perl, math/computational stuff with SciPy/Matplotlib, it has a _great_ shell (IPython) for interactive work/debugging and great SQL wrapper (SQLAlchemy).
Those are just some of the Python librarires/tools I use, and there are, of course many more.

In my opinion, if you must learn just one language - learn Python. If you can go for two, do C + Python, and you do anything smile.

Last edited by mosor (2007-04-22 03:07:22)

Offline

Board footer

Powered by FluxBB