What's a good way to start programming?

Discussion in 'Mac Programming' started by jc0481, Jun 23, 2007.

  1. macrumors regular

    Joined:
    Mar 16, 2005
    #1
    I am going to school right now and my school's introduction to programming class introduces us to Visual Basic.net 2003. I have never dealt with programming before. I have only looked at html code and not played around with it. What is the best way to start read some dummies books, go to a beginning programming class in my local community? I am leaning more of going to my library and borrowing some books. Or are there free tutorials on the Internet that I could use? Any help would be appreciated.
     
  2. macrumors G4

    Eraserhead

    Joined:
    Nov 3, 2005
    Location:
    UK
    #2
    It doesn't really matter which language you learn first, Java is a popular one to learn, and you can use books like "Java for Dummies" or look online.
     
  3. macrumors G3

    Joined:
    May 10, 2004
    #3
  4. macrumors 6502a

    Joined:
    Dec 4, 2006
    Location:
    Katy, Texas
    #4
  5. macrumors 603

    janey

    Joined:
    Dec 20, 2002
    Location:
    sunny los angeles
    #5
    Actually, what i personally think is the best Java book is Thinking in Java by Eckel, and the current-1 version is available for free - http://www.mindview.net/Books/TIJ/

    Dummies books are worthless (imo) and there are far better books out there if you just look around.
     
  6. macrumors regular

    Joined:
    Sep 6, 2006
    #6
    Thanks for the website Todd.. looks like some great stuff!
     
  7. macrumors 6502

    Joined:
    Mar 2, 2007
    Location:
    Edge of reason
    #7
    Web programming might be an easy place to start, as it is easier to make things which look good (whether they are or aren't) quite quickly, thus giving quick gratification. Programming with C, C++, etc, are not so nice, as it is difficult to make anything but command line applications (but command line applications are quite useful!)

    Visual Basic .NET is probably one of the easiest for creating applications with UI, but isn't very powerful. C# is harder to write code for, but otherwise similar to VB.NET.

    Java is a relatively good language as it shares characteristics with several other languages, such as PHP, C++, C, C# (in fact, C# and Java are very very similar).

    If you are completely new to programming... perhaps Visual Basic .NET would be best, because it allows you to create programs pretty much right out of the box. After you get a feel for programming, I'd suggest either PHP or Java. (Note: PHP is a web programming language)

    PHP is a relatively easy language, but it takes a bit to set up, which is why I suggest VB.NET first.
     
  8. macrumors 603

    janey

    Joined:
    Dec 20, 2002
    Location:
    sunny los angeles
    #8
    Oh please, command line apps are very useful. I use them all the time to do all sorts of things :D
    And what's wrong with Swing or AWT or SWT (sorry for the java bias)?
    what's wrong with java servlets? it is radically more useful than php. but if there's a language that's pretty good for beginners, I'd probably say ruby - it's pretty simple and nice (and maybe something like http://poignantguide.net/ruby/ is a good starter...)
     
  9. macrumors 6502

    Joined:
    Mar 2, 2007
    Location:
    Edge of reason
    #9
    When I use C++, I primarily write command line applications. I have absolutely nothing against them, and prefer them to other kinds of programs. I was simply saying that they don't give so much of the pleasure of having made something as a GUI might to a beginner.

    Don't get me started on PHP - it is my favorite language, and quite powerful.

    I've never used AWT or Swing. I've written two Java programs (didn't complete either of them) but in both, I made a custom UI by calling drawing commands to draw all the interface. Why? Because I didn't like how Java UIs tended to look, and wanted to implement my own.

    And, unfortunately, I've never used Ruby. I want to, however. I feel kind of tied down to PHP at the moment, though, as I created my own database system which sits atop MySQL, and this system is coded in PHP. It would be quite difficult to move this system to another language, even worse for one I was still learning. And, alas, I'm not willing to part with the system.
     
  10. macrumors G4

    Eraserhead

    Joined:
    Nov 3, 2005
    Location:
    UK
    #10
    But most GUI applications are much more difficult to make unless you use Interface Builder or a similar tool. You can still make a pretty good interface for a command line application.
     
  11. macrumors 6502

    Joined:
    Sep 4, 2001
    Location:
    West Sussex, UK
    #11
    I would recommend almost anything over VB.NET. It doesn't just allow bad programming practises it actively encourages them.
    1. The syntax of the language is horribly verbose and makes moving to a more modern syntax very difficult
    2. VB automatically converts between types. I've seen VB developers using strings everywhere almost like variants!
    3. It auto-globalises one instance of a form! This can then be called using ClassName.Method(). What happens when you have two or more instances of said form?
    4. The default privileges of a control dragged onto a form is "Friend" which is equivalent of internal in C# or default in Java.
    5. The VB libraries bring all sorts of horrible hangovers from VB6

    Personally I'd recommend Python as a good starting language.
     
  12. macrumors 601

    HiRez

    Joined:
    Jan 6, 2004
    Location:
    Western US
    #12
    I agree with CoreWeb in that, for me at least, being able to create something with a GUI gives a faster sense of accomplishment and just makes learning more fun. Certainly command-line apps are useful and necessary, but I got bored learning in that fashion. Likewise, choose topics that interest you. If an app that flips images is more fun for you than one that simulates banking transactions, then work on that. I think early on it's more important to stay interested in advancing than it is to take what might be the best logical path. If you grow bored with it early, you'll quit, so make it fun for yourself.
     

Share This Page