Actually, that points to another place where objective-c trumps Java or.Net: you can add (your own) methods to classes you don't necessarily have the source code for; see this bit on categories.
That is, the IL is never interpreted in the sense that byte-codes are.
Just because they're "bytecodes" doesn't tell us whether they're interpreted or compiled. It's the implementation of the virtual machine that compiles or interprets; it's not a property of the bytecode language.
Java bytecodes (when run with Sun's JVM on Linux and Solaris) are compiled to native machine code. It's also possible to write an IL bytecode interpreter; mono, for example, compiled to machine code on x86 long before it did that on other platforms (where it interpreted IL).
On the other hand, after several years of writing code in mostly python and other similar languages, the thought of going back to something like C (pointers!) doesn't really motivate me to write code for my mac. It's a good thing there are bridges like py-objc and such.
(Disclaimer: I first became aware of Objective-C about a decade ago, and have used IB/etc on Openstep -- on a NeXT slab, even).
I believe Walnut Creek's main server handled something like a thousand (maybe more?) users on one box that was slower than yours. Had more RAM, though -- but they needed it for the on-the-fly tar/gzip processes.
I don't know if a similar construct exists in PHP. I have a feeling, though, that even if I did use something like that in PHP, the next maintainer to come along will likely rip it out.
That's because Eclipse is extended using the same programming language it's built in (Java).
Well, there's no reason for it to be that way, is there? I mean, look at TCL, for example. A lot of apps written in C/C++/etc use TCL simply because it's a lot easier to control/extend/whatever their apps with TCL than it is with the implementation language.
I notice you don't list any plugins or extensions that you've written for Eclipse.
See, I'm just pointing out that extending Eclipse is nowhere near as easy as extending emacs. If you wanted to change how Eclipse did something -- anything at all that didn't sit well with you -- you'd have a pretty hard time doing it, relative to making a similar change to Emacs.
I hopped over to my *scratch* buffer and typed in a short emacs lisp function (three lines of code, if that). I evaluated it, switched back to my code buffer, and added the lines by hitting a key sequence. The above lines were reduced to M-x attr RET phone RET M-x M-p RET fax RET M-x M-p RET email RET, etc. I could've even bound the attr call to a chorded key press or two.
Total time to look up the docs and write the code to extend emacs: about a minute. Total time spent compiling code, loading a "plugin", restarting emacs: 0. Total time spent dealing with "you forgot the static keyword on line 12": 0. Total time spent fixing my code after upgrading emacs: 0.
This is a feature that's been around for decades. Decades! When extending your editor is this simple, you'll do it more frequently.
You should watch his "Revenge of the Nerds" shows -- he interviews both Steve Jobs and Bill Gates in them. I think he was one of Apple's early employees (with an employee number 30 or something).
I'm not completely sure about this, but try "tag=RELENG_5". I am certain that when 5.3 comes out, you can change it to "tag=RELENG_5_3" to track updates to 5.3.
In the Unix world, "vi" is pretty mainstream. And in "vi" (which, incidentally, is what Paul Graham uses -- not emacs), you can get paren matching with:set showmatch.
You know, people used to deride Smalltalk for being big and slow. In my experience, Eclipse is bigger and slower than any Smalltalk environment I've used! It brings my work box (athlon xp 1800+, 256mb ram) to a crawl, something VisualWorks 7.2 doesn't do.
I use BottomFeeder. I've used it on Linux, FreeBSD, and Windows, but it also works on Mac OS X, Solaris, HP-UX, IRIX, etc. I've found it to be more robust than SharpReader (SharpReader once gave me threadpool errors while updating my 50+ feeds, on dialup). I've yet to use a news aggregator on Linux/FreeBSD that has as many features as BottomFeeder.
Yes, they were to be deported and they left rather than fight it. The question is, why were they to be deported if he hadn't been tried yet? Was he presumed guilty?
They could've come across the evidence they were looking for (or evidence of some other crime) during their search. I mean, they didn't raid the hundreds of people who, by now, have copies of HL2 -- they went after this one person. What was special about him?
You also can't subclass final classes in Java ("sealed" in C#), so the traditional OOP method won't help you here.
Actually, that points to another place where objective-c trumps Java or .Net: you can add (your own) methods to classes you don't necessarily have the source code for; see this bit on categories.
That is, the IL is never interpreted in the sense that byte-codes are.
Just because they're "bytecodes" doesn't tell us whether they're interpreted or compiled. It's the implementation of the virtual machine that compiles or interprets; it's not a property of the bytecode language.
Java bytecodes (when run with Sun's JVM on Linux and Solaris) are compiled to native machine code. It's also possible to write an IL bytecode interpreter; mono, for example, compiled to machine code on x86 long before it did that on other platforms (where it interpreted IL).
On the other hand, after several years of writing code in mostly python and other similar languages, the thought of going back to something like C (pointers!) doesn't really motivate me to write code for my mac. It's a good thing there are bridges like py-objc and such.
(Disclaimer: I first became aware of Objective-C about a decade ago, and have used IB/etc on Openstep -- on a NeXT slab, even).
The article says that the processors will ship in 2H 2006; isn't that too late for the Intel processor Macs?
I believe Walnut Creek's main server handled something like a thousand (maybe more?) users on one box that was slower than yours. Had more RAM, though -- but they needed it for the on-the-fly tar/gzip processes.
But it already exists!. Has for almost three years!
"Mach was the greatest intellectual fraud in the last ten years."
;login, 9/1990
"What about X?"
"I said `intellectual'."
I don't know if a similar construct exists in PHP. I have a feeling, though, that even if I did use something like that in PHP, the next maintainer to come along will likely rip it out.
Well, there's no reason for it to be that way, is there? I mean, look at TCL, for example. A lot of apps written in C/C++/etc use TCL simply because it's a lot easier to control/extend/whatever their apps with TCL than it is with the implementation language.
Not in my case -- I was rewriting a co-worker's PHP code.
I notice you don't list any plugins or extensions that you've written for Eclipse.
See, I'm just pointing out that extending Eclipse is nowhere near as easy as extending emacs. If you wanted to change how Eclipse did something -- anything at all that didn't sit well with you -- you'd have a pretty hard time doing it, relative to making a similar change to Emacs.
The other day I had to write a bunch of code with similar lines. Something like
I hopped over to my *scratch* buffer and typed in a short emacs lisp function (three lines of code, if that). I evaluated it, switched back to my code buffer, and added the lines by hitting a key sequence. The above lines were reduced to M-x attr RET phone RET M-x M-p RET fax RET M-x M-p RET email RET, etc. I could've even bound the attr call to a chorded key press or two.
Total time to look up the docs and write the code to extend emacs: about a minute.
Total time spent compiling code, loading a "plugin", restarting emacs: 0.
Total time spent dealing with "you forgot the static keyword on line 12": 0.
Total time spent fixing my code after upgrading emacs: 0.
This is a feature that's been around for decades. Decades! When extending your editor is this simple, you'll do it more frequently.
You should watch his "Revenge of the Nerds" shows -- he interviews both Steve Jobs and Bill Gates in them. I think he was one of Apple's early employees (with an employee number 30 or something).
Where's Quake 3?
RELENG_5_3 hasn't been branched at the time of this (my) comment; look at cvsweb -- the selection box at the bottom of the page.
I'm not completely sure about this, but try "tag=RELENG_5".
I am certain that when 5.3 comes out, you can change it to "tag=RELENG_5_3" to track updates to 5.3.
In the Unix world, "vi" is pretty mainstream. And in "vi" (which, incidentally, is what Paul Graham uses -- not emacs), you can get paren matching with :set showmatch.
You know, people used to deride Smalltalk for being big and slow. In my experience, Eclipse is bigger and slower than any Smalltalk environment I've used! It brings my work box (athlon xp 1800+, 256mb ram) to a crawl, something VisualWorks 7.2 doesn't do.
I use BottomFeeder. I've used it on Linux, FreeBSD, and Windows, but it also works on Mac OS X, Solaris, HP-UX, IRIX, etc. I've found it to be more robust than SharpReader (SharpReader once gave me threadpool errors while updating my 50+ feeds, on dialup). I've yet to use a news aggregator on Linux/FreeBSD that has as many features as BottomFeeder.
Yes, they were to be deported and they left rather than fight it. The question is, why were they to be deported if he hadn't been tried yet? Was he presumed guilty?
The SF geek was never charged, and eventually did get all his equipment back. No, these arrests are other people.
True, but LambdaMOO's server code is now hosted on SourceForge. I think they require some sort of open source license for all hosted projects.
The LambdaMOO admins occasionally make dumps of the live Lambda database and give away the core bits.
They could've come across the evidence they were looking for (or evidence of some other crime) during their search. I mean, they didn't raid the hundreds of people who, by now, have copies of HL2 -- they went after this one person. What was special about him?
But yeah, they could've had him followed.