Live data from Hacker News

macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

developer.apple.com

141–150 of 450 posts

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#141
post #7

Probably the right call - many of them don’t have abi or api stability guarantees, or in the case of python needlessly broke backwards compatibility that is still causing pain today. Apple used to ship an incredibly old version of OpenSSL because people used its API which was not ABI stable. Even getting rid of it was a nontrivial amount of work. The lack of care about API&ABI stability in developer facing open sourc…

It’s part of why companies like Apple and Microsoft care so much about backwards compat Compared to (former) Microsoft, I don't think Apple spends anywhere near the amount of effort MS does on backwards compatibility. You can create a single .exe that will work on any Windows starting from Windows 95 - nearly 25 years. In that timespan, Apple changed CPU architectures twice, and their OS architecture once. If you're…

Not true. Apple spends an enormous amount of effort on backwards compatibility. For example, they wrote a JIT compiler to be able to run 68k code on PPC. They did the same for the PPC to Intel transition. They maintained the "Classic" ABI and binary formats for years after the move to Mac OS X.

It is true that Apple doesn't maintain backward compatibility for a long as Microsoft does, but that's not the same thing as not caring. They put the effort into making transitions as smooth as possible for users and developers and getting through them quickly.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#142

This has been a topic brought up internally at Apple many times over the past decade. Glad to see it finally moving forward. Although I see the benefits to having a system-version of these packages.. if you're doing anything serious for production then the environment should be containerized.

The problem is not doing anything serious. Of course this would need an updated language runtime.

The problem is doing something simple, like an installer. bash => zsh: fine. You can still install with the old /bin/bash. but for many cases a shell is not enough, and then you have to compile something statically for a trivial dynamic task. Which makes the download 10x larger. Not cool.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#143
How deep you are willing to go with conspiracy theories ...

If one was planning to kill off all non-approved software on an OS, what would you do first? Remove all the runtimes that can execute unapproved software of course. Then you are free to impose signing as a requirement for applications and a mandatory app store, and reap the 30% rent tax forever more.

Is Apple doing that? Of course, we can't tell. There are lots of good reasons to do this that aren't evil. The best evil plans are indistinguishable from good plans but just happen to have evil outcomes that are in your interest.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#144
post #76

Not surprising at all. It's become clear that what they've been doing with iOS all along is bootstrapping a new operating system. They started with Unix, not because Unix was optimal for what they wanted to do, but it's what they had and it worked well enough. Copland and Taligent and the rest failed because of Second-System Effect, which Apple was smart enough to avoid. (As RMS wrote in 1983, "Unix is not my ideal s…

They've got enough market clout now that people will port Ruby/Python/Perl to a non-Unix macOS, just as they port them to Microsoft Windows. Ruby on Windows is a nightmare. To be specific, Ruby itself (the core language and core libraries) are pretty good on Windows. Great choice for a scripting language, or whatever else you want to do. But libraries like ActiveRecord, Rails and their myriad dependencies are very ve…

> Ruby on Windows is a nightmare.

The same stuff with Node.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#145

With brew as the de-facto package manager for macOS this is a great move. Having Python and Ruby bundled with macOS is confusing when trying to install "regular" versions of the software through brew or other methods. Because the default installation can't updated without updating the OS, the system versions are not useful for most developers.

You're joking, right? Brew is NOT the de-facto package manager, macoports is. Learn what "de-facto" means. Brew is a fucking trainwreck that shits all over "/" and has a tendency to break existing critical features while failing to stay up to date. I wouldn't touch it again with a 10 foot pole, and actively discourage people from using it.

Of course you are technicly right. Homebrew is a train wreck and should not be used. But people are using Windows also, they don't use the proper tools, like ports. Unfortunately it is the defacto packager.

But still, people should not put out Homebrew installation recipes, and prefer macports instead. At least you can seperate the newbies from the experienced immidiately. If it's a Homebrew package only, avoid.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#146
post #125

I'm trying to understand how these two points reconcile. "Future versions of macOS won’t include scripting language runtimes by default" and "Use of Python 2.7 isn’t recommended as this version is included in macOS for compatibility with legacy software. Future versions of macOS won’t include Python 2.7. Instead, it’s recommended that you run python3 from within Terminal." If Catalina is the last version with any scr…

I understand it as scripting languages will be installable options, but Python 2.7 will not be one of them.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#147

Earlier quoted context omitted.

They've got enough market clout now that people will port Ruby/Python/Perl to a non-Unix macOS, just as they port them to Microsoft Windows. Ruby on Windows is a nightmare. To be specific, Ruby itself (the core language and core libraries) are pretty good on Windows. Great choice for a scripting language, or whatever else you want to do. But libraries like ActiveRecord, Rails and their myriad dependencies are very ve…

> Ruby on Windows is a nightmare. The same stuff with Node.

Not sure why? Yeah there were times with damn node-gym not compiling for whatever reason. But nowadays things run pretty smooth.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#148

Earlier quoted context omitted.

A different solution, and possibly better, would be to run Unix/Linux in a VM rather than worrying about it being native in the system. If I'm not mistaken, current best practice is to somewhat isolate third-party developer software anyway, using homebrew, a VM or other solutions (not sure about Docker - don't use it). I can see where it would be an issue with developing for MacOS or iOS, but third-party web developm…

Homebrew installs its own binaries in a way that they won't interfere with the macOS-supplied versions. It doesn't use a container or anything like that. Certainly not a full-on VM. Maybe I'm old-fashioned (feels weird to say that as a 25-year-old, but here we are), but I quite like not having everything be in a container all the time.

> Homebrew installs its own binaries in a way that they won't interfere with the macOS-supplied versions

Correction: Homebrew usually installs its binaries in a way that doesn't interfere with the ones provided with the system. It will occasionally override or shadow them and things will break.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#149

With brew as the de-facto package manager for macOS this is a great move. Having Python and Ruby bundled with macOS is confusing when trying to install "regular" versions of the software through brew or other methods. Because the default installation can't updated without updating the OS, the system versions are not useful for most developers.

The down side to that is that ruby is currently required to install Homebrew.

You already need Xcode to get Homebrew working, and that will most likely be the vector by which optional scripting languages will be installed.

Re: macOS deprecating scripting language runtimes, including Python, Ruby, and Perl

#150
post #142

This has been a topic brought up internally at Apple many times over the past decade. Glad to see it finally moving forward. Although I see the benefits to having a system-version of these packages.. if you're doing anything serious for production then the environment should be containerized.

The problem is not doing anything serious. Of course this would need an updated language runtime. The problem is doing something simple, like an installer. bash => zsh: fine. You can still install with the old /bin/bash. but for many cases a shell is not enough, and then you have to compile something statically for a trivial dynamic task. Which makes the download 10x larger. Not cool.

It seems like there’s an opportunity for a lightweight statically-linked scripting language. Something between Go and Python.
Post reply on HN