Would you give advice to a student in a crossroad?

Discussion in 'Mac Programming' started by dimi94941, Sep 30, 2011.

  1. dimi94941 macrumors regular

    Oct 25, 2010
    OK, so I just came to US for studying in college. My major is computer engineering. This semester we're gonna learn Microsoft Visual Basic and next semester C++. However for couple of years now I've been a Mac and iPhone user... so I would really like to learn coding for Mac and iPhone/iPad and not Windows... I know that developer tools are Cocoa and Xcode, maybe they're more but I don't know.

    So, what advice would you give me to do. Should I learn Visual Basic and then what? How can I implement the learning for OS X and manage with my time with school? Should I just buy a book and learn two languages at the same time? Or is it that when I learn C++ I'll also know Cocoa and Xcode? Please advice. Lack of Mac in schools are frustrating, it's like people are obsessed with Windows...
  2. lee1210 macrumors 68040


    Jan 10, 2005
    Dallas, TX
    People are obsessed with Windows because they are obsessed with money, and it's still the most popular OS.

    If you're just starting out, focus on one thing at a time. Learning C++ will not teach you Objective-C (language), Cocoa (framework), or XCode (IDE). You should learn about Object-Oriented Programming along with the way it's implemented in C++. This, and programming basics, should assist you in learning other things. Other than that, you won't get these skills "free" learning something else.

  3. jiminaus macrumors 65816


    Dec 16, 2010
    In your first semester your first goals should include learning how to break down problems, how to starting thinking like a computer and how to research documentation to find answers. You can do this any language. For you you'll be doing this with Visual Basic. While Visual Basic itself won't be useful to you directly in Mac/iOS programming, these fundamental skills will be.

    Then in the second semester you'll learning about object-orientation and memory management. Again, the particular style of OO and memory management of C++ won't be directly useful to Mac/iOS programming, the fundamentals that you'll learn will be.

    C++ is based on C and Objective-C is an extension to C, so learning C++ will kickstart you in Objective-C because you'll have the common C heritage. However you will have to unlearn some things because C++ and Objective-C do many things differently. They're based on two different object-oriented models. But the fundamentals of object-orientation are the same.

    I would strongly discourage you from learning Mac/iOS programming while your learning Visual Basic and C++. As a beginner, you'll have more than enough to learning and struggle with doing just one at a time. And differences between them will confuse you.
  4. Hansr macrumors 6502a

    Apr 1, 2007
    Just learn both and be an actually useful person once you enter the market place. I use on average 8-10 languages over the course of a month. When you are in the position where you just pick the one that's most suited to a specific solution, you're golden.
  5. Madd the Sane macrumors 6502a

    Madd the Sane

    Nov 8, 2010
    Just an FYI, you can use Visual Basic on the Mac side by using an IDE called RealBasic. I myself have not used it, so I can't vouch for how similar it is to Visual Basic. But it's there.
  6. Hansr macrumors 6502a

    Apr 1, 2007
    It's crap, outdated and produces bloatware. Ignore it.
  7. ehoui macrumors regular

    Jan 27, 2011
    VB... yikes. That being said, IMO, language is the least interesting aspect of CS. Anyone can build crappy software with powerful languages and APIs. A few can build great software even when given less than optimal environments and tools.

    Do what must of us probably did: pick your school topics to optimize your degree (when an opportunity to do something fun comes along, then great); and do your "side" projects to work on stuff that you are interested if you are not learning that in school AND if you have time.

    If the instruction is good, then regardless of the language, you will probably learn something that is useful to other languages/platforms. If the instruction is "how to hack stuff up in VB", then consider it a resume building class and look to the next one to build your foundational knowledge which would be applicable to OS X, iPhone, and in fact, pretty much everything.
  8. larkost macrumors 6502a

    Oct 13, 2007
    No, this is not VisualBasic. Both RealBasic and VisualBasic are languages based in the original Basic language, but in both environments you will spend far more of your time in the frameworks that are specific to that setup. Learning VisualBasic will not help you out very much with actual productivity in RealBasic, and vise versa.

    And both setups have IDE's.
  9. WMuntean macrumors regular

    Aug 23, 2007
    I'm really glad you brought up this point. I believe that understanding and knowing how to research documentation is way under emphasized. I think it is the single most important thing when learning a new language. Every language does documentation differently and being able to abstract the structure behind them is going to facilitate your learning of that language.

Share This Page