Rookie wants to start making apps, which mac to go for? Anything else I should know?

Discussion in 'iOS Programming' started by student_trap, May 2, 2014.

  1. student_trap macrumors 68000

    student_trap

    Joined:
    Mar 14, 2005
    Location:
    'Ol Smokey, UK
    #1
    Hi all,

    I have no experience programming, but am pretty quick at picking stuff up when I need to, and have been wanting to give making apps a go for a couple of years now.

    I have decided to bite the bullet, buy a new mac and start learning to make apps (and hopefully make a couple!), but am totally clueless as to what specs are needed for this sort of work, I don't even know which programes I'd need!

    So I'm looking at the macbook airs, and trying to decide if 4gb vs 8gb ram is required, and 128 vs 256 SSD is required, can anyone help?

    Also, could anyone link me to somewhere that explains the process, or perhaps explains themselves how to go about making apps as a rookie!!

    Thanks in advance to anyone that can help!:)
     
  2. Dranix macrumors 6502a

    Dranix

    Joined:
    Feb 26, 2011
    Location:
    Gelnhausen, Germany
    #2
    I would say each Mac would be good enough fro Xcode. You should have at least 8GB. A big screen helps imo, but many work fine even on the airs.

    If you want a mobile solution any mbp or mbair would be fine with 8GB, but I would recommend getting a 22-24" screen for home usage and hook it to the macbook.

    The possible big resolution on the retina macbooks makes them likes for devwork, but they are not cheap. But what am I to talk? /* strokes his DarthMac ^^ */
     
  3. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #3
    In the interest of avoiding buyer's remorse, I would suggest putting off buying a Mac until after WWDC. Apple usually updates a few models during that... Apple might put off updates until the Fall, though.
     
  4. Dranix macrumors 6502a

    Dranix

    Joined:
    Feb 26, 2011
    Location:
    Gelnhausen, Germany
  5. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #5
    If you have no experience programming, I would suggest you try to learn some of the basics using whatever non-Mac you have now and see if programming is even your cup of tea. If it's not, you haven't invested in a Mac for the sole purpose of programming on it. If you'd like a Mac for other reasons or are pretty sure you'll enjoy programming, feel free to ignore my advice. :D
     
  6. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #6
    Millions of rookies learned to program on an Apple II+, which had many thousands of times less memory, storage and CPU power than the cheapest recent (OS X) Mac that can be found.

    If you want to eventually learn to code iOS apps, then any Mac that can run Mavericks will be sufficient. (Mountain Lion currently works for Xcode 5.1, but who knows how long Apple will continue to support it.)

    I know lots of iOS developers who use MBA 11's and 13's. Works great. Some like to attach a very large monitor.
     
  7. ChrisA, May 5, 2014
    Last edited: May 5, 2014

    ChrisA macrumors G4

    Joined:
    Jan 5, 2006
    Location:
    Redondo Beach, California
    #7
    I've been in the business for years (decades really) You do NOT need a powerful computer. You don't need a lot of disk space or RAM. But you will find VERY soon that you want as BIG of a screen as you can possibly get. a 27" iMac is reasonable. If you must have a portable computer get a BIG LCD monitor.

    ANY current Mac is powerful enough. Well maybe. What is your "app" going to do. If it needs to crunch numbers then the computer needs to be powerful enough to run your app. but DEVELOPMENT is not resource intensive.

    Why the big screen size. Because programmers always like to have about a dozen text windows open. You have the source code text file you are editing to make the app, one or two other files you are references and then documentation in the browser windows and likely Google and then you might be running your app in another window. They is good reason to want even TWO 27" monitors but start with one.

    Next. Don't expect to learn this in one year. OK maybe you can write some super-simple app that does a student type demo lie simulate a soda vending machine or something.

    This is going to be just exactly like learning to be a fiction author. Yes you need to learn to use the word processor but learning that will not make you a good author. FIRST you need to have something to say that people want to pay you so they can read it.

    A full on graphic app that uses a mouse and windows is NOT for a beginner. You will start with a text window and keyboard only data entry. So you do NOT need a big computer. A dumpster-salvaged PC running Linux would be ideal.

    In fact Linux is MUCH better as a learning environment than a Mac.

    I'd even start with something like Arduino and build a little robot as a first project.

    Jumping into a full GIU app is a big step. Yu have to learn a lot before you can even start. So start simpler.

    One good way to learn about how larger programs work is to become envolved with some Open Source project. Pick something you like, join the developer's email list and just read the emails. At first they will be incomprehensible bt you catch on over time

    Find a SIMPLE or even "for dummies" type book and work through all the examples.

    People will argue about what "language" to start with. Within reason it hardy matters. You need to learn "programming". That means loops and branches and decomposing complex things into simpler objects and those into even more simple objects and how to TEST your work and a little about version controls and so on. All of this applies to any modern object oriented language like Java, C++, Objective C. Learn any of this and you can switch later.

    Java on the Eclipse IDE is a good place to start. It runs the same in Mac, Windows and Linux so the skills are transferable even to Adroid, Windows and Mcs. If you are planning to live ONLY in the Apple world then Objective C is the best place to end up but you need not start there.

    Expect this process to take a couple years. It is NOT something you can learn for 15 minutes of watching Youtube videos. Take an on-line class. Figure that most university students are still beginners after their first year of full-time study.

    Udacity is pretty good. They have a free intro-to java class that is very basic. I am actually going through there "AI for Robotic" class there thy cover the Google self driving car in some detail. But this class forced by to go back and re-learn my Linear Algebra, Id forgotten even basic matrix arithmetic.

    https://www.udacity.com/courses#!/all

    Start with whatever computer you have today. There is zoo reason to buy anything until AFTER you can get the basic test window based apps runnig.

    EDIT: I just read you sig. Why would you need yet another computer? You have way more than needed already. But maybe you might need a large monitor but even that can wait until you see the reason for it. And you WILL see the reason for it the first imd you try and display four text editor windows on a MacBook.

    One thing you might buy is an over-the-top multiply redundant backup system. You will invest 1000+ hours in even a simple App and you'd hate to loose months worth of work because a corrupted files system, theft of the equipment. Accidental over writing or a simple disk failure. Remember that one lightening strike of a power pole 1/2 mile away can destroy ALL of the equipment you have plugged in. So hopefully some of yur backups are far away in some other building and in a fire safe in the nest room and in some on-line backup service.
     
  8. Crichton333 macrumors 6502

    Crichton333

    Joined:
    May 4, 2014
    #8
    This seems to be a trend, but you do need to attach a very large monitor, I just cant believe anyone could manage to complete a production process on a 11'. That would be torture for me.
     
  9. D.T. macrumors 603

    D.T.

    Joined:
    Sep 15, 2011
    Location:
    Vilano Beach, FL
  10. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #10
    Need is a strong word. It's nice to have, sure, but it isn't absolutely necessary.

    An 11-inch, perhaps not. But I have done quite a bit of iOS programming on my MBA's 13-inch (1440x900px) screen, which happens to have the same resolution as an older-model 15-inch MacBook Pro that it replaced.
     
  11. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #11
    Forcing someone who has used Windows all their life and doesn't program already to use Linux to learn programming doesn't work well. I'll agree Linux is great (definitely superior to Windows, debatably superior to OS X) but lets not make someone learn a new OS at the same time as they learn to program.

    Between Arduino and Blackfin, I would pick Arduino every time. But it seems to me that embedded system programming is definitely more complicated than writing a command line program for your computer, no matter how simple the embedded programming setup is. So why bother?

    There's a lot of great choices for first languages. There are a lot of terrible choices you've never heard of (esolangs).

    This is the part that made me want to respond.

    Eclipse is the wrong IDE for every programming language and every toolchain. It's a POS and I have no idea how it became as popular as it is. It's the absolute worst IDE I have ever used. I'd choose to use a text editor like Sublime (great choice for text editor, but it's not an IDE) before I'd choose to use Eclipse.

    When it comes to Java development, the right choice of IDE is JetBrain's IntelliJ IDEA:

    https://www.jetbrains.com/idea/

    If you're looking for an IDE for another language, I suggest looking at JetBrain's other IDEs.

    I throw most of my personal projects in a free Dropbox folder and just have everything automagically sync with their servers. That's my backup method. For work I generally use GitHub.
     
  12. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #12
    Millions of programmers were productive developing large production applications for decades before such things as very large bitmapped displays were available and affordable. It's all about what you're used to. Newer programmers have been made lazy by more modern displays. Some kids think it's torture to walk a kilometer to school in nice weather, instead of riding in mom's air conditioned SUV watching a movie (thus the obesity epidemic). An MBA 11 is tons better than a VAX+VT100, Xerox Alto, et. al.
     
  13. student_trap thread starter macrumors 68000

    student_trap

    Joined:
    Mar 14, 2005
    Location:
    'Ol Smokey, UK
    #13
    Hi all,

    Firstly, thanks to everyone for your input thus far, it is all very helpful and I am very grateful for it.

    Just to clear up a couple of things,

    I am not new to OSX, I've been here for a while, but its programming that I've never done.

    My background has been in photography/videography which I have done and got paid for in the past (although not for a few years).

    Unfortunately my Mac Pro is not currently with me, long story but I won't have access to it for a while, and while waiting for WWDC is a very sensible idea, time is quite a precious commodity for me, and I have some for the next month, but after that it'll probably be swallowed up by work:(.

    So over the weekend I bought a rmbp 13", the one with 8gb ram and 256HD. I liked the airs for the portability but just couldn't say no to that screen for just a little extra!

    Now comes the hard part, but its a journey I've been looking to take for a long while!

    Ideally i'd like to start writing apps for iOS (i have loads of ideas and it'd be great to actually make something, rather than going 'that'd be great if...').

    What would be the best/quickest method to get into the right sort of languages to code for iOS? Are there any applications that can make the process more visual, or is it only possible through learning the hard way?

    Also, how long should I expect it to take before I can start making apps?
     
  14. Crichton333 macrumors 6502

    Crichton333

    Joined:
    May 4, 2014
    #14
    OK, your feelings still wont mask the problems he will face regarding a small screen for work versus a bigger one. I just want to help him with the things I went through developing apps for the iPhone.

    http://stackoverflow.com/questions/12957380/reduce-the-xcode-simulator-retina-4-inch
     
  15. atticus27 macrumors regular

    atticus27

    Joined:
    Feb 2, 2009
    Location:
    Pittsburgh, PA
    #15
    any current mac will work. I use a 13" rmbp (for grad school) and it runs ever app I need. Elcipse xCode, final cut, ect
    If you want an air I would wait until WWDC for the retina models. If you need to buy one now I'd get a 13" pro.
    Learn java, then try out the android (or iOS) bootcamp books for code-ing apps. They're pretty easy to understand (and have good step by step instructions) provided you already know the language.
     
  16. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #16
    Your problems may or may not be big enough to cause any other iOS developer a significant problem. I know plenty of iOS developers who very often code on MBA 11's on the road, many with successful (as in paid revenue well above beer money) production apps in the store.

    Granted, there are a few situations where two 27" monitors (or one or two 4k's with a Mac Pro) makes debugging certain iPad Retina issues easier.
     
  17. TouchMint.com macrumors 68000

    TouchMint.com

    Joined:
    May 25, 2012
    Location:
    Phoenix
    #17
    I started out with a MacBook but quickly moved to an iMac for the larger and more accurate screen colors (design wise). Back then it was actually agood deal to get an iMac since you couldn't get a 27inch for under 500-600.

    Now that you can get 27-30inch for like 250 I'd say go with an air and just connect to a big monitor.
     
  18. Dranix macrumors 6502a

    Dranix

    Joined:
    Feb 26, 2011
    Location:
    Gelnhausen, Germany
    #18
    I would say get these 2 books and get going:

    http://www.amazon.com/Objective-C-P...ion-Guides/dp/032194206X/ref=pd_bxgy_b_text_y

    http://www.amazon.com/iOS-Programmi...99408426&sr=8-1&keywords=ios+programming+nerd

    Do the exercises in each chapter and you will get better fast.
     
  19. trsblader macrumors 6502

    Joined:
    May 20, 2011
    #19
    I agree with most of what's here. I would like to just throw an alternative idea out there. You mentioned you have no experience programming at all. Before you buy a mac solely for programming, might I suggest learning another language, such as java, on your current machine before spending big bucks on a Mac. Programming isn't for everyone, and although you pick things up quick, you may just find that it isn't for you for one reason or another. It would suck to buy a computer only to find out you don't want to continue iOS programming.

    That, of course, assumes that your only reason for wanting a Mac is for iOS programing. I guess ask yourself "If I don't continue programming, do I really want this Mac." You could always sell it, but you take the chance of losing money selling it used.

    Other than that, I'd look up some of the books other members posted, read them, do the exercises, and the get started. Your first projects don't have to be anything to change the world. Simple apps for practice will teach you a lot. I'd suggest going beyond exercises and tutorials online. For instance, one of the first tutorials I learned was a basic unit converter. It had a text box and one button. You entered a distance in feet and it converted it to inches. Super basic. Then I added more buttons and functions. You could select what unit you converted from and what unit you converted to. Then I extended it to temperatures and weights. I would never think of publishing it, but it gave me a chance to practice on my own.
     
  20. Dranix macrumors 6502a

    Dranix

    Joined:
    Feb 26, 2011
    Location:
    Gelnhausen, Germany
    #20
    I don'T know why it gets called time and time again: Java is beside C++ the worst possible language to learn programming. The hideous library makes working with it hard even when able to code, for beginners it is more like corporal punishment.
     

Share This Page