Learn programming on OS X

I want to learn how to program on
OS X. I have some programming experiance
with Perl, and Vistual Basic for Application
with Excel and Access, but this probably isn't
good enough, which is fine as I am willing to
learn.
Where do I start, what web pages are good to visit
on this ?
Thanks

http://www.cocoadevcentral.com/ and http://www.macscripter.net/ are good. It's impossible for me to take in all the directions of Mac development.

Similar Messages

  • Learning Programming on the Mac

    Hi All
    I have decided to learn programming and hopefully turn it into a career. This current economy is killing off my current trade. I would be starting from scratch as I have very limited understanding of programming, or the fundamentals. But I have a very strong Mac and general computer skills.
    From my research I've decided to learn C then C++. So I've picked up The C Programming Language Book (Dennis M Rictche) and Programming Principles and Practices Using C++ (Bjarne Stroutruup). As well I will be entering a collage course.
    I am giving myself about 3 months to get comfortable then start designing some software of my own creations. Plus creating software for other platforms.
    Software for the Mac is it necessary to learn Object C? And would only having a PPC Mac be a limitation of learning the languages, as this is all I have at the moment. It does run 10.5. I will install Xcode as well. Is there anything else in terms of setting up the computer to learn and create software that I need to do?
    Thanks

    Hey, Knitsu -- I know you've since asked this question in a separate thread (welcome to the forums by the way!), but I wanted to touch on one point that you mentioned here. By the way, good for you for looking up and old thread and reading through it -- not enough people do that before they post a new thread (myself included).
    but from my understanding, just looking up eduation learning in the toronto area, most schools have this object oriented programming and C learning for windows systems. Now would this be OK to learn, and still be able to use in the MAC environment IE: with Dashcode and Xcode?
    First off, Dashcode is just for developing Dashboard widgets, so that's the only thing you would be using that for -- Xcode is the main Mac IDE that you'll be using to develop your applications, in addition to Interface Builder. You write your code in Xcode, and you put together your GUI (graphical user interface) in Interface Builder.
    Secondly, to answer your question about learning on Windows and whether or not it will apply to Mac programming, the answer is yes, and no. As far as the C language goes, the answer is yes, more or less. If you take a class for learning C on Windows, what you learn will be directly applicable to Mac programming. The C language is the same language, whether you are programming it on Mac OS X or on Windows. That being said, there will be some differences in the overall experience of programming C on Mac versus on Windows. For that reason, if you take a class on C using Windows, I would buy a book on C programming on the Mac to read along with your course to help you apply what you are learning to the Mac. For this I would recommend the Apress book "Learn C on the Mac", since it is the best book for beginning Mac programming anyways, in my opinion (see my post in the thread you started).
    Now, as far as a class on object-oriented programming goes, your C class won't cover this, since C is not an object-oriented language. If you take a Windows-based class on OOP (object-oriented programming), it will probably teach it to you in the context of C++, if you're lucky, but more likely pseudocode. Pseudocode is code that simulates a real programming language, but it isn't -- it's just English words put together to teach you how programming works on a basic level. Personally, I think this is an absolutely horrible practice, since it tried to teach you programming without teaching you a programming language, which is not only less effective (for most people, in my opinion), but a waste of time as well, since that time could be going to learning a real language like C. Pseudocode might look like this:
    if this = that then
    write "this string"
    end if
    Something like that (I'm not a master of pseudocode -- I took one class on OOP that taught using it a ways back). Anyways, for this reason, it would be much better if you could find a class that taught OOP using a real language, which would probably be C++ if it was a Windows-based class. C++ is a superset of the C language, which means that it has everything C has plus extra (the "extra" here is object-oriented support, so C++ is kind of like an object-oriented version of C, although it also adds other features as well), and C++ is the OO version of C that Windows programming is likely to use.
    Now, Mac OS X allows developers to use C++ as well, but Mac has its own superset of the C language that it prefers you use instead of C++ -- it's called Objective-C. Objective-C is a superset (an extension) of the C language, much like C++, but the main difference (besides the fact that it's a different language) is that Objective-C, unlike C++, was designed with Mac programming in mind. For this reason, it would be best for you to go about learning object-oriented programming using Objective-C. However, the concepts you learn in a class on object-oriented programming using C++ (or even pseudocode) will still be applicable to Mac programming. The language won't be, but the concepts will be. In other words, you will still have to go back and learn OOP through Objective-C at some point, but the concepts you learned in your C++ or pseudocode Windows-based class will help you do so, since all OO languages revolve around similar concepts (objects, in particular).
    I hope this helped to answer some of your questions, and best of luck with your journey toward Mac programming!

  • Newbie help: learning programming on xcode

    Hi all!
    I'd like to start learning programming either in java as well as in C using my mac. So i've downloaded Xcode on my PB g4 10.3.9.
    I know there's a lot of tutorials online on java and C, and that's fine. The hardest thing, that i really cannot solve by myself alone, it is figuering out how to manage all files that I need to use for programming on Xcode.
    My question is:
    Is there a book somewhere, on amazon or free or wherever, where i can find a tutorial explaining step by step programming java or C using Xcode?
    So i can learn the programming tips and also how to manage them on Xcode, using my mac.
    Thank you for the attention
    Tom
    power book g4   Mac OS X (10.3.9)  

    C is a good first language because many other languages are based on it or similar. There's lots to learn with "just text," meaning applications that don't have buttons and windows and graphical user interface items. You learn about variables, constants, arrays, loops, conditionals, functions, pointers, data types, recursion, algorithms like searching and sorting, etc.
    You also might find a community college class or some other class that teaches beginning programming.
    The next thing to learn is some object oriented programming. C is not an object oriented language. Java, C++, and Objective-C are object oriented languages. Objects are are things that have instance variables (variables like ints or doubles or whatever that are inside the object and not so accessible to the rest of the program) and methods (functions that just work for that kind of object.)
    You might ask, well why not learn an object oriented language to begin with? You can, but it may be easier to learn basic stuff in a language like C first. Both C++ and Objective-C are supersets of C, meaning they include all of C and add some more. Java is very C like and adds more.
    If you're heading towards writing mac programs using Cocoa, Objective-C is good to learn because it is the most natural language for writing Cocoa programs.
    Then you can get a Cocoa book, like the one by Aaron Hillegass and learn about Cocoa. Cocoa includes buttons and windows and is not "just text."
    After you have learned so much about a computer language or two or three, it may be surprising that an API (application programming interface) like Cocoa is way bigger! No one can memorize it all. So you look stuff up in the documentation and search the internet and make little experiments to figure things out.

  • I have Mac OS X 10.6.8, can I load Firefox 3.6 so that I am compatable with my schools distant learning programs?

    My school is using the Blackboard Learning System for it's distant learning programs.

    Yes, get it here - http://www.mozilla.com/en-US/firefox/all-older.html

  • How to learn programming in PL/SQL in Oracle?

    Hello Guru's,
      I want to learn the programming in PL/SQL. I am new and I work in ETL tools, I started learning PL/SQL and very much confused with all study material online.
    I want to learn different ‘for loop' types and when we use each type. Please guide me which internet link is good to learn.
    Thanks,

    user13034857 wrote:
    I want to learn the programming in PL/SQL. I am new and I work in ETL tools, I started learning PL/SQL
    PL/SQL is part of the ALGOL family of languages - most modern languages have ALGOL syntax and structure roots. Pascal, C, C++, Java, Python, Perl, Ada, C#, etc.
    These roots are:
    - functions
    - methods
    - passing by value or reference
    - processing structures like begin/end, if-else, case/switch and while/loop/until.
    The point is that programming starts with understanding these roots - irrespective of the ALGOL family language being learned. And if you have not yet learned these basic concepts, do not know an existing ALGOL family language well enough to serve as a baseline, then you need to attend a basic programming course. These concepts need to be learned in a proper educational environment. You cannot expect to learn these concepts online and without personal assistance.
    I want to learn different ‘for loop' types and when we use each type. Please guide me which internet link is good to learn.
    Wrong. You should learn how to solve problems first - and then how to implement the solution programmatically.
    Horse. First. Cart. Second.

  • Learn programming.

    what would you recommend for an absolute beginner on programming ?
    some tutorials,or something that would explain,at least to give me a start or something.there's plenty of tutorials on the internet,but i need some advice. (any language you'd like to recommend )

    @Trent: Well, what can I tell you? I don't think that way.
    The computer processor works in opcodes, and assembly is the direct translation of them. Is not just a language for another tasks; is THE direct translation of the language the processor actually "speaks". Of course, on real life, you would only use assembly for implementing small details on big projects, and never would write a big project exclusive on it.
    I never intended to mean that other languages were "inferior", but, certainly assembly is more "real", by defining "real" as "closer to what the computer processor actually does". And C is an abstraction of what a processor does, to the point C is sometimes considered a "highlevel assembly".
    Being more real does not mean is more "useful" or "superior"; they are not, and they are not always the best tool for the job.
    The unix philosophy has this rule: Use shell scripts to increase leverage and portability.
    Who would expend hours and hours doing on C or assembly something that can be achieved with an small script? Only a fool would spend the time to do that when so many more worthy tasks await him.
    I read somewhere that assembly is like the latin of coding. I agree with that idea. Even if students will never really speak it, it is useful for them. Schools don't make linguist students study latin just to annoy them.
    @stringchopper: well, about linux assembly, there is always Linux Assembly website. But certainly, I would recommend something for a simpler processor. I have only coded in 8086 assembly, so I can only recommend that one. But maybe other options are fine too
    Now, something not related to assembly or C.
    At some point (after learning how the processor works, and after the point of being able to work comfortably on python/perl/php/etc) I would recommend you to learn a functional language, like lisp, haskell, etc or at least, studying something like the book High order perl.
    Last edited by chris_l (2013-01-31 17:05:42)

  • Learning programming language

    Hello,
    Ok I know this is a bit classic, but I need some clarification. I want to learn how create an application, specifically for Mac. FYI, I'm basically starting from a scratch. I found in some discussion that the best place to start is from C programming language. But what about C++? I mean will there be a problem if I learn C++ instead of C?
    I need a real basic guide to understand the difference and will learning one leads to understanding of the other?
    Also, when will the Xcode tools provided with Mac install cd be useful? Is it only useable to create an app after I learn at least on language?

    I agree with vidg on Hillegass. If you want to learn Cocoa for OS/X, you want that book!
    Whether you need any preparation before diving into Cocoa doesn't really depend on what languages you've learned, but rather on how much aptitude and experience you have in programming. If you've never programmed a computer, you might want to get a book that teaches programming with C. That's different from a book that assumes you understand the basics and just want to learn a new language.
    To pick out such a book, I'd recommend a trip to a good bookstore. Spend a few hours browsing and find something that makes some sense to you on almost every page. Somewhere on the front or back cover it should say something like "Learn the fundamentals of programming using C". And maybe in smaller print it will say: "Part 1 covers data types, operators, assignments, conditional statements, loops and functions. Part 2 will show you how your data is stored in memory and will explain pointers".
    Also remember that people learn differently. Some people can pick up a skill by just studying a book and doing the projects alone. Others do better when they can discuss concepts and collaborate on projects with others. So if it suits you better, consider at least one introductory programming course at a community college. In my opinion, surfing the web, watching videos and trying to dialogue in forums is a sad excuse for a live class.
    Anyway, which ever path you choose, if you find you like programming but aren't quite ready for Hillegass, you soon will be. The key to all of this is whether programming is fun for you. If it's right for you, the language, the tools and the platform are secondary.
    As to your question about C++, stick to vanilla C until you know enough about programming to decide for yourself. C++ and Obj-C are two branches off C that support programming in an "Object Oriented" fashion. The choice between them is usually determined by the "Application Programming Interface" (API) you're aiming for. For example, Windows doesn't have an Obj-C API, so you might choose to follow the C++ path in that case (though MS now encourages adoption of its own C variant for those of its victims who are lucky enough to escape VB). OS/X supports several API's, and Xcode will work with any of them. However the preferred API for new apps, and the one that appears to have the brightest future is Cocoa. Cocoa requires Obj-C, so if you want to make Mac apps, I would recommend Obj-C over C++. In fact if you want to learn Cocoa, I'd urge you to stay away from C++. So don't pick out a programming book that boasts it will teach you C++ as well as C. The ++ doesn't mean you're getting more for your money, ok?
    Re your question about Xcode: Yes, you can use Xcode to make simple C programs and see your program's output in the Console window. If your C programming book doesn't cover working on a Mac, just remember to choose the Command Line Utility->Standard Tool template after selecting File->New Project from the Xcode menu bar, and be sure to select Run->Console to open your Console window. The template already has enough C code for a program that prints "Hello World!" when you click "Build and Go". So your very first program will compile and run with no errors. It doesn't get much better than that!
    Once you're ready for Cocoa programming, Hillegass includes step by step instructions on using Xcode with each project.
    Hope that helps!

  • Wanting to learn programming...

    Ok, see how's the situation:
    I've been ignoring the knowledge of a good programming language for many years - so the only (scripting) language I've ever learnt is bash.
    Do you have something good to propose me in order to start, accompanied with a nice method? Since the Christmas hiatus is here, I have some time to spend on that.
    Thanks in advance.
    Last edited by gtklocker (2010-12-22 19:41:03)

    dyscoria wrote:From threads similar to this in the past, one of two languages seem to get the most recommendations: C or python.
    Exactly: this is a perennial topic, and the outcome is always a list of languages that expresses the communities preferences at any one time. Read back through the other threads and make your mind up that way.
    A catalog maintained by Bill Kinnersley of the University of Kansas lists about 2,500 programming languages. Another survey, compiled by Diarmuid Piggott, puts the total even higher, at more than 8,500. And keep in mind that whereas human languages have had millennia to evolve and diversify, all the computer languages have sprung up in just 50 years. Even by the more-conservative standards of the Kinnersley count, that means we've been inventing one language a week, on average, ever since Fortran.
    The Semicolon Wars
    Closing

  • I rec'd a Mac Pro for my school from the "Computers for Learning" program. The hard drive had been removed. I ordered a new hard drive (1TB) and cannot get OSX Mavericks to load. I also cannot partion the disk on disk utility from my Macbook Pro.

    I received an Mac Pro (2007). It was shipped without a hard drive. I ordered a hard drive, 1TB Barracuda Sata but cannot get it to partition. I have OSX Mavericks on a USB drive. Help?

    Notr I edited my previous reply to say you also have to upgrade the video card
    https://discussions.apple.com/thread/5827271
    https://discussions.apple.com/docs/DOC-6592
    "OS X Mavericks on an Original Mac Pro", FairerPlatform, October 14, 2013
    Jump up^ "Mac Pro review, 9 out of 10". Ars Technica.

  • The Adobe Flash Player Version 13.0.0.214 on my computer keeps crashing when I opened a learning program.  Can anyone help?

    The Adobe Flash Player Version 13.0.0.214 on my computer keeps crashing.  Can someone help?

    Wrong forum - ask on one for the Flash Payer

  • Learning Practical Programming (General discussion topic)

    Right now I'm in the process of learning a few different programming languages (C, C++, and Python to be specific), and while it's brain racking, it's a lot of fun (somebody's sick, sick, idea of fun). Pretty much all of the practice programs I write though involve various forms of number crunching or string processing and... not a whole lot else, truthfully. While these things are useful for learning programming concepts, I've sort of begun to realize that these things aren't going to help me create any sort of practical PC applications.
    So my question then becomes, what's a good place to go to start learning how to make my programs talk to the OS, so they can do something useful for a change? Also, what are other good concepts to learn in order to apply what I'm learning in more practical, useful, ways?
    Last edited by OakRaider4Life (2012-10-02 02:05:18)

    OakRaider4Life wrote:
    drcouzelis wrote:
    First of all, thank you for recognizing that C and C++ are different languages. They are very different languages, and, in my opinion, too many programmers lump them together.
    Next, it's time for you to learn what you'll be spending most of your time using: libraries! If you want to make a GUI application you could use GTK (C), Qt (C++), or wxWidgets (Python). If you want to make a video game you could use Allegro (C), SFML (C++), or Pygame (Python).
    Of course, this is just a quick list of some example libraries. You might find a library that you'd like to learn that better suites your needs. But programming languages by themselves are boring. The exciting power is in the libraries.
    Very awesome! I will definitely start checking out some of the various libraries out there!
    I'd recommend SFML in combination with C++ (It also has a TON of bindings for various languages though) if you want to develop games. It comes not only with graphics capabilities, but also with audio, network, input etc. And fully crossplattform too!
    If you go with SFML I recommend sfml-git from the AUR, since it comes with huge bugfixes(especially if you want to support intel gpus).
    wxWidgets is also rather nice with C++, GUI-programming can be quite messy but wxw is the way to go if you ask me (with 1 exception: .NET in C# under windows, because of its awesome visual designer).
    Other libraries I hugely recommend is mysql++ for databaseaccess, tinyxml for XML-parsing/creation, boost for loads of things, but primarily for crossplatform filehandling and stringmanipulation. Also go with C++11
    Last edited by Haikarainen (2012-10-02 14:31:06)

  • Anyone from Melbourne? Where can I learn a bachelor using mac programs?

    Hi everyone
    I have been searching everywhere but can't find a straight answer to where I can learn a bachelor degree like a bachelor in multimedia learning programs like:
    final cut pro
    shake
    motion
    maya 7
    I will have completed an advanced diploma in multimedia at the greensborough NMIT in Melbourne, but want to continue to more advanced work in the mac world in the area of Melbourne, i live in the north eastern suburbs. I don't want to do short courses but courses that go into great depth and are recognized nationally.
    I have currently been looking at courses at Swinburne at either the Hawthorn or Prarahn campuses, they look alright but I still need to get more info on these.
    Thanks guys

    I question the value of doing several years formal education in an industry in which on the job experience is EVERYTHING. That said Enmore TAFE in Sydney offers a week-long Shake course once every few months - perhaps there's something similar in Melbourne. Otherwise just buy the Gnomon DVD's and learn them inside out. Knowing which buttons to push is all a uni course will do anyway. Broadly speaking it won't equip you with the knowledge to deal with unique problems. You can only learn that under fire on a job. Try the VFXTalk challenges - I found them a great way to force yourself to learn under a deadline. And of course there's the excellent Shake tutorials that come with the product.
    G5 Dual 2.7   Mac OS X (10.4.2)  

  • New to JAVA, but old school to programming

    Objects & Classes & Methods, Oh my!
    I'm pretty new to java, but I've been programming in several languages over the years. I thought it was about time to update my skill set, especially with the job market as it is today. I wanted to go JAVA because it's not specific to any environment.
    I picked up a begining JAVA book and was a little confused. When I was learning programming a program was called a program. a peice of code in a program called by a statement was called a subroutine (it was performed then control returned to the calling line and continued).
    Now I'm trying to make sense of everything I have read so far and trying to relate it back to my old school of thinking. I was hoping it would make it easier to retain and I could expand it as I learn and possibly realize that it IS different. I know it's a new way of thinking, but stay with me for minute.
    What I used to call a program is now a CLASS in JAVA (this can be a collection of code or other objects). A sub-routine in a CLASS is a Method. I know that the language part will come as I use it since I understand if's then's and whatever you use to gosub or goto, but I want to make sure I have down the lingo before I go to deep.

    I have no idea how you can compare Java to Cobol.
    DataFlex? How about that! In about '84 I switched to
    DataFlex from dBaseII. In '91 DataFlex changed from
    procedural to OOP. It took most of us at least a year
    to adjust, and then some to write concrete code. It
    was tough. They had bugs and we were limited with DOS.
    BUT, it was a great OOP training experience. Anyhow,
    needless to day Java is miles ahead on all fronts.Small world. I was stuck in the old DataFlex Ver 2.3 at that time. The company I worked for had the newer OOP package. I did get to work with it some, but not enough to become totally familiar with it. We started to move out of DataFlex towards PowerBuilder towards the end of 1995. I did get some OOP from that experience, but again only enough to learn about global variables, instance variables, and a few other items. I hoping that I will be able to get the solid OOP background that I need from JAVA since I hear through the grapevine that it may be a new tool that we will be looking at to enhance our programming. I was looking at PERL but even the PERL programmers we have agree that JAVA is more scalable.

  • I want to learn SAP.

    Hi there!
    My name is George and this is my first post, so please be gentile :).
    I am a web programmer, 3.5years of experiece  with Php, Mysql, Javascript, HTML, XML...
    I recently found out about SAP,   I read a little documentation ... and I want to start learnig SAP.
    I want an advice, if anyone can spare one ...  would it be to much for me to switch to SAP, based on my knoledge and programming skills?
    Thank you!

    Hi,
    based on your experience I recommend the ABAP academy and certification (http://www.sap.com/services/education/catalog/netweaver/curriculum.epx?context=[[NW_ABAP_DEV]]|).
    The academy is also available as a distance learning program: SAP eAcademy (http://www.sap.com/services/education/certtraining/eacademies/curriculum.epx?context=%5b%5bTAW1e%5d%5d%7c)
    If you want to move in an architecture role I recommend the new Associate Technology Architecture course and certification.
    http://www.sap.com/services/education/catalog/enterprisesoa/curriculum.epx?context=[[SOA4]]|
    Best regards,
    Arno

  • Learn C on the mac questions...

    Hello everybody,
    I'm just starting to learn programming. I choose to start with the book Learn C on the Mac - Dave Mark.He wrote the book while using xCode 3.1
    I have 2 questions.
    First: Every Project that came with the book, when i  try to open one in xcode after build and run it brings the error "There is no SDK with the name or path 'macosx'
    Second: The book talks about Syntax and Semantic errors and how to produce then to learn from it so suppose to apperar something like "error: syntax error before '{'  token"  but Xcode only give me "Expected indentifier or '('
    Are those because my version of Xcode (3.2.2) or I'm doing something wrong?
    I will appreciate your answers and comments.
    Thanks

    Your first problem is caused by the book projects using an older version of the Mac OS X SDK that you do not have installed on your Mac. The fix is to set the Base SDK for the projects to one that is installed on your Mac. In Xcode 3.2 choose Project > Edit Project Settings to open the project inspector. Select the General tab in the inspector. Use the Base SDK for All Configurations menu in the inspector to set the SDK. You should set it to Mac OS X 10.6.
    Regarding your second question, I would not worry about the compiler error message not matching exactly what the book says. What is important to know that you have a syntax error, why you have one, and how to correct it. I assume the book explains the why and how.

Maybe you are looking for