Live data from Hacker News

MSBuild is going cross-platform with .NET Core

blogs.msdn.com

71–80 of 139 posts

Re: MSBuild is going cross-platform with .NET Core

#71
post #29
post #14

Earlier quoted context omitted.

1 year ago, yes. C# is awesome as a language but I don't see a reason to switch to .net when the JVM has Kotlin, which is nicer than C#, but still super lightweight and thoroughly pragmatic.

My reason would be: I can choose from a ton of C# positions, meanwhile Kotlin would have what? In my and neigbour countries I can find exactly zero Kotlin job offers.

That is true. I assumed I would eventually go into business for myself and see no reason to use C# - besides Kotlin is very young, there is still plenty of time to get in on the ground floor so to speak.

Re: MSBuild is going cross-platform with .NET Core

#72
post #22

Now I can hate every moment of its existence on more than one platform! Having dealt with it for years, it's unadulterated pain and bad performance and nothing else.

I used to work at a mostly-Microsoft shop and I cannot fathom why anyone would want to deal with MSBuild for other platforms. There are so many better alternatives. And as bad as MSBuild is for building .NET stuff, at least it's the right tool for that job. Trying to shoehorn it into some other stack entirely, which you know is just going to cause even more pain? No. Just no.

Shit, I would probably build out an entirely separate build system and then just call it with MSBuild if I had to.

Re: MSBuild is going cross-platform with .NET Core

#73
post #66

Earlier quoted context omitted.

It depends what you're doing. If you're making libraries, console applications or doing modern websites it's pretty easy to get your build working without Visual Studio. One - ELEPHANT SIZE - problem is that for some reason Microsoft only ship the Windows SDKs as part of Visual Studio. Meaning that you'll need to install the IDE at least once to get a build running (you can copy the SDKs around after that). Microsoft…

FWIW, you can install MSBuild without Visual Studio. It's part of the Windows SDK. If your target system is not supported, you have to run it on a supported system and choose the "Download for installation on a separate computer" option. Then copy the resulting msi and cab files to the server and run them. See http://stackoverflow.com/questions/12944502/build-asp-net-4-... However, after I did this, I had to find bui…

Yup, that's how I make a build server: clean windows image, MSBuild, then copy the utils, build targets, reference assemblies etc over from a machine containing VS.

It's such a pain that a famous ex-Microsoftie started a connect request for it:

https://visualstudio.uservoice.com/forums/121579-visual-stud...

Re: MSBuild is going cross-platform with .NET Core

#74
post #57

Earlier quoted context omitted.

I really hated the language you use to describe build tasks. It is a very frustrating mix of declarative and imperative syntax. And of course, who wouldn't want to write code in XML?! (XML, the markup language, the one we use for marking up information like documents and records.) I was doing fairly complicated tasks with it years ago, and it's just one of those technologies that feels like it is fighting you at ever…

> I really hated the language you use to describe build tasks. Yup. For some reason that escapes rationality, MS chose to control the build through Workflow Foundation. And they build a horribly complicated WF "script". Pretty much universally hated. But you may be pleased to know that they have now abandoned that, and each build task can now be described pretty much by the scripting language of your choosing.

Ah, that is nice. .NET seems to have a wonderful property where even if they start out with something dumb, they eventually come to their senses and do the right thing. Sure can take a while to get there, though.

Re: MSBuild is going cross-platform with .NET Core

#75

Earlier quoted context omitted.

It depends what you're doing. If you're making libraries, console applications or doing modern websites it's pretty easy to get your build working without Visual Studio. One - ELEPHANT SIZE - problem is that for some reason Microsoft only ship the Windows SDKs as part of Visual Studio. Meaning that you'll need to install the IDE at least once to get a build running (you can copy the SDKs around after that). Microsoft…

Do you mean this[1] Windows SDK? [1] https://dev.windows.com/en-us/downloads/windows-10-sdk

Fantastic, I hope they keep it up :) Previous SDKs have taken a long time to appear outside of VS :(

Re: MSBuild is going cross-platform with .NET Core

#76
post #14

I know MSBuild gets a lot of hate but this is still great news. The end goal of having a .Net project be compile-able on Windows, Linux and Mac is going to be awesome. I'm curious, when everything is finally done, what the adoption rates will be like. Will hard-core Linux users who used Java migrate when it makes sense? Will they avoid it because "M$"? All good stuff.

1 year ago, yes. C# is awesome as a language but I don't see a reason to switch to .net when the JVM has Kotlin, which is nicer than C#, but still super lightweight and thoroughly pragmatic.

Nicer in what sense? I do like both, I'd take either of them over Java on any day, but whereas Kotlin is maybe better suited for functional style programming (immutability out of the box, data classes etc. - however .NET people always have F# for this stuff), it's hardly on the same level as C#.

For instance Kotlin doesn't have reified generics (if I recall correctly they actually attempted it, but it's too hard to get it done on JVM), Kotlin doesn't have yield-return semantics, Kotlin's equivalent of LINQ doesn't use deferred evaluation. Kotlin doesn't have async/await like C#, which is a real gamechanger when it comes to asynchronous programming. It's very nice and promising, but it's not in the same league.

As far as JVM universe goes, Scala could give C# a better run for its money.

Of course it's not fair comparing Kotlin to C# - for numerous reasons - but if we do it anyway, it's got to be honest

Re: MSBuild is going cross-platform with .NET Core

#77

Earlier quoted context omitted.

I doubt that anyone would choose it for other stacks, but this means that you don't need a separate build system for building your existing .NET project on non-Windows.

Are there really that many people building .NET projects on non-Windows systems? It's been my experience that companies that are using .NET are pretty much full Windows everywhere.

It's been the case so far because Mono feels like a second class citizen, but when MS will release officially .NET on other platforms maybe it will change.

Re: MSBuild is going cross-platform with .NET Core

#78
post #56

Earlier quoted context omitted.

Eh, I write JavaScript now.

Reimplement it on Node.js to compete with Grunt and Gulp.

:) Who needs all those silly things, who can even keep track of them all? npm scripts + browserify does the trick nicely.

Re: MSBuild is going cross-platform with .NET Core

#79

Earlier quoted context omitted.

I doubt that anyone would choose it for other stacks, but this means that you don't need a separate build system for building your existing .NET project on non-Windows.

Are there really that many people building .NET projects on non-Windows systems? It's been my experience that companies that are using .NET are pretty much full Windows everywhere.

I'm writing Mac, Android and iOS apps using Xamarin in C# using a shared PCL that is 99% the same code across all platforms. This might not be all that common, but Xamarin has seemingly been gaining momentum over the last couple of years.

Re: MSBuild is going cross-platform with .NET Core

#80
post #62
post #50

Earlier quoted context omitted.

Not to mention that every Windows JRE installer comes with Ask Toolbar or similar stuff.

Not every.

I usually dodge the Ask Toolbar by installing the JDK via Chocolatey: https://chocolatey.org/packages/jdk8
Post reply on HN