11 ms·
Steve Jobs, NeXTSTEP, and early object-oriented programming (2016)
- zubairq 2y ago[flagged]
- canadianfella 2y ago[dead]
- Rochus 2y ago(2016)
- panick21_ 2y agoThis is very narrow history. Basically a history that excludes everything that isn't Jobs walk to glory and perfection and domination. Ignore many important points, problems, accidents, alternatives and so on. NeXT used 'Display Postscript' a display server that was basically a inferior copy of Sun's NeWS system. This was later changed because NeXT was to small and Adobe didn't want to support Display Postscript anymore. Sun of course killed NeWS because they wanted to be a 'standard'. Next didn't care about standards. They had less applications then CDE Unix, and far lower deployment in the 90s. Objective C is one of many language that you could use to build UI libraries on top of some display system. Objective C wasn't the best or inherently better then many others. Objective C adoption by Next was kind of a historical accident based on office location. Having something VM based for UI development isn't actually that much of an issue, when the hardware manufacture delivers the OS with the VM included. And usually it his the hardware manufacture that delivers the OS. And VM bases system can be integrated well with the core OS, object oriented or not. And that VM are inherently to slow is also questionable, specially for UI apps that can use C libraries and the Display Server for the most performance relevant stuff. Apple itself had a very nice system for UI development on Dylan that was arguable better in many way then the Next system. But when Steve Jobs came and they had Next, that wasn't developed anymore. What Jobs showed of in the late 90s wasn't exactly revolutionary stuff. But Jobs always presents everything as revolutionary. IPhone development in 2010 working the same as Next development in 1990 is a sign of 'failure', not of success.
- WillAdams 2y agoWhat current development environment and language would you like to put forward as a successor to/alternative of NeXTstep? Some notable applications done in it: - Altsys Virtuoso --- this became Macromedia Freehand - Lotus Improv --- cloned to become Quantrix Financial Modeler - Doom notably was developed on NeXTstep and the WAD/level editor was never ported (though alternatives were later developed) - Glenn Reid's PasteUp and TouchType --- two of the nicest apps for working with documents and type I ever had occasion to use and a number of ports were done quite quickly and were arguably the best ever versions --- WordPerfect for NeXTstep was done in six weeks and FrameMaker on the NeXT stands out for an interface which I missed when using it on Mac or Windows. In particular, I'd really like to have a successor to/replacement for Touchtype.app (and if that could be grown into a replacement for Macromedia Freehand, that would be great) --- what tool would allow developing this easily, and making press-ready files which perfectly match what is seen on-screen?
- WillAdams 2y agoA further example, TeXview.app was a very nice interface for editing TeX documents on NeXTstep, and has since been succeeded by TeXshop.app on Mac OS X and arguably even surpassed (it has many more features, and I can't recall any which are missing). Graphical/integrated .tex editing environments are a frequently encountered application type, and there seems to be at least one for pretty much every programming environment --- I'm not aware of a graphical which has feature parity with TeXview.app and which is similarly consistent with its interface (it did win an Apple Design Award back in the day) --- if that's the case, then how can it be that developing with InterfaceBuilder and Objective-C and the NS-objects was so bad? If that's not the case, what development platform would you like to put forward which should have an even better TeX environment?
- wtallis 2y agoIf you're going to bring Sun and NeWS into the conversation, you ought to also mention how after NeWS failed, Sun tried adopting OpenStep for Solaris.
- 2y ago
- Austin_Conlon 2y agoRelated: - Oral History of Blaine Garst [PDF]: https://archive.computerhistory.org/resources/access/text/2017/06/102717171-05-01-acc.pdf https://archive.computerhistory.org/resources/access/text/20... - Oral History of Blaine Garst [Video]: https://www.youtube.com/watch?v=qtEIq7fe_KQ https://www.youtube.com/watch?v=qtEIq7fe_KQ - Oral History of Steve Naroff [PDF]: https://archive.computerhistory.org/resources/access/text/2019/04/102717385-05-01-acc.pdf https://archive.computerhistory.org/resources/access/text/20... - Oral History of Steve Naroff [Video]: https://www.youtube.com/watch?v=ljx0Zh7eidE https://www.youtube.com/watch?v=ljx0Zh7eidE
- cxr 2y agoI highly recommend the Steve Naroff interview. It's 6 hours in two parts, but it's worth the investment. Not listed here, but also available, is the oral history of Brad Cox and the later Objective-C paper authored by Naroff, Cox, Hsu (the author of the linked blog post) for HOPL IV. Someone else will have to dig up the links. You can also find interviews by other NeXTSteppers on the CHM site like Avi Tevanian and others. I think the Naroff one is best.
- nextos 2y agoI always found Objective-C really elegant, due to its Smalltalk influence. I once read about Brad Cox explaining that the initial prototype was just one or two pages of C code to add objects and messaging. It was interesting to discover that Erlang had a similar origin story, with a thin layer built on top of Prolog [1]. Does a similar description of early Objective-C exist? I couldn't find a pointer in the videos. [1] https://www.labouseur.com/courses/erlang/history-of-erlang-armstrong.pdf https://www.labouseur.com/courses/erlang/history-of-erlang-a....
- Jtsummers 2y agohttps://dl.acm.org/doi/10.1145/3386332 https://dl.acm.org/doi/10.1145/3386332 - The Origins of Objective-C at PPI/Stepstone and its Evolution at NeXT by Brad J. Cox, Steve Naroff, and Hansen Hsu, from HOPL IV
- itslennysfault 2y agoSo, this is why the abomination that is Obj-C is/was used for iPhone/Mac apps. I can't overstate how much I hate Obj-C. I'm so sooo happy Swift has pretty much entirely taken over. Side note... I feel similarly about the Java to Kotlin transition. Sooo much better. Although, I don't hate Java NEARLY as much as Obj-C.
- ramesh31 2y agoTo each their own. I'm convinced it's just a visceral reaction to the square bracket syntax. Obj-C remains my favorite language of all time (although I haven't written it in years). Having a high level language that allows you to seamlessly drop into C felt like magic.
- deleted 2y ago[deleted]
- nullpoint420 2y agoI'm using Obj-C for the first time in years for a side project. I'm working on making a Wayland backend for cocotron on Linux. It is magical the way I can just use the C libraries with all the dynamic goodness Obj-C.
- Longhanks 2y agoThere's even more magic: You can even use/include/write/mix and match ObjC with C++, within the same source file - C++ classes calling ObjC methods, ObjC methods instantiating C++ classes, it's all there. No other language comes close to this kind of interop with C++ and it is one feature that Swift will never be able to match (albeit intentionally).
- tambourine_man 2y agohttps://www.swift.org/documentation/cxx-interop/ https://www.swift.org/documentation/cxx-interop/
- agumonkey 2y agoI don't know how realistic is this video but it was interesting https://www.youtube.com/watch?v=UGhfB-NICzg https://www.youtube.com/watch?v=UGhfB-NICzg A sun vs next rapid development challenge.
- nineteen999 2y agoWhy do the words "Steve Jobs" and "programming" in the same sentence very slightly rub me the wrong way. Probably because one thing he wasn't, amongst all the superhuman things attributed to him by Apple zealots, is a programmer.
- exe34 2y agoElon Musk doesn't build rockets either - but it's fair to associate him with SpaceX progress. We rightly blame the top guy when stuff goes pear shaped, and we should be willing to let them get some credit when it goes well.
- area51org 2y agoHe actually did know how to code. He and Woz created the classic video game Breakout while working at Atari. (I have no doubt Woz did most of the heavy lifting.) It's not that he didn't know how to program, it's just that coding was not his strong suit.
- J05ephu5M13r 2y ago> He actually did know how to code. He and Woz created the classic video game Breakout while working at Atari. (I have no doubt Woz did most of the heavy lifting. And Jobs kept most of the money ($4,750), gave Woz $350 and went off to India to achieve enlightenment.
- DerekL 2y agoNote that creating an arcade game at that time wasn't writing a computer program, it was designing a finite state machine out of discrete logic chips.
- wilsynet 2y agoSteve Jobs was first a computer hobbyist, then later he worked at Atari before he co-founded Apple in 1976. He wasn’t a non-technical founder, although he was certainly less technical than his co-founder. He could program, he could do digital design, he knew his way around a bread board and an oscilloscope. He isn’t famous for being a programmer, but he could do it, and he certainly understood it.
- layer8 2y ago> By the 1980s, the problems of cost and complexity in software remained unsolved. We’re well into the 2020s and I’d say those problems have pretty much remained unsolved. ;)
- aidenn0 2y agoAh, Objective C. The language that combines the famous memory safety of C with the blazing-fast performance of Smalltalk.
- coldtea 2y agoOr the speed and flexibility of C, with the high level abstraction capability and malleability of Smalltalk!
- LeFantome 2y agoAnd the readability of using both at the same time!
- nxobject 2y agoHey hey, objc_msgsend’s no longer C ABI compatible, [1] so make that the famous memory safety of assembly now… [1] https://www.mikeash.com/pyblog/objc_msgsends-new-prototype.html https://www.mikeash.com/pyblog/objc_msgsends-new-prototype.h...
- kristianp 2y agoAlso related, Alan Kay's Viewpoints Research Institute tried to build a system and application software in less than 20KLOC http://www.vpri.org/ http://www.vpri.org/
- masfoobar 2y agoI am not an Apple user but I do enjoy the history of computers -- which (obviously) the timeline will reach the likes of Steve Jobs and Apple. As much as people give high praise to Steve and the rise of Apple... I personally value Steve more regarding his work on NeXT more. To be honest, as someone who was into SGI computers as a kid, accepting the reality I would NEVER be able to own one, I hoped one day I would get to use or try one in the workplace. Of course, by then, technology had moved and these expensive machines are now affordable, simple a Windows PC with a good graphics card! Getting back to NeXT, I heard "Next" thrown about when reading up on ID Software (Doom, Quake, etc) but never really appreciated what this was until later on. When I finally spent the time to understand that this "Next" was a computer, I started to appreciate how cool it was especially back in 1990! It made me appreciate how far ahead they were with programming/development tools. I mean.. Visual Studio finally caught up with productivity.. like.. 10 years later! It is great to see the history of NeXT continue -- not just being "merged" into Apple but with OpenSTEP and others. It also makes me appreciate less known programming languages that, one day, could become "mainstream" at any point. Hardly anyone knew much about Objective-C but became a popular tool for Apple developers with OSX. Thats why I always have a grin when people mock a less known language because "hardly anyone uses it" or "hardly anyone knows about it" -- that could change, you know.
- ptek 2y agoBut the RAM requirements were crazy, 8MB RAM in the late 80s which is understandable for what the machine the was offering. Interface Builder is nice, I remember trying to develop GUIs on Amiga with intuition.library and wished that there was a drag and drop program to build the source code. Running NeXTSTEP 3.3 on Virtual Box and trying to get it running on my early 2000s laptop :)
- pjmlp 2y agoNow imagine being at the university doing the graduation project porting a visualisation framework from NeXTSTEP into Windows (Objective-C => C++), because it was clear NeXT wasn't going to survive, and some stations were already gathering dust, after being replaced with PCs running Red-Hat Linux. If folks had guess what turnaroud NeXT would go through, most likely my thesis would have been something else.