Learning to Program for the Mac

Discussion in 'Mac Programming' started by Maccily, Oct 14, 2018.

  1. Maccily macrumors newbie

    Maccily

    Joined:
    Oct 9, 2018
    Location:
    Online
    #1
    Having a few different Mac's at hand I have gotten the bug to learn to make my own programs for Mac, I am hoping to learn Assembly as opposed to just C, C++, Basic, and etc. I am open to any Programing Language at the moment, as I don't know anything, I have not settled on any one brand.

    I do have hopes aside from only Compiling stuff for the Mac.

    I am of course a Total Newbie, but I was looking at this one Book I came Across,

    Macintosh Programming Secrets by Scott Knaster
    https://www.amazon.com/MacIntosh-Programming-Secrets/dp/B000MWX1D4

    and wondered if it would be any help for modern programing?

    What Programing Language would you start with if you were a beginner to programing on a Mac?
     
  2. DeltaMac macrumors G3

    DeltaMac

    Joined:
    Jul 30, 2003
    Location:
    Delaware
    #2
    That book is a 1988 edition, so would be great if you are wanting to write programs for classic Macs, like a Mac II, or a Mac Plus.
    If you don't have any need to program for one of those classic Macs , that book would likely be of no value to you.

    Check out Apple's developer information.
    Look into working with Xcode and Swift.
    https://developer.apple.com/develop/
     
  3. Sydde macrumors 68020

    Sydde

    Joined:
    Aug 17, 2009
    Location:
    Velvet Green
    #3
    Assembly language is mostly non-useful. In the early 90s, one could realistically write in AL and produce better programs than most compilers could generate from equivalent code, but today's compilers are greatly improved, to the point that being able to read assembly may occasionally help but writing in it, outside of arcane system level operations, is a waste of your time and effort.
     
  4. boast macrumors 65816

    boast

    Joined:
    Nov 12, 2007
    Location:
    Phoenix, USA
    #4
    Assembly is a must for reverse engineering or cracking software.

    I would start off with Python; but if you want a strict Mac only thing, do Swift.
     
  5. Maccily thread starter macrumors newbie

    Maccily

    Joined:
    Oct 9, 2018
    Location:
    Online
    #5
    I was thinking about AL being outdated nowadays too, but I was hoping to be able to share some code with the 6502.

    So I probably need a Programing Language with a decent compiler and or an interpreter or both.

    For now I only hope to program for OSX or MacOS as they started calling it but I'll probably be using my Macbook with El Capitan so it will have to compile for OSX. I plan to make use of Firewire connecting my Mac's together to share resources and possibly future development too.. So I have 3 target OSes 10.5.8 PPC Only, 10.6.8 Intel 64bit Only, and 10.11.6 Intel 64bit Only.. For now I'll drop off the idea of PPC Programing, and stick with Intel one architecture is probably enough for a beginner. Also I don't want waste time with 32bit.

    Python had always scared me, of course the last time I looked at it, Python was a new PL.

    I'll look in to that Xcode, Swift, and Python. I should had looked at some post here first too.

    Thanks for the Advice.
     
  6. Red Menace macrumors 6502

    Red Menace

    Joined:
    May 29, 2011
    Location:
    Littleton, Colorado, USA
    #6
    The 6502 doesn't share much at all with modern processors. Most of the mainstream languages were around when Snow Leopard was new, so you could start with some of those. Several (Ruby, Perl, Python, etc) are already installed, although not necessarily the latest versions, and by installing Xcode, you can get the languages used by Apple (Objective-C, Swift). By taking a look at the stuff already installed, you should be able to get an idea of what to look for in a development setup that will work for you.
     
  7. NoBoMac macrumors 68020

    Joined:
    Jul 1, 2014
    #7
    I'd look into Xcode to start, but, would not focus on languages too much at this point.

    Imo, need to focus more on basics: algorithms, memory usage, data structures/classes, efficient database queries, debugging skills, UI/use-cases, etc. Stuff that spans all languages and can be applied to any environment/language. Yes, to get practice, need a language or two to start with, but once the non-fun stuff is mastered along with a language or two, that knowledge transfers.

    Easy to turn out lousy code with any language, it's tough to turn out solid code no matter what the language is and or end environment.
     
  8. Maccily thread starter macrumors newbie

    Maccily

    Joined:
    Oct 9, 2018
    Location:
    Online
    #8
    I think I just order the perfect book it came out in 2009.

    Cocoa Programming for Mac OS X for Dummies by Erick Tejkowski

    Had to spend my ebay bucks, I searched for OSX Programing rather than Macintosh.

    Ruby, Perl, Python, all those are interesting enough, but I agree..

    Where I usually get side tracked is in the Hunting for Languages, Development tools, and etc.. That work for the system I am running and just end up with a lot software I never use. I want to stay focused and actually code something.

    For The 6502 it just was a idea I had for combining learning OSX Programing with Console Development. I didn't know if it would be possible. I hadn't tried Programing since Visual Studio 2005, and before that was with QBasic, Visual Basic for Dos, and Turbo Pascal. I had programed a few original games using a no longer available program called Game Maker 5 for Windows 98, But it didn't require a whole lot of coding.

    I do appreciate the advice, you guy's are the best..
     
  9. Red Menace macrumors 6502

    Red Menace

    Joined:
    May 29, 2011
    Location:
    Littleton, Colorado, USA
    #9
    Well, the Cocoa frameworks will take a while to get used to, and Xcode is just a beast no matter how you look at it (I also started with the 6502 back in ancient times, and try to stay as far away from Xcode as I can). At one time I would have said to try Swift from an Xcode playground project, but each new version (Swift and Xcode) just gets more convoluted.

    You might try to get an older version of TextWrangler that will run in the systems you are using. It is a (free) code editor, but it can also run several of the command line scripting languages directly from the editor, so you can start out without having to also deal with the Terminal or a development environment.
     
  10. cyberblood macrumors newbie

    cyberblood

    Joined:
    Aug 19, 2017
    #10
    If you target only OS X - go with Swift.
    If you want to make cross-platform apps - QT and C++ (LGPL free version) is your option.
    If you want to make an app using some networking , I recommend Python + PySide2.
     
  11. Maccily, Oct 15, 2018
    Last edited: Oct 16, 2018

    Maccily thread starter macrumors newbie

    Maccily

    Joined:
    Oct 9, 2018
    Location:
    Online
    #11
    Thanks I'll give that TextWrangler a try, right now I was looking at BlueJ as there are books on it, but looks like I'll have to wait til my New MacBook Arrives to run the Latest version that has the Java SDK built in. It just Shipped.

    Thanks Again. The Best..

    Update:
    I hadn't started programing anything yet, but I got Winebottler and was able to take Windows GameMaker4 and run it Natively on my Macbook, I also took a game I made long ago with GameMaker5 and it also ran Natively after being built with Winebottler 2.0 GameMaker4 was the last completely free version of the GameMaker Series for Windows.

    I am so excited about being able to Program stuff on Windows, or even Program it on Mac using a Windows Program, I had turn my Mac off.. lol
     
  12. okieiam macrumors member

    okieiam

    Joined:
    Dec 17, 2016
    #12
    If you had coded in VS2005 then you shouldn't care about AL which is dedicated to System on chip like Arduino or IoT.
    If you have to work with Wine why dont you use BootCamp?
     

Share This Page

11 October 14, 2018