Beginning Programming, What Language To Use For Linux
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
That really depends, on what you want to do. For general programming C is best. for text scan perl is the best. for ultimate control (and millions of problems) use assambler(not recomanded for newbies)
The only language that I understand relatively "well", again, relatively, since I'm not very good at it either, is C++. Been coding on it (or trying to...) for years now. I've done some Win programming, console programming, gtk programming, DirectX programming and a lot of OpenGL programming with C++. It's difficult, it can get tough sometimes. It has a lot of books, tutorials, forums and IRC channels available about it. I've not coded anything in C++ for about 8 months now and I decided to learn Java. It's just as difficult. Somethings are easier (Graphical Interfaces, since it's inbuilt in Java/Swing) other harder (way too much OO for a newcomer). I've tried Python, only for a week. I got really impressed with the amazing things it could be done with it. The syntax is very friendly for newcomers. I could write a small program using graphical interface with it (gtk API I think). A little more of work and I've found even a OpenGL/SDL extension for Python, called Pygame. Feels lines and I got the a SDL program up and running. Meaning that if I knew nothing about C, I could still program great 3D applications with an easy to maintain language. Unfortunately, I've been working and studying at the same time too much. Plus I've family. Meaning that I don't have so much time to do things outside of my schedule. But you bet I will give Python a better look when I have some spare time .
There aren't a whole lot of great IDE's out there for linux because most people who program linux software don't use IDE's. The fact is there is a great compiler (gcc), a great debugger (gdb), and a billion great text editors. If you want to give python a try (I have been messing with it for about 5 days now and I am liking it so far) you can use the pdb debugger module. If you want to do visual apps in something like Qt you can pull up Qt designer to visually layout windows, I am sure there are tools like that for GTK as well.
I am not sure what else there could be to want. I personally hate things that pop up bubbles or try and complete my text for me, they annoy me. Most of the windows IDE's contain really crappy text editors with terrible feature sets and terrible short cut keys (why should you need a mouse to write code?).
I guess I would rather use a few separate programs that work perfectly then be forced into using a IDE app that almost always falls short in at least one respect.
There are lots of programming languages that you should look at. Python might be first. Also look at Perl. The AWK tool is really nifty for working with text files. PHP's a fine web-language and useful too for scripting. When you get into programming proper, C and C++ are de facto, with both Qt and Glade available for designing GUIs quickly.
And there are a couple three dozen other tools at your beck and call too.
Truth is, when you step into Linux you step into the real world of computer programming, where there is not "just one way" and "just one vendor," and nobody's got the crass to even begin to suggest otherwise. It's quite refreshing, really.
Originally posted by sergeantroach I say stay away from C, its not OOP. I'm all for OOP. Then again if you learn C++, you pretty much know C!
I don't know if I would agree with that. I started learning C++ first, and when I got to even basic C funtions, I automatically had to default to more tedious C++ ways of doing things. They seem easier at first, but the point I'm making is that it is not "learn C++, know C" it is "learn C++, learn C." Though most of the syntax is the same, that's the way it is for a lot of C-styled languages including Perl and Java, though some would argue that Java is entirely original.
As for starting out, the poster said he was fairly proficient with VC++, so I would assume that C or C++ would be ideal for tinkering with Linux. Python, on the other hand, I haven't worked with, and if I had, I might recommend otherwise from all the positive attributes it has been given by afficionados. When I get around to learning it, I'll tell you if it is better or not than C. As for now, I hear the main fault being not as versatile as C, the same problem given to VB. Who knows until you've tried it out.