Introduction to programming
Can anyone recommend any books/websites/applications I can use to begin my first foray into application development/programming though not necessaril Mac-related?
I was planning to pursue a graphic arts/video production degree but it's looking more and more like I'll be limited to an engineering school; both computer engineering and computer science are offered as majors. If anyone knows anything that can help me acquaint myself with modern languages and programming environments, I'd be much obliged.
I was planning to pursue a graphic arts/video production degree but it's looking more and more like I'll be limited to an engineering school; both computer engineering and computer science are offered as majors. If anyone knows anything that can help me acquaint myself with modern languages and programming environments, I'd be much obliged.
Comments
<strong>Can anyone recommend any books/websites/applications I can use to begin my first foray into application development/programming though not necessaril Mac-related?
I was planning to pursue a graphic arts/video production degree but it's looking more and more like I'll be limited to an engineering school; both computer engineering and computer science are offered as majors. If anyone knows anything that can help me acquaint myself with modern languages and programming environments, I'd be much obliged.</strong><hr></blockquote>
Good luck finding a school to study Mac programming. You will most likely have to learn on a Wintel and then teach yourself the cool Mac stuff. Good luck in your endevour!
When you're comfortable with the basicis, though, you'll want to make programs specifically for a platform. You could probably get by with Virtual PC, but I'm thinking it would be rather sluggish. The best way to program for Windows would probably be with a cheap PC and Microsoft Visual C++. You can obviously still write your code on the Mac, but you'd have to test it and compile it under Windows. If you're a bad programmer like me who has to test small amounts of simple code repeatedly just to get it to compile, it'd be less of a hassle to just go PC all the way.
You might want to look into Java; it might help with some of the cross-platform issues, and it's a lot like C++. Hopefully someone else will be able to tell you what you can do with it; I don't know enough about it but it might be a good option for you.
Chances are you'll have to use Windows or some other PC system eventually. I only had to submit ANSI C++ code for the first year programming courses that I took, so I did that work on a G3.
For my second year course, I had to write x86 assembly and had money for a computer, so I bought a PC.
excellent place, it is a course online for free all you have to do is order the book
<strong>
Good luck finding a school to study Mac programming. You will most likely have to learn on a Wintel and then teach yourself the cool Mac stuff. Good luck in your endevour!</strong><hr></blockquote>
I learnt programming basics with Scheme on vax and pc's...later went on to cobol, C, Eiffel, Smalltalk, C++, Java.
Learn the fundamentals, then specialise.
<strong>Can anyone recommend any books/websites/applications I can use to begin my first foray into application development/programming though not necessaril Mac-related?</strong><hr></blockquote>
I don't have a specific book in mind, but you'll want to start with a (text) book on straight ANSI C. Hopefully the book you end up with won't even mention a particular platform - it shouldn't. Back in my day ('83 or so) K&R was the book.
After you understand C, move on to C++. A lot of people learn C++ while they learn how to program for a particular platform. But, again, ANSI C++ is not tied to a platform.
[quote]<strong>computer engineering and computer science</strong><hr></blockquote>
You're probably aware of this already, but just in case: Computer Engineering is more hardware oriented. Computer Science is more software oriented. At least where I went to school, that's how it was. From your question, it sounds to me like you're more interested in Computer Science.
<strong>Thanks. Is there any way to program for a Wintel on a Mac with or without Virtual PC?</strong><hr></blockquote>
You can do Wintel development on your Mac with Codewarrior and Virtual PC. It's harder for debugging, but you don't have to buy another computer. I (and at least one other developer I know) have done this for "real" software.
<a href="http://www.realsoftware.com/" target="_blank">http://www.realsoftware.com/</a>
Oh, and ignore the REALbasic badmouthers who will say that it is bloated, bad, etc. It is easy to use and creates perfectly fine applications. Plus, it teaches you a lot about Object-Oriented programming. Try the demo and see!
For questions about it, I suggest that you join the REALbasic NUG mailing list. There are many people there, myself included, who are more than happy to help you get started and answer any questions you have.
To subscribe: [email protected]
Digest mode: [email protected]
PS - No, I don't work for REAL Software. i'm just another satisfied customer.
<strong>Is CodeWarrior the best Mac C/C++/Java compiler?</strong><hr></blockquote>
For Mac C/C++/Java development you've basically got two choices: CodeWarrior or Project Builder.
I would say CodeWarrior is the best (my opinion). Project Builder comes free with OS X (!!!!), but it's OS-X-only. CodeWarrior will let you do Mac OS 9 and Mac OS X (and Windows) development.
[ 06-17-2002: Message edited by: spotbug ]</p>
There are several schools that make it quite easy to do CS/CE stuffs with a Mac.
[quote] I would say CodeWarrior is the best (my opinion). Project Builder comes free with OS X (!!!!), but it's OS-X-only. CodeWarrior will let you do Mac OS 9 and Mac OS X (and Windows) development. <hr></blockquote>
Codewarrior's compiler is the best one avaiable on the Mac platform hands down, esp. for AltiVec programming. However, PB is certainly not a Mac only dev platform. If you notice, it is also great for Java.
Now to say that it only runs on OSX would be correct.
I think many colleges start their cs (and similarly major'd kids) on java (mine did, and so did some of my co-workers). It's fairly simple, and (like some1 else mentioned) very similar to c++. c/c++ are the most popular languages, so eventually u'll prolly want to learn them. i didn learn it from a book, but from class and adding to c++. I suggest codewarrior's beginner's cd, "Discover Programming..." if its still in production, for learning c, c++, and java. That's what i learned on (after i learned the now nearly archaic BASIC).
Some1 said that Project Builder can only make MacOSX progs. I haven't tried it, b/c when i went X i didn intend on going back, but you can make carbon progs (which should work on OS9, and possibly 8.x with carbon extensions).
Anyways, I was checking for Mac robotics pages out there - NADA, NOTHING.
I was trying to figure out what type of software a roboticist might use and what platform but I haven't found much of anything. I was also thinking of getting OSX just because of it's Unix core. There might be some languages that run on Unix. Guys, what do you think? <img src="graemlins/hmmm.gif" border="0" alt="[Hmmm]" />
<a href="http://www2.swarming.net:4444/webring/" target="_blank">http://www2.swarming.net:4444/webring/</a>
<strong>REALBasic is REALLY BAD to learn on. You should definitely NOT learn it to start. Especially if you are learning to get a jump on college. While it has some strong suits, the whole paradigm that it adhers to is bad. Prog'g in other languages (aside from vb) is nothign like it...
</strong><hr></blockquote>
Could you please elaborate on this?
It's definitely a good idea to learn ANSI-C... depending on what university you go to, they'll either start you off with either C or Java. I currently go to the University of Florida, and they teach CS courses in Java, which I find relatively easy to learn and probably easier for the beginner to pick up. If you learn C first, you'll most likely have no problems learning Java later on. Speaking of which, I should probably start making an attempt to learn C...
As for books, this one seemed to get pretty good customer reviews at Amazon:
<a href="http://www.amazon.com/exec/obidos/ASIN/0131103628/qid=1024378700/br=3-1/ref=br_lfncs_b_1/104-5482949-2623946" target="_blank">The C Programming Language</a>
I am getting into robotics/software egnieering
<hr></blockquote>
If you are interested in v-bots go to <a href="http://www.spiderland.org" target="_blank">www.spiderland.org</a>
[ 06-18-2002: Message edited by: Rick1138 ]</p>
<strong>Could you please elaborate on this?</strong><hr></blockquote>
i think rb is bad for learning because, when ur beginning prog'g, u shouldn' do GUI shyt. theres a lotta under the hood shyt a person should learn. plus, apps made with better languages are faster (especially those in procedural c), and can take advantage of lower level things. finally, the way my teacher explained it to me when i was learning to prog was: the easier the language the less power it has. and rb is just too easy .
There's a lot of in the dictionary shyt a person should learn too. Sorry, I can't help myself.
The point is good though: concentrate on the fundamentals first, so they aren't an issue when you want to do more complicated stuff. On the other hand, I don't think it hurts to experiment just to give yourself a taste of what you'll be able to do later on -- keeps you interested.
[quote]finally, the way my teacher explained it to me when i was learning to prog was: the easier the language the less power it has. and rb is just too easy<hr></blockquote>
I think that 'empowerment is more important than power' is a better saying.
What attracted me to programming was HyperCard, and that transparently taught me object oriented programming -- a very empowering concept that I think is still cool (there's more to be discovered by people).