MacNN Forums (
-   Classic Macs and Mac OS (
-   -   help, I want to be a programmer??? (

sprite Jul 17, 2000 12:10 AM
help, I want to be a programmer???
I would like learn programming but I'm a little confused on which direction a beginner should go. should I learn c or realbasic. will programming for mac os x be differnet (easier or harder) than mac os 9. I would like to make a somes small utilites for monitoring system activities and maybe a hotline clone for both client and server that can control bandwidth and upload to download ratios etc...
Partridge Jul 17, 2000 02:06 AM
BASIC is a pretty good language to start out with. It takes care of a lot of the window creation/mouse handling event watching stuf for you so you can concentrate on learning about loops, branches, logical operations, function calls etc etc etc.
Learning BASIC first will make it MUCH easier to move over to c if and when you decide to start writing your own napster client application.
When you do that, you'll likely find yourself continuing to use BASIC on a fairly regular basis as it's also a great "utility" language for putting together small projects quickly.
Lunchbox Jul 17, 2000 09:40 AM
If you want to program for fun and get things done quckly: try realbasic, teach yourself.

If you want to program as a job and for OSX: learn C or C++ by taking a course.
Tintim Jul 18, 2000 04:59 AM
I think despite of REALsoftware producing the quite good REALbasic program for the Mac, there are many aspects of REALbasic and BASIC I don't like and I am not going to list them here.

I am new to programming myself and I chose to learn C. C is highly portable which mean that once you learnt the C language, you can write plain C programs for the Mac, Windows and Linux without requiring much changing. C is also quite pleasant to program using an environment like CodeWarrior. (For those not familiar with programming in C, you need to learn the C language first and then learn to write real programs for Mac, Windows or another platform.)

By the way, I have CodeWarrior Pro 5, a teach yourself C book and learning C by myself with no formal programming education, if anyone is interested in forming a learn C on the Mac group with a website maintain by me, please leave your email address and I will email you telling you the website address and email of others in the group. The group is for helping each other learning C programming and to maintain interest in C programming too of course
Paul Crawford Jul 18, 2000 10:34 PM
Hi sprite,

I'll offer my two-cents' perspective as a software developer on various platforms (hobbyist/student since 1981, professional since 1993)... In general, there are always tradeoffs involved in choosing any computer language. Some folks claim that C (as distinct from C++) is a less advanced third-generation language (3GLs are typically procedural and "block structured"), whereas BASIC (especially MS Visual Basic) is a more advanced fourth-generation language (4GLs are typically data-abstracted and geared towards databases). Regardless of the truth/falsehood of those claims, the popular computer languages have also traditionally been divided into two major categories:- compiled vs. interpreted. The "professional" languages such as C/C++ and even Pascal are usually compiled, which means that the final built application is typically faster and more compact, but also that the debugging process can be slower since any source-code editing must be followed by another compile/link/run cycle. On the other hand, "prototyping" languages such as BASIC are usually interpreted, which means that the debugging process is typically faster and easier since any source-code editing is "instantaneously" reflected at runtime, but also that the final built application can be slower and bulkier if there is a dependency on a run-time "interpreting engine". Newer languages such as C++ have further heated up the debate by resurrecting an explicit "object-oriented" (non-procedural) model that was first found in older languages such as Smalltalk.

IMHO, procedural languages in the "professional" catagory aren't much harder to learn and use than those in the "prototyping" category; in other words, ignoring a few language features such as direct pointer/address manipulation, there isn't much of a learning-curve difference between C and BASIC as pure languages. There's a much wider gap between a procedural language (e.g., C) and an object-oriented language (e.g., C++) than there is between any two procedural languages. Similarly, learning the GUI specifics ("Application Programming Interfaces" or APIs) of a particular platform such as Mac OS, UNIX or Windows can be more challenging than learning the pure language itself, which is why "prototyping" interpreters such as RealBASIC have tended to provide built-in API facilities to make life easier for developers. However, nowadays most decent "professional" compilers also include rapid GUI-development tools and integrated debuggers, which greatly ease the burden of the development cycle. Lastly, some people claim that programming will be much easier in Mac OS X than it is in the Classic Mac OS, due to the high-level interface unit and other development units that are built-in to the Cocoa environment of Mac OS X [although this would require learning another language such as Java, or Objective C (an object-oriented variant of C that's not the same as C++)].

BTW, for additional C/C++ info & resources, see the somewhat off-topic C++ thread in the 'AppleScript' Forum here on MacNN. Also, for other general programming info & resources, see the related threads in various Forums/Fora here on Mac NN if you haven't already done so -- e.g.: looking for a programming book or program, MacOS Programming ..., Macintosh Programming Topic. & SoftWindows: Can I pretend I am programming an x86? in the 'Third-party Software' Forum; Objective C, Hobbyist programmer support & IDEs in MacOS X in the 'Mac OS X' Forum; and, Where Do People Learn Mac Programming?, Macintosh C, Helpful For You?, Programming Question - Making Window Movale., free CodeWarrior programming classes & Macintosh Programming? in the 'News and Advocacy' Forum -- as well as the Is there a programming language for Mac? thread over in MacFixIt's 'Troubleshooting Software' Forum, and the which language is this? thread over in MacFixIt's 'Troubleshooting Mac OS' Forum. Plunging into all those threads should keep you busy for a while. :-)

Best wishes in your future programming endeavors,


[This message has been edited by Paul Crawford (edited 07-18-2000).]
sprite Jul 19, 2000 08:53 AM
thank you everyone for the input. I've been looking around and it seems the Mac OSX will be using Object c and Java.
I was just wondering how powerful is Java. I was under the impresson that java was more for website programing. Is it possible to write a napster clone with java?
Macguy Jul 19, 2000 01:56 PM
Isn't there a program very similar to Napster that was written with Java?

Try this page:

I use a Java Stock Ticker on my computer everyday to track the markets, one thing that's nice about it is it works on a Macintosh or Winodws Computer, and looks pretty much exactly the same.
infiniti Jul 26, 2000 03:04 AM
It should also be made known that, although not supported yet, when realBASIC 3 is released, it will produce Carbon applications. They will be fully compatible with OSX, and use the Aqua interface.

Although realBASIC is a cool program, it's compiled programs have huge file sizes, and (I have found) it gets a little complicated when working on big or complicated projects. I don't know much about C++, but I'm sure it can do better than RB if you take a while to learn it.
lrivers Sep 13, 2000 02:11 PM
There is a huge difference between what is required to write a full-featured application in C and the same thing in REALbasic.

To do so in C, you also need to know all about toolbox calls, memory management, and so on in addition to knowing C.

You need to (at minimum) have 2 almost completely separate code bases if you want to deploy on Mac and Windows.

To create an application that runs on Mac OS Classic, Mac OS X, and Windows you one project, no knowledge of the toolbox (although if you want to use toolbox calls and declares for Windows, you can) or memory management. Drag and drop interface elements into a window, double-click them to add code, compile.

Yes REALbasic makes larger applications than hand-tuned C. So what? How big is YOUR hard drive? I have a 12GB drive in my PowerBook. It cost almost $200.
All times are GMT -4. The time now is 01:44 PM.

Copyright © 2005-2007 MacNN. All rights reserved.
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, vBulletin Solutions, Inc.

Content Relevant URLs by vBSEO 3.3.2