PDA

View Full Version : new to programming




stealthsniper96
Jul 30, 2007, 12:24 PM
hey guys ive never relly done much programing but i'd like to get into it so what programs and such should i start out using?



dingdongbubble
Jul 30, 2007, 05:00 PM
Yes plz help me too. I have not done ANY comprehensive programming at all except for copying down a mall code for temperature converter and thats all I guess. I dont have ANY idea as to how to START programming nd what it is aout and stuff. Treat me like a dumb idiot retard. On the web development forum, I started HTML using HTMLog.co and it helped a lot and now I lov HTML and CSS. But I dont know about programming it sees way more complex and daunting. How do I start. Where do I start.

Loc
Jul 30, 2007, 05:06 PM
I haven't read this book since I'm already a professional programmer, but you might find it useful: http://www.amazon.com/Learn-Program-Pragmatic-Programmers-Chris/dp/0976694042/ref=pd_bbs_5/002-8331069-9410404?ie=UTF8&s=books&qid=1185833140&sr=8-5

cazlar
Jul 30, 2007, 06:24 PM
I can't remember how much assumed knowledge there is here, but I learnt most of my early Cocoa stuff through MacDevCenter's columns (http://www.oreillynet.com/pub/ct/37). Start at the end (oldest).

However, if you really have NO programming knowledge, that might not be the best place to start.

x704
Jul 31, 2007, 04:15 PM
first you need to decide what you want to do, which will narrow down what languages you will want to learn first. The first big split for different languages is interpreted vs compiled.

What do you want to do? What are your ultimate goals in the programming world?

stealthsniper96
Jul 31, 2007, 06:41 PM
um i dont really know. im just lookin for something to do in my spare time. and maybe something to make a little spare money if i get good enough at it.

Aranince
Jul 31, 2007, 06:43 PM
If you are just starting out...learning something like Python would be good. Its an easy language.

Loc
Aug 1, 2007, 01:22 PM
If you are just starting out...learning something like Python would be good. Its an easy language.

I second learning Python and would like to add Ruby. I prefer Ruby and using Rails for the web. :D

You can also start with Java but I feel there's more of an initial learning curve.

stealthsniper96
Aug 1, 2007, 01:56 PM
python and ruby? ahha i have absolutely no idea what they are but i would like to be able to use something easy that i can learn how to use off the net because im a poor student and i dont wana buy any more books than what i need for school.

stealthsniper96
Aug 1, 2007, 02:06 PM
ok well i downloaded python. what are some good recources to learn how to use it?

dingdongbubble
Aug 1, 2007, 05:19 PM
I think Ruby would be better. You can get a free book for Ruby called Why's Poignant Guide. Its not hose fake crappy free books but this is something serious. You can try Ruby right in your browser. Go to Hackety Hack also.

jtalerico
Aug 1, 2007, 05:27 PM
Personally I would start with PHP. But Python is also a good language to have under your belt. PHP has great documentation online as does Python and Perl.

Good luck with your studies.

AlmostThere
Aug 1, 2007, 06:00 PM
ok well i downloaded python. what are some good recources to learn how to use it?

One of the things you need to tell us is why you want to learn programming? General interest in things computery, a few small scale ideas you want to turn into reality or maybe some grand plan and career choice?

(There is no wrong answer to this, of course.)

In terms of the python distributions, you should have a programme called IDLE installed under /Applications/MacPython 2.5/ , assuming you downloaded from http://www.python.org/download/. If not, get your distribution from here.

Fire up IDLE and you can start programming. Follow the tutorial on the python website - there is a beginners guide section under their documentation menu.

I have just skimmed over this one http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html which looks like a nice first steps type tutorial.

Read up on the official tutorial http://docs.python.org/tut/tut.html starting at Chapter 3, 4, 5 and 7 which cover the major programming concepts.

Also set yourself a little project - I would suggest something like reading a file containg several rows of numbers as text and printing out the sum of adding each column and row. You can implement this in lots of different ways, using new techniques as you learn them.

From there, it depends on where you want to take it - you might be interested in web development, graphics, GUI apps, number cruching, anything ...

The best news is that python is more than capable of taking you anywhere you want to go (certainly until you have the knowledge to choose a more appropriate tool for a certain job with minimal outside input).

stealthsniper96
Aug 1, 2007, 06:58 PM
One of the things you need to tell us is why you want to learn programming? General interest in things computery, a few small scale ideas you want to turn into reality or maybe some grand plan and career choice?


well right now maybe just some simple apps to get started. but since im still in highschool it would be nice if i could get good enough at it that by the time im in college i could make something people would actually like and make it like donationware or something and be able to make some extra money. i was thinking maybe an all around system monitor for laptops.

winterspan
Aug 1, 2007, 08:09 PM
ok well i downloaded python. what are some good recources to learn how to use it?

Best Python resource here (http://tinyurl.com/2rfwr)

stealthsniper96
Aug 1, 2007, 08:15 PM
haha winterspan. why should i use google when i got all these smart people here to answer my questions?

kurzz
Aug 1, 2007, 10:06 PM
If you haven't done any programming, read any beginner's programming book. Start by learning the basics like data types, structures, memory allocation and compiling. Then move on to learning the language of your choice. If you want to make mac software, focus on Objective C. After that, learn Cocoa and how the OS works. It takes a lot of reading and practice.

x704
Aug 3, 2007, 12:47 AM
Alright, so programming as a spare time hobby kind of thing for fun, at least for now?

If that is the case then almost any popular interpreted language (Ruby, Perl, Python) will work well, Java would be a good choice too. Your first language just should probably not include manual garbage collection...

Whatever you pick, be absolutely sure you don't drop it in favor of something else until you feel like you can get stuff done with the language and you feel like it is somewhat lacking for what you want to do. If you drop any one language before then, then you will be wasting your time and will never be satisfied with what you currently are learning (even if it happens to be the best for the job). Stick with it, people in this forum is willing to help out ;)

I actually started in BASIC (very bad choice), did some interesting things with it, then basically moved on to Java. Now I am working on the C/Objective-C language.

My goal is to have fun in my spare time working on open source projects and for them to be cross platform compilable (excluding windows, lol). Even though my (to date) choice profession has very little to do with programming.

Soulstorm
Aug 3, 2007, 01:29 AM
I wouldn't bother starting with anything less that an Object Oriented language, since most programmers use them nowadays. Also, they will help you accomplish tasks easier and more efficiently.

janey
Aug 3, 2007, 01:32 AM
haha winterspan. why should i use google when i got all these smart people here to answer my questions?

What kind of weird attitude is that when google can help you find other useful resources and communities full of people who develop in these languages professionally...people who design these languages..people who contribute to the projects...people who are brand new to these languages and are just learning...?

If you expect to be spoonfed, sorry, I have to say that's really not the best way to go about learning something new.


Your first language just should probably not include manual garbage collection...
objc has garbage collection nowwww :)

although, personally i'd probably go with ruby or java as a first language..maybe.

x704
Aug 3, 2007, 04:04 AM
I wouldn't bother starting with anything less that an Object Oriented language, since most programmers use them nowadays. Also, they will help you accomplish tasks easier and more efficiently.

Yes, because it _is_ the more sensible way of thinking and structuring programs. All newer (mid 1970's to now) languages are based on this model with few wide* spread exceptions. The only exception is the C language, which started way back when people realized that something was needed that was almost as low level as ASM only much faster and easier to make programs in; back when BASIC and fortran were around before the C language came about. The low levelness of C is evident where it is still being used today, namely in kernels, drivers, and embedded devices like microcontrollers and cellphones.

People then decided shortly after making C that OOP was the future way of thinking and a few years later devised the C++ and Objective-C models based on the already popular C way of doing things. If you noticed that the most widely* used languages have some of the same syntax rules because C was so popular.

*I say most widely because there are lots of languages out there that are around solely because of CS people getting together to try something new, like lolcode (http://lolcode.com/) (lol, kinda funny really :) )

I have no idea why I got into that stuff... I don't really feel like deleting perfectly good text either.


objc has garbage collection nowwww :)


Well, yes... kinda. But that is not really my point... If you can do garbage collection by hand, then you don't want to start with it... the D language falls into this category as well. The main reason is to not get bogged down with how to do garbage collection while you are still learning what a loop is.
*unless* you _know_ that is the language you want to end up using... But even then I encourage going from a higher level to a lower level language to get a wider understanding of how software and computers work in general, and so you don't say "this one language I half know is the best" like I did with Java ;)


One more thing I would like to add... when you do decide on a language, get at least two books by two different authors, if you are having trouble learning the language one way and are stuck, then you can switch to the next. It will also help season what you put into your own code, trust me. :rolleyes:

janey
Aug 3, 2007, 05:23 AM
Well, yes... kinda. But that is not really my point... If you can do garbage collection by hand, then you don't want to start with it... the D language falls into this category as well. The main reason is to not get bogged down with how to do garbage collection while you are still learning what a loop is.

I know it wasn't your point, but this is a mac forum after all..even if the OP is new to everything, it wouldn't hurt to know of the existence of one of the most commonly used languages on this platform.

One more thing I would like to add... when you do decide on a language, get at least two books by two different authors, if you are having trouble learning the language one way and are stuck, then you can switch to the next. It will also help season what you put into your own code, trust me. :rolleyes:
Agreed. In fact, I'd recommend more than just that...maybe talk to people who might be able to help, you get the idea. Sometimes when I get stuck on something I just talk it over with someone else who might know the language well, or maybe ask in the appropriate IRC channel...just because sometimes actually talking with someone and going over it is better than just passive reading or googling.