Google Is Working On Fuchsia OS Support For Apple's Swift Programming Language (androidpolice.com) 54
An anonymous reader shares a report from Android Police: Google's in-development operating system, named "Fuchsia," first appeared over a year ago. It's quite different from Android and Chrome OS, as it runs on top of the real-time "Magenta" kernel instead of Linux. According to recent code commits, Google is working on Fuchsia OS support for the Swift programming language. If you're not familiar with it, Swift is a programming language developed by Apple, which can be used to create iOS/macOS/tvOS/watchOS applications (it can also compile to Linux). Apple calls it "Objective-C without the C," and on the company's own platforms, it can be mixed with existing C/Objective-C/C++ code (similar to how apps on Android can use both Kotlin and Java in the same codebase). We already know that Fuchsia will support apps written in Dart, a C-like language developed by Google, but it looks like Swift could also be supported. On Swift's GitHub repository, a pull request was created by a Google employee that adds Fuchsia OS support to the compiler. At the time of writing, there are discussions about splitting it into several smaller pull requests to make reviewing the code changes easier.
Isn't this backwards? (Score:2)
Don't you just need to update a language compiler to support the OS's system call structure for the language to be supported?
Or are they providing a runtime library to provide the appleOS API's and calling conventions so Apple's compiler/IDE can be used without modification?
Re: (Score:3, Informative)
"On Swift's GitHub repository, a pull request was created by a Google employee that adds Fuchsia OS support to the compiler."
Re: (Score:2)
My guesses are:
A) He only read the headline, and improperly parsed it as Google working on supporting Swift within Fuchsia OS.
B) He's not familiar with modern semi-open development fads and he doesn't understand that a "pull request" means Google is requesting that Apple pull Google's changes (supporting Fuchsia OS) into Apple's source code for the Swift compiler.
C) covfefe
Re: (Score:2)
Multiple paragraphs discussing Rust, but not a single mention of its code of conduct?
You must be new here.
Re: Swift is going strong. Rust? I think it's dyin (Score:3)
Along those lines I like to break programming languages into two main groups: the languages that people use and the languages that will influence those languages. As an example: Java is a language that is used heavily in enterprise, while Scala influenced the direction of Java, without actually replacing it.
Of course this is a simplification of the reality, but this perspective seems to work well enough.
Re: (Score:2)
Agreed. Java is managing to incorporate some of Scala's brevity, to the point that its less compelling.
Additionally, Scala - IMO - went too far. I absolutely loved some fo the ideas, but one benefit of Java for enterprise projects is that you can pick up a Java class written a decade ago by someone you'll never meet and can basically understand it without too much effort. Java's been removing boilerplate slowly but surely over the years in both language points and major libraries; you can write database
Re: (Score:2)
Just because you don't understand how to use them now doesn't mean they're idiotic, maybe you had to work with bad projects; One common problem with all programming languages is over engineering or making things or too complex or to simple.
In my case I have done very impressive things with C and C++, I tried Rust but I still need to find the right project to use it properly.
In your estimation, what would you suggest as the proper Goldilocks complexity level for a VB6 project?
Re: (Score:2)
Re: (Score:1)
It's not even the technical aspects of Rust that worry me the most. The Rust community is very concerning. It's the most hypocritical, totalitarian, autistic programming language community I've ever had the displeasure of dealing with.
In my opinion, the Rust community puts up this facade of tolerance and acceptance and positivity, but underneath there's a strong undercurrent of anti-social attitudes and behavior.
This is just a guess, but perhaps many members of the Rust community suffer from Asperger Syndro
Re: (Score:2)
Came for the Rust trolls, was not disappointed. It's fascinating to see how they incorporate the latest developments into their narrative, and drop things which started sounding ridiculous even to those who don't follow Rust closely. If you want to know more about "some Rust code [that] apparently made its way into Firefox recently", which is the new styling engine, there's a nice high-to-mid-level presentation [joshmatthews.net] from one of the developers.
Re: (Score:2)
No version of iOS ships with the Swift runtime. You wrote a whole lot of words based on a mistake.
Re: (Score:2)
If the language is any good, you just replace the library you use for system calls..
OTOH, If I use any of these newfangled languages, and I need to (say) embed Postgresql, or use existing statistical libraries like TSP, how good is the support for that? (Like the equivalent of PHP-pgsql for PHP? is the support supported? (ie updated to track changes in the underlying target code/sy
Re: (Score:3)
And for the guy who asked about Smalltalk - the Xerox machine which first used mouse and Icons was a hardware Smalltalk machine.
No it wasn't. It was a Xerox Alto. The Alto was a microcoded 16-bit system, and each language that was developed for it wrote its own microcode. The Alto processor was designed to execute bytecode, with each one being implemented by running the microcode provided for that index. Smalltalk bytecode was just one of the microcode implementations, the Algol virtual machine (for example) provided a different bytecode. This mechanism went out of fashion when people became interested in running programs writt
Dart is back!? (Score:2)
To those who dont remember, dart was google's attempt to replace javascript.
Objective-C without the C... (Score:4, Funny)
So, SmallTalk, then?
Re:Objective-C without the C... (Score:4, Interesting)
Absolutely not. Way closer to C++ or maybe C# in that it is all about compile time. Very little about the language feels dynamic. Nearly nothing.
Re: (Score:2)
And this is why I don't really see the point of Swift. If you want to avoid run-time overhead from Objective-C but want to maintain compatibility with Objective-C libraries, there's already a language that lets you do this: Objective-C++. You can use C++ templates for compile-time specialisation and Objective-C for late binding. Objective-C ARC now makes this combination cleaner, because Objective-C object pointers are non-POD types in C++ and all of the memory management interoperates cleanly. It's als
Re: (Score:2)
Yeah, I'm not a big fan either. I keep hoping they'll add the dynamic part - but it sure doesn't seem like that's gonna happen.
It makes me a little sad - I wanted to love swift. But I'm coding in ruby - which I think of as the ObjC of scripting languages. And I freakin' love it.
Re: (Score:2)
I tried the beta, works as expected. (Score:4, Funny)
I ran a one-line script to print "Hello world" and it uploaded 20Mb of data to Google's servers. It's almost ready for release.
What color do you want that OS? (Score:4, Funny)
The decline of Linux (Score:1)
Linux became popular because it's a free OS to embed on devices. But with Apple devices running iOS (ie. not Linux) and Google moving away from Linux for its devices and all those that depend on it, the beleaguered operating system is sure to severely decline in popularity.
Linux, a flash in the pan!
Re: The decline of Linux (Score:3, Insightful)
This is a very real problem. Linux is losing the developer mindshare that it once had. Lots of developers are using macOS these days, and like you point out they aren't targeting Linux. Even if they're working on Android apps, Linux is so deeply hidden that it may as well not even be there. The BSDs are seeing a resurgence for server use, and Linux desktop use has withered with the failures of systemd and Gnome 3. I think that Linux may have plateaued, and now we are seeing the beginning of a decline.
Re: (Score:2)
No idea why this troll is at +3, maybe the /. echo chamber have heard this crap so many times they believe it. Read the headlines for Market Share Analysis: Server Operating Systems, Worldwide, 2016 [gartner.com] with highlights like "Linux (Server) Is the Fastest-Growing OS Segment" and "Red Hat Became the Second-Largest OS Vendor Through Linux (Server) Growth and Geographical Expansion". The major players are Windows, z/OS, HP-UX and Solaris with Canonical getting a honorable mention. BSD is not on anybody's radar exce
Re: The decline of Linux (Score:2)
Linux is great for servers, but it doesn't make a whole lot of sense for consumer devices.
The kernel is just too bloated to be practical for low power, low memory devices like mobile, and the API changes so much that drivers are always broken in new versions, requiring an update. Updates to drivers are expensive due to all of the certification required, which is a big reason most OEM's don't upgrade older Android phones, Google included. It also contributes to IoT's security problems.
For desktop, Linux is t
Re: (Score:2)
I mean you gotta be pretty masochistic both as a developer and a company if you develop apps in a native language. There may be some reasons to write parts of the app in a native way but then go for C so these portable. For anything else use Javascript.
Good god! Why would you torture yourself with Javascript when you could use Swift instead?
Re: (Score:3)
C is not that easy portable as many people think.
Zircon (Score:3)
BTW, the microkernel at the bottom of Fuchsia has changed name from Magenta to Zircon.
Maybe because there's a Magenta Linux... I dunno.
Zircon has security based on capabilities (which it calls "handles", rightly so IMHO) for pretty much everything. This could support sandboxing of new sub-processes that you own, but it lacks revocation of rights from running processes that would be used as services -- which I find to be a serious omission. ... and Linux is demonstrably faster than Mach. seL4 would have been a better foundation IMHO.
IPC is very much like Unix domain sockets: with streams and queued asynchronous message passing... which means that it is never going to be faster than Mach
Makes Sense (Score:2)
Google is also having a problem with the Linux kernel. It's unwieldy and not mobile-first. Building their own kernel designed specifically for mobile would make the entire system more CPU and battery efficient.
All around,