PDA

View Full Version : How did you learn to program


Pages : 1 [2] 3

HokeyFry
March 9th, 2006, 11:06 PM
I first started to seriously learn to program about two years ago when I was in tenth grade. A few years before that I dabbled a bit in Liberty Basic (Windows only I believe) and thought it was okay. The book wasn't well written and it was confusing. When I finished the book I decided to learn HTML. Then in 10th grade I took a TRUE Basic class (again, Windows only) and had a great teacher. I re-learned some things and learned several brand new things. After that semester was over, I took a C++ class, which was even better than BASIC class, despite the fact we learned using AP headers. Yuck. Now this year (11th grade) I am taking an AP Java class and have learned several things. Also, during tenth grade, I took up Python and made a game for my government class. In my somewhat limited field of view for langages, I would recommend C++. Python was nice, and graphical stuff is definitely easier with it, but C++ is more powerful, and to me, is an easier language. If you are just starting out, try learning one of the many forms of basic. It will help you to learn some programming concepts. Then find another language that is right for you. I would recommend Python or C++. If you want to take up Java, first learn a language that introduces you to Object Oriented Programming (OOP), as Java uses nothing but Objects. Okay I see I've began to ramble, but I hope that this can help anyone who reads this.

xbaez
March 10th, 2006, 01:06 AM
WOW
I knew HTML since I was 16, and knew how to install CGi scripts and JavaScript scripts on my site, so I sort of understood a few about those scripts, but I couldn't program anything myself.

I bought a small PHP book (around 60 pages maybe) when I was 23, and WOW, I now how to program in the following languages now:
java, javascript, php, mysql, bash, c++ (basic)
I know a bit about Visual Basic, Perl and about python I just know it's a very popular language in linux

so are you 11 now ?
WOW, take advantage of that when by 18 you'll be a master in programming man!

Basu
March 16th, 2006, 06:24 AM
Hey guys, I just put up a big general post on how to learn programming on my blog (http://basu715.weblogs.us/archives/145) Go take a look if you like.

pchr
March 21st, 2006, 05:49 PM
Here's my programming life story :-)

I started programming in my early teens, programming with ZX81 and then ZX Spectrum Basic mainly typing out games from magazines and then making changes to them, then at High school BBC Basic, then at College Pascal.

I guess Pascal was the first real programming language i ever used, The first one with out Goto's everywhere anyway. One of the best things about learning in a formal way like at school is learning Queue's and Stacks and things like that, I remember thinking it was pretty impressive at the time.

At university I kinda lost interest but was taught Modula 2 (A language very much like pascal) and C. Mostly on Mac computers. Did some stuff about the theory behind functional languages, a lot of stuff about different Heap structures and a bit about compilers.

After a fairly miserable result at University I did a course in C during which I suddenly got the knack of it, it was a fairly intensive course, like 9 to 5, 5 days a week for two months, but I really fell in love with C.

I then got a job programming in . . .

BBC Basic. Can you believe it! Around 10 years ago there was this company in Norfolk, UK that sold a system for doctors to keep track of their patients and it was all written in BBC Basic accessing flat files and ran on an emulator on a PC which was running some multi user version of dos. They had something like 200 customers around the country.

After that I joined another company that provided IT services. That means if it had something to do with computers and there was money in it we'd do it! This involved a lot of MS Access databases, and also Delphi, VB, ASP and VB.net front ends for SQL Server databases.

Various things happened with the company and for the last couple of years apart from occasional html/css/java script web sites I haven't done a lot of programming, although that looks like I might get a chunk of Delphi coding to do soon - If I can remember how :-)

Actually it was realising how badly MS had screwed up the web and made my life difficult with there appalling CSS support that made me install Linux at the beginning of this year.

Now that I've got Ubuntu I'm looking into programming in C#, just to get into the swing of things. I've got "Programming C#" and "Mono a developer's notebook", (both O'Reilly) I thought C# might be a good transition language, as I've already got C experience and a bit of .net experience and if I have to do any more .net programming at work I'd rather do it in c# than vb.net.

I'm thinking that when I've played with c# a bit that I'll probably go back to C, I used to love reducing bits of code to a single line of *p++ type stuff. (Geez I can hardly remember what that means, but it'll all come back)

After all that I'm not sure what advice to give to someone who wants to start programming! Probably get a good book on C - any of the ones recommended in this thread - and go through it methodically. If you want to get a job programming, then SQL skills also pay the bills, if you're doing database stuff then SQL's the same more or less whatever you're programming your GUI in.

This world of Open Source is pretty exciting (though I've yet to get involved myself) - if there's an app you really like then possibly just pick whatever language that's implemented in, learn that, and then join in. Finding a puzzle you want to solve is a good way to start.

After that massive ramble here's an even more OFF TOPIC ramble:

My biggest problem at the moment - and I welcome any advice - is I'm finding it hard to focus on anything specific. There are just so many things to do and just so little free time to do them in.

Just computer related I'm interested in:
Learning Gimp
Learning Inkscape
Programming with C# and then a more Linuxcentric language like C, C++ or python (which I've never touched but seems to be popular here)
CSS (Ever since I got the book of The Zen CSS Garden I've been excited by this, although not so excited by the hacks you have to go through to get IE6 to render properly)
Administration of and using the whole LAMP thing.
Administration of and using Linux Mail servers
Linux networking and getting Linux and Windows to play nice.

All that stuff I want to learn about plus becoming a better photographer and my day to day surfing, and keeping the missus happy I'm finding I'm not getting anything done!

Has anyone else here felt a bit swamped with things to learn when joining the Linux community, in which case, what did you do about it?

StrikeRTM
March 22nd, 2006, 06:50 AM
I started with PHP, CSS and XHTML. I tried doing some javascripting, but the language didn't look too pretty so I just dropped it.

I know the basic concepts of C\C++, but I do not realy understand the gui + code things and I realy hate the IDE's...any kind of, because they have they're own specific things that force to continue to use the same IDE even if I find a better one, becides the IDE's look like a nightmare to me after the simple PHP\CSS\XHTML notepad stuff.

I've tried Python, but can't get my head around some things, again I do not understand nor see where Python excells with it's GUI things or how a game(simple game?) can be made by using it. Ether the manual doesnt have any information about it or I just dont see something that I should be seeing in it.

(I'd realy aprecciate if someone(anyone) could give a PM of couple of links where I could find good manuals about the gui specific python things, thanks)

caffinide
March 22nd, 2006, 11:08 PM
Python is probably the best language to start off with. It gives you a fabulous foundation to start off with and teaches you good habits as well.

Yea, its what my school teaches first.

rplantz
March 23rd, 2006, 12:50 AM
Not that I have much experience but, if I could turn back in time and chose where to begin, i'd start with something that's really low-level, since that gives you a better understanding of what the machine really does, instead of the abstractions that a high-level language implies. I personally started high-level, and in my "way down" i became aware of many misconceptions I had...I've also read that learning very low-level programming (like assembly) improves also your capacity to generate efficient code on high-level ones...

This is the way I started. Took a class in logic circuit design and another in FORTRAN when I was a senior in electrical engineering at Berkeley in 1961. I used FORTRAN in my first job -- designing a component of the guidance system for the Gemini space capsule.

For the next 20 years almost all my coding was done in assembly language, with a bit of FORTRAN and several in-house languages. I used FOCUS (a BASIC-like language from DEC) during grad school.

I then became a CS professor at a university and had to learn Pascal. In my 20-year academic career, I've taught most of the core undergraduate courses in Pascal, C, and C++. Of all the jobs I've had, teaching was, by far, the most difficult.

I don't think we know very much about how to teach programming. I learned electrical engineering by starting with the basics -- math and physics. I didn't really design anything until I finished college. Yet we teach programming from the top down. I'm not convinced that this is the best way.

I'm retired now, but I continue learning new things because I enjoy it. I'm pretty good at the basics, so I can pick up new languages fairly easy.

As for starting with a language that teaches you a good style, I haven't seen it work that way. I found that trying to teach good style was very difficult, but it didn't seem to depend upon the programming language.

I've received compliments on my programming style. I think my style has evolved from reading a lot of other people's code. A blank sheet of paper is the most difficult thing to start with, but it's pretty easy to critique someone else's work. I tried to learn from what I saw. If it was difficult to read or didn't work very well, I thought a lot about how I could improve it. And I spent a lot of time discussing designs with other people.

Ob1
March 23rd, 2006, 11:50 PM
i just got intrested so i learned C, C++, Python and some others. I've just develoed some games and some simple programs, still just a hoby nothing seroius.

quik77
March 24th, 2006, 04:15 PM
I get interested every once in awhile in programming

Earliest experience... LOGO on Apple IIe's lol seriously I never thought about it until years later but that is what it was. that was in 1st or second grade...

After that next was 2 years of c++ in High school (computers with no net access and no programming references made that annoying as hell... that class we all played minesweeper all day and programmed at home), also in high school, Visual Basic and stamp/machine Basic (I was in the FIRST robotics program Team 116) the robotics starter kit came with a small onboard computer that you programmed in that.... we made it use a steering wheel and throttle.
After that I went to school as an IT major at RIT, 3 quarters of java, random smatterings of html, action script, php, perl, JavaScript, half the programs were brand new at the time and I had both good and bad professors so my knowledge has huge gaping holes in places.

I had heard about python but have never used it. Currently I am running a couple webased apps in PHP and Ruby at my job.

Mainly now I'm more interested in learning enough to be able to just add features I want to something and change the design of things I need to use so I can use them without making my eyes bleed (Max OSX at work was only Win XP at home starting to use Unbuntu at home dual boot)

RavenOfOdin
April 16th, 2006, 07:38 PM
I myself learned through application of the old adage "Reading too many books is almost enough." -- 8 years of reading up on and practicing with C/C++ has done for me what I don't think any class could. I've tried other languages such as ASM, HTML/PHP (for you web scripting folks out there) and even Visual Basic for a month or two.

Six years ago in Michigan I was approached with the idea of developing MFC skills by one of my friends, I took my impression of VB as well as other things I was beginning to figure out, and shot that idea down.

My choice was somewhat prophetic, since I ended up working on Linux servers about five months later for a family friend, at his office. I left him on good terms, except I didn't like being paid in cookies every second week.

Then oh boy, it slid downhill quick. There was this guy who worked as a criminal attorney, who my Mom was doing a case for, and would have been representing himself in court if he didn't watch it. He wanted me to . . .let's just say. . .change his credit rating. :D :D

Needless to say, that was the end of my experiences with "family friends."

Here and there, I attended classes on networking and information security at local colleges. One instructor who I still remember would every so often talk with me about 64 bit computers. I studied Windows 2000 networking with him for a short while, and then left town.

I don't think I'd ever code in C#. I have reservations about a language which is like a mixture with Java, being made from a language which has resemblances to Java, when the amount of Java coders was and/or is sorely lacking. Besides which, I'm concentrating on being the best possible in one thing.

auroraborealis
April 19th, 2006, 10:56 AM
Just this semester I learned:

Java + JDBC, SQL, Perl

to add to my list of

C, C++, PPC & XScale assembly, nesC, Verilog, LaTeX & HTML (do these count?)

I really like Java. I can't believe there's such a bad rep about it. It takes care of a lot of the nitty gritty things you need to do in C (strings, threads, sockets), and debugging is a lot easier. Eclipse is so nice: grab the most recent files from subversion w/ Subclipse plugin, code for a bit, do some testing, commit. The auto-build feature is nice because it corrects your code as you type and suggests ways to correct the errors!

RavenOfOdin
April 19th, 2006, 05:31 PM
Just this semester I learned:

Java + JDBC, SQL, Perl

to add to my list of

C, C++, PPC & XScale assembly, nesC, Verilog, LaTeX & HTML (do these count?)

I really like Java. I can't believe there's such a bad rep about it. It takes care of a lot of the nitty gritty things you need to do in C (strings, threads, sockets), and debugging is a lot easier. Eclipse is so nice: grab the most recent files from subversion w/ Subclipse plugin, code for a bit, do some testing, commit. The auto-build feature is nice because it corrects your code as you type and suggests ways to correct the errors!

I don't really think you "need to" use threads/multi-threading in C/C++. Its a lot better without, in my experience.

And as to whether or not HTML "counts", I'd have to say no.
A baby could learn HTML. :p

Question. . .what is Verilog?

unbuntu
April 19th, 2006, 05:56 PM
Question. . .what is Verilog?
Verilog is a hardware definition language used in designing logic circuits and simulation and stuff...



I really like Java. I can't believe there's such a bad rep about it.

As a language, Java is very nice: completely OO, unified API, takes care of little things, that makes programmers' lives a lot easier. However, I sensed that a lot of people who call themselves "hackers" don't like Java, because it's development is completely owned by a huge company - Sun Microsystems, and in their eyes it's just as bad as Microsoft...

elamericano
April 19th, 2006, 07:58 PM
"The C Programming Language" by Khernigan and Ritchie

It's a small, authoritative book on the most useful programming language you'll ever learn. If you move on to more advanced C or C++ you can use what you've learned.

RavenOfOdin
April 19th, 2006, 10:42 PM
However, I sensed that a lot of people who call themselves "hackers" don't like Java, because it's development is completely owned by a huge company - Sun Microsystems, and in their eyes it's just as bad as Microsoft...

Of course it wouldn't truly make them "hackers" to dislike Sun. The closest it would make them is anti-capitalist anarchists. I know we have a few of THOSE around the forums too (Lol) who would probably agree.

Never mind of course that Sun got their start from a few hackers.
As did Microsoft.

Maybe they just don't care for sell outs. Who the hell knows. *shrug*

"The C Programming Language" by Khernigan and Ritchie

It's a small, authoritative book on the most useful programming language you'll ever learn. If you move on to more advanced C or C++ you can use what you've learned.

The Sams books are good too in my opinion.

ChrisNTR
April 20th, 2006, 02:57 PM
Another similar questions, what's the best way to learn a programming language? I learn Java and SQL at university at the moment but I would like to get more into C/C++ and Python. Next year (my final year) I'm learning Python but I never get to learn about C or C++ at uni..

unbuntu
April 20th, 2006, 03:35 PM
Another similar questions, what's the best way to learn a programming language? I learn Java and SQL at university at the moment but I would like to get more into C/C++ and Python. Next year (my final year) I'm learning Python but I never get to learn about C or C++ at uni..

Python is taught in the second year here at Toronto. I self-learned Python before I learned it in school, and I found Dive into Python extremely helpful.

ChrisNTR
April 20th, 2006, 03:56 PM
I think we're only going to be learning python with Network Admin, I'm not too sure to be honest but I think it's writing shell scripts etc.

I've had a look at a few C++ websites and C sites but it's all learning the basics - loops, if, where and so on, nothing really much more. I just find it hard to learn it properly... Maybe I should try getting a few books out but I can see them being similar :(

unbuntu
April 20th, 2006, 04:15 PM
I think we're only going to be learning python with Network Admin, I'm not too sure to be honest but I think it's writing shell scripts etc.

I've had a look at a few C++ websites and C sites but it's all learning the basics - loops, if, where and so on, nothing really much more. I just find it hard to learn it properly... Maybe I should try getting a few books out but I can see them being similar :(

Our school teaches C as a tool for UNIX system programming. Is that what you mean by "learn it properly"? For basic structures(like loops, if, etc), they are the same or similar for the same category of languages. If you want to learn UNIX programming (pipe, socket, low level file i/o, etc), check out Haviland's "Unix system programming" and "The art of Unix programming" (forgot the author's name)

By the way, I'm not sure of Python being a net admin scripting tool. It seems to me that Perl is still the dominant language in that area.

ChrisNTR
April 20th, 2006, 04:38 PM
I mean more going into GUI stuff and linking everything together to make a program rather than just outputting to the command line. I'm not too sure what I mean now..

My computer network teacher made a script which had a bit about ip address etc, importing sys.. I didn't really have a good look, we'll be doing all that next year, haven't really done any python stuff, had a quick read about it but it was all arrays and calculations and I can't see much use for that (obviously it is the fundimentals but I've already done that quite a bit in other languages).

I mean Net admin as Network Admin and Communtications. :)

unbuntu
April 20th, 2006, 04:45 PM
I mean more going into GUI stuff and linking everything together to make a program rather than just outputting to the command line. I'm not too sure what I mean now..

My computer network teacher made a script which had a bit about ip address etc, importing sys.. I didn't really have a good look, we'll be doing all that next year, haven't really done any python stuff, had a quick read about it but it was all arrays and calculations and I can't see much use for that (obviously it is the fundimentals but I've already done that quite a bit in other languages).

I mean Net admin as Network Admin and Communtications. :)

For GUI, it really depends on the framework you're choosing. There are GTK, qt, and WxWidget on Linux, which you can use C/C++ for. I don't have experience on that. I used to play around with Visual Studio for ceating GUIs (VB, C#, etc)

About Python, I'm sure you're gonna love it. :wink:

ChrisNTR
April 20th, 2006, 04:53 PM
Yeah, I've got exams for my second year all this month, then a huge break till September till the start of Year 3, so I'm going to have plenty of time to get my teeth into a few things, php, mysql and javascript are on the agenda, a few simple things. Creating a database with VB(.net) was the worst thing ever, I hated it. With a MS Access backend, it was just horrible.

With the whole GTK stuff etc, I seem to have skipped out a huge chunk of Linux stuff, like what goes into all the different folders, what the share folder is for etc etc, what's the opt folder for and so on, So I'm going to have to try and read up on that, get a bit of background knowledge.

SteveGeorge
April 20th, 2006, 08:18 PM
<snip>
My problems start when I want to write GUI or web apps or interact with a RDBMS such as MySQL. What tools do I need.
<snip>
I think I want to persist with Ruby, but is this a good idea since it is not as wide spread as C++ or Python for example? Are there any future proof languages.

I've also considered Pytyon, but when I looked web programming with python I was overwhelmed with all the tools available.

Is there a language that has a consistent tool set? I want to use what everyone else is using (if you know what I mean), so I can understand other peoples work.

There's no single language that is best for everything. Particular languages are popular/suited to a particular type of problem. This means it's easier to get help, find books and articles etc. It doesn't mean that a particular language isn't capable - just less popular. So you pretty much need to decide what area you are interested in.

GNOME/GTK+ is written in C with bindings for other languages. So if there is a binding you can write an application with it. Ruby has bindings here: http://ruby-gnome2.sourceforge.jp/ but I'm not sure how active they are.

If you decide a more active community is needed then I'd suggest Python as it is similar to Ruby. See www.pygtk.org for tutorials and articles.

Linux tools are not as easy to use as Windows ones for creating GUI apps. Under GNOME you use Glade http://glade.gnome.org/ to draw your application. You then load the 'design' with libglade in your program.

If you are likely to be using Windows then C#/ mono is a good option. The mono project has a polished IDE and a form designer (that is not compatible with Glade) called Stetic. I think the patent protection group announced recently means that you an use mono without fear of Microsoft shutting it down.

Steve

Compucore
April 22nd, 2006, 12:19 AM
When I started to learn about programming and when I was doing it full time. I used to learn Pascal on a VMS system over here. If anyone here familar with vms knows that those ancient machines are not the greatest to learn especially when the machine tends to crash often. (Especially when you had 40-60 students all at different levels of programming. Then you get all of them to compile their codes at the same time.) But that was way back in the early 90's. Nowadays it's usually best to start off with Java then jump into C++. Since Java is a cousin of what C++ is since the syntax is similar. But loading different include files are different.So if your using windows it would have been with Visual studio or with Ubuntu Ajunta I beleive for the equivilant. The one thing that I have not seen or found yet in Ubuntu is the (turbo) pascal/delphi equivilant. Since I have worked studied under both very well. And there is not that much of a difference between the old way of programming pascal under turbo pascal, or pascal on VMS, or C++ in dos/windows. But go in baby steps if you want to do executable under linux.

Compucore

unbuntu
April 22nd, 2006, 12:26 AM
I heard Kylix is something similar to Delphi under KDE.

Hoffmann
April 28th, 2006, 11:42 PM
Hello All,

After reading this forum I think I better take a look at python/ruby. I learned the basic of C, and then jumped into Perl for job reasons, didn't like it much. I haven't seen many opinions of Java in here, Java is what I am using now and I love it, I learned from a book and that was all I needed, everything just fell into place. It is easy and can do pretty much everything you need.

dannyp,

What book did you use for learning Java?

Thanks!
Hoffmann

daneel_olivaw
May 7th, 2006, 03:20 PM
I learnt starting at the age of 12 with the commodore 64 (my bro's) basic guide, i remember this was one of the first things:
10 PRINT "HELLO"
20 GOTO 10
then came Turbo Pascal, C, Assembler (x86), Java and Prolog.

C was the best in learning.

EdThaSlayer
May 18th, 2006, 12:01 PM
I think that Python is the best choice for you. You can almost do anything with it.

daganu
May 18th, 2006, 06:28 PM
Oh man! Excellent question. With Basic running by DOS on a Tandon, but seriously do not tell it anybody. Read something about "The Languages of Choice" but if you feel no confiden yet, try Python.

spartan777
May 28th, 2006, 10:13 PM
Ruby seems to be catching some speed lately, but it looked really ugly from the way it's syntax last I looked at it. Might've progressed, but from where I come from (game development community), Ruby is something everyone shys away from.


so what do game dev's like? i'm going to start college next year, majoring in physics, and minoring in computer science (or something like that, and that's all tentative of course). i might, juuusssstttt might go into programing, for someone like ageia or something (if i'm really blessed). it seems like amazing physics is the new thing for games. i like programming, and physics, put the two together, and yeah. so what would be a good program to get into? i took a year of c++ already, and am looking to maybe learn perl or python. everything i hear about ruby is total praise, but unfortunately ruby probably won't last, since few will actually implement it on a large-scale. from the sounds of it, though, i should probably get into C. any suggestions?

aamukahvi
May 29th, 2006, 12:55 AM
I was taught C++ and x86 asm in college, later I started learning C# which I enjoy quite a bit.

I would go with C# for a first language, there are good books for it around, even ones based on Mono.

Of course I'm biased.
I've learned Java & PHP first, but C# would be my choice to start with, now.

tht00
May 29th, 2006, 02:08 PM
I learned VB6 in high school programming several years ago, as well as a good intro to C++. Last semester at Purdue, I took a pretty intensive Java course. Now I'm looking to start some C++ programming on my own (C# when applicable), and I'll hopefully soon be taking a C course at Purdue.

Mladen
June 4th, 2006, 05:19 AM
I know Pascal and Delphi but I want to learn Assembley can anyone tell me
where can I get some good Manual, Guide, eBook, HelpFile, Trainer...? Please!
I'm Willing to recieve it in eMail too.

TNX 2 ALL!;) :D :) :p

ruudiculus
June 4th, 2006, 05:34 AM
After a short search I found http://webster.cs.ucr.edu/

It may be helpful in programming assembly. Please take in mind that every processor type has its own assembly language (higher programming languages aren't design for nothing! Compilers take care of the architecture) so you'll need to know something about a processor's internal registers and architecture as well as its opcodes.

When I was still on the Windows platform I used http://www.emu8086.com/ as a source of information on programming in PC assembly. It holds a very handy emulation program.

You could also go to http://www.intel.com and download any i386 and up processor assembly user guides, so that you have all possible assembly opcodes listed. You can then use your Delphi (of Lazarus if you'd like to do it on Linux) to add inline assembly code in your pascal code just for experimenting.

Hope this helps you a bit!

Nameless1
June 6th, 2006, 02:33 AM
I use windows (my copy of ubuntu is on its way) and i have NEVER tryed programing before.

Can you give me some basic tips?????](*,)

As a begginer your biggest problem will be concepts get you confused as they are new to you. After you learn the concept it seems very very very easy and the syntax is almost trivial. So start with something simple to help you learn basic programming concepts I would recommend php for that as its a simple language.

If you dont know what php is look at the top of your webpage in the address bar and you will see "http://ubuntuforums.org/filename.php" note the .php (this forum is made in php)

kwebihaf
June 6th, 2006, 10:03 AM
panickedthumb... i agree with you about starting with C/C++ to get a programming foundation.

Just to add on, you need also to get a Project (i.e a problem) then use any of the languages to solve the problem (i.e implementing the project).

After dealing with the problem you might want to learn another Programming Language using the same problem you solved before.

elemental666
June 8th, 2006, 02:52 AM
In chronoligical order (I think)

Basic
C
VBA
VB
C++
JAVA/JAVASCRIPT (At this oint I realized I could program in just about any language given the language references, I had the concepts down.)
PHP

What I've learned is most important about learning to program:

1st: learn methods not syntax (meaning control structures, variables, functions, object are all fundamentally the same regaurdless of languages, understanding the concepts and how to manipulate them logically is more important than the actual syntax).

2nd: If you aren't learning OOp you're making a mistake. Any code monkey worth feeding had better be down with OOp.

3rd: All you need to get the syntax of a specific language down is a code reference. (ie. book, web site, etc.)

That said, I recommend Java as a first language because the code is highly portable from architecture to architecture, its got solid OOp, it "breaks the ice" for some of the difficulities newbs experience in C/C++, plus its useful right now. When I was in school they taught PASCAL to teach people OOp concepts, then went into C++. Which I thought was retarded because you don't see much PASCAL floating around... (that was 8 years ago mind you).

rekahsoft
June 12th, 2006, 08:47 PM
I am a young developer (see this (http://www.netbeans.org/kb/articles/collin-doering-interview.html)) and i started coding in Java. I love it and think it is a good starting point if you want to learn Object Oriented programming. Although there is a lot to Java i think it is learnable for anyone who really wants to learn it. I talk about how i started programming in the link above (http://www.netbeans.org/kb/articles/collin-doering-interview.html).

BoomAM
June 13th, 2006, 02:07 PM
Upto now, over 4 years ive been taught Machine Code, Assembly, Pascal & Delphi.
Ive done small bits of python scripting myself, but thats mainly for games (ST:BC).

When ive got the time, i intent to learn Java & C++.

lakluster
June 13th, 2006, 05:04 PM
it all started with php which I learned on while developing websites and then learned the following at uni:

java
8086 assembler
jsp

I'm now working on brushing up on some javascript and learning ruby in my spare time. Best way I have found to learn languages is just find some tutorials and get the basics and then grab you some scripts/programs and break them down and learn what each individual parts are doing.

xeero
June 14th, 2006, 08:32 PM
INITIAL EXPOSURE:
I first learned how to program by going through the Teach Yourself Java in 21 Days book. It's a decent book.. enough to provide a good intro to software dev. a degree is nice, but with the right books and some discipline, you can do it on your own. i do agree with the others that if you want to learn on your own, you need to decide on what you want to do first. also, study some data structures and some algorithms when you're comfortable programming the basics.

SCHOOL:
studied computer science in college. my uni did mostly java, with courses also doing projects in other languages like c, c++, perl, and others like lisp, prolog and assembly. for some web projects, we used tools like j2ee and advanced server pages. my personal favorite language is java. it's obj oriented, relatively easy to use and basically cross-platform. imho, all schools should at cover memory management using C and C++. many companies develop in C and C++. no curriculum should deprive their students of this knowledge. in order to teach CS concepts like algorithms, however, i think java is a great choice.

GUI:
here's another reason i like java. for the gui, java developers can now use sun's Netbeans IDE with its Matisse gui designer. it got great accolades. or, if you don't mind doing some stuff manually you can use JGoodies to create nice interfaces for multiple platforms. python also sounds like a great language. i believe you can do web apps with ease or standalone apps w/ other libraries. imho, Visual Studio is too MS-centric.

GAME DEV:
study lots of math. also take any related courses like computer graphics.

kinghajj
June 17th, 2006, 04:03 AM
I really started programming with C. I had messed around with QBasic and VisualBasic 6 before that, but I didn't get that serious into those.

C is great because it's small--it's a bitch, however, because it's hard to do things. You need to find lots of libraries, but luckily there are a lot.

C++ is... well, I hate C++. Mostly the syntax.

D, however, is a much better language than C++. It's not very common, though. Not as many libraries. If D could be compiled as a .NET language... oh, only if.

Java... well, I just don't get Java. It has an alright syntax, but I have an aversion to it for some reason.

C# is nice; better than Java, anyways.

Perl is just, well, odd. Perl 6 looks like it will be MUCH better, and when it's released I might re-look at it.

PHP is nice for web programming. What else is there to say? It's like an easier C in many ways.

I recently found Python, and I think I'm falling in love. I haven't used it much yet, but what I have done has been enjoyable.

JavaScript is a much-overlooked scripting language. Although it's only used on the web, I think it could be a great general-purpose scripting language. I'm working on a project, MyScript (http://kinghajj.ath.cx/projects/ms.php), which I hope will someday extend JavaScript enough to be used in many different situations.

Anyways, I suggest learning C first. Save OOP for later; focus on good coding first. After that, just start familiarizing yourself with as many languages as possible.

vekaz
June 18th, 2006, 12:29 PM
Although it makes no sense to answer this post after 300 others, I have to.

I read an article on astalavista couple of years ago that said you should first learn python and then progress to more complex languages, if you need. I thought something like 'Bah! I'm not gonna waste my time on some petty, intro, simple, non-powerfull languages! On to the C++!'
And I made a mistake.

I thought most languages have syntax based on that of C, so... Not clever.

Most common languages used today do have very similar syntax, and not only syntax. Variables, functions, loops, classes... are all found in JavaScript, PHP, Java, C#, C/C++... So, by learning a simple language first, you are also learning a more complex language, breaking a complex problem into simpler ones. Programmers do that often ;)

Start with javascript ;). Seriously.

mumushi
June 21st, 2006, 01:53 PM
hi im also one of the many who wants to learn how to program i have a little programming backgrounds in pascal and c/c++ and also VB but only basics, yes just basics now i wanted to enrich my programming skills and i chose to learn python. i would like to ask some help on how i could install python on my ubuntu box and some guides or tuts on python. thanks alot.

Blind-Summit
June 22nd, 2006, 08:07 AM
I learn to program basic when I was about 11. I taught myself html by taking apart the source code of existing websites. I learnt some VB with borland, then was taught some VB and C++ at uni for 6 months (very basic stuff!)

I build on my knowledge by making things that I needed. I built a website by installing phpnuke and then changing all the code as I began to understand how it worked. I changed my site to suit my needs.

I built mp3 tagging software because I couldn't fine one to batch edit files with enough user configuration (VB.net).

From here, I branched out into javascript, some VBS, xml, sql and other associated code. I guess I'm more into webcode that any hardcore stuff. I had a go at C# but this all takes a lot of time. I like to dabble!

gometro33
June 23rd, 2006, 02:45 PM
I've only been really programming for about 9 months (all of my senior year of high school). The AP Comp Sci exam now covers Java so that is what I know. I'm expanding in C, PHP and Python right now.

I really like Python because when I writing something, I don't need to "prepare" to actually get something done. Meaning, as soon as I start writing, I'm writing that actually does something. That's a great feeling.

PHP is fun. I really like creating small web apps. I'm thinking about going into web development.

C I've probably spent the least time on. Honestly, I'm only learning it because everyone says you have to know it to be a good programmer. I don't really use it though.

Plagued
June 23rd, 2006, 05:31 PM
Not to date myself ... but I remember my first program (and not it was not 'Hello world') it has been a long time, so I may screw this up ....

10 REM my first program
20 print '<my name here>'
30 goto 20


But from basic, I actually taught myself programming technique via Pascal. I took some C / C++ in college, but got out of programming when 2 things happened:

1. The CS dept at my school wanted me to take COBOL (now I kind of wish I had)
2. Windows95 disgusted me and I stopped messing with computer for a good 4 - 5 years).

When I finally got back into computers, I taught myself a few languages including Perl, Java, Visual Basic, BASH scripting, VBScript, C#, and some Python.

I would like to get into Python more, as well as look at Ruby. I would also like to dust off some of the C that I learned 10 years ago, but the correct project has not presented itself.

anasofiapaixao
June 26th, 2006, 05:47 PM
Haha! My first wasn't Hello World either...

Well, I had my very first contact with C programming in the 4-hour class when we, never having programmed before and having had classes about... uuh the most I remember is that the RAM looked like a red chocolate bar on the slideshow, and having asked everyhting about a piece of code and what the /n, the %d meant on the printf().

So, my first program (of the 4 we had to do on those four hours) was:

Consider the succession x(n+1)=1-cosē(μx) using as initial value x(0)=0.75.

a) Calculate the first 100 iterations with μ=0.5, μ=2.0 and μ=8.0;

b) Using a plotting program like Excel or GNUPlot make the graphic convergence of the function for μ between [0,8]

Of course we took decades to realize that what he wanted was three graphics for μ .5, 2 and 8.

Fact is, three months later I was programming like I would never dream three months ago. But those first three weeks determined who would pass and who would fail. I got an 18 (of of 20) but could have gone either way.

Hehe, welcome to IST (http://www.ist.utl.pt) ](*,)

Note360
July 1st, 2006, 08:15 PM
Hello. This year has been weird for me. (2005-2006) In 2005 i learned of Linux as well as Programming. I started to learn Java but I couldnt because I had trouble with school then I tried C but finals came after I tried Ruby and Perl and I instantlyfellin love with Perl (I heard Perl is supposedly the oddest looking language, but I dont see it) and that drove me forward. I also love Ruby and I am looking at Python. However, I have to say I am thinking of going back to C because my C book didnt explain the terminal at all but the Perl book does.

One last thing doing that little run through languages got me familiar with the theories behind it and I think it will help me in the long run. To bad it will all be ruined in 10th grade where my AOIT (Academy of Information Technology) class, which deals with mostly windows, has to learn Visual Basic and is working on a .NET program. I heard horror stories about Visual Basic (not .NET from what I can tell .NET is pretty good).

Also I would like to ask a question. I am looking into GUI design (do note I use OSX not Windows and when I am not using OS X I am using UBUNTU) and I have Glade. What should I do? How do I make a GUI app?

Jayzilla
July 3rd, 2006, 02:14 AM
I started studying various languages on my own through books and tutorials. This layed down for me a good foundation. I was introduced to basic concepts and got to see different types of implementation for them.

I then took a VB class in high school, which was a mistake. The next year I took an honors C++ course and had the time of my life, due to a great teacher and excellent, practical assigments/examples. This past year I took AP Java (with the same teacher I had had for C++) and learned so very much. I loved it.

I'm now studying Python (and playing with Ruby) on my own, and the way I'm going about it is working quite well. I use a simple tool that everyone knows how to use: Google. I've just been searching for 'Python tutorial' or 'Python [concept]' if I hit something confusing. There's so much information out there! If you're interested in programming, read as much as you can on the web. Read tutorials, join forums, etc. The Internet is such a vast resource.

A tip: There's a reason it's called code. Use descriptive method/variable names. Comment confusing lines. Use indentation properly. Make it readable!

tzulberti
July 3rd, 2006, 07:45 PM
I started with Visual Basic, but I changed to C++. I have seen some haskell at university.

Randomskk
July 4th, 2006, 08:28 PM
I got Visual Basic 6 Learning Edition when I was 7, and somehow made a few stupid things in that, but nothing overly interesting. Some fun little things towards the end, none the less.
Then I kinda stopped programming for a while, before picking up PHP around 13, and I've been using PHP a lot recently for websites and such; it's a nice language.

Started doing BASIC again for the picaxe microchips, which is a much nicer way to program than flowsheets, even though it's a horrible language.

Also did a little BASH scripting for a project involving parallel ports, which was fun.

Finally, I've just started doing a little python, which is great! :D

I also have a "Learn C" book, but I haven't really used it much and besides "hello world" I can't say I've done much in C.. I guess I prefer interpreted languages :P

fluffington
July 6th, 2006, 12:38 AM
I started programming in TI-BASIC on my mom's TI-81 back when she decided to go back to school in (I think) early 1994. I wrote a simple text adventure involving ice cream and demonic mimes within about an hour and a half of first picking it up. Later, I started playing with BASIC on my school's computers (I got kicked out of two different classes for playing games, even though I had written the games in question and had already finished all of my classwork). Eventually, I got ahold of a TI-82, which was infinitely more functional than my mom's TI-81, and started writing more games in BASIC.

I discovered assembly programming on my TI-82 and started writing games in that (only ever finished a Nibbles clone, but I had a fairly complete RPG engine in the style of the early Final Fantasy games almost ready to go when I quit doing assembly on calculators).

When I got into high school, I took classes in Pascal (I got kicked out of that one once for playing a Tetris clone I wrote---what is it with teachers and games?), C and C++. I was writing 3D graphics engines for DOS in C and Pascal for a while. Again, never finished much, but my input/graphics/math libraries are probably still floating around the 'net somewhere (I don't remember what pseudonym I was going by back then, or I'd try and find them).

After that, I went to college and got a BS in computer science. Didn't learn a damn thing from any of the classes, but I did a lot on my own, including writing a few games (massive text-based RPGs, for the most part) and a mildly popular CMS.

Then I graduated (May of last year) and got my first real job, which was a mix of advertising and maintaining a mess of servers and workstations worse than I though possible. I was working on a million different projects in six or seven different programming languages on at least three OSes while at the same time juggling irritating customers and other job functions. That's when I really learned how to program.

* * *

For anybody who wants to learn how to program, here's some advice:

Start with C, and read The C Programming Language (2nd Edition) (http://www.amazon.com/gp/product/0131103628/) by Kernighan and Ritchie. The C language is well-supported and will teach you discipline and organization while still letting you do things without too much trouble. Also, the book is, in my opinion, the absolute best intro to programming tutorial I've seen.

Don't use an IDE; grab a simple text editor instead. All of those extra features are useful, but you don't learn much when your tools are doing all of the work.

Learn more than one language. The more variation, the better. Be sure to at least play with a functional language (I prefer ML, though Haskell is also very nice) and a stack-based language (like Forth or PostScript) in addition to the procedural and OO languages you're likely to encounter.

Find and read lots of source code.

Just do it. Don't look for the perfect tutorial or get others to show you how to do stuff (not that other people aren't helpful at times). You'll learn infinitely more in writing a simple program from scratch on your own than you will ever learn from reading something.

xdvx
July 10th, 2006, 02:08 PM
I have started with Delphi. Simple software, analysing a lot of code. Trying to understand how the code works. I bought a book about Delphi, read it. Later when it became to web programming, I studied PHP. Meanwhile I wanted to understand everything from much deeper. So I started to study C++. Right now 3 years later I'm learning more by doing. There is allways a lot of stuff to try and understand how it works ;]

Rick 1
July 12th, 2006, 05:28 PM
I would go with C# for a first language, there are good books for it around, even ones based on Mono.
No, I'd never recommend that. Good way to kill a soul. What is C++ supposed to be good for? It's not C - not even close - and it's not 'OO' either. But it is a mess.

imageburn
July 13th, 2006, 03:59 AM
Well. . . would like some help myself. Learned how to program in a very well intentioned fine art class two years ago on Processing (very interesting OpenSource project, check it out) which at the time basically floated on top of Java. Very good for quick sketching though suffered from constant syntax changes owing to alpha status.
Now the project is in beta and is an IDE for Java, and the Processing library. Devoted to multimedia.

But.

Got off the internet, a frequent problem owing to my semi-nomadic past. HAD to move to Linux as I couldn't afford a Microsift license to re-install my crashed and fried OS. Now, running ( and learning) Linux for a year w/o a network is a definite exercise in frustration. I mean, just how many times do you use apt-get in a week? And google a how-to?
The language is currently in Java spec and trying to use some of my old code was impossible when I would attempt to get back on the coding tip.

So,

Trying to currently figure out how to get Processing to work w/ my beloved Linux, because there's nothing like getting a Perlin noise method to work with but one word. I'm also interested in any other languages I can use as a quick sketchbook to produce custom image processing software. Somebody mentioned OpenGL. I learn best by producing apps I can obsessively tweak, related to my work, and I have a little trouble learning a language when the main objective of the tutorial author is to learn how to write a database program or something. Can anybody recommend any good tutorials/languages geared toward graphical/media applications? I'm sooo over Photoshop.

BTW: checked out the mplayer man page when I installed it this morning, (really loved the mplayer -vo aa file tip I found on this forum, try it!)
and it seemed very robust, like maybe I could use it for VJ work. Any good tutorials on the subject?

AZzKikR
July 13th, 2006, 05:03 AM
I started myself with BASIC on DOS. After that, I've gotten into Visual Basic which has practically the same syntax. After, some simple Javascript came into my life. I tried C/C++ after that (I was 13 or 14 back then) and I couldn't understand anything... syntax, polymorphism, abstraction etc. At the age of 16 I went into college and started learning Java. C and C++ are much easier to understand for me right now, since Java has (in my opinion) an easier syntax to start understanding logic, inheritance and all that. C++ is still hard though because of it's syntax. I'm too used to Java :(

During college I also got BASH scripting, a tiny bit of Assembler (I still want to learn that thoroughly), C linux kernel programming (oh my god that was kinda cool but too hard to understand what the hell I was actually doing...).

I also had some mathematics programming (using Maple) but that is not actually programming, more like a math language.

If I could go back and choose the order I would do it like:

1. Visual Basic (for starters)
2. Java (to get introduced to OO programming and compilers)
3. C/C++
4. Asm

The others are just 'side-languages' for me. By the way, I'd go with Leif's advice too.

gratefultux
July 15th, 2006, 12:28 AM
azzkikr (lol, i just said it out loud) that looks all, too familiar
I started with Basic
Then learned Visual Basic in school
Taught myself Java
Right now i'm learning C++

MrHorus
July 15th, 2006, 09:13 AM
If you aren't learning OOp you're making a mistake. Any code monkey worth feeding had better be down with OOp.

So given that the Linux kernel is written in C which is a procedural language, the whole thing is a mistake, right? :)

The most important thing to do when learning to program is to actually *program*. Sure you can read books and howtos and have a little tinker but if you don't actually sit and learn HOW things are done as opposed to why, then you will never learn those subtle nuances and make those little mistakes that are the key to learning :)

ncmathsadist
July 25th, 2006, 02:35 PM
At the North Carolina School of Science and Mathematics, we start with Python. Its simple grammar and dyanamic typing let our students think about problem-solving instead of syntax.

Python is free and there is an avalanche of free learning materials for it on the web. It is easy to install on any machine. Python makes formatting requirements that translate into good formatting habits when students move to free-format languages such as C++ and Java. All around, excellent.

:D

Dev05
July 25th, 2006, 05:43 PM
I got a book on the fundamentals of VB4 when I was nine. Then I moved to VB.NET then C++.NET and then C# which I always use. I learned some SQL for a project which required a lot of Data Access ](*,). (I've written I don't know how many lines of SQL...) And now I want to strart programming for Linux, so I guess I'll get into Python, Java or directly C++ which I already know...

mostwanted
July 27th, 2006, 05:13 AM
No, I'd never recommend that. Good way to kill a soul. What is C++ supposed to be good for? It's not C - not even close - and it's not 'OO' either. But it is a mess.

He's talking about C# not C++...

BatteryCell
July 27th, 2006, 11:03 AM
I learned c++ pretty much from online, and my friend. Its kinda wierd but at the begining we (my friend and i) would do stupid little challenges like program a clock without using the system time cept one call, and stuff like that...though the last thing was kinda hard, converting between prefix-infix-postfix...though thats where I learned binary trees:)

Namingishard
July 30th, 2006, 06:04 PM
Python is how i started, about 6months ago =P

themusicwave
August 1st, 2006, 10:31 AM
My parents had an old Texas Instruments Ti-994/A that I pulled out the closet one day when I was in 6th grade. I also found some "Learn to Program" books with it.

So I went through the books and learned TI-Basic with Line numbers and such. I thought it was the coolest thing ever. The funny part is this was in 1997, so I was about 20-25 years out of date. Basically I was writing in a toaly dead language. It was still awesome though, I could even make the thing talk!

I then learned some HTML, took highschool courses in C++ and VB. Taught myself some Java.

Now I am going to college for Software Engineering, so I am learning lots of stuff. I still am notorius for buying way more programming books then I will ever read and teach myself stuff.

louieb
August 1st, 2006, 04:42 PM
I started programming computers in 1979 starting with FORTRAN, then gwbasic, then COBOL, then pl1, then c, then visual basic. Then object oriented programming showed up. Java, c++, c#. Basically just pick one and learn it well. Then when you move on to another language you find a lot of similarity in how things are done. A loop is a loop. A function is a function. In most languages {} group a set of statements. Personally I think if you master java or vb.net then you will find the transition to other languages fairly easy.

DemonTPx
August 3rd, 2006, 07:35 AM
I started out with QBasic and then moved on to Visual Basic. Then I learnt myself some PHP. After that I tried for a long time to learn Java. It really was a pain in the ***, because VB had learnt me all kinds of bad habits.
Now I'm trying to learn a bit of C and C++.
And in the future I'd like to learn a scripting language like Python, Perl or something like that.

But anyway, for beginners: Do NOT start out with VB!! A good choice to start with is Java.

virtual_void
August 17th, 2006, 07:52 AM
Started with BASIC that was built into my first computer: VIC-20 from Commandore. The manual described the language briefly.
It must have been around fall 1980...

Programming has been one of my favorite hobbies since then and is now what I do for a living. But the language has changed, is mostly using C, Python and Java these days.

neilp85
August 19th, 2006, 12:23 AM
I started with QBasic in high school. I also got interested in HTML and learned that around the same time. Then in college moved on to C++ and Java with some Assemblar thrown in for good measure. Now I'm learning Python and enjoy that more than any of the other languages I've worked with.

X.Cyclop
August 19th, 2006, 10:49 PM
Coding.:mrgreen:

Typing by hand and not copying.

nephish
August 19th, 2006, 11:10 PM
i started learning simple scripting in python, and some html.
showed my boss a website i made, and convinced him to let me re-write the software that runs his buisness machines instead of him buying the upgrade from the provider. He went for it, so i really had to start learning it fast !

kepos
August 20th, 2006, 07:25 AM
Can anyone point me to free tutorial/eBook about beginig C?
Sorry if i mist some in replays.

i'm new to linux programing and c.
But i have experience with wwindows programming in VisualBasic.

X.Cyclop
August 20th, 2006, 03:08 PM
Can anyone point me to free tutorial/eBook about beginig C?
Sorry if i mist some in replays.

i'm new to linux programing and c.
But i have experience with wwindows programming in VisualBasic.
http://www.ubuntuforums.org/showthread.php?t=240266

BrunoProg64
August 22nd, 2006, 09:19 PM
Try to useGambas (http://gambas.sourceforge.net), it a IDE like Visual Basic. It isn't the same thing, but BASIC language is a good start for Beginners.

Greycloak
August 22nd, 2006, 10:08 PM
My first programming experience was with Basic on a commodore Vic-20. I pretty much taught myself. In high school we had a Vax/VMS mainframe that I taught myself C on. I got tired of waiting for the school to teach it to me, so I started a nethack/rogue ripoff with custom graphics done by reprogramming the terminal fonts. I think the only language that I was properly taught was pascal...everything else I taught myself.

PaulStevens
August 23rd, 2006, 11:13 AM
I learned to "program" the same way I learned about Linux. The company I worked for at the time wanted a help desk system, but didn't want to spend money on it. So one copy of Red Hat 6.3 "Zoot" later, I was sussing out Linux, PHP and MySQL.

I think learning anything from a theoretical standpoint is a waste of time, hence my lack of attendance at any institute of higher learning once school was out. The best way is to have a project, with a deadline and a bit of motivation (losing your job is always a good one :D), pick the tools that best meet the requirements (LAMP can do almost anything) and go for it. From a base of PHP, I've branched into C, Perl and Python, always with a clear cut objective, which I find helps the initial learning process. Refining your work later helps build on your skills. Before you know it, you'll be doing stuff with the most cursory glance at a manual and suddenly realise, hey, I can program.

kwalo
August 23rd, 2006, 05:57 PM
Can anyone point me to free tutorial/eBook about beginig C?
The most reliable source of knowledge about C is "The C Programming Language" by B.W Kerringhan & D.M. Ritchie. Theese are the guys who invented C language. Don't be afraid that the book might be too difficult for a beginner. You will be introduced to the 'for' loop at the beggining and you will finish with writing your own version of Standard C Library (at least some parts of it).

Going back to the thread:
My adventure to programming started at college with prehistorical IDE, called Turbo C. Then I was using M$ Visual studio. I found that Windows is not friendly for developers, so I switched to Linux. This system comes with many tools, which make programmer's life easier.

A_608
August 24th, 2006, 08:30 PM
I have used Ubuntu for about a week now after discovering 98se was no longer supported. What language is Ubuntu written in? I'm in interested learning how to read commands and fixes people post in the forums.

For example

dpkg -L diveintopython

In plain english, what does this mean? I'm assuming this would be used in terminal. How do I learn to read this? At this moment, I don't know what this means. From what I've read in this thread, Python seems to be a place to start. Would this help me to be able to read what I typed above? I haven't found a glossary of commands yet. Forum threads seem to focus on specific problems or questions.

Note360
August 24th, 2006, 10:33 PM
Ubuntu is written in C. Most of the stuff on the forums is written in shell script. SO in other words you want to learn shell not C. Here is what you do.

Open up the terminal

(DONT DO THIS)
and then enter sudo rm /* and that will delete your drive.

DO THIS
start reading the forum and finding scripts. Also, get used to the terminal. Use it to navigate using commands like cd (changes directory), ls (lists all files in directory), mv (moves files), rm (deletes files forever), ect.

EdThaSlayer
September 2nd, 2006, 09:09 AM
I learned Python first because ...well it has a lot of tutorials and well...a lot of libraries...it also has a easy to understand syntax. I also hear that you can use Python for many years and still not fully master it...

and how i learned to program...when i finally found some video tutorials i actually started to learn Python...and i also read the Python tutorials which can be found online(a beginner one...i kind of forgot the name)

Overrandom
September 5th, 2006, 02:38 AM
I programmed for Windows-based languages, but now I think that'll change over the next few weeks...Hey Ed.. ;)

My first programming language was DarkBASIC, though I never took it to the 3D Level...

...later (after being away from programming for a few years) I learned PHP and MySQL and then made a messageboard from scratch (though now I meessed it up).

Now I'm a VisualBasic.NET programmer. Like...official. 'Tis my job.

On my home computer, I now have Ubuntu and hopefully I will get to know it as well as windows ( and python ;) )

woody_green
September 5th, 2006, 02:54 AM
I was taught some basic Java in high school, but I learned a little because my instructor was absent for most of the time. :(

I also learned NQC (Not Quite C) because I took up Robotics as a high school elective, and now I completely forgot about them.
Currently, I'm learning C and probably MySQL (depends on my professor).

Maybe I'll have time to learn Python in the future. :p

kwalo
September 5th, 2006, 07:58 AM
Maybe I'll have time to learn Python in the future. :pIf you have some prgramming experience, you'll learn python in one evening. Just use tutorial from the official python site.

Seine
September 7th, 2006, 02:03 AM
Get BlueJ (http://www.bluej.org/) to learn Object Oriented programming, would be my suggestion.

To answer the question in the title literally ... I learnt by mucking around with the BASIC examples in the manual of the Commodore 16 when I was a kid. Then I did a TAFE (technical college) weekend course on machine language programming on the Commodore 64. Fun!

pyros
September 8th, 2006, 11:11 PM
In a touch-typing class. Right after I learned how to copy and paste...
My friend was playing with basic and I asked him what he was doing.

Buddha443556
September 13th, 2006, 07:39 PM
Got hooked at Radio Shack on Z80 Assembly, that was about 30 years ago, from there I was mostly self taught.

Christopher Cook
September 13th, 2006, 08:06 PM
I'm self taught as a python programmer, and learned off windows. You should try to start to program on a familliar OS.

mokmoki
September 15th, 2006, 12:15 AM
I would recommend starting with the basics. Pascal is a very good language to teach you good programming habits and the basic constructs of programming.

After learning Pascal, you may want to move on to C, which is quite closer to the machine than Pascal. You can do more in C than Pascal.

After those 2, try learning other programming paradigms, like Java for Object Oriented Programming, or LISP for functional languages...

just my 2 cents.

Avenue
September 15th, 2006, 03:44 AM
Since I myself am a beginner to programming, I thought i'd chime in here...

I actually started to learn programming this past January, mainly out of curiosity. I actually started with a newer and free version of the BASIC language called Liberty BASIC. LB came with free tutorials and an online "university" complete with a forum to post your solutions to the excersises and the language architect would go in and comment on your code. The good things about LB is that it's both a functional language and has an IDE tool for event-driven GUI programming. The new version will be portable to Linux as well. Also, you can get to understand the logic of how programming works and practice without having to worry about namespaces, classes and other OOP stuff which can be tricky. However, this is also LB's downside as it can create bad habits. Still, I think it's a great language for getting your head wrapped around just exactly how programming and logic is supposed to work.

From there, I enrolled in a local college for C# courses and was introduced to OOP. I have to admit, I was all turned around for a while but now i'm beginning to feel comfortable. I can even do things in Visual Basic since the two languages are closely related through .NET (yeah yeah, I know...).

My opinion here - if you want to eventually get a job as a programmer, SDET, Program Manger, etc, then honestly I think it's better to just dive in and start with a popular and commercially used object-oriented language such as Java, C++ or C#. If you are not sure that you want to work in the software dev environment, then maybe start with a simple language like Liberty BASIC and just play, read and experiment for a while to absorb everything and have fun.

I know that for C++ there are a variety of free compilers out there, and if you want to look at C# then you can get C# Visual Studio Express on the Microsoft site, Express editions are free and will never timeout (provided that you are still running Windows somewhere). My instructors have recommended two books that have been GREAT for my home learning regarding C# -

"C# Programming for Absolute Beginners"
"Visual C# 2005 Step-by-Step"

My apologies for the long post, I hope you all find this helpful.

spur
September 15th, 2006, 07:54 AM
My two c worth is the best bet is to go to your nearest book shop look for th e simplest book (in your opinion) and start with that. This gives you a better path in with basics better understood. It really doesn't matter what language it is as long as you understand it and practice. You can then go on to more complicated things when you are ready. You didn't start to read with shakespeare in kinder and you didnt start of your ambuatory existence by learning to do ballet so learn programing the same way, with the simple easy stuff first.

alis
September 19th, 2006, 01:58 PM
Java/J2EE - reading book

pyros
September 19th, 2006, 02:37 PM
My sugestion would be to start with a scriping language. Javascript can teach you about the basics like working with variables, looping, objects, arrays, etc. There's plenty of information out there (for free) on using it, and you will see results quickly.

kwalo
September 19th, 2006, 04:28 PM
I know that for C++ there are a variety of free compilers out there, and if you want to look at C# then you can get C# Visual Studio Express on the Microsoft siteDon't forget about free Mono .NET platform. You can dosudo aptitude install mono monodevelopand enjoy mono development environment on your Ubuntu machine.

Nectron
September 19th, 2006, 09:58 PM
I learnt programming on my own using books available in the market...

I tried VB first, but couldn't understand the way it works.. Then I switched to C/C++ and it's sill my favorite language..

Then came JAVA in college, which I didn't understand well.. But I'm planning to go back to it. :rolleyes:

Yallah.. Salaaam

dolphinsonar
September 20th, 2006, 02:16 AM
I am curious about how to learn programming lingo. I notice that anytime I am reading a tutorial, it relies on word that I cannot define. I try wikipedia and that is useful for basic stuff. Is there a wikipedia of programming terms? If not, start one and put some ads on it, because there is a need for it.

I also think that this service goes under the radar of the very people who have the knowledge to create it, because programmers are un-aware that most people don't know these terms. It is apparrent because the tutorials keep using them

It took me an hour to figure out what a GUI was back in the day, if there was a wiki with all of those terms, succincly defined and community moderated, many people would learn to program much more easily. Make one of those search engines for firefox, with the little dropdown menu on the right hand side of the browser window, you can pick which engine.

If you are stuck on a domain name idea for the site try this:

http://namewidget.com/

adam410
September 20th, 2006, 10:11 PM
I went out and bought a book on PHP and delved right in. took me about 2 months before i built my first CMS :D

rgeide
September 21st, 2006, 09:17 PM
For what it is worth, I found that learning x86 asm was an excellent way to wrap your head around pointers in C++.

acefreely
September 22nd, 2006, 06:21 PM
I learned Perl because I had to in order to do my job. I used it for a few years and became an expert in Perl. Then I got a new job and one of my co-workers was a CS major. He was throughly impressed with my Perl skills and explained to me if I could do Perl I could do most C syntax languages. That spurred my interest so I picked up a book on C++ and learned it. Then I found C# .NET and was blown away, throughly impressed. I used C# for probably about two years now for most of my Active Directory and server administration stuff. Then I ran into a little project that required Java. I had always been opposed to Java, due to the clunky slow nature of the apps. I downloaded NetBeans and started hacking away. Come to find out, looks like M$ copied C# .NET from Java. The two are so similar its not even funny. At any rate, messing with Java has opened my eyes to the enourmous about of free tools, documentation and server applications for Java. I am sold, Java is hands down my favorite.

MdaG
September 22nd, 2006, 07:08 PM
I first learned C, then went on with Java, then C++ and now I'm mostly working with Python with a hint of C++ here and there...

dhpe
September 23rd, 2006, 04:15 PM
The first piece of code I saw was in QBasic on my shiny 386. I later studied some web-related stuff as PHP, Javascript, along which came Sql as well. Then I moved to Java, Pascal and C. Wait.. I used to do a lot of mIRC scripting before I started using GNU/Linux ;-)

rolando2424
September 23rd, 2006, 05:09 PM
Ever since the time I was 4 years old and had to work my way on good-old MS-DOS, that I wanted to learn how to program.

I just started a few months ago, but I download a wikibook about python, because it seemed like a good language to start with.

I still canīt do much (tried to build a text game, using only if and prints) but I hope one day to be able to much more. :P

lonce
September 23rd, 2006, 05:33 PM
I started in 1990 when I was in 9th grade. I took computer programming in high school. They taught quick basic. From there I convinced my parents to buy me a 486 16mhz with 4 megs of ram and away I went. Turbo pascal, assembler, you name it and I got into it. Its a hobby, I dont do it for a living but I really enjoy the freedom of it. There are a million ways to do what ever you want. Its up to you to decide how.

Note360
September 23rd, 2006, 09:12 PM
Dude. Python really isn't that hard especially if you have previous programming ability like yourself. Don't limit yourself to games though (though they are fun, to make). Try making a guessing game. Look through google to find the code snippets you need (randomizing mainly) and put it together. A programmers best tool is not his brain, but is google. However, your brain has to re interpret all the code to fit your needs. Trust me it is a good excercise that you should be able to finish in a day or so.

DarkPCTroll
September 25th, 2006, 03:20 PM
Well, here in Venezuela the computer culture isn't as developed as in other countries, so I learned at the univ (I'm still studying). I was taught C++ basics, then OOP using Java (only 1 sem :cry:), we followed and learned EOP using VB 6.0 and now we're being taught web programming using APM.

Most of my programming skills comes from C++ and the teacher who taught me Programming1, 2 and 3. and abstraction from Programming 4 (OOP).


Cheers!

Dark PC Troll

Desi-Tek.com
September 28th, 2006, 06:54 PM
i think c is the right language to learn programming as it is still being taught in many college for logic build up

here is a great tutorial on c
http://www.desi-tek.com/forum/index.php?showforum=30

and if u wint to start with c++ than
http://cplusplus.com

JGuru
September 30th, 2006, 12:20 PM
I think Java is the right language to learn programming.
Here are my reasons:

* Java language is simple to learn & understand ( devoid of pointers, multiple inheritance etc.,)
* There is no operator overloading
* Java allows Constructors, but does not have destructors or 'delete' operator
* Java is fully follows OOPS, whereas C/C++ doesn't!!
* There is not 'goto' in Java.It leads to more confusion!!
* Java doesn't perform automatic type conversion resulting in a loss of precision. Whereas C/C++ does
* There are no 'structures' or 'unions' in Java. Since 'class' encompasses them.
* In Java, objects are passed by reference only. Whereas in C++, objects may
be passed by value or reference.
* Garbage collector takes care of unused objects.In C++ you have to manually deallocate memory
* 'String' is a built-in class in Java. Whereas in C++ it's not
* Java supports multi-threading at the language level. In C++ , you need
to do multi-threading using Operating System functions.
* Java is cross-platform ( write once, run anywhere), C/C++ are platform dependent!!

No wonder that most schools & colleges are starting Programming with Java
language, rather than with C/C++!!

Desi-Tek.com
September 30th, 2006, 05:43 PM
not here :( here in Indian colleges programming start with c and end with .net and java is some where in middle

DarkPCTroll
September 30th, 2006, 08:09 PM
I agree with JGuru in the point he made:mrgreen: . That's why It's sad the fact the univ I study at has Java programming for 1sem. Oh sorry, and It will remain in the past, because now the teacher is leaving the community due to illness :cry: , and they're planning teaching VisualStudio 2005, common!:mad: , give me a break! I don't understimate VS2005 value, but... Java It's Java. At least they could try teaching Python IMHO.:-k

hehehe yeah, I'm a little upset, and I apologize for that.

Regards from Venezuela.

Dark PC Troll

drosophyllum
September 30th, 2006, 08:15 PM
DR. SASS, an important teacher in my high school taught me C.
In about a month, I was an intermediate programer,
I went on to java, java was harder but still not much of a chalange.
Now im trying c++.

Jessehk
September 30th, 2006, 09:38 PM
I think Java is the right language to learn programming.
Here are my reasons:

Ok, here are my arguments to some of your reasons. Take all this with a grain of salt. I'm doing this for fun and I have no professional experience. :)

* There is no operator overloading

Operator overloading is essential to good OOP design (at least IMHO).

Would you rather have:

Number numb = new Number( 3 );
(numb + 3) * 4;


or


Number numb = new Number( 3 );
(num.plus( 3 )).times( 4 );


?


* Java allows Constructors, but does not have destructors or 'delete' operator


Why is that a benefit? To me, I think it is sometimes necessary to know when an object is destroyed.


* Java is fully follows OOPS, whereas C/C++ doesn't!!


OOP is not the only solution to problems. In my opinion, a language that strictly forces a paradigm on the programmer unnecessarily restricts creativity.

* There is not 'goto' in Java.It leads to more confusion!!
In languages where goto exists, its use is so frowned on that it is rarely used at all.

* In Java, objects are passed by reference only. Whereas in C++, objects may be passed by value or reference.

I like the flexibility that C++ and C (which would use pointers in this case) have in terms of function arguments.

* Garbage collector takes care of unused objects.In C++ you have to manually deallocate memory

In many cases, the project which either C or C++ are used in benefit from control of memory. Wouldn't you want to control memory usage on a device with limited memory? Wouldn't it be great to write your own allocator when need be?

* 'String' is a built-in class in Java. Whereas in C++ it's not

I hear std::string is well implemented, though I don't know enough to about these things to know for myself.

* Java is cross-platform ( write once, run anywhere), C/C++ are platform dependent!!

I don't know myself, but I've heard that many Java programs have to be recompiled for different machines anyway due to inconsistencies. At least with a portable C or C++ program, it's just a compilation away.

No wonder that most schools & colleges are starting Programming with Java
language, rather than with C/C++!!

While I agree with you that C or C++ should not be taught first in schools, I don't agree with your reasons why.

C is intentioned for low-level programming and one's ability to think about the problem rather then the language is affected as a result. C++ is far too complicated to be learned as a first language, though as a hobbyist, I think it's very useful (and a lot of fun! :p ).

For a first language, I like Python. :)

EDIT: Thinking back, a lot of my arguments are defending C and C++ as languages in general, and not as teaching languages. In particular, the lack of a GC can be a bit daunting to new programmers.

Ihtesham
October 2nd, 2006, 10:47 AM
I use windows (my copy of ubuntu is on its way) and i have NEVER tryed programing before.

Can you give me some basic tips?????](*,)

Programming is a vast field. What type of software do you want to develop?

Programming language is a secondary thing. First set your goal.

saintj0n
October 3rd, 2006, 11:47 PM
Is mono some kind of front end to use windows programs on linux?

petersnow
October 4th, 2006, 01:25 AM
I am also new to Linux/Ubuntu and programming. I want to write a management program to help me keep track of my HIV/Aids patients and there lab results. Will have to use a database of sort. What language do you recommend?

Note360
October 4th, 2006, 07:29 PM
Mono is a opensource framework meant to replace .net. Mono will not run WindowsForms on Linux so for the most part you are wrong. It is not a front end to running windows apps it is a great framework.

Some languages that are good and for mono:
Nemerle (I like Nemerel alot)
L# (Lisp-Sharp)
C# (C Sharp)
Boo (Python Clone)
IronPython (PYthon for .Net)

kwalo
October 4th, 2006, 08:08 PM
I am also new to Linux/Ubuntu and programming. I want to write a management program to help me keep track of my HIV/Aids patients and there lab results. Will have to use a database of sort. What language do you recommend?

It depends on how much data you have. You could use a SQLite database. It's the easiest to manage (all you need to know is in which file the database is stored). Of course there are alternatives, like MySQL and Postgres.

Maybe you could keep data about your patints in some text file (xml ?) but this is reasonable only when the number of patients is not large and the amount of data you keep about them is not large, so you could read that file and keep all records in RAM.

It's hard to say what language you should use. First you should define your problem well. And see what language is best for solving it. Maybe you should use some object-oriented language. Maybe C, because your app should be extremely efficient and it's worth to spend a lot of time on developing it.

Brenlae
October 5th, 2006, 12:02 PM
I'm still learning, slowly but surely. I'm currently reading C Primer Plus 5th Edition (2005). I find it interesting. I'm not really sure where to go on from here - I want to learn OpenGL or some other library so I can start making 2D/3D games and the such. Hmm...

EddyMac
October 8th, 2006, 07:52 AM
I learnt BASIC first and used it on a 48k Sinclair Spectrum and a Commodore PET. (Does that make me old?). I've also used COBOL, C, Pascal, and PL/1 for various work and college-based adventures and I've used HTML (which I don't consider to be programming) and a little PHP for a couple of websites.

I haven't written a line of code in years but as I've recently loaded Ubuntu onto my laptop I'm having a look round to see what's available these days. It seems to have changed a lot and C doesn't appear to be "cool" anymore. :cool:

I think I'll try Python!

Nefarious
October 8th, 2006, 07:52 PM
Ive been working with C++ for a few months now and its not terrible as a first language ;)


also C++ in 24 hours is a good book as long as you practice often

nefarious

reynoldlariza
October 10th, 2006, 07:26 AM
I'm still learning, slowly but surely. I'm currently reading C Primer Plus 5th Edition (2005). I find it interesting. I'm not really sure where to go on from here - I want to learn OpenGL or some other library so I can start making 2D/3D games and the such. Hmm...

You got the perfect start :)

I said this... because majority of SDKs, libraries are available and developed primarily for C, C++ is just next. e.g. openGL, SDL,fMOD, etc. and due to it's age and history it's better than any language to start if you're goal is as rocking as making your own OS and/or machine controls (I'm thinking assembly embedded here).

FYI: be careful about pointers and references, and the pros and cons of malloc() ;)

Also better stay with ANSI C, until you can grasp how they work and it's difference with the others.

in addition of burning your eyebrow... here's a link..
http://www.freeprogrammingresources.com/

watch where you running at;)

thomasaaron
October 11th, 2006, 03:58 PM
I learned to program with a Timex Sinclair 1000.
It had a whopping 1kb of RAM, a plastic membrane keyboard, and a television for a monitor and a tape recorder for memory.

I practically mastered BASIC on that baby and quickly moved up to the (da da da da!) Commodore 64.

I'm finding object oriented programming (like Python) to be VERY difficult. I can program with it to some degree using procedural methods, but I'm not getting it at a deeper level.

HOWEVER, I really enjoy shell scripting. Too bad it has not gui capability.

Tom

kwalo
October 11th, 2006, 05:44 PM
HOWEVER, I really enjoy shell scripting. Too bad it has not gui capability.It has!man zenity

Although limited only to dialogs :D

flake.sun
October 14th, 2006, 01:00 PM
C plus plus is a good language for starters ,i think...

you can read <<C++ Primer plus>>or<<the C++ programme language>>

NeoGreen
October 15th, 2006, 07:19 PM
Hello, I am also in the delimma the athor of this thread is in. I too want to start to programming but I cannot decide on which one. I want something that is not too complicated and not too simple.

Note360
October 16th, 2006, 06:15 PM
Simple. Python or Ruby would be the best choices. They both have good documentation and are easy and Object Oriented (which I think is preferable).

For python read the official documentation at python.org

For ruby read Why's Poignant Guide \w cartoon foxes for abit (it is entertaining). Then move on to the pickaxe book (Pragmatic Ruby) which you should be able to find for free if you do a search.

reynoldlariza
October 17th, 2006, 03:52 AM
Hello, I am also in the delimma the athor of this thread is in. I too want to start to programming but I cannot decide on which one.

There are too many programming languages out there. The question is what is or are your requirement(s). If you just want to write web based system plus a database connectivity, PERL,PHP, PYTHON, is enough. If you're into development of native OS applications, like Win32, unix/linux, OS2, etc... then BASIC variants will suite you. However if you want all power of these languages and fastest, C/C++ is a way to go (may or may not include assembly).


I want something that is not too complicated and not too simple.

That is an optional (for me), but very important for all (I too), it's difficult to answer such requirement(s), it's something like... i like onions, but you don't, or I like sweet very much, and you like sweet too but not too much.

yippy
October 17th, 2006, 01:37 PM
Personally I think the best way to learn a language is to just start playing. You need a project you're interested in.

I originally learned to program in BASIC somewhere in the mid-80s, because I wanted to write games. I think I had a book or something at the time, but I learned more from copying the code from the book and playing with it than from actually reading the book. After that I took some classes and learned C and Pascal, and taught myself enough about assembler to do graphics in DOS, so I could write better games. I took only a single semester in both C and Pascal, then learned the rest on my own just playing around.

A few years ago I wanted to run a web-based game, so I downloaded a popular php-based game and my friends and I started playing. But it had some irritating bugs, so I looked at the source code and it was pretty clear what was going on, so I started fixing things. A few months later I knew php and mysql.

Now I write php for a living. Last year I moved to PHP5 so I could really use objects and learn design patterns. Unfortunately I don't write games for work :) But games are what encouraged me to program.

You just need a project you want to work on, the programming language you choose isn't as important as long as it does what you want. Once you know one language, any language, and how programming works, it's much simpler to learn another one.

c0rrupt3d_fate
October 19th, 2006, 10:02 AM
I'd like to learn how to program soon aswell, good luck man ;)

eagle63
October 24th, 2006, 03:53 PM
I definitely agree that you should learn something that is relavant to what you're interested in. However, if this is something that you intend to make a career out of, then I'd suggest learning Java. Java jobs probably outnumber everything else at least 3 to 1 (currently), which is always handy if you're looking to make yourself marketable.

It's a decent language to learn how to program on too - good for learning object-oriented skills. Contrary to what a lot of people here are saying, I don't think I would start with a language like c or c++ unless you have a specific usage in mind. C can be a very powerful language in the hands of an experienced programmer, but it also can be very frustrating to a newbie. If you want to get into .NET/c# stuff then fine, but otherwise I wouldn't bother.

piradie
October 25th, 2006, 12:51 AM
The first time I had a contact with programming languages (C, C++, VB) was during summer of 2005 on an intensive programming course.

Now, in college I am learning C#. Tips to learn? Be willing to, download manuals or buy books, but having a teacher that helps to go through most of the stuff is really useful at times.

Good luck! :)

g_rael
October 27th, 2006, 04:08 AM
I was in the NZ 7'th form (I was 17), when New Zealand introduced computing into the school curriculum as an option.

I had been fascinated the previous year as computers gained more media attention and grew realistically smaller. I bought my first computer, a Sinclair ZX81 from the proceeds of a holiday job. That, as some of us recall, had 1K ram and 8 k rom !

Anyway, as our class Applied maths teacher taught us the basics of curriculum programming, I started intuiting my own answers and algorithms... he introduced the bubble sort and the successive replacement sort, I suggested a sort that I had at that stage no name for, the "indexed sort"

Many many hours of happy programming followed... ZX81 game programming, monsters as 'X's, Me as a 'O', monsters tracking me across the screen as fast as the poor little ZX81 could recalculate position, me on an adrenaline high, and hoping my RAM pack wouldn't crash before the next school period- I was only able to run my computer at school, in the lunch hour !
Truly, I was a geek. ocasionally I glimpsed an interested young woman, but I was so absorbed in the intellectual challange, that the whole flirtatious game ending in reproduction seemed scary in comparison.

Eventually, I upgraded to an Amstrad, after some years with no PC, and I bought an assembler, started Z80 programming. That was good... I used Amstrad locomotive basic's command extention hooks and tapped into the poorly utilised Z80 interrupts to write code for automatic ink cycling, dot matrix screen dumping, and eventually I designed and built an add on serial interface, analogue interface and I wrote my own Motorolla 68HC11 microcontroller cross assembler, then assembler programs for the 68HC11.

I followed that with a laptopPC given to me, upgraded PCs via rebuilding until I was using qbasic, later I had my own business designing hardware and writing embedded and also VB6 SW.

For novices, I'll note here that assembler programming involves a lot of writing of drivers.
Drivers for serial comms, I2C comms, SPI comms, LCD coms, motor control comms, it's all there under direct control... you build the software tower from the ground up.

I don't have my business currently... I'm of an age where custody issues complicate such things !

Anyway... Python is great, though as newbie at it, I'm still a little flaky on my understanding of decorators... and not fully fluent in it yet !:???:

factotum218
October 27th, 2006, 04:45 AM
I started with python myself and actually quite enjoy it! Its easy to read and understand what you are doing. Great way to start out in my opinion.

Also, it's quite fun when you open the python ide and type "import this" (without the quotes of course)

I like its versitility. It's especially a lot of fun if you have room to play with it server-side on a spare freebsd box like i have. Get a server setup running with linux or bsd and mess around! I can just be an old 486 or pentium box running headless. The best thing you can do right off is experiment read and play around.

pattymnaish
October 27th, 2006, 04:48 AM
I started with C when I was 7. I just picked it up from my father, who works for a computer company (IBM). Then I just moved on to Java, C++ etc.

warlorddagaz
October 27th, 2006, 09:35 AM
I started off with HTML, JavaScript, CSS etc. I know these aren't strictly programming languages, but they're good if you just want to mess around with web sites, and be able to do simple stuff. From here I moved to Perl and Java, as these are both useful for websites. I have since also learn't PHP.

If you just want to do "programming", I would recommend Perl, because it is easy!

reidbold
October 29th, 2006, 02:21 AM
QBasic baby!

Let's see if I can think of what came after that
Visual Basic->ASP/Access Stuff->PHP->Java->C->Python->68k assembler->C++

68k is a very easy assembler language to pick up, it's much easier to pick up the ideas than x86 (which is obtuse as all get out).

yabbadabbadont
October 29th, 2006, 02:32 AM
By typing in BASIC programs into the ROM BASIC on a RadioShack Color Computer 2. I even upgraded it from 16k to 64k of memory! Boy was I glad when I learned how to save and restore programs to audio cassette tape...

(God I feel old. :lol:)

yabbadabbadont
October 29th, 2006, 02:35 AM
68k is a very easy assembler language to pick up, it's much easier to pick up the ideas than x86 (which is obtuse as all get out).

The only assembler I learned formally, was for an IBM 360. Imagine, banking applications in 8k of memory. (and with removable 5mb hard disc packs, you had unlimited storage...)

(OK, now I feel *really* old)

hollaburoo
October 29th, 2006, 04:49 PM
I learned to program using my TI-83 when I got bored in algebra.

yargevad
November 2nd, 2006, 06:28 PM
My first programming language was Pascal in high school (which I remember basically nothing from), C++ in college, Perl at work, and I have reverted back to programming in C.

When I have something I need to get done quickly, I do it in Perl because it's what I'm best at, and the language is malleable. Python is nice; I've done several projects in it, but I find the documentation confusing and not as accessible as Perl. The thing I miss most when I'm programming in Python is Perl's Data:;Dumper[1]. C is for speed.

[1]import pprint
dump = pprint.PrettyPrinter(indent=4).pformat isn't quite the same...

Dual Cortex
November 4th, 2006, 07:13 PM
First came VB, learned it through online tutorials. Then came C++, online tutorials + C++ Without Fear by Brian Overland. Then came VB .NET ... well not really much to learn after knowing VB. Then came C#, through XNA framework tutorials.

HamCoder
November 9th, 2006, 01:22 PM
My first programming language was GoTran, a subset of Fortran; and it was 39 years ago. Yes, I'm that old and I still enjoy this work.

The first thing you need to learn is how to solve a problem in a sequential, step-wise manner and to get it down on paper in your primary spoken/written language. Mine is English; yours may be French, Hindi, or anything else. If I can't solve a problem in English, I'll never be able to create one in C/C++, Pascal, COBOL, SAS, etc.

Next, pick the programming language that fits your purpose, budget, and platform. I've never heard of a language that is the best in all situations. I try to avoid being language-centric, as in "SNOBOL is the best language ever!".

Pascal is generally considered a good teaching language because it is 'strongly typed', it's hard for you to mix strings and numbers. C/C++ covers a very broad spectrum between low-level and high-level code; that makes it both very powerful and sometimes very complex.

That's enough rambling. Back to work!

yabbadabbadont
November 9th, 2006, 07:10 PM
My first programming language was GoTran, a subset of Fortran; and it was 39 years ago. Yes, I'm that old and I still enjoy this work.

The first thing you need to learn is how to solve a problem in a sequential, step-wise manner and to get it down on paper in your primary spoken/written language. Mine is English; yours may be French, Hindi, or anything else. If I can't solve a problem in English, I'll never be able to create one in C/C++, Pascal, COBOL, SAS, etc.

Next, pick the programming language that fits your purpose, budget, and platform. I've never heard of a language that is the best in all situations. I try to avoid being language-centric, as in "SNOBOL is the best language ever!".

Pascal is generally considered a good teaching language because it is 'strongly typed', it's hard for you to mix strings and numbers. C/C++ covers a very broad spectrum between low-level and high-level code; that makes it both very powerful and sometimes very complex.

That's enough rambling. Back to work!

Yay! I'm not the oldest coder here. Pascal should be a good choice for learning as I believe that it was created solely for that purpose. :)

My dad taught me to read EBCDIC on IBM 80 column cards when I was in grade school during the Arab oil embargo in the early 70's. He had gone back to school and they only had one keypunch machine that printed what was punched on the cards. (and he was/is a lousy typist) I would read the cards as he keyed them, and write what was punched on them for him. Learned some COBOL that way. Guess I was doomed to be a coder. :mrgreen:

std
November 13th, 2006, 12:56 PM
The first thing you need to learn is how to solve a problem in a sequential, step-wise manner and to get it down on paper in your primary spoken/written language. Mine is English; yours may be French, Hindi, or anything else. If I can't solve a problem in English, I'll never be able to create one in C/C++, Pascal, COBOL, SAS, etc.

This is one of the most useful advices I've seen in this topic.

As far as I'm concerned, the programming language one learns for the first time should be of least concern, as long as it stays among the more familiar paradigms (i.e. learning Prolog, LISP or ASM for some CPU is a wonderful experience, but I'm not willing to recommend either as a first language).

Much more important than the programming language used is the ability to, erm, code. Or, as someone put it, the portability of the skills is more important than the portability of the language.

The first language I learned was Pascal, but now I've gone to appreciate it as a rather lousy language. This didn't keep me from liking Oberon though. At this moment, my favorite language (read: the one I seem to be using most of the time) is C. I do like C++ (probably one of the very few). I initially hated C#, but I did take the chance of playing with it for a few hours the other day and it seems less lousy than what I thought of it.

As for recommending a language to a beginner, I'd go for Python. I was initially tempted to say Oberon, but it's not too widely used. And of course, there's the Pascal option (with FreePascal being a very good compiler). But then again, the initial choice is not very relevant, provided that it allows one to express his algorithms. It's probably why a higher-level programming language should be the first one.

joshsherman
November 13th, 2006, 02:06 PM
"How?" is such a intricate question. My typical response would be "by reading and doing" and that's truly how I learned to program. What I do find interesting are the folks who say they can't learn from reading, they have to be shown. Programming is mostly text-based... isn't reading the same exact thing as being shown in this situation?

That aside, I started getting into development like most developers my age, and that's with silly BASIC programs in grade school. That progressed to actual programming in BASIC in later years, followed by Pascal and C. This was all in school mind you, and I was taught by a teacher with a book, mostly by reading the book as the instructor wasn't a programmer (he was a soccer coach that needed a class to teach). When I started learning C that was another matter, the instructor was educated (computer science degree and such).

BASIC led to Visual Basic (3 at the time, then I made a jump to 5). VB was done on my time. Reading books I could get at the library, as well as documentation (mid- to late-90s the web was catching on at that point). What was I programming at the time? AOL Proggies of course... as much as I had admitting it, that's where I learned about VB, GUI design and implementation and more complex things like socket programming and using an API.

Visual Basic eventually opened the door to web languages for me. I caught on that I was a lamer for writing AOL apps and moved on to the basics of PERL. How'd you learn PERL? I bought another book, the little black book of PERL. I read it, I used the teachings to write things like guest books and contact forms.

PERL wasn't really my speed, don't get me wrong, it has it's moments but I just don't like it (like some folks don't like tomatoes).

My short lived PERL days were eventually replaced by dreams of becoming an ASP developer. I've been out of high school for a few years at this point, and was doing tech support at an M$ chop shop. As per the norm, another book was bought, read, and implemented. ASP was all well and good, but after a couple of simple apps (guestbook, contact form, the usual) I stumbled upon something called PHP.

I had already been using Linux off and on for a few years (old school slack user) and the migration to PHP seemed right. It was open source, it had been around for a while, it had nice syntax, and best of all, it wasn't an M$ product. Around this time Linux became a full time situation for myself, and PHP my new weapon.

For once though, I found myself not going out and buying a book. The PHP online documentation along with the help of a web page here and there has been my aid since the get go. To this day I'm still doing PHP and funny enough it pays my bills and then some. I did eventually buy some books. First would be an SQL book, because up until ASP, I wasn't using databases (flat files forever!) and when using ASP it was all Access. As of late, I've purchased a PHP5 book, just to get a better understanding for it.

So yeah, as mentioned before, I learned how to program by reading and doing. I am currently a SAMP developer with LAMP tendencies on the weekends.

-j

marcusdean.adams
November 14th, 2006, 07:26 AM
I'm a new programmer, but I'm getting fairly decent in python, and have studied it in school. My first computer language(not programming) was html, and this was way back before I even knew Linux existed. I was put in charge of my school website my Freshman year of high school because the original webmaster just stopped, so I installed Microsoft Frontpage and would do something in the GUI part, and then flip over to the "code" tab and see what it did. Doing this, I taught myself html. Later I learned to clean it up and make it more standards compliant by using NVU, but this was after I discovered Linux. After starting school at my University my Computer Science class introduced my to python. I bought the python textbook and read way ahead of the class and taught myself most of what I now know about python, :p. Python is a very good beginner language because I've found it to be quite powerful, it's cross platform, and it's easy to read. Somebody who doesn't know the syntax or libraries for python can sit down and take a guess at what's going on because it uses English words like "if" and "import" and "print". Here are some suggestions, which I see are already mentioned but I figured I'd reinforce it.

- Know what you want to do. What do you want your program to do? You need to know your problem, and be able to look at it as the computer should see it. When you think something like, "I want it to ask the user for their name" you need to know how you would do this using your programming language of choice.

- Lay out a plan. Even if it's not written, you need to know ahead of time what your program is going to do from beginning to end so that you can lay things out in the proper order.

- Keep your documentation close. Even if you're a master of your chosen language, documentation is always handy in case you forget things. I'm really bad to write bash scripts and programs to simplify things for me, and when I get on another computer that doesn't have them I realize I've forgotten what my programs even do, lol.

- Know how the computer works. A computer basically does what you tell it. If a program crashes, it is because you have made a mistake or forgotten to account for something. Depending on the size and complexity of your program, be prepared to spend "lots" of time debugging. Know how to properly use if statements to account for any unexpected input from the user.

I suggest starting