Interested in learning how to program, where should I begin?

Discussion in 'Mac Programming' started by deosaa7, Jun 25, 2011.

  1. macrumors member

    Joined:
    May 27, 2011
    #1
    Hello all,

    I'm a recent college graduate and I will soon be entering medical school. I'm interested in the hybrid field of programming for medical applications - it's a niche field where the expertise of a doctor is required in writing programs for cardiological and neurological software. But that stuff is ~4 years in the future and it's a long term goal.

    I've always had an interest in programming and I even took introductory level computer science classes my freshmen year of college - I just graduated this past May. I did well in these classes but I don't count that because I largely forgot all the stuff I learned and projects I did. I want to start anew and my goal is to teach myself how to program. I have pretty decent time management skills (also math skills if that's relevant) and I'm pretty sure that I can probably set aside about 8-10 hours a week for this goal of mine. So I have time on my side and I'm pretty enthusiastic about learning but the problem is I don't know where to start.

    There are many languages and many books and I'm not looking for any of those "Learn C++ in 3 days books" I understand you can't become a coder over night and it takes hundreds of hours of writing code to even become decent - I have no problem with that. I'm just looking to learn at my own pace (I'm usually a fast learner) and have fun doing it.

    If any of you smart people on here know of a good program of studies through which I can learn..or could even give me a starting point, I'd appreciate it. Eg: I don't know what language to start with..some people say go with Lisp others say go with C++.
     
  2. macrumors P6

    iJohnHenry

    Joined:
    Mar 22, 2008
    Location:
    On tenterhooks
    #2
    A Google search gave me MUMPS ;) ???

    Never heard of it before, but my programming pre-dates even C. :p
     
  3. thread starter macrumors member

    Joined:
    May 27, 2011
    #3
    Thanks for your reply but before I get into specific stuff like that - I'd like to spent the next 2-3 years building a good, solid base which I can apply everywhere
     
  4. macrumors P6

    iJohnHenry

    Joined:
    Mar 22, 2008
    Location:
    On tenterhooks
    #4
    Oh, everywhere.

    Got a dart??
     
  5. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #5
    Learn the basics in any language. Many constructs are cross-language transferrable (loops, conditions etc). Then learn the different major paradigms: procedural, object-oriented, functional, knowledge-based…

    Once you've got all that down you'll probably find you can write most stuff you put your mind to and in many different languages.

    Even for a fast learner mastering all this will take a couple of years at least.
     
  6. macrumors 604

    wordoflife

    Joined:
    Jul 6, 2009
    #6
    I'm trying to teach myself programming as well. I'm starting off with Python first.
     
  7. thread starter macrumors member

    Joined:
    May 27, 2011
    #7
    Ha thanks. By everywhere I meant, right now I want to just learn how to develop coding skills in a relevant language: IE I started with Qbasic and FORTRAN obviously neither of those 2 are used outside of modeling and academia.
     
  8. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #8
    Relevant to what?

    What do you want to program for, application, platform, etc...

    This will drive the choice of languages and tools.

    B
     
  9. thread starter macrumors member

    Joined:
    May 27, 2011
    #9
    Yes I apologize on how ignorant I sound. OK let's say my one year goal is to program my own web applet which allows me to upload a few*pdfs of books, query the first page of the pdf for a title and search amazon with the title and retrieve a picture of the book cover *jpeg. Is this a simple or complex project and what languages and tools will I need to master to accomplish something like that?
     
  10. macrumors 65816

    jiminaus

    Joined:
    Dec 16, 2010
    Location:
    Sydney
    #10
    Then you're restricted to Java. Only Java can use to create web applets. If you mean something other than a web applet, well....

    Opening a file selected by a user is easy enough. However, assuming you're dealing with scans of books, then "querying" the first page of the pdf for a title is very difficult. You would need to run the page through optical character recognition software to convert the image into a text. If this is the cover of the book, this is not going to be easy even with an OCR library because the title will be in an unknown location, unknown font, unknown size. You would need to do some kind of image analysis first.

    Even if the PDF was not scanned image, it's still not easy, because you'd need to identify which of the strings is the title (verses the authors, the edition, marketing text, etc.), and the title may be across of multiple strings in the PDF.

    Easy enough, assuming amazon allows you to do this. You couldn't legally just scrap their website and download the image. The would violate Amazon.com's conditions of use.
     
  11. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #11
    Delicious Monster found this out the hard way and had to give up their iOS app for Delicious Library.

    http://www.macworld.com/article/141584/2009/07/delicious_iphone.html

    Definitely sounds like you should start simple. Javascript in a browser.

    There's a video course at Lifehacker for real beginners and I'll dig up some other links I recently posted.

    B
     
  12. thread starter macrumors member

    Joined:
    May 27, 2011
    #12
    Thanks I very much appreciate it.

    Perhaps a simpler, interesting idea I had was:

    Put a list of movies I know one line at a time into a MS word file - upload that to a website and have the website return to me the wikipedia page and/or IMDB page of each movie. Would this be a difficult task - and if not then what languages and skills could I begin learning to move towards this?
     
  13. macrumors 65816

    Joined:
    Mar 9, 2011
    Location:
    34°55′42″N 80°44′41″W (34.
    #13
    To the best of my knowledge most mission critical apps, cardiological and neurological certainly sound like they would be mission critical, are written in C or C based languages (C++, Objective C), with the possibility of a bit of low level assembly code thrown in. I doubt that scripting languages are robust enough for these kinds of programs. Deital's C and C++ books are excellent choices http://www.deitel.com/ or Kochan's Programming in Objective C http://classroomm.com/objective-c/.

    The advantage of learning a C based language is that once you understand one of them it's not a huge leap to learn another. LISP is another animal completely. There's always been a bit of debate on whether or not it's best to learn C before learning C++ or Objective C, the argument being that learning C will teach you the basic foundations used in all C based languages. The counter argument is that you may need to unlearn C's procedural approach to grasp object oriented approach used in C++ and Objective C. That being said I don't know that mission critical apps embrace Object Oriented languages to the degree they are used in other fields as OO carries a bit of overhead.

    LISP still has a following but is more of a niche language that bears little relationship to other commonly used languages.
     
  14. macrumors 68000

    Joined:
    Mar 29, 2009
    Location:
    USA
    #14
    I wouldn't start a newbie off with C. Way too complicated to accomplish the smallest things.

    I'd start with something like Python or Ruby, or even Javascript, something interactive. Then move on to Objective-C so you can start writing Mac/iOS apps.
     
  15. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #15
    Here's a link to the Lifehacker JavaScript "course" I mentioned earlier.

    http://hackaday.com/2011/01/26/learn-to-code-at-lifehacker/

    B
     
  16. macrumors 6502a

    Joined:
    Apr 1, 2007
    #16
    I'd assume this stuff is prototyped in R, Python or even Matlab so checking those is most likely a good idea. C++ for production for sure.
     

Share This Page