23 ms·
Google joins .NET Foundation as Samsung brings .NET support to Tizen
- mentat2737 10y agoNice. Now please make C# a first-class citizen in Android and start to migrate from Java to C#.
- xeromal 10y agoThat would be dope! I'd kill to have WPF ported over too!
- JustSomeNobody 10y agoOh please no. Not a fan of WPF.
- AlexDanger 10y agoI thought MS was (quietly) killing WPF and burying it next to Silverlight? Not soon enough I think. Nice idea, headache inducing implementation.
- youdounderstand 10y agoUWP and Xamarin apps can use XAML, so it's not like the underlying ideas of WPF/Silverlight are dead.
- ygra 10y agoWPF is a lot more than just a markup language for object graphs. Heck, the features I consider most essential and important to WPF (data binding, templating, and the idea that controls only encapsulate behaviour) have nothing to do with XAML at all.
- youdounderstand 10y agoBoth UWP and Xamarin Forms have all of that.
- nightski 10y agoBut aren't all those features you mentioned part of UWP also?
- Grazester 10y agoWhat exactly would be the benefit of this?
- Longhanks 10y agoNo more problems with Oracle, C# features that Java is missing, such as type inference, proper generics, built in concurrency, operator overloading, first class optionals, ...
- Grazester 10y agoTheir move to Open JDK should do away with the oracle issue no?
- pjmlp 10y agoThey are just cherry picking features, check the AOSP.
- michsanders 10y agoNo more problems with Oracle, but what about Microsoft? Today we have the "cool" CEO, but that may change in the future. Remember Android started when Java was in Sun Microsystems' hands. Apart from that, C# and Java are not very different from each other. You can get many of that "features" from other Java languages, no need to move away from the JVM, so you can still benefit from the largest community.
- justin66 10y agoUsing a language not in the hands of Oracle.
- johncolanduoni 10y agoBetter support for mixed managed/native code for one. There's P/Invoke, and .NET's byte code includes instructions for low level pointer manipulation (which C# exposes). You could even compile C/C++ to CIL and obviate the need for some architecture specific binaries.
- treehau5 10y agoNo thanks. I like Java, and esp Java 8 just fine.
- kentosi 10y agoOr have both. What's in Java 8 that isn't in C#? And last I checked you couldn't use Java 8 fully on Android (please correct me if I'm wrong).
- johncolanduoni 10y agoYou are painfully correct...
- daxfohl 10y agoAnonymous classes are the big thing I miss. (Yes C# has a feature called "anonymous classes" as well, but it's completely different).
- TheCoelacanth 10y agoWhat do you still use those for? I can't remember the last time I saw an anonymous class used in a way that isn't superseded by lambdas.
- daxfohl 10y agoYeah, I was thinking about that when I wrote the comment. They were most useful for `Observable` objects for event handling in swing; you don't really need that with C# events. There are still uses though. Lambdas are the future, but there are lots of OO-first libraries that are still quite popular. It'd be nice to create e.g. `new Newtonsoft.JsonConverter() { ReadJson() {...} WriteJson() {...}}` etc on the fly sometimes without needing separate classes. It's possible in F# though, so nothing dotnet specific is preventing it.
- jdmichal 10y agoI use them all the time for defining singleton implementations. public static final MyInterface SINGLETON = new MyInterface() { ... }
- ksubedi 10y agoThat would be great!
- sandGorgon 10y agothis. or atleast acquire jetbrains and make kotlin the standard.
- nine_k 10y agoOnly please don't acquire JetBrains. Being acquired by Google is like being contacted ny the Borg.
- praveenster 10y agoIn addition to that it might be a good idea to make Swift a first-class citizen too. This would give developers a good chance to use similar concepts on both iOS and Android.
- shaydoc 10y agojust make C# a first class citizen on iOS also :)
- batina 10y agoYes, that would be awesome!
- my_ghola 10y agoDoesn't Xamarin compile C# to Java/Dalvik bytecode already?
- calt 10y agoThere's a big difference between being a supported first class citizen and having a hacked together ecosystem that Mostly Works™. After my experience with Mono on past .NET versions, I'm skeptical of any of these "compiles to x" schemes.
- Kipters 10y agoNo, they compile to IL and run it with Mono (embedded as a native lib). Optionally you can AOT-compile it to native code.
- geodel 10y agoGoogle have not made their own languages Dart/Go official to Android. Why would they make languages other than Java a priority now?
- jahnu 10y ago* C# is much more mature * It has an enormous user base * It's not owned by Oracle Not saying they will but those are real possible reasons for Google to do this.
- geodel 10y agoOne possible way out will be something like Swift port to Android made by an open source contributor to Swift. Someone with deep knowledge of C# can take a stab at C# to Android. I'd think Google have very few C# people internally.
- problems 10y agoThere already exists C# for Android, it recently became free too when Microsoft bought up Xamarin (the company formerly maintain Mono and the Xamarin Android and iOS wrappers). Microsoft is really pushing .NET Core and the open .NET platform, really an awesome move for developers. What the parent wanted was official support from Google for Xamarin's Android API wrapper or a complete rewrite of core parts of the OS in .NET instead of Java. It seems fairly unlikely because of all the effort Google has invested in their Java VM and JIT/AOT compilers, but maybe that'll change.
- geodel 10y agoI agree with most of it. But I personally think .net/C# simply to not bring enough advances over Java to even think of changing core parts. Most advantages that get mentioned are app developer conveniences.
- dizzy3gg 10y agoThey have Jon Skeet, this is enough, at least to attract more c# developers.
- cryptarch 10y agoPlease just make C-ABI's first-class citizens (especially on the GUI front), then all other languages can bind to that.
- saosebastiao 10y agoThis is the only approach that works across a wide variety of languages, and yet I can't help but think that would be a terribly bad idea in terms of user experience. Because you would end up with major apps written in Ruby or Python, draining batteries and stealing all your RAM. Not that we aren't already headed there with a ton of app frameworks embracing javascript.
- jimmaswell 10y agoApps written in python would still take less battery than an equivalent JS webapp
- int_19h 10y agoC ABI is very limiting, though, and it's a pain to implement. What's really needed is some standard higher-level ABI (that does things like classes in a sane way), but which is made out of the existing C ABI building blocks in a manner that allows any existing language with C FFI use it. We can then add a new FFI layer that maps higher-level concepts better, but everyone can still play regardless. This is exactly what COM was, and what its current evolution, WinRT, is. Any language that can do C structs and function pointers can ultimately do COM/WinRT, but it establishes things like lifetime semantics (refcounting), runtime metadata API, standardized futures etc on top of that. Then languages take that and map it to things that make sense there. But it needs to be a shared public spec, preferably standardized.
- cryptarch 10y ago... so, a C-ABI + per-language wrappers, or perhaps a high-quality cross-platform, multi-language wrapper generator? That effectively accomplishes what you're describing in your second paragraph. Either way, it'd be great if one could implement efficient GUI's (and full apps more generally) on Android in C/C++/Go/Rust without having to generate JVM bytecode on the fly (or like Xamarin does: at compile time).
- deleted 10y ago[deleted]
- yulaow 10y agoPersonally I would much much more prefer a switch to Kotlin than to C#. And I bet, after the collaboration for android studio, Google and JetBrains are already working on it
- robynsmith 10y agoIs the C# runtime open source?
- Strom 10y agoYes, you can find it on github. [1] [1] https://github.com/dotnet/coreclr https://github.com/dotnet/coreclr
- guelo 10y agoIf you want to make C# apps you already have Windows Phone and now Tizen.
- MattRix 10y agolol
- pweissbrod 10y agoI agree that C# would be a step up, it's not a big enough difference to justify a migration. Also the cross-platform tools aren't good enough yet
- crb 10y ago"Google Cloud" joined, not "Google". https://cloudplatform.googleblog.com/2016/11/Google-Cloud-to-join-NET-Foundation-Technical-Steering-Group.html https://cloudplatform.googleblog.com/2016/11/Google-Cloud-to...
- jeremy_wiebe 10y agoI don't think that's a relevant distinction. The article you linked to references both and uses wording like this ( mine): In this spirit of enabling developers and their organizations, Google is pleased to be joining the Technical Steering Group of the .NET Foundation. .NET is a key component in the modern enterprise, and the Google Cloud Platform (GCP) team has worked hard to ensure that .NET has first-class support on Google’s infrastructure, including excellent infrastructure for Windows.
- bitmapbrother 10y agoI'm sure they'll get on it right after Microsoft stops extorting Android OEM's that can't afford to fight their BS patents. Also, Google joining the .NET foundation was a cloud move. Nothing more.
- on_and_off 10y agoWhy ? what does it bring that Kotlin cannot ? I like C# but making a language a first-class citizen of a platform is an huge task. And we can already use kotlin without re-engineering the whole stack.
- wesamco 10y agoI doubt it's going to be a first-class citizen like Java anytime soon. there is a lot of Innovation going on, with the new open source .NET. the CoreRT[1] project compiles C#->C++->Machine code for any platform, including ARM. and Samsung has been a big contributor to make that happen. and today during the Connect() event, they announced that every Xamarin forms app will run on Tizen[2]. [1] https://github.com/dotnet/corert https://github.com/dotnet/corert [2] https://www.tizen.org/blogs/dh0922/2016/tizen-.net-developer-preview https://www.tizen.org/blogs/dh0922/2016/tizen-.net-developer...
- ygra 10y agoWhere did you get that they compile C# to C++? I thought .NET Native was compiling to machine code, maybe with IL in between, but certainly not via another high-level language.
- wesamco 10y agohttps://github.com/dotnet/corert/blob/master/Documentation/intro-to-corert.md https://github.com/dotnet/corert/blob/master/Documentation/i...
- michsanders 10y agoWhat for? I don't think that would be an improvement at all.
- lincar 10y agoJava is a better language. The one Microsoft copied to create C#. The JVM is a better .Net than .Net is and has been since the start.
- Zigurd 10y agoAndroid is deeply dependent on a runtime with Java semantics. The only realistic hope for an implementation language other than Java would be a VM language like Scala or Kotlin. Kotlin is a semi-official alternative, since it is supported by the IDE technology provider. C# is close enough that ART could likely be extended to encompass it. But it would be somewhat more work than supporting an actual JVM language. BUT the real question is, with modern IDEs, does it matter? How much do you need a prettier and/or more concise language? And if you do, why not Kotlin?
- ocdtrekkie 10y agoTizen supporting .NET is the interesting thing in this article to me. If Microsoft got so far as getting UWP apps running on Tizen, Microsoft and Samsung could potentially offer a pretty compelling offering against Android.
- Grazester 10y agoWindows Phone had UWP no? Where developers were concerned it didn't offer them anything compelling enough for that platform it seems. I think it would be even less so on Tizen even.
- ocdtrekkie 10y agoTizen has other traits that might be more appealing, like the fact that it's open source. (And arguably, more open source than Android by far.) And if Samsung chose to start pushing Tizen phones over Android phones... bear in mind, Samsung is pretty much THE Android manufacturer, everyone else rides their coattails. Samsung is maybe the only company that can upset the apple cart as far as Google's concerned.
- Grazester 10y agoWithout the Google Play Store Samsung's phones without Android are not going to sell.
- dogma1138 10y agoIn the west maybe not tho the Samsung store has tons of stuff. FYI many if not most android phones are sold without the google store today in emerging markets if you buy a <50$ in Africa you are not getting Google's App Store.
- GFischer 10y agoTo be honest, everyone sideloads the Play Store anyways. Heck, they sell it pre-sideloaded here in South America (and with pirated apps if you want them).
- oblio 10y agoNow we're cooking. The technical steering groups is currently formed out of: Microsoft, Red Hat (so input from the main Linux distro), JetBrains (input from the makers of great tools for developers), Unity (one of the leading game engine makers), Samsung (one of the leading mobile device makers) and now Google. .NET should have a bright future. And hopefully this should push a few buttons over at Oracle HQ so that Java catches up faster to C#.
- skizm 10y agoIs Java currently behind C# in any capacity? Not that a shot in the arm wouldn't be good for Oracle, but Java definitely still reigns supreme at the moment, despite Oracle's involvement. http://www.tiobe.com/tiobe-index/ http://www.tiobe.com/tiobe-index/
- oblio 10y agoJava the language versus C# the language.
- skizm 10y agoSame question. What advantages does C# the language have vs Java the language? Do people perceive Java as playing "catch up" with other languages? e: I only ask because I've always heard the opposite.
- Analemma_ 10y agoI'm not sure where you would've heard the opposite. "Java the ecosystem" has clear advantages over "C# the ecosystem", but I've never heard anyone claim that Java is a better language. Things C# has that Java got years later or not at all include lambdas, LINQ, value types, reified generics, and async/await.
- on_and_off 10y agoPretty much everything that is in kotlin should have been in java for a while IMO and some of these features are in C#
- echelon 10y agoAs a Java developer using Linux and Mac, I couldn't be happier. I would love to see C# and .NET on Android. I'd be equally thrilled to use Microsoft tools (so long as they're on Unix) to develop for it too.
- m3rc 10y agoDoes this spell Google moving away just a little bit from Java in the future?
- mason240 10y agoThat would be huge win for Microsoft, presumably if Android apps are written in C# they will be easy to port or have shared libraries with windows apps.
- m3rc 10y agoIs that something Google wants? I don't see the advantage for them short of adding on C# devs
- pjmlp 10y agoC# offers more support for memory friendly coding and performance than Java, which could ultimately improve Android's performance. Of course, this would only work if they switch languages, which I don't see the Android team doing willingly without upper management "help".
- snoman 10y agoI don't think they have to switch languages. With official support/talent working on Xamarin.Android (which is already great) coming from both MS and Google, that'd be enough to make C# on android a sure thing.
- geodel 10y agoOther than some hypothetical legal advantage in Oracle vs Google case. C# in place of Java would be as likely supported by management as MS Exchange/Outlook in place of Gmail
- pjmlp 10y agoThat was my point, given the past history to changing language proposals.
- shaydoc 10y ago.NET is great... C# is a fantastic language. Apple, make it a first class citizen for iOS also ;)
- adamnemecek 10y agoWhat are some things that C# has over swift
- shaydoc 10y agoSwift is very similar to C#. I am just thinking the tooling and the huge .net community who are already building ios with c# in visual studio. If it became core it would be hugely beneficial
- mvitorino 10y agoLINQ and ability to interact with any IL compiled language (F#, VB). Also async.
- eggy 10y agoI prefer F# over C#, and I think it is a better competitor to Swift or Java or Kotlin.
- xorxornop 10y agoThe important thing is CLR support. Everything else is just semantics. (literally)
- mvitorino 10y agoSemantics improves expressiveness which provides conciseness, which leads to less code. Less code is generally less bugs (sure...arguable). But definitely expressiveness is also often correlated to programmer happiness, which is important in itself.
- WayneBro 10y ago
- JBReefer 10y agoI like the laptop with a bunch of lovely Microsoft technologies, and then WiX. Please, please die WiX. Imperative XML + non-deterministic execution order + the worst error messages of the entire stack. I love C# and the CLR, but damn WiX sucks.
- nathanaldensr 10y agoI suspect the real problem is the underlying horrible mess that is MSI. MSI is perhaps the most unintuitive technology I've ever used. Much of WiX is simply a bunch of leaky abstractions from MSI.
- JustSomeNobody 10y agoI can't believe WiX hasn't already died. I tried using it 7 or 8 years ago. What a terrible idea to use XML like that. But, that was back when XML was ... the ... bees ... knees! I mean everyone was gaga over using XML for everything.
- snoman 10y agoBased on the current developer zeitgeist, I expect them to transition to JSON.
- alykhalid 10y agoRob Mensching the creator of WIX was on dot net rocks recently. Might give you a bit of a perspective from the other side :) http://www.dotnetrocks.com/?show=1367 http://www.dotnetrocks.com/?show=1367
- chamakits 10y agoI haven't done a lot of 'Windows exclusive' development for a while, but something like 6-8 years ago, I was making an installer for a small company that up to that moment, they had to send someone over to spend a whole day installing the software on client's machines. I was strongly suggested to use WiX. I spent 2 months trying to get something to work, but I wasn't able to get nothing truly useful to run. I remember explicitly that something as simple as writing to the registry was proving problematic. To make it worse, documentation was poor, and there wasn't much of a community around it cause it was brand spanking new. Two months in, without telling anyone, I decided to ditch it and use NSIS. That day I had something that actually worked! Within 2 weeks I had something that was running end to end, installing the software on the machine. The next month was polishing, and testing/fixing for different versions of Windows. I have no idea how things may have changed now, but if I tasked with making a Windows installer today, I wouldn't even think twice about using anything other than NSIS.
- veeragoni 10y agoMicrosoft joins Linux Foundation and Google joins .NET foundation. what a day :)
- badloginagain 10y agoThe thing I find really interesting here is that Microsoft is pulling down the walls to it's garden and building bridges instead. It will be fascinating to see how this plays out, because this is a tectonic shift in the development landscape. Props to Satya Nadella for having the gumption to lean into this strategy. I was expecting a few token open-sourcish libraries as a giant marketing campaign, but it looks like they're really committed to the idea.
- Drdrdrq 10y agoIf you can't beat them, join them. :)
- m_fayer 10y agoAnd Donald Trump is president elect.
- mr_overalls 10y agoWhat would be required to bring the CLR up to the JVM's legendary level of engineering?
- riffraff 10y agoisn't the clr already there?
- KirinDave 10y agoIt's already there? The CLR is a well maintained and engineered system. Why do you believe otherwise?
- mr_overalls 10y agoAt one time, the JVM had superior configurability - many more runtime options for aggressive garbage collection, profiling, optimization, and debugging. But maybe you're right - it's been a few years since I made a looked at the comparison.
- KirinDave 10y ago> At one time, the JVM had superior configurability - many more runtime options for aggressive garbage collection, profiling, optimization, and debugging. I'm not sure that this actually implies it was a more robust and production ready system. The JVM seems to be on a similar path of reducing somewhat how much tuning is expected of operators. Certainly we do less of it now on Java 8 (although some of the defaults it sets are truly boneheaded).
- alkonaut 10y agoThe JVM initially targeted more diverse systems than the CLR (desktop only) so perhaps the JVM needed more configuration options. As far as I understand it, it was a design goal for the CLR to not require those configuration options. In fact, a lot of the design of both the CLR and C# can be easily traced to various shortcomings and pain points of Java (type erasure, value types, versioned modules, exceptions in method signatures etc).
- phyushin 10y agoTizen would be OK if you didn't have to use eclipse
- Kipters 10y agoWell, now you can use Visual Studio
- brilliantcode 10y agoWhat an amazing year for Microsoft. It's nothing like Microsoft from 2006 or 1996. Build 2016 is probably THE defining moment for developers that have previously shied away due to their inherent closed, proprietary nature. At least for me anyways, AWS seriously needs a killer IDE like Visual Studio's tight integration with Azure.
- Zigurd 10y agoIF Microsoft makes another run at phones, the should use Tizen with .NET. That would be very much in the spirit of Android. Every Android OEM/ODM would know how to port it, so it might pull along some 3rd party hardware makers. Most importantly it would lose all the complexity of being Windows Everywhere while still running key MS apps.
- johnnydoe9 10y agoI barely understand all this but I'm excited!
- alkonaut 10y agoThey say Tizen TVs with .NET support will come in 2017. Does that mean older devices will never support .NET? I couldn't find any information about that.
- bborud 10y agoI've used Java since it was first launched and I've used it as a primary language since 2003 (it took a while before it was usable for the stuff I was doing). Although I like Java, I don't trust Oracle. They are not a well-behaved citizen of the software world. So for the last few years I've been eager to migrate away from Java. I really hope Microsoft understand that if we made the move to C# they have a brilliant opportunity to set the standard for how to behave. (Meanwhile, I'm in the process of using Go for projects)
- flinty 10y agoSo if you were to build a time machine and go back to 2004 and told some one the following, which do you think they will believe: Microsoft joins Linux foundation and has a seat on the board Google joins .NET foundation Trump is president of the United States