Ruby stands to perl (quick and dirty programming) or PHP (perl for people to stupid to perl) as Objective C does to C++ or Lisp to a useful programming language. They are great in the laboratory, and for pointy-headed geeks to play with, but they are completely useless in practice.
Objective-C will serve you better (practically!) than C++ in some situations (GUI frameworks or other places where dynamism count). C++ will serve better in others (systems programming or where performance counts). Lisp is a fantastic language for list processing (surprise) and has many applications in artificial intelligence.
as close to a gaurantee as you'll come is to speak to a legal professional regarding exactly these points. When I started a new job, I made it clear in my interviews that I would be working on personal projects and that I would retain full ownership of them. I got a clause written by a team of IP specialists and had my employer sign it.
Each engagement may have unique issues so you can't have some blanket agreement that encompasses every employment situation. You'll at least have to have the clause reviewed when you change jobs.
Total cost: $300. That's less than some video cards:)
Come on people, read The OS X Kernel docs. BSD, the file system, networking and mach all live in the same address space: it's not implemented as a microkernel.
A kernel is the software that provides basic system facilities that access hardware (CPU, disks, etc) and software (filesystem, network protocols, etc).
The kernel executes in kernel space
All other sofware executes outside kernel space, in user space
A microkernel is a kernel which is implemented such that only the minimal system facilities are in kernel space.
A monolithic kernel is a kernel which is implemented such that more than the minimal system facilities are in kernel space.
An operating system is software, including a kernel, that a user program requires to make use of the underlying hardware.
Mach is a microkernel.
Darwin is an operating system.
Darwin is based on the BSD family of operating systems.
Darwin' kernel is based on Mach and the kernels of other BSD operating systems.
Darwin's kernel implements more than the minimal facilities in kernel space.
Darwin has a monolithic kernel
Having a kernel based on Mach and having a monolithic kernel is not a contradiction. It is simply that Darwin's kernel can be described as 'Mach+BSD+Apple extensions' and is therefore NOT a microkernel.
Back in the day, you used to do some development under NEXTSTEP. I think QuakeEd was the last app you wrote before moving to Windows/OpenGL. You said that you were moving because NEXTSTEP's display postscript system was not a good fit for your apps. That was about three years ago, and since then, Apple bought NeXT and will be releaseing a new operating system, MacOS X, with updated (Openstep/Cocoa) development tools, and a new Windowing system, referred to as Quartz, that allows for hardware acceleration with support for OpenGL. Have you considered moving to a MacOS X development environment?
I agree. The one problem I have though is that a "Palm Computer" just does not fit with the way I like to work. I'm much more fond of the handhelds the size of a Newton, Panasonic CF-01, or Vadem Clio. When 3Com comes out with something that can replace my trusty spiral notebook (9.5x6 college ruled) I'm in.
Ruby stands to perl (quick and dirty programming) or PHP (perl for people to stupid to perl) as Objective C does to C++ or Lisp to a useful programming language. They are great in the laboratory, and for pointy-headed geeks to play with, but they are completely useless in practice.
Objective-C will serve you better ( practically! ) than C++ in some situations (GUI frameworks or other places where dynamism count). C++ will serve better in others (systems programming or where performance counts). Lisp is a fantastic language for list processing (surprise) and has many applications in artificial intelligence.
Pick the right language for the job
as close to a gaurantee as you'll come is to speak to a legal professional regarding exactly these points. When I started a new job, I made it clear in my interviews that I would be working on personal projects and that I would retain full ownership of them. I got a clause written by a team of IP specialists and had my employer sign it.
:)
Each engagement may have unique issues so you can't have some blanket agreement that encompasses every employment situation. You'll at least have to have the clause reviewed when you change jobs.
Total cost: $300. That's less than some video cards
Come on people, read The OS X Kernel docs. BSD, the file system, networking and mach all live in the same address space: it's not implemented as a microkernel.
Having a kernel based on Mach and having a monolithic kernel is not a contradiction. It is simply that Darwin's kernel can be described as 'Mach+BSD+Apple extensions' and is therefore NOT a microkernel.
I'm surprised that no one's mentioned that Project Delphis utilizes PowerMac G4's and Mac OS X to process the language of the dolphins. The story appeared a while back at Apple's Science&Technology site
Back in the day, you used to do some development under NEXTSTEP. I think QuakeEd was the last app you wrote before moving to Windows/OpenGL. You said that you were moving because NEXTSTEP's display postscript system was not a good fit for your apps. That was about three years ago, and since then, Apple bought NeXT and will be releaseing a new operating system, MacOS X, with updated (Openstep/Cocoa) development tools, and a new Windowing system, referred to as Quartz, that allows for hardware acceleration with support for OpenGL. Have you considered moving to a MacOS X development environment?
I agree. The one problem I have though is that a "Palm Computer" just does not fit with the way I like to work. I'm much more fond of the handhelds the size of a Newton, Panasonic CF-01, or Vadem Clio. When 3Com comes out with something that can replace my trusty spiral notebook (9.5x6 college ruled) I'm in.
Just a clarification... MacOS X Server _is_ BSD4.4. Mach kernel, BSD personality, MacOS-like GUI.