I have no evidence to say that apple use Linux, but businesses gotta business so isnt a big bet to make.
Doubtful. Surely they would know macOS is XNU-based?
I work for Red Hat in the kernel maintenance team.
Edit: i just realised you were doubting the correctness that it was BSD, not that I knew.
No, you just switched usages of the word "base" mid-conversion so you could say other people are wrong?
This conversation isn't advancing anyone's understanding. It's just pedantry.
The original assertion was: "Apple is BSD based". While we did move to assume Apple means macOS (iOS, et. al), we stayed the course with the remainder. There is nothing about macOS that is BSD-based. Containing some BSD code does not imply that it is the base. macOS also contains curl code. Would you say macOS is curl-based?
Regardless, what you may have missed is the additional context the followed: "not Linux". The parallel to Linux in macOS is XNU. Therefore, if other systems are Linux-based as we are to infer from the original comment, then macOS is XNU-based, not BSD-based. Yes, XNU contains some BSD code, but it is not BSD. It is very much its own distinct kernel maintained independently of BSD-adjacent organizations.
> This conversation isn't advancing anyone's understanding. It's just pedantry.
It could advance someone's understanding if they were open to seeing their understanding advance. I understand not everyone is accepting of new ideas and that many fear learning something new.
A decent chunk of the kernel was directly lifted from FreeBSD (and in bizarrely stubborn '90s-era design philosophy fashion, glued to Mach); some older stuff from NeXT came from earlier BSD codebases. I see 155 files in the ssh://git@github.com/apple-oss-distributions/xnu.gi repo that still have FreeBSD CVS version tags on them for some reason.
There is no curl code in the kernel. (If you want to be truly pedantic, and I see that you do, there is one shell script in that repo that assumes curl is installed.)
Sure, just as we already discussed at the very beginning of our exchange. Glad you able to learn something from our discussion, even if it has taken you an astoundingly long to time to get there. Here I was starting to think you were one of those who reject learning. I am happy to learn that you're just slow.
But they were not.
https://redmonk.com/sogrady/2024/09/12/language-rankings-6-2...
The initial hype has died off and that's OK. The hype cycle is inevitable for all languages. Also, predictions rarely happen, mostly because the landscape has changed. Mainstream programming languages can no longer die like Cobol did.
E.g., Java has been dying ever since 2001, surviving the dotcom bubble, .NET, the P in LAMP, Ruby, JS, or Go. Python was supposed to die on its version 3 migration, with people supposedly moving to Ruby.
FWIW, Scala is the world's most popular FP language, it has good tooling, and libraries, and Scala 3 is a wonderful upgrade.
Personally I feel that scala has too much in the language and the compiler is too slow. The tooling is pretty good but it is finicky and ends up getting slow and/or unreliable with larger projects. Even if I were to restrict myself to a small subset of scala, I would still be unsatisfied with the long compile times which was the primary reason I decided to move on.
I don't know if I agree with your contention that languages can't die like COBOL. I think you can relatively easily keep a legacy scala system up, put it in maintenance mode and write new features/products in something else. That is what I expect is already happening with scala and that this trend is likely to accelerate. Keep in mind also that Martin Odersky is nearing retirement age and it's really hard to imagine scala without him. He has much more power/control than the head of most languages.
Again, look at Java.
Ofc, there's always the question of what happens with a market that isn't constantly growing due to zero-interest rates phenomenon. I guess we'll see, but IMO, that's problematic for newer languages, not established ones.
I too am a contributor of very popular libraries and am very familiar with ecosystem. One thing to keep in mind is that the language's culture has evolved. When I picked up Scala, back in 2010, the Future pattern and Future-driven libraries were all the rage. Whereas nowadays people prefer alternatives which now includes blocking I/O (Loom), with Future-driven libs being a risk going forward.
> overwhelmingly driven by existing large enterprise codebases
That happens with all mainstream languages, but it's a feedback cycle. The more popular a language is (in large enterprise codebases), the more it will get used in new projects, for obvious reasons. People want to get shit done and to have good ROI and maintenance costs. Therefore, the availability of documentation, tooling, libraries, and developers helps, in large and small projects alike.
And yes, Java is quite fresh, IMO.
It seems to me the more popular a language, the more poorly written libraries are found in it, which soon starts to draw people away from what is popular to a new language that has a limited library ecosystem thinking they can fix the mistakes they saw last time and make a name for themselves in the process. Lather, rinse, repeat.
Nearly all companies I worked for were developing new systems, tools, etc. Rarely I was doing maintenance on "existing larger enterprise systems".
We've had a potential client ask for a PoC in Java 8, to integrate with their current system... But yeah, our product is deployed with Java 11 and since some dependencies have issues with 18, we'll likely stay that way for a few more years
Nowadays it is increasingly niche. Like COBOL there is still a lot of perl code out in the wild.
I wrote a _lot_ of Perl, starting with Perl4 cgi scripts in the mid 90s, then Perl5 and FastCGI and Apache ModPerl. I loved it as a language. But by the time I left that gig in 2008, nobody wanted Perl any more. I mostly drifted around PHP, Python, Ruby, and Javascript for a few years until moving away from full time coding and up (sideways?) into leadership and mentoring roles.
Interestingly I got _into_ the Perl gig when I bailed on a COBOL maintenance gig where it was clear nobody was at all interested in listening to how their 10+ year old custom COBOL warehouse management app (written by the company the boss's sister used to own) running on EOLed Wang minicomputers - was completely incapable of dealing with 4 digit dates for Y2K. I jumped ship to make that somebody else's problem.
Still, if you buy a brand new mac today, most of the executable scripts in the system are written in perl.
You can check it yourself by running:
file -bL /bin/* /usr/bin/* | cut -d' ' -f1 | sort | uniq -c | sort -n
As of 2024, macOS is essentially a Perl operation.The good thing with Bash etc is that they are so bad you wont and when you do it anyway atleast you get some whip lashes for it.
There are many others, of course, bit those are the teams at places people have heard of off of the top of my head. It's far from dead.
What does seem to be dying are the framework-centric Play Akka, and non Airflow raw Spark jobs out there. Now, a lot of that is because they were framework jobs that happened to originate in the scala ecosystem - scala was largely incidental and was chosen because of founding project members' preferences or due to the need to develop a commercial market, imho.
Examples?
The problem however is that I can't be bothered to roll out a JDK, and secondly if I did it might encourage someone else to start writing Java again internally. Risky payoff...