10 ms·
As a Java developer I am always so envious of how attentive Microsoft is with .NET. Maybe it is the grass is greener but it feels like oracle just sits on its a
by agentgt 10y ago
As a Java developer I am always so envious of how attentive Microsoft is with .NET. Maybe it is the grass is greener but it feels like oracle just sits on its ass and ignores most of the Java community.
- wernercd 10y agoThe force is strong in this one... Come... Come to the dark side. We have cake.
- perseusprime11 10y agoCake = Mac + VS Code + .Net Core
- dagmx 10y agoactually quite literally cake: https://github.com/cake-build/cake https://github.com/cake-build/cake (C# Make)
- perseusprime11 10y agoInteresting. You can have the cake and eat it too.
- abrookewood 10y agoCan I ask how you find working in this environment - genuinely curious. DId you have to refactor your applications much, or did you start off targetting .Net core? Years ago I thought people working in mono on Linux were just asking for trouble. Now it seems genuinely feasible to be running .Net on a non-Windows platform.
- ktRolster 10y agoI spent some time with Mono/.NET last year. It worked fine, but not everything was implemented. Specifically, we had some members on the team (the architect being one of them) who liked to include cutting edge features from .NET, that didn't work on Mono (he also had decided to write a large chunk of code in Silverlight, but that's a different story). The short is: if you're going to do Mono, make sure that you're always having at least one person on the team doing Mono, otherwise there's a moderate chance that you'll lose the ability to run on Mono. Also, stay away from entity framework. Some people might disagree, but we had problems with it and I hate that framework.
- codingmyway 10y agoThere's plenty of hate for entity framework among full .Net devs too. It's one of Microsoft's quick to get started but crap to enhance and maintain tools.
- chiph 10y agoLike a lot of Microsoft's data access technologies, it demos well in front of an audience. :-/ (from someone who still has their ODBC 5-1/4" floppies)
- kidmenot 10y agoI hate it with a passion. I use Dapper whenever I can and couldn't be happier about it.
- codingmyway 10y agoYep. Dapper is far simpler. All the relationship navigation and deferred loading of related entities is clever but takes effort to optimize and is too easily abused. Every large team I've seen use it (EF) ends up with slow horrible queries generated that DBAs see hitting the database thinking WTF?
- redwards510 10y agoI agree that the early versions of EF were very buggy (v1-3). It would work fine and then you would hit a show-stopping bug with no fix. However, the recent releases of EF have solved those problems and works great. I can't imagine not using an ORM at this point, and after witnessing NHibernate's stagnation I would recommend using something officially supported by Microsoft.
- tracker1 10y agoIt depends on the application.. you can try running your assemblies through MoMA (mono's migration tool) to see what gets flagged. A lot of the enterprise classes that are tied to windows obviously don't work... There's also no support for WPF iirc, though there is some Silverlight/Moonlight support, but that's another story. If you're doing web/api services, then mono/.net core are serviceable. Though I would recommend that you have CI/CD setup to use linux/mono if you are going to target that platform... for the most part if it works in linux its' going to work in windows, not so much the other way around. Take this with a grain of salt, as I've been mostly node.js for a couple years now, though the progress with .Net core and VS Code have my interest.
- romanovcode 10y agoIf you have .NET 4.x app and you want to convert it to .NET Core you're going to have a bad time. However making things from scratch works totally awesome.
- tychuz 10y agoReplace VS Code with Rider and I'm here.
- merpnderp 10y agoWhat do you write in .Net Core on a mac? I'm guessing you get paid to do this, and it sounds like an interesting niche.
- stinos 10y agoAnd for once the cake is pretty decent.
- yread 10y agothe IE team used to exchange cakes with Mozilla team on shipping versions. http://www.theverge.com/2012/10/27/3563892/internet-explorer-and-firefox-teams-celebrate-new-versions-with-cakes http://www.theverge.com/2012/10/27/3563892/internet-explorer... But then Mozilla started releasing versions every couple of months
- meddlepal 10y agoI really like what Microsoft is doing with the CLR and .NET but I'm not sure I agree Oracle is sitting on Java and doing nothing. Java 8 was a big deal and Java 9 and 10 are going to have large improvements. Now if Sun still owned Java that would be a fair assessment. They couldn't figure out what to do with the language.
- frik 10y agoWill there ever be a dotNetFramework 5 ?? Version 4 is from 2012 which was already a minor update from v3 from 2007. The new dotNetCoreFramework 1.0 just got released. It wouldn't sense to add mayor new features to dotNetFramework 4.6x, legacy is written on the wall. dotNetFramework 1x from 2002 to 2005 is unsupported for many years and APIs and code ate incompatible with dotNetFramework 2+. Basically dotNetFramework rebooted with v2 and got really popular starting in 2005. All mayor features were available since v3. Though then the development stagnated and little new outstanding new featured were included in newer releases. Plus several APIs turned out to vanish pretty quickly and are dragged along as legacy like WinForms, Silverlight, WPF, Managed C++, ManagedDirectX and its next incompatible iteration, SharePoint APIs, WinFS, etc. Plus the incompatible different API WinRT aka WinRunTime aka UniversalRuntime with various incompatibilities in WinPhone8, Win8 & 10. So Microsoft now has to maintain Win32 API and its subsystem (the reason why people are still using Windows, dating back to 1995 and source code compatible to Win16 API dating back to Win1 (1985) and Win16 is still supported on 32bit OS (technically it could also run on 64bit, if MS would want that). And UniversalRuntime (former WinRT) based on Win32 subsystem and still a lot less featurefull and little developer support and little apps - MS wants to push it, many hate it and almost all Windows applications continue as Win32 x84/64 applications even most games (Steam is big, the hate on WinStore is rightful). And dotNetFramework 2x+ the legacy big soup infested with dream buildings full of XML. And now dotNetCoreFramework in v1 still pretty rough and unfinished and the usual v1 were you want to wait for service pack 1 or v2. In comparison Java is source compatible to at least v1.4, but in reality often back to Java 1.1 or 1.2. Sure there are some crufty APIs that got a better alternative that is recommend and several third party frameworks come and are now enterprise/legacy tools and newer things are now popular. While Java stagnated a bit with Oracle at times, it's still a nicer experience than the quickly vanishing and legacy API that Microsoft releases out en mass. And also Google is supporting Java on Android as its main API.
- pjmlp 10y agoJava might be source compatible, but sometimes it is quite fun to make libraries work across versions. Specially if they rely on APIs that did break, like JDBC interfaces. Also Android Java isn't 100% Java as Google cherry picks APIs, which with the increase of Java 8's adoption is increasing the effort to write portable libraries that compile against Java and Android Java. Also Android Java runtimes don't understand the bytecodes introduced in Java 7 and 8. So you cannot use libraries that make use of them. This will only get worse with Java 9 modularity and with the value types, reiffed generics and new FFI planned for Java 10.
- pjmlp 10y agoJava always suffered from Sun not being serious about it for OS development. While .NET was pushed by Microsoft for everything else that didn't necessarily require the features of C++ and as such got a good focus in the whole stack and OS integration. Sun like any other UNIX company, never understood the desktop, and the only OS stack they pushed Java was the network computer failed attempt and later on J2ME. It was JEE (J2EE back then) that made it relevant again. Oracle has always invested a lot in Java, they already quite a few Java based products in the early 2000. They were the first DBMS to support stored procedures in Java. They also kept the Sun research labs going and will be integrating the Java JIT Graal into the standard JDK. The Java Language Summit is taking place this week. https://www.youtube.com/playlist?list=PLX8CzqL3ArzUY6rQAQTwI_jKvqJxrRrP_ https://www.youtube.com/playlist?list=PLX8CzqL3ArzUY6rQAQTwI... The problem is that Oracle designs languages for suits not jeans.
- lmm 10y agoHow much OS development is there to be done? Sun was serious about write once run anywhere; Java is remarkably successful in that regard. Part of that was not including OS-specific functionality. We'll see how well MS does on that front.
- pjmlp 10y agoHaving the capability for doing OS development implies having a whole stack language, which Java never achieved. Java is failure on the desktop, nowadays besides IDEs and a few FOSS tools there are hardly any applications done in Java on the desktop. If Google hadn't forked it for Android, it would be yet another server language. Besides Android, we only get RFPs for JEE projects nowadays. Also all the features that should bring Java up to speed with the new generation of compiled languages in value types, generics and AOT compilation as standard toolchain feature are planned for Java 10 or later. Why do you think Scala guys are exploring Scala Native?
- lmm 10y ago> Java is failure on the desktop, nowadays besides IDEs and a few FOSS tools there are hardly any applications done in Java on the desktop. Nowadays there are hardly any applications done on the desktop, full stop. I agree that the JVM would benefit from being usable for a) command-line utilities that are lightweight enough to use in pipelines, and perhaps also b) decent native GUI applications (if you believe that niche is still important). But you don't need the capability for OS development to do those things. I mean, Python does those things. I don't think Scala Native is or should be serious about OS development.
- codingmyway 10y agoI half jokingly suspect Oracle only bought Sun so they could sue Google