You are not logged in.

#1 2006-07-21 03:47:55

dalcasey
Member
Registered: 2006-03-05
Posts: 22

Where to start in the world of Programming?

I'm making this post here because I can't think of a better spot for it. I love computers, and I love Linux, and I love Arch, best distro. I've stumbled upon, hands down. Aside from learning how to survive in the Linux environment, and freeing myself from Windows completely, I've always been confused on where to start with programming. I'm 16 and have taken the very basic computing classes at school, and dabbled into a few languages, but that time isn't even worth mentioning here, because it was a mere glance into it. I really want to learn how to program well, and I'll latch onto it I'm positive of that, but it's so confusing on where to start exactly, so anyone who is well versed in the subject, please take a minute to put in your two cents on where and how I should start.

(I'd love to learn it all on Linux and not have to get Windows involved, but I will use Windows at some point because I know it's inevitable)


- Thanks!


Tux has helped me close the gates! big_smile

Offline

#2 2006-07-21 04:21:02

user
Member
Registered: 2006-03-29
Posts: 465

Re: Where to start in the world of Programming?


I removed my sig, cause i select the flag, the flag often the target of enemy.

SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]

Offline

#3 2006-07-21 04:41:55

Kopsis
Member
Registered: 2006-01-31
Posts: 15

Re: Where to start in the world of Programming?

The "right" answer depends a lot on you, your personality, and your learning style. But here are a few suggestions that might work:

Find a Mentor: When you are learning to program, you will make many mistakes. In fact you'll probably do more things wrong than right. Having someone who can review your work and provide constructive but brutally honest criticism is invaluable. Normal people avoid criticism. Technical people embrace it. Leave your ego at the door ... you can have it back once you've finally earned it smile

Start with a Scripting Language: Back when I learned to program, most folks started with BASIC. It was a horrible, clumsy language, but it was simple, highly interactive, and you got decent results with relatively little code. Yeah, people picked up all kinds of bad habits that way, but they had fun and so they stuck with it. Scripting languages today are light-years ahead of the "linenumber/goto" BASIC that I learned on, so you can get the fun and productivity with even less pain. Something like Python, Ruby, or (my favorite) Lua, is a great way to start. There will be plenty of time for learning C/C++/C#/Java down the road.

Read other people's code: Open source is an awesome learning tool! There are literally billions of lines of code out there that you can study. Take a category that interests you, find a cleanly coded implementation (ask experts for suggestions), and then take it apart. Think up a feature you want to add or some small part you'd like to improve, then study the code and figure out how to do it. Architecture/design and coding is too much to handle all at once. Students of music study the works of the masters before they are expected to create their own compositions, programming is not that much different.

Start small: Don't be afraid to write something trivial. There's a temptation for new programmers to embark upon grandiose development projects. They often forget that many of the applications they use day-to-day, didn't spring forth fully formed. They started as small seeds and have grown gradually into big applications often over the course of many years.

Offline

#4 2006-07-21 04:47:20

syd
Member
From: Auckland, NZ
Registered: 2006-01-22
Posts: 155

Re: Where to start in the world of Programming?

Well it depends what you want to do really.
When i started i went and did a dumb thing by learning basic. I wouldn't recommend doing that.  :oops:

Java or python would be my choice if i were starting at the moment.
http://www.python.org/doc/Intros.html and the java sun tutorials are a good place to start.

Im pritty sure that this has been asked before some where.

Offline

#5 2006-07-21 05:20:12

dalcasey
Member
Registered: 2006-03-05
Posts: 22

Re: Where to start in the world of Programming?

Woah! Thanks for the awesome replies!

My best friend is a great programmer, best in our school, and leads the computer science team in all their programming competitions. He got me into computers, so he'd be my mentor. I'd ask him where to start but I think he's so far ahead he probably wouldn't want to waste time aiding me, or maybe he thinks that things have changed a lot since he got started. Thanks for the valuable input, I'm very excited to get started. I hope some more replies are on the horizon smile


Tux has helped me close the gates! big_smile

Offline

#6 2006-07-21 05:37:28

kishd
Member
Registered: 2006-06-14
Posts: 401

Re: Where to start in the world of Programming?

Perhaps you could have a look at Ruby. There is a nice tutorial for beginners @

http://pine.fm/LearnToProgram/?Chapter=00


---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare

Offline

#7 2006-07-21 06:55:11

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Where to start in the world of Programming?

Python or Ruby ,,,, php maybe

thing is try them out see how you go....

If you get stuck there are plenty of Archers here that will help

Cactus wrote me an whole app including gui & docs I thought I had done very well but I learnt nothing lol


Mr Green

Offline

#8 2006-07-21 08:48:07

tmadhavan
Member
From: Wales :D
Registered: 2004-03-26
Posts: 441

Re: Where to start in the world of Programming?

I think one of the most important things to learn is the concept of object-oriented programming. This is the idea of breaking up your program into discrete objects, each doing a certain job. So maybe you want to program a car, and it has a wheel object, an engine object, etc. Although not the only way of programming, it is very common, and more importantly is realisable in many languages. I.e. if you learn the concept, you can apply it in many places.

Now, that may not make too much sense, but bear with me. I'd second the opinions above about Python as a first choice. It is very friendly to read and understand, but allows you to do much more complex programming when you are ready. In contrast, a language like Java requires everything to be a separate object (or 'class'). C/C++ are probably not too good to learn on your own, from scratch.

So if possible, learn a little theory. I'm not sure if you plan on studying programming further, etc., and I'm sure many people would say 'practice practice practice' (and be correct). But I've found, after being taught Java from scratch and the idea of object-oriented programming, it's a much simpler task to learn new languages than if I'd just learned by rote.

Hope that makes some semblance of sense.

Good luck!

Offline

#9 2006-07-21 14:50:02

dalcasey
Member
Registered: 2006-03-05
Posts: 22

Re: Where to start in the world of Programming?

Woah! Thanks for the kind words, I'm getting started on Python and Ruby ASAP.


Tux has helped me close the gates! big_smile

Offline

#10 2006-07-21 15:02:49

barebones
Member
Registered: 2006-04-30
Posts: 235

Re: Where to start in the world of Programming?

If your going to check out python, try using this http://diveintopython.org/index.html. I found it incredibly helpful for learning python.

Offline

#11 2006-07-21 17:37:23

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Where to start in the world of Programming?

Make sure that whatever language you pick, you don't remain stuck on that language forever. If you start with Python, get a good feel for it and then go to C or C++ and get a good feel for those languages too. I'm as good of a programmer as I am today because I can think of problems many different ways. Learning a multitude of languages will put you in that mindset.

Also, I'd strongly recommend learning at least one object-oriented (Python, C++, etc.), one plain procedural (C), and possibly a functional language (Haskell or some kind of LISP). This is something to do once you get comfortable with programming though; don't spread yourself thin. Learn a language, learn it well, and then expand.

Regardless of what your goals are, don't get discouraged. Early programming will consist of some pretty boring stuff more than likely, especially if you want to do games. Don't rush into GUI's and flashy graphics right away, learn the language first.

Offline

#12 2006-07-22 03:45:31

dalcasey
Member
Registered: 2006-03-05
Posts: 22

Re: Where to start in the world of Programming?

Awesome, even more info at my disposal. I knew posting here would be the best place smile


Tux has helped me close the gates! big_smile

Offline

#13 2006-07-22 08:38:54

rasat
Forum Fellow
From: Finland, working in Romania
Registered: 2002-12-27
Posts: 2,293
Website

Re: Where to start in the world of Programming?

When moving from Windows to Linux, two new features become handy: programming and networking. So, beside learning programming also learn basic HTML and PHP in making web pages to introduce and distribute programs to receive feedback and sharing with others.


Markku

Offline

#14 2006-07-22 13:54:31

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: Where to start in the world of Programming?

deficite wrote:

Also, I'd strongly recommend learning at least one object-oriented (Python, C++, etc.), one plain procedural (C), and possibly a functional language (Haskell or some kind of LISP). This is something to do once you get comfortable with programming though; don't spread yourself thin. Learn a language, learn it well, and then expand.

i have to agree here. lisp is great. however, i don't think its functional. i know its oo, aspect oriented, or procedural. but correct me if i'm wrong. haskell is functional. you should also look into weird languages like prolog.

Offline

#15 2006-07-23 03:54:17

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Where to start in the world of Programming?

Wikipedia wrote:

An early functional-flavored programming language was LISP (now mixed-case "Lisp"), developed by John McCarthy while at MIT for the IBM 700/7000 series scientific computers in the late 1950s.[6] LISP introduced many of the features now found in modern functional programming languages, though LISP is technically a multi-paradigm language.

I've always heard of LISP being called a functional language; I guess I learn something new every day smile. I'm obviously not much of an expert on LISP. I tried learning it a few times but stopped because I really didn't like it.

There IS a limit to weird languages. I learned brainf*ck, but that was pretty pointless tongue.

Offline

#16 2006-07-23 04:39:25

user
Member
Registered: 2006-03-29
Posts: 465

Re: Where to start in the world of Programming?

[url=http://www.paulgraham.com/noop.html]Paul Graham[/url] wrote:

I personally have never needed object-oriented abstractions. Common Lisp has an enormously powerful object system and I've never used it once. I've done a lot of things (e.g. making hash tables full of closures) that would have required object-oriented techniques to do in wimpier languages, but I have never had to use CLOS.

Maybe I'm just stupid, or have worked on some limited subset of applications. There is a danger in designing a language based on one's own experience of programming. But it seems more dangerous to put stuff in that you've never needed because it's thought to be a good idea.


I removed my sig, cause i select the flag, the flag often the target of enemy.

SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]

Offline

#17 2006-07-23 16:50:59

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

Re: Where to start in the world of Programming?

syamajala wrote:

i have to agree here. lisp is great. however, i don't think its functional.

Lisp is funny like that. You can write Lisp programs using a functional approach (which I'm led to believe is popular among Lispers), but you could also do it more procedurally. It has stuff like higher-order functions and is based on lambda calculus, but doesn't shoehorn you into any particular paradigm like most languages do. It seems to be partly a side effect of being list based. Since programs are lists and you make the lists, you can choose to make them branch like a purely functional program would, or you can choose to make them linear like a procedural program. Or so it seems to me from my meager experience.

Offline

#18 2006-07-25 13:18:37

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: Where to start in the world of Programming?

i think from my understanding of clos, everything is also an object or class ;-p but i am in need of more modern lisp book.

Offline

#19 2006-07-25 14:49:41

user
Member
Registered: 2006-03-29
Posts: 465

Re: Where to start in the world of Programming?

syamajala wrote:

but i am in need of more modern lisp book.

Practical Common Lisp?


I removed my sig, cause i select the flag, the flag often the target of enemy.

SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]

Offline

#20 2006-07-25 18:28:15

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: Where to start in the world of Programming?

i actually have a copy of common lisp the language by guy steele and lisp second edtion by patrick henry winston and berthold klaus paul horn. i ordered a copy of the second edition  of common lisp the language. i looked at practical common lisp its ok but not really what i'm looking for..

Offline

#21 2006-07-25 21:28:02

scrawler
Member
Registered: 2005-06-07
Posts: 318

Re: Where to start in the world of Programming?

how about newLISP?

Offline

#22 2006-07-25 22:21:47

sula
Member
Registered: 2005-08-07
Posts: 93

Re: Where to start in the world of Programming?

Hmm that newLisp is interesting ,cant find any courses ,tutorials ,etc on web though(im a newbie in programming only know a little delphi)
Do you know some?

Offline

#23 2006-07-25 22:40:53

user
Member
Registered: 2006-03-29
Posts: 465

Re: Where to start in the world of Programming?

syamajala wrote:

i looked at practical common lisp its ok but not really what i'm looking for..

check this site, choose what you want,
http://www.cliki.net/Online%20Tutorial

If no book is useful for you, then why don' t you write one? ;-)


I removed my sig, cause i select the flag, the flag often the target of enemy.

SAR brain-tumor
[img]http://img91.imageshack.us/img91/460/cellphonethumb0ff.jpg[/img]

Offline

#24 2006-07-25 23:21:15

scrawler
Member
Registered: 2005-06-07
Posts: 318

Re: Where to start in the world of Programming?

sula wrote:

Hmm that newLisp is interesting ,cant find any courses ,tutorials ,etc on web though(im a newbie in programming only know a little delphi)
Do you know some?

I linked to the forum.  there is a documentation page on the main site with some intros and  tutorials.

http://www.newlisp.org

the Introduction to newLISP is nice. (and the latest newlisp is in the AUR)

Offline

#25 2006-07-25 23:54:26

syamajala
Member
From: here, there, everywhere
Registered: 2005-01-25
Posts: 617
Website

Re: Where to start in the world of Programming?

i don't see a point to newlisp because most of those things can already be done with lisp. sure you'll need to get some libraries, but with asdf-install thats not an issue. also some lisp implementations support things like foreign function call. why did they have such a burning need to break the standard? if you are really that new to programming in lisp and are having a hard time you should look at scheme.

Offline

Board footer

Powered by FluxBB