You are not logged in.

#1 2008-04-12 10:05:01

ninjaprawn
Member
From: Manchester, UK
Registered: 2008-01-26
Posts: 485

total beginer!

Hi,

Ive been wanting to learn to program for a while. i learnt qbasic as a kid, n had a go with python a few months back.

ive just been looking over netbean ide, and its got me interested again!

i just need a little guidance really in where to begin to learn. any ideas?

thanks


2007 - Started using Arch Linux as my only/main OS
- Samsung Series 3, Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz - 8Gb DDR3 ram - 700Gb HDD
On board intel Graphics & Sound

Offline

#2 2008-04-12 10:38:19

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,395
Website

Re: total beginer!

Well, learning to program needs motivation.  What are you interested in being able to do?  That will help us suggest a language to learn and resource for it.

Offline

#3 2008-04-12 18:37:07

blu3ness
Member
From: Edmonton, Canada
Registered: 2007-12-28
Posts: 169

Re: total beginer!

Try to find a problem that you want to solve first. Blindly learning the syntax and semantics won't really benefit if you don't use them, I forget them in less than a week!


Archlinux on Compaq Presario v5000 laptop smile

Offline

#4 2008-06-19 21:33:45

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: total beginer!

I was just about to write a post like this. I, too, used QB as a kid. My most successful program, I think, was one that would calculate the roots of quadratic equations (in the form ax^2 + bx + c); it included an error routine, too, in case I fat-fingered the numbers. I'm pretty sure I pissed off some of my teachers that way, since it meant that I spent less time doing work big_smile

I still have the code somewhere, actually, but I don't think there's much of a demand for it, considering the fact that there are much better languages to learn these days. Not only that, but I want to encourage people to move away from Windows as much as possible! My grandmother is now running Debian, thanks to me cool

Anyways, I don't really know where I'm going with this. Unfortunately, I don't really have the mindset of a programmer. But I want to be able to contribute something to the community, and start writing meaningful programs as soon as possible... this is starting to sound like every other post I've seen from a n00b, actually. Of course I'm looking for advice as to what language would best suit me, but more importantly, if there's anybody out there with a similar background to mine who is at least a semi-competent programmer at this point, can you give me some tips to keep it interesting for myself? Maybe we could correspond over MSN or something.

Half the time I get frustrated because either the exercises are too simple  -- i.e., "Hello, world!" -- or too complicated for my artsy little brain to understand; the rest of the time, it's simply because I can't see the relevance of what is being taught. I don't necessarily need instant gratification, but I need to feel like what I'm doing is worthwhile -- learning things that have real-world applications. A good example of this is the "beginner's" Linux course that I'm taking now, even though I'm not much of a beginner. Some of it is old hat for me, but some of it -- the lesson on vi, for example -- I didn't know beforehand. And since I use a text-editor a lot (Arch helps with that, hehe), I find myself firing up vim more and more often. But before I started using it, I dismissed it as too hard.

That's kind of the situation I'm in now with regard to programming.

(I'm not new-agey by any means, but I believe the term "Indigo child" is gaining wider acceptance. Google it, and that's pretty much me.)

Wow, long post... so, any suggestions?

If anyone wants to know, there are some things about QMPDClient that bother me (such as there not being a list of servers to connect to when I right-click on its tray icon).

Anyways, I'm going to stop now lol

Harry

EDIT: added link to QMPDClient's homepage.

Last edited by cautha (2008-06-19 22:09:23)

Offline

#5 2008-06-19 22:53:23

gnud
Member
Registered: 2005-11-27
Posts: 182

Re: total beginer!

Well. Adding the list of servers to the QMPDClient tray icon should be trivial, since that list already exists under the File menu. By doing that, you would learn a bit about QT and how it handles menus, but although this knowledge has real-world applications, it's pretty limited.

If you want to finish this project, read some quick and dirty intro to QT, read about QSystemTrayIcon and QMenu --  http://doc.trolltech.com/4.4/qsystemtrayicon.html and  http://doc.trolltech.com/4.4/qmenu.html. Then download and read the QMPDClient code to find out how the File menu and tray menu is populated. From there, the fix should be straightforward smile


Edit: BTW, nice thread hijack smile

Last edited by gnud (2008-06-19 22:54:42)

Offline

#6 2008-06-19 23:21:51

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: total beginer!

I've begun to learn Haskell recently and I find it quite fun since I have no previous experience in functional lanquages.

Up to now I've learnt in order Perl, Python, Pascal (at school) and Java (at school too), I've also messed a little with other languages such as C or WxBasic.

I think like Allan that, after you know the basics, the best way to learn is to have a project and try to realise it using the language you want to learn. Most of the time, for me, it has been something involving graphics and especially SDL. But afterwards you should come back to the books, because when you do that you learn a lot of things but not necessarily how to write code the Right Way (for Python you'd say pythonic code). This is most important when you begin computer programming with a language like Perl which allows almost everything...

Offline

#7 2008-06-20 01:04:21

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: total beginer!

gnud wrote:

Edit: BTW, nice thread hijack smile

I have a habit of hijacking threads tongue

I think it's better than starting a new one, when so many already exist about the same thing. That, and it was pretty good timing. Sorry, Mr. prawn. Think of it as breathing life into them wink

Harry

EDIT: I realize that this particular project is limited; making a program work more like I want it to, though, seems worthwhile. Would you have any other suggestions for me of things I could be doing?

FYI, I really appreciate the input from both of you (gnud and catwell) big_smile

Last edited by cautha (2008-06-20 01:15:05)

Offline

#8 2008-06-20 07:38:07

pauldonnelly
Member
Registered: 2006-06-19
Posts: 776

Re: total beginer!

cautha wrote:

I was just about to write a post like this. I, too, used QB as a kid.

...

Anyways, I don't really know where I'm going with this. Unfortunately, I don't really have the mindset of a programmer. But I want to be able to contribute something to the community, and start writing meaningful programs as soon as possible... this is starting to sound like every other post I've seen from a n00b, actually. Of course I'm looking for advice as to what language would best suit me, but more importantly, if there's anybody out there with a similar background to mine who is at least a semi-competent programmer at this point, can you give me some tips to keep it interesting for myself? Maybe we could correspond over MSN or something.

I started out with QB too (it's quite a club).

cautha wrote:

Half the time I get frustrated because either the exercises are too simple  -- i.e., "Hello, world!" -- or too complicated for my artsy little brain to understand; the rest of the time, it's simply because I can't see the relevance of what is being taught. I don't necessarily need instant gratification, but I need to feel like what I'm doing is worthwhile -- learning things that have real-world applications.

What you need is a good introductory book that starts with simple material and moves fairly rapidly to useful applications. I'll go ahead and recommend Practical Common Lisp to you, since it's a good book and Common Lisp is a good language (a good deal better than most) (see comp.lang.lisp too).

But also, you may need to learn to choke down your frustration and either dutifully go through the easy stuff (it's a valuable opportunity to ingrain things you merely understand currently) or buckle down and study the hard stuff, as the case may be. I don't know, maybe you know how to do that already, but it's something I sometimes have a problem with. It's too easy to set something hard down and save it for later — every time I look at it.

Offline

#9 2008-06-20 09:04:15

scj
Member
From: Sweden
Registered: 2007-09-23
Posts: 158

Re: total beginer!

Another really good (and free) book is Structure and Interpretation of Computer Programs. It is more in the realm of computer science, but if you hunker down and do all the exercises, you'll be a full fledged programming wizard in the end. Or so I've heard. The examples start off pretty simple but they are important and shouldn't be ignored, because soon enough you'll be using that knowledge to write your own Scheme compiler.
There is even a video lecture series to go along with it.

Scheme is probably the best language to "learn" how to program with, since the syntax is so incredibly simple (yet almost obscenely powerful).

Offline

#10 2008-06-20 15:49:24

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: total beginer!

Thanks for the suggestions, guys! Both of them look promising. Hopefully ninjaprawn likes them too smile

Harry

EDIT:

@catwell: I learned some JAVA at school, too. I've since concluded that it is the devil. wink

Last edited by cautha (2008-06-20 15:54:24)

Offline

#11 2008-06-20 17:15:54

osc~
Member
From: brazil
Registered: 2007-07-06
Posts: 117
Website

Re: total beginer!

i am a beginner in programming as well.
i recommend to start with html/css and then add some javascript when you get better, try to enter into python.
cheers
atleast that was my experience

Offline

#12 2008-06-20 18:49:59

gnud
Member
Registered: 2005-11-27
Posts: 182

Re: total beginer!

I strongly disagree. HTML/css is fine if you want to learn how to program browsers, but you will learn nothing about programming that can be reused in other contexts, except how to use a text editor. You should be learning about problem solving, data structures and logic. Not about CSS quirks.

To end on a more constructive note, check out http://www.javabat.com. You can solve small problems in java and get your solution tested at once. All levels of difficulity -- it's really kinda nice. I used this to get used to java arrays and strings, when I had to learn some java for a university class.

Last edited by gnud (2008-06-20 18:51:18)

Offline

#13 2008-06-20 19:17:49

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: total beginer!

I agree with gnud. Knowing HTML/CSS does not make me a programmer tongue

@gnud, did you get my e-mail?

Harry

Offline

#14 2008-06-20 21:41:39

osc~
Member
From: brazil
Registered: 2007-07-06
Posts: 117
Website

Re: total beginer!

well, for a total beginner a real nice way to start is to dis-mystify how programming works. a nice and visual way to do this is with html and css after that, you could start scripting with javascript and the into other languages as well. i just shared my experience and did not mean to offend the great programmers of low level languages by comparing C to HTML. i just gave a constructive example that worked for me.

cheers

edit:

i encourage you to also read K&R book on C.

"hello world" is a great example.

Last edited by osc~ (2008-06-20 21:43:03)

Offline

#15 2008-06-20 21:47:53

cautha
Member
From: Kingston, Ontario
Registered: 2008-06-02
Posts: 115
Website

Re: total beginer!

You didn't offend; I'm just saying that I know my way around (X)HTML and CSS, and I'm still having trouble making sense of most mainstream programming languages.

Harry

Offline

#16 2008-06-20 21:56:38

magnum_opus
Member
Registered: 2005-01-26
Posts: 132

Re: total beginer!

as far as finding problems to solve I recommend Project Euler, it won't force you to learn anything really deep about the language but it will get you used to it.

also as SICP was mentioned: PLTscheme (the package is DrScheme) is a good language to learn with, small set of core concepts but full of features and PLTscheme has a good sized community (as far as scheme goes).

Offline

#17 2008-06-21 10:43:04

gnud
Member
Registered: 2005-11-27
Posts: 182

Re: total beginer!

osc~: I didn't mean to belittle HTML/CSS-knowledge -- I have to hit a reference every time I do something advanced with CSS. But that doesn't change the fact that it's _not_ programming. HTML is (or should be - ) a semantic markup language, and CSS is a layout description language. Neither are programming languages. I think you should learn to program in something turing complete...

Offline

#18 2008-07-02 07:50:59

plut0nium
Member
From: Mons, Belgium
Registered: 2007-01-18
Posts: 18
Website

Re: total beginer!

magnum_opus wrote:

as far as finding problems to solve I recommend Project Euler, it won't force you to learn anything really deep about the language but it will get you used to it.

also as SICP was mentioned: PLTscheme (the package is DrScheme) is a good language to learn with, small set of core concepts but full of features and PLTscheme has a good sized community (as far as scheme goes).

+1
I think programming challenges are a good way to have small projects to work with...

Last I did was Google Treasurehunt ( http://treasurehunt.appspot.com ), where most of the 4 problems can be solved with programming... each took me about 30min-1h of python dev., with different aspects (recursive algorithm, file handling, regexp, ...)


Without evil there can be no good, so it must be good to be evil sometimes...

Offline

Board footer

Powered by FluxBB