1. Welcome to the new MacRumors forums. See our announcement and read our FAQ

new to programming

Discussion in 'Mac Programming' started by stealthsniper96, Jul 30, 2007.

  1. macrumors regular

    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?
  2. macrumors 6502a

    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.
  3. Loc
    macrumors newbie

  4. macrumors 6502

    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.
  5. macrumors regular


    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?
  6. macrumors regular

    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.
  7. macrumors 65816

    If you are just starting out...learning something like Python would be good. Its an easy language.
  8. Loc
    macrumors newbie

    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.
  9. macrumors regular

    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.
  10. macrumors regular

    ok well i downloaded python. what are some good recources to learn how to use it?
  11. macrumors 6502a

    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.
  12. macrumors 6502

    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.
  13. macrumors 6502a

    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).
  14. macrumors regular

    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.
  15. macrumors 65816

    Great Python Resource

    Best Python resource here
  16. macrumors regular

    haha winterspan. why should i use google when i got all these smart people here to answer my questions?
  17. macrumors 6502


    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.
  18. macrumors regular


    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.
  19. macrumors 68000


    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.
  20. macrumors 603


    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.

    objc has garbage collection nowwww :)

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


    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 (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.

    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:
  22. macrumors 603


    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.

    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.

Share This Page