32 ms·
Brad Cox has died
- dilap 6y agoGreat language. Amazing bang for the buck. RIP.
- jhbadger 6y agoI always liked his analogy for object oriented programming as "software ICs" -- just as in hardware development, you don't have to worry about what goes on in a chip (just what it takes as input and gives as output), so too a well designed object works.
- lytol 6y agoInterestingly, I feel like this comparison to an IC and input(s) -> output(s) is more akin to functional approaches, and many people complain about OOP being the opposite. To quote Joe Armstrong: > I think the lack of reusability comes in object-oriented languages, not functional languages. Because the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. If you have referentially transparent code, if you have pure functions — all the data comes in its input arguments and everything goes out and leave no state behind — it’s incredibly reusable.
- moron4hire 6y agoMy reaction to PT fundamentalists is always the same. "Jesus, what the hell have I been doing, reusing all this unreusable OOP code?"
- robotresearcher 6y agoMany ICs contain state. That's RAM's purpose, for example. The analogy with OOP is that (ideally) you don't need to know how it works internally: you just use the external interface.
- aidenn0 6y agoHeck, many mixed-signal ICs are much harder to use correctly than a typical object; Things like "Vdd must be brought up to +6V or higher before CLK begins toggling" are not too uncommon to see.
- deleted 6y ago[deleted]
- systemvoltage 6y agoIt's a loose analogy. You're going to find exceptions. I think its a fantastic analogy to describe what a class is despite of some exceptions.
- aidenn0 6y agoI was actually agreeing with the analogy.
- cxr 6y agoFP comes with the same jungle, especially if you consider that when most people talk about FP, they're allowing for closures. Even if you don't, though, and you do only have pure functions, it's a similar bog. Consider a function f that itself relies on being able to call function g. In FP, you have to either bind by name, which introduces coupling on par with OO ("the jungle"), or you make it parametric, so f doesn't know anything about g per se, but somebody does―perhaps f's caller, or its caller, etc. OO is parametric, too, but in that case they live as slots on the objects, rather than being passed as arguments. People can try to squidge this end of the problem and find that it shquoshes up on the other side, or vice versa. There's no real escape from the problem of dealing with state. Probably the real silver bullet boost to productivity will come when we adapt program execution environments to our dumb brains by way of VR. Think of something like a cellular automaton such as von Neumann's universal constructor: https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor#/media/File:Nobili_Pesavento_2reps.png https://en.wikipedia.org/wiki/Von_Neumann_universal_construc... ... only in 3 dimensions. When we want to debug a program, we project it into a 3-dimensional space, and we trace its execution the way you can look at something progressing through the assembly line on a shop floor, with pieces that you can reach out and touch, and even pick them up and mark some with blue dots and some without, etc. That looks a lot more like OO than FP.
- throw03172019 6y agoRIP. Objective-C was my first language and I enjoyed it even with manual memory management!
- neverartful 6y agoTrue! For those who might be wondering how it's even possible to enjoy working with a language that required manual memory management, I submit to you 'autorelease' and auto-release pools.
- Austin_Conlon 6y agoComputer History Museum interview with him: http://archive.computerhistory.org/resources/access/text/2017/07/102717175-05-01-acc.pdf http://archive.computerhistory.org/resources/access/text/201....
- gladimdim 6y agoand a video interview: https://www.youtube.com/watch?v=1xrL2d5omuA https://www.youtube.com/watch?v=1xrL2d5omuA
- sigzero 6y agoWow, so very sad.
- deleted 6y ago[deleted]
- msie 6y ago[me say:"Oh no! This sucks."]; I loved his little book on Objective-C.
- kristianp 6y ago> I loved his little book on Objective-C. Do you mean: "Object-Oriented Programming : An Evolutionary Approach"? Its 320 pages!
- erik_seaberg 6y agoHe was bold enough to create a DSL starting from C. Too many black bar-worthy losses lately.
- protomyth 6y agoGiven the impact of his contributions, I don't understand why there isn't a black bar.
- WoodenChair 6y agoThere's an extended interview with him about Objective-C in the book "Masterminds of Programming: Conversations with the Creators of Major Programming Languages": https://amzn.to/3iEYfGh https://amzn.to/3iEYfGh
- robbyking 6y agoI love the quote from him where he says "languages are mere tools for building and combining parts of software." I think a lot of new developers get hung up on Language A vs. Language B (or OS A vs. OS B), so I hope this helps them realize that the languages are just tools you have in your toolbox, and that they should be open to switching between (and learning new) languages as needed.
- neverartful 6y agoAbsolutely! ObjC's raison d'être was pragmatic. Brad Cox said that he didn't invent ObjC because he wanted to come up with a new language, he needed that type of language to solve the problems at hand. I completely agree with your point about languages being just tools in your toolbox. With that point, I always feel that many of the folks who describe themselves as being 'passionate about language xxx' might be selling themselves short when it comes to having a toolbox that's not a one-trick pony.
- dwheeler 6y agoVery sad. I had the privilege of taking a class from him at George Mason University, and he was (unsurprisingly) very knowledgeable. He worked hard to enable software reuse. No one was interested in his idea of trying to monitor component use during runtime to pay developers. That was an unworkable approach, and I told him that then. But the general world of making it easy to reuse components is a reality today, via open source software and package managers. So, a hat-tip to him and all the other pioneers who helped make the world a better place.
- sidpatil 6y ago> No one was interested in his idea of trying to monitor component use during runtime to pay developers. This reminds me of Project Xanadu's ideas about transclusions and associated royalties. What a coincidence that this was posted recently: https://news.ycombinator.com/item?id=25875386 https://news.ycombinator.com/item?id=25875386
- dwheeler 6y agoThat makes sense. In addition, the telecomms were generally not interested in the very early Internet (TCP/IP) because they couldn't figure out how to do per-packet metering, and they assumed that was necessary. All 3 examples show that trying to do fine-grained metering, in ways that cause tremendous overhead, often don't work. It is sometimes better to make something so that it is "too cheap to meter".
- andrekandre 6y agosuperdistribution was superinteresting... but i felt the same as well when reading it... it could only work if everyone agreed at the same time to use the same protocols... and of course legislation... but it was definitely a grand vision and would have been interesting to see the effect on culture and creativity if it had actually panned out
- shanev 6y ago> He worked hard to enable software reuse. No one was interested in his idea of trying to monitor component use during runtime to pay developers People are experimenting doing this in blockchain smart contracts. It’s transparent and supports micropayments as well.
- btilly 6y agoDoes anyone know what he died of? Given current events, my assumption is COVID-19. But I know that I'm assuming that too often. Old people do die of other things.
- luxuryballs 6y agoI was thinking about how the vaccine just started rolling out and has already killed “frail” people, but I have no knowledge of this guy other than him being a computer programmer... gulp (I am a computer programmer)
- smaili 6y agoVery sad, rest in peace and thank you for all your contributions.
- armadsen 6y agoObjective-C is the programming language that made me fall in love with programming, and led to my career for the past 14 years. I never met Brad Cox, but the work he did to create it has had a huge impact on my life. Watching his long interview with the computer history museum was a delight and made me feel like I knew him just a little. Sincere condolences to his family and friends.
- bartmika 6y ago> 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". "Hi, I am Brad Cox", was the response and the introduction. Wonderful story. I wish his family all the best. I love Objective-C and consider it a beautiful language. Back in the day I re-discovered my love for programming when I started to learn this language. This was when I was still in the Java world. As a side project I tried to build a drone (unmanned navel vehicle) powered by objective-c. I have abandoned the effort but posted the code on GitHub - it was a joy to work with the language and the funnest side project I’ve worked with. These days I work with python and golang for job/hobby but I always am grateful to have spent time with objective-c. Reflecting back if I haven’t spent time with this language, today I would of not been a programmer. Thank you Brad Cox for your work and positive influence.
- deleted 6y ago[deleted]
- bitexploder 6y agoObjective-C is a real object oriented programming language. Everything is messages. Reverse engineering ObjC as a security engineer over the years has been a treat. The runtime is a breeze to work with and the language itself made substantial usability improvements over C. It’s phased out over Swift now, but I really have no complaints over my time with the language, a rare thing in tech. I didn’t know you, Mr. Cox, but I enjoyed your work.
- userbinator 6y agoCoincidentally, 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 something like checkLicenseSignature, I almost thought it was misdirection. The second thing that I found astonishing was that these strings were actually being used by the runtime to determine what to call, i.e. something that in basically every other native language I've seen would be a direct or indirect call to an address or vtable offset. All this in an application that has no exported functions. I can definitely see how it would make RE extremely straightforward! Efficiency, on the other hand...
- kdavis 6y agoMany moons ago I used to work with Brad in DC. He never let on that he was a world famous computer scientist. He slinged code shoulder to shoulder with us plebes. He was a Mensch.
- kotrunga 6y agoplebes... a great word I don’t hear often!
- lucb1e 6y agoFor the other Dutch/German people out there confused at what Mensch means other than 'human', dictionary says: "a person of integrity and honor" (https://www.merriam-webster.com/dictionary/mensch https://www.merriam-webster.com/dictionary/mensch)
- js2 6y agoYes, but it also carries the connotation of being the highest complement you can say about someone. I don't use the word lightly. It's Yiddish in this context. https://en.wikipedia.org/wiki/Mensch https://en.wikipedia.org/wiki/Mensch
- DonnieP 6y agoGerman derivation, of course, but the American English usage is more particularly Yiddish (https://en.wikipedia.org/wiki/Mensch https://en.wikipedia.org/wiki/Mensch).
- cxr 6y agoI mentioned Brad Cox's "software ICs" today on the phone in a conversation about big ideas in programming, not knowing that he'd passed away a couple weeks ago. Here's the Objective-C paper at last year's HOPL: "The origins of Objective-C at PPI/Stepstone and its evolution at NeXT" https://dl.acm.org/doi/10.1145/3386332 https://dl.acm.org/doi/10.1145/3386332 https://news.ycombinator.com/item?id=23516334 https://news.ycombinator.com/item?id=23516334
- microtherion 6y agoThat's a truly excellent paper (and exceptionally honest, considering some of the touchy subjects involved) and disentangles many of the origins of the various concepts in Objective C between the Stepstone and NeXT environments.
- dang 6y agoA 2009 interview with him: https://web.archive.org/web/20110911201409/http://www.mactech.com/articles/mactech/Vol.25/25.07/2507RoadtoCode-BradCoxInterview/index.html https://web.archive.org/web/20110911201409/http://www.mactec... was discussed in 2014 here: https://news.ycombinator.com/item?id=8422695 https://news.ycombinator.com/item?id=8422695
- gdubs 6y ago[BradCox release] RIP. I owe so much to Objective-C. My early love for the language is what launched my own career, and inspired a love for programming in general. Thank you, Brad Cox.
- princekolt 6y agoThe same thing happened to me. I was at university loving C but learning Java and hating every minute of it. One day, with the help of another student, I managed to install Snow Leopard on my Acer notebook and the first thing I wanted to do was figure out how iPhone programming worked. However I was instantly confused at the syntax of the language and that threw me off. I did try again two more times though, and in the last one it just clicked. That was mid-2012. I dropped out of university for a job opportunity in 2015 and have been an iPhone developer ever since. Thank you, Brad Cox.
- mucholove 6y agoThis is so poetic. What a beautiful way to remember him. Alan Kay once said that those who began to talk about objects in anthropomorphic terms got object oriented programming. Your “code” now reveals to me the cycle of life in all that I type. How delightful. Thank you :)
- saagarjha 6y ago:( Objective-C was the “object oriented C” that was simple and a delight to use…words that I certainly would not use to describe competing efforts. The syntax might be a little disagreeable–a concession to strict C compatibility–but the language itself is remarkably clean and, dare I say, pretty. Brad Cox struck the balance between flexibility and practicality better than almost anyone else before or since.
- neverartful 6y agoWell put. The one word I would add to your description is 'pragmatic'. For many years, ObjC was the language that I would rate at the top of the pragmatic list. That stayed true for me until Nim arrived and now it's a toss-up.
- gigantor 6y agoThere is no doubting the legacy of Objective-C (especially given the high likelihood you are reading this post on a mobile device, using app written in Objective-C), but to truly appreciate Brad's legacy, am curious about the appeal of using Objective-C. Having developed only one small iOS app with Objective-C code, I was mostly turned off by its overall verbosity in the context of NS prefixes. Hence, I ask the question on behalf myself and others who did not appreciate the language and did not give it a proper chance... what did I miss and what are its top appeals? Nevertheless, Rest In Peace to a pioneer.
- acjohnson55 6y agoIt's not a modern language, so appreciating it has to be in its original context. I think it does an admirable job of augmenting C with object-oriented capabilities. It's certainly easier to master than C++. I'm not an expert on this, but I suspect that the main reasons it was chosen for iOS were: - The technical limitations of the original iPhone meant that you needed to use a low-level language. - The legacy of NeXT at Apple.
- saagarjha 6y agoMostly the latter, I would assume. Apple didn't really use anything other than Objective-C for its application frameworks (and still generally does not, for the most part).
- pjmlp 6y agoI read in multiple sources, usually the kind of comments that is only possible to validate with inside info, that to this day not all business units are sold on Swift.
- saagarjha 6y agoSold or not, it's easy to see that most of the code being written is still in Objective-C just by looking at the code that Apple ships publicly.
- AJRF 6y agoI am giving a talk in work soon around method swizzling in iOS and was delving into the history of Objective-C a bit and came across Alan Kay's talk about the power of simplicity and how we've all screwed up OOP. In the talk, Alan talks about the ant who lives his life on a single plane of existence, the "Gulley World" or "Reality". The ant goes to work, he finds stuff to eat, he lives his life in this Gulley World, which is depicted as a pink 2D plane. However some times on this pink plane there are little spots of blue. They represent thoughts that don't belong in the pink plane. Sometimes those blue spots turn into blue planes, and the ant we are following starts to move along that plane instead of the pink one. Everyone in the pink plane thinks he is wrong. Everyone can see the pink plane, in all its reality. It is not until you walk on the blue plane until you can see "another way". The metaphor being that we developers built a world where we started to take the general idea of OOP and construct a lot of "reality" around it. A lot of process, a lot of formalization so we could build mechanical systems of gears that slotted together. I think Alan's idea of OOP was something more fluid, more organic than this. The world is messy and we often try to abstract the mess away in these overbearingly weighty and hierarchical programs that everyone agrees is the right way. I think Objective-C was the most widely used and successful walk on this blue plane. Millions of developers were exposed to the idea of message passing as a form of OOP, which is an astounding accomplishment. It really is a neat language, and I had a lot of fun learning it. Brad definitely walked on the blue plane. RIP.
- prabhatjha 6y agoWhat a great tribute you have written. When I first found about swizzling through a seasoned iOS dev I was blown away. The swizzling capability in obj-c basically helped create my first startup, InstaOps, a long time back which allowed no code change to instrument an app to capture logs and network performance metrics.
- neverartful 6y agoI second all of these comments. I was on the same team with him (Hi Prabhat, this is Paul D.) and concur that swizzling is a very powerful mechanism. It's definitely a good thing to know about if you're working with Objective-C.
- arthurcolle 6y agoThis is Apple Objective-C right? I thought it was developed in house, didn't realize it had already existed.
- saagarjha 6y agoThe language was selected by NeXT and then later used pervasively in Mac OS X as a result. This left Apple as the main driver of its development.
- jhbadger 6y agoIt was originally developed by Cox's company in the mid 1980s, and then adopted by Steve Jobs' company NeXT in the late 1980s as the official language of NextStep. The Apple connection is only that Apple bought NeXT and that its OS X is really just a Mac-skinned version of NextStep.
- neverartful 6y agoYep, Cox's company was Stepstone.
- microtherion 6y ago> OS X is really just a Mac-skinned version of NextStep. You could probably describe Rhapsody that way, but by the time Mac OS X came out, I don't think that's an accurate characterization at all anymore. In addition to the sizable Carbon subsystem, the NeXTStep pieces were also changed substantially, e.g. the refactor of Foundation that extracted CoreFoundation and the change of the graphics subsystem from Display Postscript to Quartz.
- thought_alarm 6y agoObjective-C was adopted by NeXT Computer in the late 1980s for their app development framework. The modern version of Objective-C, the one that's still in use today, was developed by NeXT and Sun and was called OpenStep. The first OpenStep specification was published in 1994. OpenStep API implementations were created for NeXTSTEP OS, Solaris, and Windows NT, running on Motorola 68040, Intel, PA-RISC, and SPARC (and later PPC) platforms. Sun would switch gears to Java, Apple would buy NeXT, and OpenStep would become Cocoa.
- bogomipz 6y agoWhat an amazing career. I was curious about this: >"The late Steve Jobs', NeXT, licensed the Objective-C language for it's new operating system, NEXTSTEP. NeXT eventually acquired Objective-C from Stepstone." Does anyone what NeXT paid to acquire the Objective-C license?
- favorited 6y agoThey were both privately held companies, so it might never have been disclosed. Part of the acquisition was that NeXT would license Objective-C back to Stepstone for their own products, so it was more than an outright purchase anyway.
- grahamlee 6y agoTom Love mentioned it in a talk once (sorry, I’m not in a position to search for the reference right now). They were offered a choice between a fixed fee of some tens of thousands of dollars, or fifty cents per device. They picked the fixed fee, and felt it was the correct choice right up to the 2000s.
- favorited 6y agoInteresting! Do you know what the "per device" was? Was that device with the Objective-C compiler installed? Device that shipped with the Objective-C runtime? If it was device with the runtime, I imagine we'd have seen a rewritten "modern" runtime a few years earlier than we did.
- grahamlee 6y agoI've found the video here https://www.youtube.com/watch?v=adI6-liGXqE https://www.youtube.com/watch?v=adI6-liGXqE, he said something along the lines of "five dollars [not fifty cents] per device running Objective-C", that make me think he meant the runtime. I don't necessarily agree that the result would have been a rewritten runtime, just because the NeXT runtime (and compiler based on gcc) already was their own code so the licence must have been for "IP" in broader terms. Remembering that Apple were very heavily into Java around the time of the NeXT integration (https://www.sicpers.info/2020/07/so-whats-the-plan-part-1-what-was-the-plan/ https://www.sicpers.info/2020/07/so-whats-the-plan-part-1-wh...), I imagine that they would have gone more heavily in Java's direction.
- WarOnPrivacy 6y agoHaving lived in Manassas, I express my deep regret that this pioneer spent his final years there.
- devonkim 6y agoIf I had known he was literally down the road from me I’d have tried to pay my respects earlier and didn’t catch this in local news at all. It’s not that bad here probably compared to 10 years ago, especially with the VRE train routes to DC and new stuff downtown.
- WarOnPrivacy 6y agoI moved there in 1992 from Warrenton, predictably due to misfortune. Couldn't get out of Bobbitt-Land fast enough. Glad it's improved. Do city cops there still obsess over teen boy genitals? https://www.techdirt.com/articles/20140709/07330027823/prosecutors-sexting-case-apparently-obtained-search-warrant-to-photograph-teens-penis.shtml https://www.techdirt.com/articles/20140709/07330027823/prose...
- devonkim 6y agoManassas just elected its first Democrat mayor in like 100 years, for what it’s worth. The area isn’t as prosperous as the rest of NoVA but it’s kind of being forced to stop being looked at as a slum. Home prices YoY led the entire state this past year with the growth of remote employment. I know plenty of people still call it a NoVA ghetto similar to Herndon, but I’m happy to not be shielded from day to day reality for people that don’t have white collar jobs when I look outside my windows. I can’t say much about law enforcement honestly one way or the other. Danica Roem won multiple elections here for focusing upon fixing the terrible traffic on 28, and it’s proof that local economic issues matter more than social issues now. The problems with that road have kept economic development from going to an otherwise welcoming community, and I blame that upon a laisse-faire style leadership for many decades that’s ironically impeded growth for the community long-term as AWS grew just down the road.
- fao_ 6y agoYou won't find much on his Wikipedia article, but his C2 wiki page has more: http://wiki.c2.com/?BradCox http://wiki.c2.com/?BradCox
- microtherion 6y agoI met him once in the late 1990s, when his travels took him to Zurich and he asked me whether I could book a talk for him at ETH Zurich, where I was a grad student. I did not quite share his confidence in my abilities in that area, but to my relief, Jürg Gutknecht agreed to sponsor the talk, and I got to spend lunch with Brad Cox, Niklaus Wirth, and Jürg Gutknecht. Given their highly divergent aesthetics in language syntax, I expected some fireworks, but the conversation was quite pleasant, even when they were discussing Perl. I was at the time the maintainer of the Mac port of Perl, and had taken some classes with Wirth, but the idea of discussing Perl with him struck me as akin to discussing masturbation with the Pope. However, Wirth conceded that in the area of text processing, general purpose languages tended to be somewhat clumsy, and there had always been a successful niche for languages like Snobol and now Perl. Brad Cox was a splendid conversationalist in many other areas as well. His talk focused on Superdistribution as the next evolution of the Software IC concept, and he very skillfully pitched this to a Swiss audience that a banking nation should be a natural superpower to take the lead in a micropayment world. He was very good at painting visions like this, but I'm not sure how much of it ultimately came to pass: a) I don't think we're any closer to plug and play "Software ICs" than we were in the mid-1980s when he introduced the term. In the Objective C ecosystem, the closest there was to that was maybe Interface Builder with its Outlets and Actions, but I think that part did NOT originate with Cox (I may be mistaken, though). b) Likewise, I don't see any move to distributed micropayments. If anything, more and more of the software revenue seems to come from centrally billed cloud services, e.g. comparing the Microsoft Office revenue model 20 years ago and now.
- protomyth 6y agoThe book to go with is "Superdistribution: Objects as Property on the Electronic Frontier" which is a fun read. Objective-C is still my favorite language and I loved his writing when first learning it in 94.
- bboreham 6y agoI think the vision of Software ICs was delivered most fully by VBX custom controls for Visual Basic and Delphi. Superseded by OCX. There were hundreds of them you could download for free or paid, doing all kinds of GUI and non-GUI tasks. Doesn’t seem so popular now.
- btzo 6y agofunny thing, I just discovered the singer Brad Cox [0] searching for the original Brad Cox Wikipedia page and I like his songs [0]: https://www.youtube.com/user/bradleycoxmusic https://www.youtube.com/user/bradleycoxmusic
- ahmetyas01 6y agoAllah rahmet eylesin
- raymondh 6y agoSorry to hear that he has passed. His book, "Object-Oriented Programming : An Evolutionary Approach" still influences how I think about and teach OOP today. His legacy will live for a long time.
- rationalfaith 6y agoAllah I Rahmou Hope i can achieve contributions like his in my lifetime.
- tartoran 6y agoOral History of Brad Cox https://m.youtube.com/watch?v=1xrL2d5omuA https://m.youtube.com/watch?v=1xrL2d5omuA
- spacedcowboy 6y ago- (void) dealloc { // :( }
- srcreigh 6y agoMy first programming job used Objective C to make an iOS app. Back in 2013 XCode was pretty fast. My naive youthful self enjoyed using Objective C's Categories and Associated Objects to share some UI code across 2 UIViewControllers. Did I get it to work? yep. Did it make senior programmers a bit nervous? yep. I wrote a blog post about it. Later, I got to use Java for some Android apps, and after that we got Swift. XCode seemed to get slower with swift and Java(android) was more a limited language. No complaints, but it was just not as fun and easy as using Objective C. (in my naive beginner opinion) Things were a lot simpler back then. I'll never forget my joy learning Objective C at my first ever programming job. RIP Brad Cox
- dep_b 6y agoYou weren't naive. Objective-C is so much better suited to do GUI applications than Java. Plus you could dip into the performance of C where it mattered most. Also while Objective-C (when used idiomatically) was slower than Java, it was consistently and reproducibly slow around reference counting while Java itself decided when and where it was time to do a full garbage collection cycle. And of course only now languages like Rust and Swift are feasible given the fact they do so much compile time checking. But that makes your IDE a lot slower compared to Objective-C.
- deleted 6y ago[deleted]
- mucholove 6y agoTwo 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 “gradual typing.” My only gripe with it is that Categories can’t formally conform to protocols—which I understand is an easy to build feature that Blaine Garst did finish but Apple never released. I know I’m talking about the language more than I am talking about Brad Cox, but that’s because it’s the first time I really fell in love with a language. Using Objective-C to build it brings me joy. Lots and lots of joy. Thank you Brad. My prayers to your family. May you find peace in heaven.
- Sunspark 6y agoCan you build the feature yourself?
- mpweiher 6y ago> Categories can’t formally conform to protocols I wasn't aware of that limitation, so I tried it out just now only to be certain. Works fine for me. ¯\_(ツ)_/¯ @interface UIViewBuilderSmalltalkViewController(storage) <MPWStorage> @end @implementation UIViewBuilderSmalltalkViewController(storage) @end Compiler correctly complained about the missing methods and Xcode kindly offered to add stubs for me: /Users/marcel/programming/Projects/ViewBuilder/UIViewBuilderMockup/UIViewBuilderSmalltalkViewController.m:121:17: Category 'copying' does not conform to protocol 'MPWStorage' /Users/marcel/programming/Projects/ViewBuilder/UIViewBuilderMockup/UIViewBuilderSmalltalkViewController.m:121:17: Add stubs for missing protocol requirements
- astrange 6y agoMaybe he meant classes (metaclasses)? Class itself is not typed, which definitely feels like a missing feature in the language.
- arthurofbabylon 6y agoIt’s odd to feel sad having never known this man, and only written in the language he helped create. Perhaps it is a testament to the beauty of Objective-C that I feel moved. Objective-C is poetic. Its patterns and clarity are the closest I’ve come to an ecological software language: I feel like I’m gardening when writing Objective-C code.
- adamnemecek 6y agoThe message passer has passed.
- tinus_hn 6y agoWhat a legacy. Objective-C feels like a fun toy you can play with, it really does make cool things quite easy that are really hard in most other languages, like the iOS animation system.
- nhojb 6y agoI've spent pretty much my entire career (20 years!) writing Objective-C: first for macOS, later iOS. Of course Swift is now the new kid on the block, and has lots to recommend it. But there's something about the simplicity and purity of Objective-C that has a special place in my developer's heart (despite its flaws & imperfections). So thank you Brad, you've influenced my entire career. RIP.
- frr149 6y agoWas it covid?
- brightball 6y agoI had no idea he was living in South Carolina until I saw the news begin to appear on local channels.