Welcome to the most active Linux Forum on the web.
Go Back > Forums > Non-*NIX Forums > Programming
User Name
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.


  Search this Thread
Old 12-20-2006, 08:46 AM   #1
Robert Diggs
Registered: Dec 2006
Location: Florida
Distribution: The ones that come in magazines and books.
Posts: 136

Rep: Reputation: 15
Question for programmers/occasional programmers


I just wanted to know what languages you guys learned first, what were the first programs that you programmed and what your overall experience was?

I'm looking to get into programming and just wanted to give myself a direction and an idea of what I'm getting into. Your input is greatly appreciated.


Old 12-20-2006, 09:07 AM   #2
Registered: Mar 2003
Location: North Carolina
Distribution: Gentoo
Posts: 168

Rep: Reputation: 30
I'm not really a programmer, but I've written quite a few scripts. I guess you could call them little single task programs...heh

Anyway, the first scripting/programming I learned was bash scripting. I started out reading the Advanced Bash Scripting guide:

And went from there. It may not be the best for an absolute beginner, but I believe there's a book Linux Shell Scripting in 24 hours or something close to that. That might be a better place to start, depending on how familiar you are with variables, if statements, and that sort of thing.

From there I learned VBScript, because I was admining a lot of Windows crap. Recently I've started learning Ruby which is a really great language to start with in my opinion. In my new job I needed to write some Perl utilities for ldap and db maintenance and I found that learning the concepts of Ruby helped in learning Perl. Even though Perls very different in some ways, there's a bunch of similarities.

I think Python will be the next thing I'll try.

That's my 2 cents anyway.
Old 12-20-2006, 09:30 AM   #3
Registered: Sep 2006
Distribution: Windows .. MUAHAHAHA
Posts: 66

Rep: Reputation: 15
I recommend you learn Java (for object oriented programming) and C first ..
I definitely suggest learning object oriented techniques and methodoliges, I would not learn scripting first as it has a different syntax and might confuse you a bit when you start with full languages. I find it is easier to go from programming languages to script rather than vice versa. Although Perl is a good language to use as a transition language as it is a scripting language but it is very similar to C and can also use objects (Perl is also fairly similar to PHP).

good luck .. and remember to understand .. dont memorize
Old 12-20-2006, 12:47 PM   #4
Registered: Apr 2002
Location: in a fallen world
Distribution: slackware by choice, others too :} ... android.
Posts: 23,066
Blog Entries: 11

Rep: Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910
Moved: This thread is more suitable in <Programming> and has been moved accordingly to help your thread/question get the exposure it deserves.
Old 12-20-2006, 09:21 PM   #5
LQ Newbie
Registered: Nov 2006
Distribution: gentoo
Posts: 2

Rep: Reputation: 0
If your running linux then learn bash,sed and awk. Their what tie your linux system togather. If your your interested in customizing your system then youll do it in bash. These progs, particularly sed and awk will introduce you to regular expressions which are used pretty much the same form in all languages.

The syntex of bash is the same as what youll start with in perl, python, php and ruby.

Last edited by hvc2; 12-20-2006 at 09:38 PM.
Old 12-21-2006, 04:44 AM   #6
Senior Member
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
The first langauge I learnt was Basic on an old black box from Research Machines and a tape recorder. I forget what the first program was but I do remember spending quite a lot of time writing a program to simulate a fruit machine, three lemon and the payout was in virtual pennies.

What language should you start with? I honestly don't think that it matters, but once you are comfortable with one language start a different language. For example C is a procedural language so if you were to start with that then select an OO (Ruby, C++, Java) or a scripting (bash, Perl) language next.

The most important thing is to enjoy programming.
Old 12-21-2006, 05:36 PM   #7
Registered: Apr 2002
Location: in a fallen world
Distribution: slackware by choice, others too :} ... android.
Posts: 23,066
Blog Entries: 11

Rep: Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910Reputation: 910
I must say that I found the step from procedural to OO paradigm quite
hard, and sometimes wish I had done OO first ;} ... procedural to me
comes much more naturally ...

Old 12-21-2006, 05:58 PM   #8
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
Originally Posted by Robert Diggs
I just wanted to know what languages you guys learned first, what were the first programs that you programmed and what your overall experience was?
First I did Visual Basic, and actually wrote a couple apps for my High School using it. If they haven't been replaced yet, they're sorely in need of it now (that was VB6, some six years ago). Then I learned C++, also in high school. Purdue taught me Java, which I disdained (still do, actually) although that opinion is probably partly a product of the environment. I used to hate Unix too, until I started learning Slackware. Then I learned C at Purdue, which was tremendously fascinating, and the big project that came out of that was a Unix-style shell.

In the intervening three or four years since then, I've learned lots of languages (Perl, Python, Ruby are the ones I use most), but then again, I'm a language guy. The ideas behind the languages are my primary computing science interest. That has lead me to more theoretical languages, and now I'm focused on functional ones: Standard ML, OCaml, Haskell, Scheme, Lisp, Erlang. Started Lisp first, learning from Emacs, but Haskell got me into the ML family and style.

I prefer the ML stuff to the Lispy stuff, partly because I can't negotiate the differences in CL implementations yet, and partly because I prefer the typing system found in ML languages. PLT Scheme is really nice environment, though; I've actually done a few projects for class in there (one of my professor's is a great guy who'll let you use whatever language you want for some of his projects -- that's fantastic for a guy like me who loves to dabble in everything).

Right now I'm using FPL for whatever I can, and I think that for most of the stuff I do, functional languages work best for my mindset. But if you're starting out in programming, in general, it's not where you start that counts. The bottom line is to generalize what you're learning so you can apply it to any language. Learning a lot of languages helps you do this, so you can sit back and go, "Aha! So list comprehensions work like this in Haskell, that's similar to this idea from Python!" or whatever. Then you'll be good at programming in general, and can apply what you know to any language, old or new.

And as far as applications go, you can pretty much write anything in any language, provided you're willing to put enough effort into it. Yes, text processing is easier in Perl than in C. But bit twiddling is easier in C. Concurrency is a snap in Erlang, but most people will find Java more useful. Database connectivity is easier in Java than in Erlang. GUI toolkits are available for almost any language. The best way to get started, IMHO, is to try to write the same thing in every language you know. How do you implement a binary tree in C++? How do you do it in Standard ML? Understanding the similarities and differences makes a very informed programmer, even if you never end up using SML in your work. The fact that you're stretching your mind to solve problems in different ways is what counts.
Old 12-23-2006, 10:19 AM   #9
Caesar Tjalbo
Registered: Aug 2006
Location: Ņuņoa
Distribution: Aptosid
Posts: 93

Rep: Reputation: 16
Basic, Pascal, C, C++, Cobol, C# and a few specialized languages in between. I can agree with taylor_venable: it's not so much about a specific language but about the concepts; many are shared by other languages.

I can relate to Tinkster's remark too: I found it difficult to grasp OOP with only procedural experience. I'm not sure if it's better to start with OO because I think making simple programs with some variable juggling and simple control of flow is easier done in a procedural way. Procedural comes more natural to me too.

I'm currently learning Python. Knowing both OO and procedural approaches is very handy: I write my Python shell scripts mostly in a procedural way and GUI apps OO.

My favorite program to start with in a new language is Tic Tac Toe
And usually more than once: first to learn the language and know how to program a GUI on a very elementary level, after a while again to try a different approach to the logic and with a more elaborate GUI. The amount of work and knowledge required is fairly small while I do get to see a lot of basic language elements and get a feel for the syntax.
Old 12-23-2006, 08:55 PM   #10
LQ Guru
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 7,183

Rep: Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212Reputation: 2212
It's good to be "a languages guy" (or gal).

Programming languages are a basic tool of your trade, and all of them have the same purpose but not the same approach. The differences in approach are extremely informative.

(Hewlett-Packard 2000 Access Basic. Eight lines long. Took three months to write it using only a pocket-reference card. It (the program...) had a bug in it.)


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Question for programmers Ha1f General 17 02-02-2006 02:48 PM
Question for programmers who use Vi(m) lowpro2k3 Programming 3 03-25-2005 07:56 PM
Question for KDE programmers irfanhab Programming 2 08-23-2004 03:12 PM
Question to programmers of Linux Falelorn Programming 8 06-29-2004 07:30 PM
Question on programmERS, not programING MasterC Programming 5 09-01-2002 05:13 AM

All times are GMT -5. The time now is 12:39 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration