Hacker News new | ask | show | jobs
by pauldbau 4216 days ago
I for one am extremely excited about having MS supported ASP.Net on Linux.

Mono is a great community effort, but the server side has always lagged Windows pretty heavily. Having the same level of API and implementation support at a core level on Linux will be awesome.

Shall be interesting to see how this affects IIS market share in 5-10 years time.

4 comments

TBH, this could help IIS in the long run, since it should improve adoption of .Net. This could also be the sort of kick in the pants that's needed to make IIS evolve into something people would choose on merit. The difference between IIS of today and IIS of 2020 could be very much like the difference between IE 6 and IE 11.
The difference between IIS of today and IIS of 2020 could be very much like the difference between IE 6 and IE 11

As a Microsoft developer with two MCSD certifications and an MCDBA certification, I actually laughed at this. IE11 is certainly better than IE6, but I find it unusable comparable to its modern day competition.

Abysmal plugin support, none of the nice usability features of Chrome (ex: Paste and Go on address bar, right-click Search Google for highlighted text, etc) and more leads me to believe Microsoft should give up with IE and start over with an IE branded version of Webkit or heck even Chromium. They could continue their Xbox marketing and call it Internet Explorer One and actually dominate the browser wars again. Leave the old IE classic on there for the small percentage of people that need ActiveX support (blech).

Web apps developer here, in terms of standards/proposed standards support, the situation is much, much, much better than it was with IE7/8/9/to a lesser extent 10. We develop primarily against chrome, and IE11-specific behavior (measured by # of defects) is less common than firefox-specific behavior, which is less common than IE10 specific behavior.

The plugin support may suck, the dev tools may suck, but in terms of the browser itself, it is much more capable than what they've had in the past.

Hmm, as a touch user my view is very different. Chrome's support for touchscreens is almost non-existant, while IE's touch version works even better than mobile safari on the ipad. I guess it's in the eye of the beholder. To be fair, I do use chrome on my non-touch laptops.
In terms of developers, that's a tiny change. Our users are using IE11 whether we want them to or not, but the massive effort they've put into bringing up the engine to speed with gecko, webkit/blink, is absolutely necessary to demonstrate on their other products before I would ever considering using it as a development platform.

Microsoft has definitely been putting its money where its mouth is w/r/t developers recently, and that's what they SHOULD be focusing on.

All of your complaints seem to be UI features. Swapping out the rendering engine for Webkit wouldn't fix any of them.
Developer tools in IE11 are much better than Chromes. Chromes have always been confusing and tedious, inherited from Safari. Apple has never really known how to build good developer tools.

And so you know, ActiveX is already in Chrome, but they call it native client. Supposedly it makes a world of difference in the Google Kool-aid camp.

Does IE11 even support ActiveX? I didn't think that it did.

I tend to use IE11 because it is lighter on memory usage than Firefox or IE and my machine has only 4GB of RAM. Also, it has a lot of those features. By default, I have right click and search with Bing and there are many accelerators that do the same thing. Plus, I don't see how so-called limitations in the shell should lead to an underlying engine change. I think Trident works well, although the main frustrating thing is that it doesn't work with a lot of IE only sites ironically (my company's old version of Outlook webmail, my credit union, etc.).

As someone who has to use IE11 on a daily basis, I would have to concur. I absolutely LOATHE using it and I'm most certainly NOT a Microsoft basher. About the only plugins that I can find that are worth anything (read as: works) on IE11 are Lastpass and Fiddler. So the OPs comparison is not a very good one.
Using IE 11 out of the box on a newly purchased windows 8 machine crashed on me. Continuously. It was the first application I had to start for windows authentication. I had to download the full chrome installer to get through the registration process that the vendor of the os and their browser couldn't. IE 11 is pretty bad.
>none of the nice usability features of Chrome (ex: Paste and Go on address bar, right-click Search Google for highlighted text, etc)

FYI IE has search X for highlighted text via accelerators, first introduced in IE8, though I'm not sure a search accelerator existed back then. It certainly exists now.

I saw some talks on ASP.Net vNext this week and the links between .Net web apps and IIS are weaker than ever. I'm sure that .Net web apps will still be deployed to IIS when they need to scale a lot, and are hosted on windows, but neither of those two are mandatory any more. A lot of sites and web services won't need all that and can use a self-host or lightweight host. OR new hosts/adapters to other web servers can be written. There's a lot more hosting and platform flexibility coming, which is exciting.

For more info, see

http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-over...

http://www.asp.net/aspnet/overview/owin-and-katana/getting-s...

https://github.com/aspnet/KestrelHttpServer

So not that large as the difference between IE6 and Chrome, is what you're trying to say?
Massive shoutout to David Kean (MSFT:AU) and his team who managed to pull this off.

https://www.mail-archive.com/ozdotnet@ozdotnet.com/msg11187....

> Shall be interesting to see how this affects IIS market share in 5-10 years time.

Well OWIN supports self-hosting so perhaps this will not bode well for IIS outside of enterprise environments.

Asp.Net vNext can be run from Nginx or Apache, i think that will have a bigger influence then selfhosting.
From what I can tell, the IIS team is embracing OWIN. Be sure to check out Project Helios (http://www.infoq.com/news/2014/02/helios). *Helios can be compared to OpenResty in the sense that the application runs directly on-top of the (core) web server, instead of a plugin/pipeline.

In my humble opinion, self-hosting is useful as long as it's feasible to reinvent the web server wheel. In terms of IIS that can include url rewriting, caching, compression, performance tracing, critical error logging, request logging, endpoint configuration including SSL (and SNI), zero downtime deployments, graceful shutdowns and much more.

The programming tendencies nowadays is to build highly specialized software (high cohesion), with only the needed dependencies (low coupling) and a small surface area to promote faster iterations (micro services).

Based on the above observation, the approach of Microsoft to release and endorse a cross-platform <core> .NET is commendable and is exactly what we need right now.

There's much to say about the downsides of the bring-your-own-x composition approach, but I truly believe the issues we face today will be addressed over time as the discipline and dedication of the programming community as a whole increase due to the increase in responsibility.

I wonder whether or not this was difficult due to internal politics. I doubt IIS team is too happy about this.
I guess IIS and Windows Server have an important role providing high performance HTTP service hosting nodes in Azure. If this effort from the .NET team can revive the future of .NET server-side development, the server team can capitalize on the integration of the managed stack on top of the kernel-mode http.sys web tier, to provide a first class hosting environment for ASP.NET applications on the Azure cloud. Microsoft is the one hosting provider in the world who can scale out Windows servers without having to worry about license costs.
Is there any anti-competitive laws they'd have to adhere to to take away that "advantage"?
Amazon and Google don't have to license their cloud technology, so why would Microsoft (be forced to adjust license costs. or to license it at all)? (Unless MS were to become the dominant hosting provider and some anti-monopoly law or regulation were to come into play, but right now they are far from there.) Licensing IIS is a side business to the cloud hosting business.
I wonder how it would compare in performance to latest PHP/Nginx stack which is rather very fast with good code. And then there is major improvements in PHP on horizon and already alternatives like Facebooks PHP implementation
Good questions. No answers, but I have this reflection to add. Over the past decade PHP has, by and large, put food on my table. Every year or so I evaluate my overall toolkit (ranging from languages to frameworks) and make sure I'm backing the right horse.

This year, I put a thirty-five dollar C# book on my holiday wishlist.

I'm gonna guess it would be around the same on a Linux server, because it's under a runtime, just like PHP. There's no reason to expect a drastic difference between one or the other.

On a Windows server however it's compiled and highly optimized. Which PHP/NginX/HipHop you also have a compiled environment and is just as fast or faster.

I have no data to back it up at all, but I'm going to guess ceteris paribus the performance differences are marginal at best.

Why the hell would anyone ever use PHP for anything?
I personally despise coding in PHP as much as anyone, but it has been used for a number of hugely successful projects, including Wikipedia and Facebook (that latter has even written a transpiler that converts PHP into C++). PHP is the bog standard on a LAMP stack so you know it will run on any environment, and there is a huge pool of programmers who know how to code it. Those are nontrivial reasons.
The P in LAMP stands for PHP, so it's the ONLY application language on a LAMP stack. Hope I'm not being too pedantic.

Symfony 2 is quality engineering. It's quite nice just to browse the source.

Times in the past that I've seen LAMP explained, I've read that the the P in LAMP was for PHP, Perl, or Python (any one of the 3).
If you consider Wikipedia a good example of what PHP can do, we have irreconcilably different quality standards.

I think the technical debt of PHP is a huge reason why development of the software behind Wikipedia hasn't fixed any of the huge issues in the last 5 years.

I cite Wikipedia as an example of a successful website built with PHP, not necessarily as an example of a well-designed site.

You don't need to convince me that PHP is a clunky, unpleasant language. My point is that there are still legitimate reasons to choose it.

The fact that there are successful website implemente in PHP is not a legitimate reason to choose it.
Oh, I don't know... Maybe because of easiest imaginable deployment scheme? Comprehensive stdlib and lots and lots of libraries and bindings for everything? Its forgiving nature, which makes it try very hard to do what programmer meant instead of dying with cryptic error messages? Or possibly because of bazillion other legitimate reasons people have for choosing to use it...

Languages are just tools. Some are better than others for a specific task. This is a fact. You choose the language for a given task because it fits the task better than other options. That's all there is to it.

I don't currently use PHP, but I acknowledge that there are situations where using it makes sense. I'm just not in one of those situations in present. Saying that PHP is a bad choice in every situation is worse than stupid: it's simply wrong.

"Its forgiving nature", like VB's "On Error Resume Next" and JavaScript's automatic semicolon insertion, is not an advantage. Debugging with cryptic error messages is better than having no idea that the program is silently doing the wrong thing.

Its standard library is no more comprehensive than those of comparable languages.

The only advantage left, then, is the same one all the sibling comments bring up: it's already installed on the server.

So the question remains: Why would anyone who has a choice and knows that other languages exist ever use it for anything?

Can we stop with this kind of comment, already? Yes it has its warts but like it or not a fair amount of people enjoy using it. Get over it.
I'm a ruby developer myself (and also a huge advocate of ruby) I use PHP to mashup quick weekend prototypes to test stuff like third party API's, mini dashboards, etc. Because, nothing beats the convenience of uploading a simple PHP script to a server via FileZilla. It's what you build with the programming language that matters more than the language you use. And no, I refuse to be shamed for my programming language choices.
Why the hell would anyone ever use anything for anything?

Because that shit gets the job done. Pick the right tool for the job, sometimes PHP is the right tool.

I know it's "cool" to hate PHP, but anyone asking this question obviously hasn't used it. It's a tool that solves problems fast and cheap. It's not for every application but it fits for some VERY well. And most of PHP's problems are the newb programmers it attracts, just like JavaScript. The language itself has tons of quirks but you can write good PHP just as well as anything else, and you can solve certain problems very fast with it.
The thing is there are better languages that solve the same problems PHP solves at the same speed or faster. This is why Ruby become so popular.

Javascript is a sad story though, it's an abysmal language (even with ES6, though that does make things better) but it enjoys a monopoly over the browser runtime space.

I think asking why anyone would start a new project in PHP is a very reasonable thing to ask.

If you want quick and dirty there is Ruby + Sinatra, Python + Flask or Go + Martini. All of which are safer, have less 'quirks' as you say and are all faster. None of them require any more work than the current PHP alternatives.

PHP may be superior to some languages in some regards, but it's definitely no longer the king of the hill of prototyping languages.