-   Linux - Newbie (
-   -   getting bck into progrmming (

rklpctt 07-08-2008 04:04 PM

getting bck into progrmming
Many many years ago I used to program in C and other languages. I have since then moved into the management part of the job. Some friends and I have some ideals and now find the need to relearn programming on a linux/unix system. Managing a unix system is one thing but programming it is another. What and where would be a good start?

hob 07-08-2008 05:03 PM

It depends on what kind of programming you want to do, but dynamic languages (Python or Ruby) are a good start point. Dynamic languages are not only used for scripting and Web applications, but are also increasingly used for desktop and systems applications. Sometimes a hybrid design is used, where the performance-critical aspects of an application are implemented in C libraries, and the rest of the application is done in a dynamic language. Anaconda, Bazaar, Conduit, Hotwire, Yum, and Ubuntu's Update Manager are all Python applications.

Python is much more popular for *NIX applications than Ruby, partly because the runtime is more robust and the key libraries are arguably more mature. It is also a de-facto standard part of Linux installations because Ubuntu/Canonical and Red Hat use and depend upon it so heavily.

Having said all that, I struggled with Python and found that I like Ruby better as a language and a platform. It's also probably a much better choice for systems administrators, partly because of Puppet and Rake, and there are great projects in every other area - Shoes for desktop apps, DataMapper, Merb, JRuby etc. etc.

It's probably best to try both Python and Ruby, and go with whichever one feels most comfortable to you.

trickykid 07-08-2008 05:12 PM

I know my way with Perl, not an expert but have since picked up learning Python. It's a good start and I'd recommend it myself. But really, pick a few, read over how each has their pros and cons, start with one, if you don't like it or can't get a hang of it, try the other.

jiml8 07-08-2008 05:26 PM

Among Linux languages, I program perl, php, C++, and C. I am dabbling a bit with python, but haven't seriously undertaken a project with it yet.

Speaking just for myself, I will use php instead of perl just about any day. And, I'll usually go with C in preference to any of the others, unless there is something that particularly compels either php or perl.

To run php from the command line, just make sure the command line interpreter is installed, and start your script with #!/usr/bin/php (or whatever the path is).

kenoshi 07-08-2008 08:35 PM

Really depends...Majority of system programming is still done in C/C++, something I use time to time when I don't feel like waiting for a fix. I routinely use perl and shells scripts for system management and automation, as well as java for servlets/jsp...some php but honestly not a big fan of it.

chrism01 07-08-2008 08:46 PM

For system managment/automation, I agree shell for short/simple stuff, Perl for more complex/longer/critical stuff (better error handling).
There's even a book 'Perl for System Administration' from O'Reilly.

jailbait 07-08-2008 11:03 PM

What language(s) are being used in your shop? I would think that you would start with learning the same language that the programmers in your shop are using.

Steve Stites

All times are GMT -5. The time now is 09:00 PM.