Brave New World

Started by
3 comments, last by 3cheeseMac 21 years ago
Well for me anyway. After years of hearing about UNIX and using it to get my e-mail at school, I now have a Mac with OSX and little icon that says "Terminal". I''ve learned to clumsily navigate the directory structure of the computer, and had a confusing encounter with vi, but it''s not very productive stuff. So where do I go next? I''d really appreciate links to forums, good books, or even just some old fashioned advice on things to help me on my way to UNIX literacy. I am particularly interested in learning to use the terminal command line. My skillset is a combination of multi-media, 3D design, and C++ programming so if anyone out there has advice to offer regarding UNIX and these special interests I''m all ears. Thanks, 3CM
Advertisement
I dunno the differences between MacOS X and plain old Linux/Unix, but www.linuxnewbie.org is a pretty good site. If you hang around here for a little while you may learn a thing or two too. You could also get yourself some kind of book. I''m sure you could get a small reference book (Unix in a Nutshell or something like that) fairly cheap if you wanted.

I dunno if MaxOS X has them, but man pages are great. type "man *topic goes here*" and it''ll give some help. The trick is finding a topic. Most commands and kernel and some library functions have man pages.

Just keep playing with it. That''s a good way to learn. I doubt OSX will let you tear anything up TOO much.
I like the DARK layout!
I switched from Linux/Win32 for my primary desktop. I wanted my Nix tools, but couldn''t stand the Linux clumsy, uncoordinated Unix desktops.

I don''t know if I''ll ever give up my PowerBook =)

You''ll find that Darwin and OS X are essentially the same as most Nix breeds, with some subtle (but significant) differences.

I you want OSS software already prepared for OS X, check out fink. It''s essentially apt-get from Debian for OS X.

http://fink.sourceforge.net/

If you haven''t gotten Developer Tools, do so now. It''ll make life much easier dealing with OSS software.

http://developer.apple.com/macosx/

You might also want to get the Beta for OS X''s X11 server.

http://www.apple.com/macosx/x11/

There are some other X11 servers, but I find this one works the best and will probably become part of the core of Jaguar and ultimately Panther when they release it.

Here are some web links I''ve found useful from time to time:

http://www.macdevcenter.com/
http://www.macosxhints.com/
http://www.osxfaq.com/

If you''re looking to develop on OS X, the tutorial on Cocoa is a good start (and it''s free).

http://developer.apple.com/techpubs/macosx/Cocoa/CocoaTopics.html

This is a good place to start for any Cocoa information.

If you''re already familiar with C or C++, I found this book very helpful (it''s to the point and brief)

"Cocoa Programming for Mac OS X" ISBN 0201726831

And...

"Mac OSX for Unix Geeks" ISBN 0596003560

Generally I don''t find the differences that cumbersome, though I might have a little more Unix experience than you do based on your question.

As for suggestions to get Unix-CLI guru status: (grin)

- Grab a unix/linux shell scripting tutorial on the web or a reference book. Both the Unix and Linux Nutshell books from O''Reilly are great. Since Unix is essentially built around the concept of reusing specialized programs and chaining them together for advanced results, just learning a dozen or so of the common commands will start you on the way (more, less, cat, grep, sort, ls, rm, cd, pwd, awk, sed, ps, du, df, man as well as the redirectors > < | , etc)

- You can certainly do C++, but if you''re interested in GUI on OS X, you''ll have to learn Obj C. Though, I found it one of the easiest GUI to work with. Interface Builder in the Developer Tools is great once you learn how it works. You can knock out simple GUIs with minimal work. You can always just use X11 as well, especially if you''re cross-developing for Linux/Unix. If you''re just doing command line tools, you can still use Project Builder for C, C++, Obj C (I even found a Python-ObjC bridge recently, which lets you build GUIs using Python on OSX)

- If you''re not into administration tasks, to be honest, the differences for you will be slight if you''re working just by the command line. Most of the differences are subtle (netinfo for user management, some directory differences).

- Apps are often bundled up if you find them by the CLI. Look into the "defaults" command (use man) to learn how to edit the .plist files and change the default settings for many apps (most applications store their defaults in these files...defaults is a CLI to manage any application default.)

- In my experience, Perl and Python are quickly replacing shell scripts outside of startup scripts for most systems (and even those are getting replaced (grin)). Pick one of those two and learn a few commands in it. I personally find Python easier to use if you''re more familiar with OOP. Though Perl has more followers and support on the web at this point, but Python is quickly gaining ground and popularity from disgruntled Perl users.

- Apple has long had a lot of multi-media users, so you can find a ton of applications around 3D, animation and audio/visual. I''m personally not deep into those topics, so I can''t help too much there. Though Maya, Blender and all the usual suspects are around for OS X.

- Pick Vi, Pico, or Emacs and stick with it. I''ve personally been using BBEdit (great tool, has syntax highlighting for most apps and plenty of power user features). I just drop down to the CLI to run my scripts or what not when I''m done editing. In my professional career, I primarly stick to Vi since it''s the least common denominator editor and I often don''t work exclusively with machines I set up or install (I''ve never _not_ found vi on a system).

Interim
Thanks for your replies, I will start going through the links tonight after work. Does anyone have an opinion on the book "Unix for Programmers: A Complete Guide"? I found it online it looks like a very decent text.

Thanks again,
3CM
Never personally read that one, most of my Unix is learned from the web which is surprising good compared to Windows behind the scenes documentation. (Front end Unix docs are horrible though).


I found another good site.

Just passed through Developer on Apple.com again and found a Game Developer section.

http://developer.apple.com/games/index.html

Interim

This topic is closed to new replies.

Advertisement