You are not logged in.
Pages: 1
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
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
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
Offline
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
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
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
Harry
EDIT: added link to QMPDClient's homepage.
Last edited by cautha (2008-06-19 22:09:23)
Offline
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
Edit: BTW, nice thread hijack
Last edited by gnud (2008-06-19 22:54:42)
Offline
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
Edit: BTW, nice thread hijack
I have a habit of hijacking threads
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
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)
Last edited by cautha (2008-06-20 01:15:05)
Offline
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).
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
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
Thanks for the suggestions, guys! Both of them look promising. Hopefully ninjaprawn likes them too
Harry
EDIT:
@catwell: I learned some JAVA at school, too. I've since concluded that it is the devil.
Last edited by cautha (2008-06-20 15:54:24)
Offline
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
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
I agree with gnud. Knowing HTML/CSS does not make me a programmer
@gnud, did you get my e-mail?
Harry
Offline
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
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
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
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
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
Pages: 1