Live data from Hacker News

Brad Cox has died

legacy.com

101–110 of 197 posts

Re: Brad Cox has died

#101

Earlier quoted context omitted.

I don't see how you can call ObjC any more of a superset of C than C++. Object-related syntax in ObjC is completely alien to C. Object-related syntax in C++ (mostly) extends C structure syntax. Yes, ObjC takes its cues from Smalltalk. C++ does not. And so... ? [EDIT: ok, so people want to interpret "superset" as meaning "every valid C program is a valid Objective C program too. This is, with very few exceptions, true…

ObjC doesn't change any existing C syntax, it only adds messages. C++ is an entirely different language with a different spec that merely looks like C.

"Yes! C++ is nearly exactly a superset of Standard C95 (C90 and the 1995 Amendment 1). With very few exceptions, every valid C95 program is also a valid C++ program with the same meaning."

https://isocpp.org/wiki/faq/c

Re: Brad Cox has died

#102

Earlier quoted context omitted.

I don't see how you can call ObjC any more of a superset of C than C++. Object-related syntax in ObjC is completely alien to C. Object-related syntax in C++ (mostly) extends C structure syntax. Yes, ObjC takes its cues from Smalltalk. C++ does not. And so... ? [EDIT: ok, so people want to interpret "superset" as meaning "every valid C program is a valid Objective C program too. This is, with very few exceptions, true…

Because ObjC is a strict superset of C in the technical sense. That is: every valid C program is also a valid Objective-C program. Of course idiomatic ObjC is heavily tilted toward the non-C parts of the language (OOP features), but that doesn’t mean it’s not a true superset of C.

"Yes! C++ is nearly exactly a superset of Standard C95 (C90 and the 1995 Amendment 1). With very few exceptions, every valid C95 program is also a valid C++ program with the same meaning."

https://isocpp.org/wiki/faq/c

Re: Brad Cox has died

#103

Earlier quoted context omitted.

Thankfully, in computer science terms like "array" and "string" still mean what they did many years ago.

It's not about "array" or string". [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive:) name:NSApplicationDidBecomeActiveNotification object:[NSApplication sharedApplication]]; can you explain to me what any of those terms mean without looking a fairly extensive reference manual?

At that level you're talking about framework api's (in this case NextStep and derivatives), not the language itself. Drop me into some Haskell or Java or OCaml or Python or Ruby framework, I'm going to have to reach for a reference as well.

It's not uncommon to conflate Objective-C conversationally with its most common use case, but Objective-C is not NextStep and other Apple-ecosystem friends.

Re: Brad Cox has died

#104

Earlier quoted context omitted.

Thankfully, in computer science terms like "array" and "string" still mean what they did many years ago.

It's not about "array" or string". [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive:) name:NSApplicationDidBecomeActiveNotification object:[NSApplication sharedApplication]]; can you explain to me what any of those terms mean without looking a fairly extensive reference manual?

Sure, putting on my layman hat: "Add the observer 'self' to some centralized place get a notification of some kind for when the app becomes active. Something to do with a 'shared application' and a 'selector', maybe they are some additional context?" Of course, the latter two are things you'd know if you have used Objective-C even a little bit, with the former being a fairly standard nomenclature for a global and the latter being a crucial part of the language.

Re: Brad Cox has died

#105

Earlier quoted context omitted.

Because ObjC is a strict superset of C in the technical sense. That is: every valid C program is also a valid Objective-C program. Of course idiomatic ObjC is heavily tilted toward the non-C parts of the language (OOP features), but that doesn’t mean it’s not a true superset of C.

"Yes! C++ is nearly exactly a superset of Standard C95 (C90 and the 1995 Amendment 1). With very few exceptions, every valid C95 program is also a valid C++ program with the same meaning." https://isocpp.org/wiki/faq/c

Objective-C has no exceptions.

Re: Brad Cox has died

#106

Earlier quoted context omitted.

"Yes! C++ is nearly exactly a superset of Standard C95 (C90 and the 1995 Amendment 1). With very few exceptions, every valid C95 program is also a valid C++ program with the same meaning." https://isocpp.org/wiki/faq/c

Objective-C has no exceptions.

Whaddya mean?

   @try {
        // do something that might throw an exception
    }
    @catch (NSException *exception) {
        // deal with the exception
    }
    @finally {
        // optional block of clean-up code
        // executed whether or not an exception occurred
    }
https://developer.apple.com/library/archive/documentation/Co...

(I'll see myself out. For at least two reasons.)

Re: Brad Cox has died

#107

Earlier quoted context omitted.

ObjC doesn't change any existing C syntax, it only adds messages. C++ is an entirely different language with a different spec that merely looks like C.

"Yes! C++ is nearly exactly a superset of Standard C95 (C90 and the 1995 Amendment 1). With very few exceptions, every valid C95 program is also a valid C++ program with the same meaning." https://isocpp.org/wiki/faq/c

The implicit casting rules are different, it doesn't allow VLAs, you can implicitly create static constructors instead of having your program rejected for non-constants at the top level, more keywords are unavailable as variable names…

Re: Brad Cox has died

#108

Earlier quoted context omitted.

Coincidentally, I've been doing RE for many years, starting in the days of DOS and then moving into Windows, but it was only very recently --- less than a week ago --- that I had my first look at an app written in ObjC, and the first thing I noticed was the amount of information in the binary that seemed to almost give away most of its source: method, field, and class names everywhere. When I saw a method named somet…

Objective-C, at least these days, is plenty fast, with a the cost of a message send being comparable to a virtual function call. The fast path of objc_msgSend is just over a dozen instructions.

Plus for critical sections you can obtain method pointers which are just C functions.

Re: Brad Cox has died

#109

> On one scuba diving excursion while in the compound having lunch, Brad engaged a couple from Germany in conversation. Brad asked about the fellow travelers occupation and discovered he was a computer programmer. Lifewise, Brad was asked about his life's work and stated I am also a computer programmer. "What do you do?" Brad was asked. I wrote Objective-C. Astonished, the gentlerman said, "No, Brad Cox wrote that".…

I wonder what objective-c would look like with the square brackets turned into parenthesis...

Re: Brad Cox has died

#110

Two years ago I started writing an app in Swift. After a two year sabbatical, this was going to be my first app. When using Swift, the compiler was painstakingly slow. Because of that, I tried Objective-C and it is so clear to me that I love it. It is the best language in my humble opinion. The dynamism clicked and the modern features make it a real breeze to use. Messages are so flexible. I also love how it has “gra…

Can you build the feature yourself?
Post reply on HN