 |
 |
Programming Newbie
|
 |
|
 |
|
Posting Junkie
Join Date: Sep 2001
Status:
Offline
|
|
OK, so I really want to learn to prgram. Can anyone suggest a good place to start, a good book to begin with, anything? I've played around in REALbasic and done some tutorials, but I'm still not clear with it all. I can do some basic stuff, but you know ... tough being a newb.  Any other languages one might suggest? So, any help would be appreciated. Thanks.
|
|
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Jun 2001
Location: Washington DC
Status:
Offline
|
|
I'd suggest C++ and/or Java. Java is probably a little easier to learn, and is nicer for inexperienced programmers because there are fewer things to worry about (like dynamic v. static memory allocation, garbage collection, etc.). As far as how to learn it you really need some sort or project to work on, programming for the sake of programming really doesn't work.
If you go with Java I'd highly recomment O'Reilley's book for reference (don't remember the exact name, but it's the one with a tiger on the cover). I found it to be a really good book that's plenty useful and relatively easy to use. I don't particularly like their C/C++ stuff though.
As far as the actual learning, just come up with some simple projects that you want to do and figure out how to do them. Or, if possible, take a class.
|
|
|
| |
|
|
|
 |
|
 |
|
Grizzled Veteran
Join Date: Apr 2001
Status:
Offline
|
|
If you've got RealBasic, why not stick with that until you've written a few programs?
No need to jump into the more difficult stuff until you've taken a few steps with what you've got.
Wade
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
I agree with sticking with RealBasic until you feel you know enough to do simple projects. RealBasic's syntax is simple and will help you understand the basics: data types, control structures etc. in a fairly straightforward way. As with any language, the key to it's value will be the amount of good (free)libraries available, portability etc. If you are already thinking at that level then I recommend Java.
Good Luck!
|
|
iMac 17" G4 800MHZ & 768 SDRAM
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jul 2001
Location: Evansville, IN
Status:
Offline
|
|
Don't touch Java. C++ is the way to go.
Or just go buy a book about Object Oriented Programming in general, and live by it. Then jump into Cocoa Programming for MacOS X.
Just don't touch Java. 
|
|
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Sep 2001
Status:
Offline
|
|
Cool. Thanks for all the help, dudes. I do plan on sticking with REALbasic for now. I have some really cool program ideas, so I'm going to see how everything goes with REALbasic for now. And I do want to learn C++ so I can jump into Carbon.
I'll let you know how my budding programming skills come along. Thanks again!
Also, any reason I should stay away from JAVA? Any real reasons I should get into it?
*Made with REALbasic* for now. 
|
|
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Jan 2002
Location: New York
Status:
Offline
|
|
Carbon is good for updating programs, but personally, I wouldn't start a new project in Carbon. All the major developers are switching to OS X only, and it won't be a big deal to leave out OS 9 by just using Cocoa. If you have a Classic project already started, that doesn't mean you should run out and recreate it in Cocoa, but Cocoa is just so much easier.
I've programming in Classic/Carbon for about three years, and when I started using OS X and Cocoa, it was amazing how much easier it was. Everything just worked already
Just my two cents...
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Don't touch Java. C++ is the way to go.
Ha, ha... You must be joking  Here's my version:
<font color = blue> Eventually touch C++, Java is the way to go. </font>
We could get into a big debate about this but I'm sure we all have better things to do. Anyway, In today's web centric computing world, not knowing Java is a definite handicap. Good luck in running web apps/services in C++ 
|
|
iMac 17" G4 800MHZ & 768 SDRAM
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Jul 2001
Location: San Diego, CA
Status:
Offline
|
|
C++ sure causes a lot of headaches to be considered by a beginning programmer. Java provides you with similar syntax with so much more elegance and simplicity.
I use C++ because I like my programs to run fast, but it sure is fun and soothing to program in Java. Its simplicity allows you to spend more time thinking about what your programming rather than how to program it. So many hours of my life have bled away in the endless task of overcoming daunting hurdles during the creation of C++ programs I've comitted myself to over the years.
Java is always faster for the programmer. C++ is always faster for the computer.
So Java gets a plus vote from me.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Nov 2001
Status:
Offline
|
|
Object oriented programming (OOP) is a joke, avoid at all costs.
Learn straight C, the standard C library, other standard libraries (BSD sockets, user interface libs, graphics, etc),
and how to interface with the target OSs API.
When you need a break, go learn your target processor's assembly language.
- Mike
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Aug 2001
Location: Australia
Status:
Offline
|
|
|
(Last edited by IUJHJSDHE; Jun 4, 2003 at 02:54 PM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Feb 2001
Location: Vancouver, WA
Status:
Offline
|
|
If you'd like to learn Cocoa, I'd suggest not trying to learn C++ as a stepping stone on the way. I've seen lots of people new to Cocoa/ObjC get themselves quite confused and frustrated trying to apply C++-style ideas and programming to ObjC... C++ programmers' ideas of object-oriented design tend not to fit well in a truly dynamic object-oriented world like Cocoa's.
I'd recommend finding your way into Cocoa by learning Java first, or by learning (regular) C and maybe SmallTalk first. (Not that there's anything wrong with learning C++ for the sake of learning C++, though.)
|
|
|
| |
|
|
|
 |
|
 |
|
Grizzled Veteran
Join Date: Apr 2001
Status:
Offline
|
|
The reason to learn an object-oriented language first is to avoid getting in the procedural habits that you would with a language like C. If you can learn to think in an object-oriented manner from the start, it makes life easier than trying to unlearn a lot of procedural learning.
If you're going to do that, I'd recommend skipping C++ and going straight to Objective C. Obj C is a bit more "pure" object oriented language than C++, so it will be a bit more effective in helping you think in Object Oriented terms.
Now, with that said, once you've got a good grasp of Obj C, I highly recommend you then go learn C++. You're going to run into it, so you need to know it. If you're going to go to work as a programmer in the corporate world, there's a good chance you'll work exclusively in C++ and your Obj C knowledge will fade away - but it will have done its job of teaching you.
Wade
|
|
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status:
Offline
|
|
Originally posted by wadesworld:
<STRONG>If you're going to do that, I'd recommend skipping C++ and going straight to Objective C. Obj C is a bit more "pure" object oriented language than C++, so it will be a bit more effective in helping you think in Object Oriented terms.</STRONG>
Thing is, it's recommended that you learn C before Obj-C. I'd still suggest going with C first just for the syntax. If you only learn it and don't spend years programming it, you should find it quite easy to get your head around objects. Java might be good for objects, and you can approach it as a C programmer with little difficulty.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Mar 2001
Location: somewhere in ohio
Status:
Offline
|
|
Read the manual that come with the Dev. Tools, and play with the Dev. Tools a bit too. Also, I agree with learning C before Objective-C, that's what I am doing right now. Cocoa is easy and the way to go for new apps and for OS X native-only.
|
|
|
| |
|
|
|
 |
|
 |
|
Posting Junkie
Join Date: Sep 2001
Status:
Offline
|
|
WHoa, slow down.  To learn objective C, or not to learn? For now, friends, I'm going to stick with REALbasic. Thanks for all the replies. 
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Jan 2002
Location: Boston
Status:
Offline
|
|
There's a reason that universities are abandoning C++ for Java as the teaching language. C++ is complex and you spend all your time trying to understand all the crap in C++ instead of the programming concepts you're supposed to be learning. Java's syntax is small enough to learn quickly. The functionality is in the libraries. If you want a language to learn programming concepts in, then Java is it.
Get a good Data Structures book (I have a good one for Java, but I'm not at home and don't remember the title) and learn some of them.
I also agree that RealBasic is a good place to start for building apps right away.
After a while, you'll decide what kind of apps you want to write. Then you can find the appropriate languages and environments to use. For example, MacOS X you'd wanna use Cocoa (objective C) or RealBasic or C/C++ (if you're doing Carbon apps). Java for server-side Internet apps (enterprise), C++ for Windows... you get the idea.
Jamie
|
|
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Jan 2002
Location: Hungary
Status:
Offline
|
|
a C,
an O,
a C,
an O,
an A...
that is...
COCOA
the rest doesn't matter...

|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jun 2001
Location: Dundee, Scotland
Status:
Offline
|
|
Here's my advice.
Have a go at some very simple C first. It will teach you the fundementals of all the other languages being bandied around here. How to use a compiler, how to use the Unix shell, how it all works. It's quick. It's simple and there is tons of free documentation and it is what Unix is built on. You can also write some very fast and effective code in it. However, it's a dog if you want to write anything large and maintainable - especially with other people.
Then have a look at Java and Objective C. Give C++ a miss for now.
If you want to make OSX apps (and only OSX apps) then get stuck into Obj-C. It is *the* way forward for cool, shiny apps. It is also quick and easy for small to medium projects. It's very fast to code.
If you want to get a good job somewhere in IT then get stuck into Java *yawn*. It is now used in everything from servers to mobile phones. It's not very good for small projects though (IMHO) as it is slow to code.
If you want a life of pain, get stuck into C++. But hey "no pain, no gain". It has all the problems of C stuck onto all the slowness of coding of Java. However, you can very slowly build enormous libraries of reusable code with it.
In short. Try C it may be all you need. If you want to make OSX apps try Obj-C nect. If you want a job try Java. If you want pain try C++.
Don't even start me on Perl and PHP.

|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Sep 2000
Location: Bremen, Germany
Status:
Offline
|
|
Most important in my view is that you understand the concepts of object-oriented programming, also you need to understand ownership and memory allocation.
I think the language doesn't matter ....
(I started with HyperCard and ended with Obj-C, but don't think it was straight : HC,RB,C,Java,C++,Obj-C)
|
|
"Eine gute Basis ist die Grundlage für ein solides Fundament", Unknown
"If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is", John von Neumann
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Apr 2000
Location: San Francisco, CA
Status:
Offline
|
|
Originally posted by sambeau:
<STRONG>Here's my advice.
...
If you want a life of pain, get stuck into C++. But hey "no pain, no gain". It has all the problems of C stuck onto all the slowness of coding of Java. However, you can very slowly build enormous libraries of reusable code with it.
In short. Try C it may be all you need. If you want to make OSX apps try Obj-C nect. If you want a job try Java. If you want pain try C++.
</STRONG>
I would like to re-emphasize the "no pain, no gain" point  . If you want to be a proffessional developer, then you shouldlearn C++. Alot of other languages protect the programmer from himself (e.g., garbage collection, etc), but sacrafice run time performance to do so. C++ is the ultimate bridge between a low-level programming language with a high-level syntax. Because of the low-level qualities of it, its the best language you can write high performance applications in it. Furthermore, becauseof its high-level syntax (the OO stuff), you can write very portable and reusable code.
If you are looking to make the 5 billionth knock of the Mine Search game, use Java, but if you are looking to write image analysis software, look nowhere else but C++.
Consider Objective C only if you want to write Mine Search for MacOS X only.
<STRONG>
Don't even start me on Perl and PHP.
 </STRONG>
I can't believe the number of people who try to write large scale enterprise applications in Perl, and then they spend 3 weeks tracking down a bug that any strongly typed language's compiler would have caught the first time. But I won't get you started.
Michael
|
|
--
Michael F. Kamprath
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Jun 2001
Location: Dundee, Scotland
Status:
Offline
|
|
Originally posted by kamprath:
<STRONG>
If you are looking to make the 5 billionth knock of the Mine Search game, use Java, but if you are looking to write image analysis software, look nowhere else but C++.
</STRONG>
cough!.. splutter!.. (mops coffee and spit from keyboard)
that's gonna piss a number of people off.
<STRONG>
Consider Objective C only if you want to write Mine Search for MacOS X only.</STRONG>
- but not as much as that...
"Begun these flame wars have"
s.
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Apr 2002
Status:
Offline
|
|
Originally posted by MindFad:
<STRONG>OK, so I really want to learn to prgram. Can anyone suggest a good place to start, a good book to begin with, anything? I've played around in REALbasic and done some tutorials, but I'm still not clear with it all. I can do some basic stuff, but you know ... tough being a newb.  Any other languages one might suggest? So, any help would be appreciated. Thanks.</STRONG>
I know I'm late jumping on this thread, but as a developer, I would highly recommend learning something that you can grow with. Too often people think it's about the language you pick, but really it's the mindset you take. Use what you have to develop small apps, so you fully see what "taking baby steps" is all about. Sure, learning C++, Java, Perl, and PHP are all great tasks, but knowing what to do with them, and how to do it *properly* are real skills.
Just my opinion... heading back to seclusion now..
Mike
|
|
------------------------------
Always remember: A friend will help you move, a good friend will help you move a body.
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Jan 2001
Location: Boston, MA
Status:
Offline
|
|
Just to throw my $0.02 into the conversation, you have to decide on a couple of things: first of all, is this urge to program going to result in a hobby or a career. If it's the latter, don't worry about languages right now. The syntax of a language is mainly semantics. You have to learn a whole bunch of problem-solving, logic and mathematical skills to form a knowledge base from where you can begin to program. Understanding things like functional decomposition (how to break a problem into bite-sized chunks) and system architecture will be critical. Once you pass that point, you can start learning and using any language you wish because you understand the fundamentals of programming and computer science. I am by no means a star programmer and after about 10 years of hardcore coding, I'm out of that career path and only code for hobbying. But, since I did study comp. sci., I've been able to utilize a bunch of different languages fairly easily to get tasks done. Once you're free from a specific language and just "get" programming, your toolbox grows infinitely as you can pick the right tool (language) for the right job.
However, if you're a hobbyist, nothing beats application development environments like REALbasic or AppleScript Studio. Both are based on easy-to-learn languages, have nice development environments and GUI-builders and give you a way to do really neat things (like calling the Mac OS Toolbox API set from REALbasic or using native Cocoa objects in AppleScript).
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|