Linked by Thom Holwerda on Mon 27th Jun 2016 18:49 UTC
.NET (dotGNU too)

We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework 1.0, available on Windows, OS X and Linux! .NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications.

This release includes the .NET Core runtime, libraries and tools and the ASP.NET Core libraries. We are also releasing Visual Studio and Visual Studio Code extensions that enable you to create .NET Core projects. You can get started at https://dot.net/core. Read the release notes for detailed release information.

Order by: Score:
Now I can say that...
by dionicio on Mon 27th Jun 2016 20:57 UTC
dionicio
Member since:
2006-07-12

It has started. Frightens me a little.

Reply Score: 3

RE: Now I can say that...
by dionicio on Mon 27th Jun 2016 20:59 UTC in reply to "Now I can say that..."
dionicio Member since:
2006-07-12

Covering the 3 most popular desktop environments.

Reply Score: 2

Fortunately...
by dionicio on Mon 27th Jun 2016 21:04 UTC in reply to "Now I can say that..."
dionicio Member since:
2006-07-12

Too old for future battles.

Reply Score: 2

Get Ready for Sky.Net...
by TemporalBeing on Mon 27th Jun 2016 22:14 UTC
TemporalBeing
Member since:
2007-08-22

now that the .NET Core is officially multi-platform it'll just be a matter of time before someone creates Sky.NET

Reply Score: 6

And the conquering starts...
by Arawn on Mon 27th Jun 2016 23:15 UTC
Arawn
Member since:
2005-07-13

... from the inside.

Devs will start using these, and MS will have them hooked. As soon as possible will start reeling them in.

Using proprietary libraries will always leave a sour taste when the owner, in this case MS, will start deviating from the initial promises. Look at the Oracle example with Sun's software.

Reply Score: 5

RE: And the conquering starts...
by ssokolow on Tue 28th Jun 2016 00:17 UTC in reply to "And the conquering starts..."
ssokolow Member since:
2010-01-21

... from the inside.

Devs will start using these, and MS will have them hooked. As soon as possible will start reeling them in.

Using proprietary libraries will always leave a sour taste when the owner, in this case MS, will start deviating from the initial promises. Look at the Oracle example with Sun's software.


Don't worry. Phoronix forums users aren't impressed by their attempt to compete with ecosystems like Rust, Go, Qt, and Swift, and it's for legitimate reasons.

https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-artic...

Front page claims FreeBSD support ?

Cant see FreeBSD support on the downloads page. It might be buried away in there somewhere, but after 10 minutes of being redirected from one page to another, and bombarded with ".NET this" and "Windows That", a tedious and useless preamble on the API docs, and no sign of anything remotely interesting .... I have completely lost all interest.

Where is the interactive playground that lets you test out .NET code ? oh ... there isn't one. Looks like something out of the 1980's. What planet is this "Microsoft" company from I wonder ?

Coffee Break is over, back to do some real work .....

Makes me appreciate the fantastic job that the other (non-Microsoft) guys are currently doing with the Go programming language, the Rust compiler ... and all the other great, robust, and truly wonderful tools available in the real world outside of the Microsoft Bubble.


yeah, to be honest i personally believe C++14/Qt5 is trully wonderful but if a higher level language is needed for any reason i do prefer rust, go or even Apple swift(once fully support proper C++11+ since i visceraly hate Obj-C/++ in any form.)


...and missing a step in the installation instructions results in typically cryptic error messages:
$ sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
$ sudo ln -s /opt/dotnet/dotnet /usr/local/bin
$ dotnet --help
Failed to initialize CoreCLR, HRESULT: 0x80131500

$ mkdir hwapp
$ cd hwapp
$ dotnet new
Failed to initialize CoreCLR, HRESULT: 0x80131500


...and also...

My Bad. I guess this "Microsoft" company is pretty new to the concept of portable and cross platform.

Thanks for the link .... I did briefly peruse their github account, before my eyes glazed over from boredom, but what you have uncovered here is Pure Comedic Gold ! I should have kept hunting.

Straight from their doco about how to install .NET on FreeBSD, one needs a Windows machine to first generate some sort of Linux binary with a fake (.dll) extension name, and then copy it across to the FreeBSD machine, using some unnecessarily long winded file names, which may or may not include the backslash character. f--king brilliant !!!!

If some junior dev or sysadmin handed up this piece of junk as a solution .... one would have to waste valuable resources in "coaching" them about minimum acceptable standards.

Keep in mind that the example below is literally HelloWorld

[...]

Thanks again, that doco is brilliant.

your target runtime requires at a minimum :
- 3 x .dll files
- 2 x .so files (note the subtle difference between Dynamic Link Lib vs Shared Object ... your Hello World needs both !!)
- something else called 'corerun' that could be an .ELF file, or could be anything at all ???? Who knows ???

This is Genius !!


Edited 2016-06-28 00:19 UTC

Reply Score: 4

dionicio Member since:
2006-07-12

"...Phoronix forums users aren't impressed..."

It's not necessarily for the Applers&Linuxers trying to explore Windows. But the other way. This is an orange boat in all the extension.

Reply Score: 2

ssokolow Member since:
2010-01-21

"...Phoronix forums users aren't impressed..."

It's not necessarily for the Applers&Linuxers trying to explore Windows. But the other way. This is an orange boat in all the extension.


I know it's meant to make Linux accessible to people who don't want to leave their comfortable .NET bubble.

What I'm saying is that just getting it installed on Linuxes and BSDs is a very un-polished effort and, even once that's done, the non-Windows .NET Core experience has a lot of catching-up to do with what other language ecosystems offer... often as the minimum experience all supported platforms are guaranteed.

Reply Score: 2

Not the annoying, but...
by dionicio on Tue 28th Jun 2016 18:33 UTC in reply to "RE: And the conquering starts..."
dionicio Member since:
2006-07-12

Is There business, at that Route? That is the question. Please don't forget that MS leverage a good portion of Work-ware.

[Of course, polishing of the annoying -from outsiders perspective- would help a lot].

Reply Score: 2

dionicio Member since:
2006-07-12

Of late a little light toward MS because they where the first [and maybe the last?] to endorse Markets of Small Actors.

Reply Score: 2

lucas_maximus Member since:
2009-08-18

FFS.

FreeBSD isn't even an officially supported port. You can't blame them for it not working.

Reply Score: 1

RE: And the conquering starts...
by tylerdurden on Tue 28th Jun 2016 00:23 UTC in reply to "And the conquering starts..."
tylerdurden Member since:
2009-03-17

Nah. For the most part .Net will remain a non-issue in non microsoft-centric environments. I.e. anything that is not Windows desktop.

Reply Score: 3

lucas_maximus Member since:
2009-08-18

This is meant as a NodeJS competitor. They wanted to get Linux and OSX developers using the ASP.NET core stack to build web apps.

They don't care about Desktop apps, Microsoft already own this.

Reply Score: 0

tylerdurden Member since:
2009-03-17

And as I said, few organizations or products, not tied to the Windows desktop, care about that stack regardless of what it is used to build.

Reply Score: 2

lucas_maximus Member since:
2009-08-18

Thus the whole point of changing the tooling is that they can be more relevant. Because they are losing mind-share.

Most developers think that C# is a solid language but the fact it has been realistically stuck in the Windows world.

Most Senior ASP.NET devs I have met (at least in the UK) are using Macs as their workhorse machine and virtualizing Windows just to run VS (Xamarin Studio is probably worse than VS Code which isn't a real IDE). Obviously I don't have any official numbers but is a trend I have noticed.

This is a first stable release. Unfortunately Microsoft have totally screwed up the beta to release candidate transition (they changed namespaces, apis massively between the last beta and RC2). There was genuinely a lot of excitement in the web dev community to be able to use .NET cross platform easily.

Edited 2016-06-30 13:46 UTC

Reply Score: 2

tylerdurden Member since:
2009-03-17

Yes, I'm sure the people who use or depend on windows for web development are very excited about new developments in the .net arena. Almost everybody else couldn't care less.

It's Microsoft's Faustian deal when it comes to development/frameworks; they thrived by the sword (Windows/VisualStudio/Prop APIs), but remove that from the equation and their value proposition falls flat.

Same happened with the SQL Server port to linux. Nobody really gives a shit about it outside the MS echo chamber; The alternatives are already well established and they're either better performant or have nil-licensing costs.

I'm not implying this tunnel vision is exclusive to MS btw.

Reply Score: 2

RE: And the conquering starts...
by allanregistos on Wed 29th Jun 2016 01:53 UTC in reply to "And the conquering starts..."
allanregistos Member since:
2011-02-10

... from the inside.

Devs will start using these, and MS will have them hooked. As soon as possible will start reeling them in.

Using proprietary libraries will always leave a sour taste when the owner, in this case MS, will start deviating from the initial promises. Look at the Oracle example with Sun's software.


Really? If the software is open source which is, then third party developers will develop libraries for it, open source or otherwise, and I see no problem with it.

Let them sell their libraries as long as the core is free, there will be free libraries either that will compete with proprietary libraries.

Reply Score: 1

Internet Explorer
by Darkmage on Tue 28th Jun 2016 00:08 UTC
Darkmage
Member since:
2006-10-20

Hey guys, remember when Internet Explorer 4.0 was ported to HP-UNIX and Solaris? How'd that turn out?.... And remember when Windows NT 4.0 got ported to MIPS, SPARC and PPC? How'd that go??

Reply Score: 6

RE: Internet Explorer
by jockm on Tue 28th Jun 2016 02:25 UTC in reply to "Internet Explorer"
jockm Member since:
2012-12-22

Remember when they were all open source? Oh wait, they weren't.

And that is the difference.

Reply Score: 2

RE[2]: Internet Explorer
by ssokolow on Tue 28th Jun 2016 04:48 UTC in reply to "RE: Internet Explorer"
ssokolow Member since:
2010-01-21

Remember when they were all open source? Oh wait, they weren't.

And that is the difference.


I think Java would be a better comparison.

1. It's backed by a big company that marketed the hell out of it
2. It's never fitted very well into the POSIX ecosystem
3. It'll probably only gain mindshare among people who are interested in Linux only to check off some box. (ie. most managers, most game developers, etc.)

Reply Score: 3

RE[3]: Internet Explorer
by riha on Tue 28th Jun 2016 08:57 UTC in reply to "RE[2]: Internet Explorer"
riha Member since:
2006-01-24

I would say it is a big difference between Java and .NET in this case.

Java was developed by Sun from thee beginning, then bought by Oracle.


.NET in this case is made by Microsoft and ported by Microsoft.

For me that is a big difference.

Reply Score: 1

RE[4]: Internet Explorer
by ssokolow on Tue 28th Jun 2016 17:58 UTC in reply to "RE[3]: Internet Explorer"
ssokolow Member since:
2010-01-21

I would say it is a big difference between Java and .NET in this case.

Java was developed by Sun from thee beginning, then bought by Oracle.


.NET in this case is made by Microsoft and ported by Microsoft.

For me that is a big difference.


I'm comparing .NET now against Java in the period before Oracle bought Sun. I see little difference.

Reply Score: 3

RE: Internet Explorer
by lucas_maximus on Tue 28th Jun 2016 20:55 UTC in reply to "Internet Explorer"
lucas_maximus Member since:
2009-08-18

It is on Github with a permissive license. What more could you possibly want?

Reply Score: 2

Oh great
by Danmelbourne on Tue 28th Jun 2016 00:48 UTC
Danmelbourne
Member since:
2015-05-07

Cannot wait for all those high quality .net apps to come to OS X...

Reply Score: 2

the way of the dodo?
by nicubunu on Tue 28th Jun 2016 06:13 UTC
nicubunu
Member since:
2014-01-08

Considering the announcement was made at a Red Hat conference, can't stop wondering if Red Hat is taking the road many others took before and failed.

Reply Score: 3

RE: the way of the dodo?
by shotsman on Tue 28th Jun 2016 11:13 UTC in reply to "the way of the dodo?"
shotsman Member since:
2005-07-22

Perhaps they wanted to do it at the Apple WWDC but Apple didn't want them crashing in on their party so the RH thing was the next best option.

Reply Score: 3

No match for Mono yet...
by mack on Tue 28th Jun 2016 09:44 UTC
mack
Member since:
2015-02-18

.NET Core: Aarch32 Aarch64 x86-64
Mono: s390 SPARC PPC x86 x86-64 IA64 Aarch32 Aarch64 Alpha MIPS HPPA

M$ still has some work to do...

Reply Score: 2

RE: No match for Mono yet...
by Troels on Tue 28th Jun 2016 14:02 UTC in reply to "No match for Mono yet..."
Troels Member since:
2005-07-11

Yes, if mono stopped being available for all those other platforms the internet would be outraged, and the news will contain reports that 10's of people were affected...

:-)

I personally think this release is pretty exciting, i find that for quite a while Microsoft have had the best environment and libraries for web application development, with the only annoyance being that you needed Windows Server to host it. Now that annoyance is gone.

Reply Score: 1

RE: No match for Mono yet...
by Bill Shooter of Bul on Tue 28th Jun 2016 18:22 UTC in reply to "No match for Mono yet..."
Bill Shooter of Bul Member since:
2006-07-14

Is anyone seriously running Mono on s390/Alpha/HPPA?
Why...

Probably not worth even worrying about MIPS, SPARC, or PPC for that matter.

Reply Score: 2

Nice
by lucas_maximus on Wed 29th Jun 2016 10:16 UTC
lucas_maximus
Member since:
2009-08-18

I recently moved to Mac OS and I can write my web apps to be cross platform using C#.

Reply Score: 2

RE: Nice
by ssokolow on Wed 29th Jun 2016 20:06 UTC in reply to "Nice"
ssokolow Member since:
2010-01-21

I recently moved to Mac OS and I can write my web apps to be cross platform using C#.


Writing web apps that aren't cross-platform because of the language used is almost uniquely a flaw in Windows-centric technologies and, when it does happen, it tends to be Windows suffering from being the odd one out, API-wise.

The big names in web application development, like Go, Java (eg. via the Spring framework), Python (eg. via Django), Ruby (via Rails), etc. work beautifully on Linux or BSD (where they're most commonly deployed) and MacOS (where they're often developed) and Windows support has matured very nicely since 2007/2008 when most of the complaints tend to date from.

They also have a much more polished experience than .NET Core on non-Windows platforms.

Plus, if you're using Django and your app has a CPU bottleneck somewhere, Cython lets you easily move the hot code into a compiled extension using a modified Python dialect with static type annotations that gets compiled to C.

Heck, Rust's a rising star and will beat any JITed language at giving a predictable memory footprint, which can be a huge deal when it comes to cost-effectively scaling.

If I needed to develop a portable web app and had the time to learn a new language, I'd learn either Go (golang) if I needed it right now or Rust (rustlang) if I had time to invest in my future.

Both compile to static binaries for easy deployment and both will match or exceed C# for performance and memory footprint to minimize growing pains when a project becomes successful.

I know it's a little long, but here are a few reasons I'm trying to make time to learn Rust:

1. Community and design philosophy

1a. Great community and the ecosystem is developing beautifully

https://www.rust-lang.org/community.html
https://www.reddit.com/r/rust/
https://www.reddit.com/r/rust_gamedev/

1b. Like Python, Rust has a strong "take innovations from the academic/functional programming world and make them comfortable for everyday programmers" aspect.

1c. Compiler errors designed to be exceptionally helpful, right down to having designed the language with clear errors in mind.

(eg. Part of the reason function/method definitions are exempt from type inference is that making them the unit of explicit ABI definition massively improves the compiler's ability to give concise errors and helpful suggestions... but, at the same time, closures DO do type inference because it makes it easy and comfortable to write jQuery-style callback APIs which get inlined away for no overhead.)

2. Less work for me, even if it's somewhat front-loaded

2a. Language-level RAII+ownership for memory management competitive with C and C++ but with memory safety comparable to a JITed language.

2b. A clear distinction between safe/unsafe code so safe abstractions can be built in Rust. (FFI calls are inherently "unsafe" and it's your job to ensure that invariants are restored before the end of the unsafe block.)

2b. Smart design elements baked into the language and standard library, like "immutable by default (mut, not const)", "affine types, not NULL/exceptions", "lock data, not code", "compiler-checked exhaustive pattern matching", etc. make writing correct, robust code as easy and comfortable as possible.

(It's a lot simpler than it sounds. For example, a function which would raise an exception in C# instead returns a Result(T,E) which is a tagged union containing either the return value or an exception. This makes it easy to ensure you've specified a handling strategy for every error case, even if it's just a matter of calling Result.expect("Cannot recover from error X. Exiting.") as Rust's equivalent to things like Perl's "or die".

2c. Rust's combination of type inference and the borrow checker makes the type system powerful enough to enforce correct use of state machines like the HTTP and IMAP protocols at compile time. ( https://insanitybit.github.io/2016/05/30/beyond-memory-safety-with-t... )

(Basically, any method which moves to a new state takes ownership of the object and returns a new one which contains only the methods which are valid for that state. The borrow checker enforces that no references to the old state object remain and type inference makes the type-changing aspect of the state transitions invisible unless you make a mistake.)

2d. Like Go, statically compiled by default for easy deployment (Rust even has a musl-libc compiler target to go one step further and produce truly static binaries and the rustup version manager is currently in the process of learning how to make cross-compilation as simple as one or two commands.)

2e. Cargo, the build system and library package manager hybrid which Just Works™ beautifully.

Reply Score: 2

RE[2]: Nice
by lucas_maximus on Thu 30th Jun 2016 13:33 UTC in reply to "RE: Nice"
lucas_maximus Member since:
2009-08-18

I've been writing cross platform C# stuff for years (via mono).

Now it is officially supported by Microsoft and the tooling is now geared for *nix systems.I dunno if I can port a lot of my extremely old VB.NET code.

I don't care about Go, Rust. I do work a lot with Python these days but I am usually using flask.

There is almost no market in the UK for the languages that you mention (maybe in London but I don't want to have to work there).

Reply Score: 2

RE: Nice
by sergio on Fri 1st Jul 2016 05:41 UTC in reply to "Nice"
sergio Member since:
2005-07-06

I recently moved to Mac OS and I can write my web apps to be cross platform using C#.


Wow! That's some fine irony haha

Reply Score: 2