Help - Search - Members - Calendar
Full Version: I want to know where to start learning programming
Hydrogenaudio Forums > Misc. > Off-Topic
davince
Well, i know we had these kinds of topics before..
But i hope i can know more.....
and i have to apologize first for the English i'm going to write..
Sorry, i'm really not good at saying what i want to say...

i've been reading a lot of articles and discussions for a really really long time...
but i still having trouble to begin...
i just don't know where to start with, and what to study step by step until i can really write programs that i want.
i hope i can find a list of series of classes of beinging a programmer..
i know some of my friends started learning programming directly from studying some language, and i once tried, but it just didn't feel right, and i feel i can't really write something i want out.
So i hope i can find some answers here...

any suggestion for the series of learning programming...

i still don't know those kinds of things....
neither do some of my friends...

so i feel i really need some help on learning programming...
i hope i can have some suggestions on steps of learning programming....

thanks...
Jasper
Learning a programming language takes time, especially if it's your first, so be patient.

One way to start is by getting a reference from somewhere (either in electronic or book form, whatever works best for you) and then start looking at other people's programs and trying to modify them. But be sure to start small, with very small commandline utilities for example.

darin
Yeah, I agree with Jasper. Start with books and learn also from other peoples programs. One thing I have to say though is REAL programmers learn on thier own, not from universities. I have been programming since I was a little kid and I have met some programmers with some extrodinary raw talent and I dought very seriousely they got that from a university. Although a university might help, it won't make the man a programmer. In fact I think universities kind of polute the computer world because what they teach is usually at least 2 years out dated and this world seems to base everything on what/who comes out of a university. I'm sure people will argue with so and so who made google who worked on it in a elite university, but those people would of made google regardless if they had a comfy spot in a university or not....that is if they had what it takes to be a real programmer. I also look down on universities invloved in the computer world because they accept people based thier race(affirmative action) rather than on thier talents and scores. How many students with real programming skills and talent will be overlooked by corporations just because they didn't get accepted into an elite university just because they were white?
rohangc
Start with a good structural language like C. Read Dennis Ritchie's "The C Programming Language".
dev0
http://joelonsoftware.com/navLinks/fog0000000262.html
(Scroll down to the "I Wanna Be A Programmer" section)

Python is said to be another good language for starters. Here are two free online books about it:
A byte of Python
dive into python
Garf
Nice blog. Also see this:

http://joelonsoftware.com/articles/CollegeAdvice.html
kl33per
Although it has its problems, Java is one of the easiest languages to learn. Most University courses start out teaching Java, and move on to C++ or C#.
dev0
The problem with Java is that you have to understand OOP before you can start doing anything. As a beginner this can be very frustrating.
Brink
QUOTE(dev0 @ Jan 30 2005, 07:42 AM)
The problem with Java is that you have to understand OOP before you can start doing anything. As a beginner this can be very frustrating.
*


I think davince can start with pascal. Its a good language for beginners, in my opinion.
dev0
This text might be helpful too:
http://www.catb.org/~esr/faqs/hacker-howto.html
Florian
I'd start with Python. It combines the need for teaching programming fundamentals first and bridges easily to the concepts of object-oriented programming.
dev0
QUOTE(Ganymed @ Jan 30 2005, 05:07 PM)
I'd start with Python. It combines the need for teaching programming fundamentals first and bridges easily to the concepts of object-oriented programming.
*


I wholeheartly agree.
davince
how about ides??
i have a pc with windows xp and an ibook...
well....
i feel there aren't many ides on macintosh than in windows xp....
i can hardly find one for c++ or java.......
(well...i know there's xcode...but i just don't like it...)

what ides will you recommend for c++, java, and python?on windows and on mac??

thank you very much.

smile.gif
Garf
Java => Eclipse (you were already told this)
C++ => Notepad
Pyton => Notepad
Florian
QUOTE(davince @ Jan 31 2005, 09:02 AM)
what ides will you recommend for c++, java, and python?on windows and on mac??
*


Eclipse also handles C++ and Python. There are the CDT (C/C++ Development Tools) for C++ and PyDev for Python.

Regards,
~ Florian
kl33per
For Java, I like to use JCreator.

@dev0
I don't know about the whole OOP thing. Coming from a non-OOP background, and then trying to learn Java was very frustrating. I think it may be better to start of with an OOP language, being that all modern languages are OOP anyway. It may even be better to start learning on a pseudo language with the help of some book that then bridges into a modern language a few chapters in.
davince
QUOTE(kl33per @ Jan 31 2005, 11:02 PM)
For Java, I like to use JCreator.

@dev0
I don't know about the whole OOP thing.  Coming from a non-OOP background, and then trying to learn Java was very frustrating.  I think it may be better to start of with an OOP language, being that all modern languages are OOP anyway.  It may even be better to start learning on a pseudo language with the help of some book that then bridges into a modern language a few chapters in.
*


I've checked my deitel c book, and i have a new question.....

i didn't see any part of the book talking about producing programs from library, making gui, creating programs with api, and so on.....

they do have those stuff in the book and i missed it or they don't??

i just feel they only have basic programming instructions...

i'm not familiar with gui, api, library, encoding, and all those stuff we have to have in a win32 or mac program..... i just hardly find those things in the book...or i'm reading in the wrong way??

are those gui, api stuff too sophisticated to be considered a second phase in programming learning??

i've been reading some topics about cvs, but i still don't know what the hell is it...
(well, maybe some part of it is because i'm reading those in English......(i'm not yet very good in english))

where to know all these stuff??
gui, api, library, encoding, cvs....

thanks and sorry for the inconvenience.....
(As you can see...i'm really having a lot of problems in learning programming....)
Florian
I don't know the book you're mentioning, but programming != GUI, library, ...

I'd suggest that you start with some very basic command line programs and thereby make you familiar with the language. Only after you've understood the concepts of the language you're about to start to learn, you should have a look at an API like the Win32 API (if you choose C/C++) or a library like Trolltech's QT (if you choose C++).
Garf
Hello, I like aeroplanes and I was on one once so I figure I might be good at flying so I'm learning how to fly.

I bought this book about learning to fly and it doesn't say anything about how flying an Airbus 380. What a scam!! Does anybody know a good book about flying Airbus 380?
Florian
QUOTE(Garf @ Jan 31 2005, 04:50 PM)
Hello, I like aeroplanes and I was on one once so I figure I might be good at flying so I'm learning how to fly.

I bought this book about learning to fly and it doesn't say anything about how flying an Airbus 380. What a scam!! Does anybody know a good book about flying Airbus 380?
*


laugh.gif
davince
Well.....
but i mean how do i learn those things one by one in a good sequence...(i don't know what more appropriate word to choose...i mean to learn these things that doesn't shows up much in the normal books for newbies step by step)

i hope to know how those things join into one program...what purpose and what things can they do......and how do they work...

thanks...

(i know my questions are kind of silly.....i apologize my less of ability....)
dev0
How about asking less questions and starting actually learning a language and some tools?
davince
I get your point....
i've started...
but just not feeling very comfortable.....
kind of like driving in fog..


i just want to know steps i should follow...you know....
just like before we actually start to write a program, we make plans....

or i'm wrong??

sorry for being a little too eager in this reply...
dev0
Okay. I'll try to make a checklist for you:

[ ] Worked through a complete book about programming language XY
[ ] Got comfortable with the standard tools (some text editor etc/IDE/whatever etc.)
[ ] Got comfortable with XY's standard library
[ ] Looked at some projected implemented in XY, played with the code
[ ] Looked at CVS/SVN and other project mangement related things (make and other build systems etc.)
[ ] Looked at some frameworks/librabies/APIs
[ ] Talked to other developers about their code etc.
[ ] Read blogs/articles about languages, programming, development etc.

You don't have to complete all these in order or even completely. Just get started and try doing things that interest you. If this all seems like work or a painful lot of reading to you, I'm sorry, but you should try to distance yourself from the idea of becoming a programmer.
Otto42
Yeah, one step at a time. Until you know how to make simple programs and somewhat more complicated programs, and become proficent at it, you won't learn how to do all that heavier stuff like GUI and API programming.

Trying to lay out a chart to follow is a bad idea because you don't know exactly what it is that you don't know yet. smile.gif

Put it this way: Once you are comfortable with learning simple programming and comfortable with the methods by which you learn how the things work, you will be able to learn the more advanced stuff in the same way. It's like a mystery book. You can skip to the end and find out who done it, but it doesn't make any actual sense unless you read the whole thing. Trying to lay it out in advance doesn't take into account what you haven't learned yet.

If you're not the kind of person who can pick up a book and read it and know it, then I suggest classes. I went to college for 4 years for this stuff and didn't learn anything about GUI's or API's. But once I had the underlying foundation, learning those parts was easy. Programming isn't something you can figure out how to do in a week or a month or a year.

And some people just aren't cut out to be programmers. Sorry, but there it is. Some people aren't cut out to be cooks either. Nobody complains about the fact that they can't make a cake. laugh.gif
davince
QUOTE(dev0 @ Feb 2 2005, 03:15 AM)

QUOTE(Otto42 @ Feb 2 2005, 04:18 AM)


Thank you....
smile.gif

it helps me to clear some part in my learning...

thanks...

Well...
about programming...
i just feel, maybe i'm unable to write some very good algorithms, at least i should be able to write some programs that can help myself....
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.