LAMP vs .NET
-
You've had one experience with DNN, and it was bad... are you sure you're qualified to even comment on the matter? I won't touch DNN again because they've turned into a paid product. There's a "community" version but it's the paid version that has the features necessary for enterprise applications. Because of that I regret starting development in DNN.
I, too, was a little irritated that they went commercial, but the free version still works fine. It's like most other Open Source initiatives where you can purchase a support contract for a more solid version of the product if you need critical response to issues. As for .NET, it's the same idea that was described above, by Shog9, for PHP -- most of what you need to accomplish has already been developed. Active Directory and LDAP integration (with client pass-through authentication), WMI, networking and email libraries, encryption, security, file I/O, SQL Server integration, etc. Most of what you need for your solution already exists -- you need only assemble the puzzle to create your application. And, that's assuming that you can't find a C# or VB.NET example on The Code Project that does most of what you need and can be quickly and easily modified to your needs. I'm sure that this argument is simply an indicator of people not wanting to leave their comfort zone, but still curious about what others are using. I wouldn't know where to start with LAMP, but I have many years of familiarity with the inner workings of Windows to make the choice simple. Why should I spend so much time and effort trying to ramp up my knowledge about LAMP (especially when it comes to security) when I can do anything that I need to do with Windows and my existing skill set? I'm sure that anyone who has little or no Windows experience and lots of Linux experience feels the same way. Both OSs can do the job, so it's dependent on the preference of the implementation team on which platform to use as a base for their solution.
-
Linux will always be a better server than windows, I think is the best option u can do whatever u want with the server and u don't need an ultimate server, if you take advantage of the linux server u will do a great application
I completely dissagree with that entire statement. I manage both Windows and Linux servers and as long as your I.T. group is a competent group, then your Windows boxes can have the same uptime as your Linux boxes. The only time we ever reboot both the Windows and the Linux boxes is when doing updates. The only problem with the websites, and this affects both Windows and Linux, is the quality of the code. You code crap in .net, the site sucks, you code crap in PHP, the site sucks. Code well in .NET and the site rocks, code well in PHP, the site rocks. I code in .NET because well, I'm not that great in PHP, I can fix stuff, but thats my limit. Where as in .NET, I can write huge apps that perform very well. In my opinion, at the current time, Silverlight is the leader when doing LOB apps on the intranet, because it was designed from the beginning for applications, and flash is the leader on the internet becuase it was designed originally to display pretty graphics. On the other hand though, there are some things that are done better with Linux than with Windows. Intrusion Prevention is one very good example. BTW, Linux and Windows is an OS. Not a server. :)
Those who are too smart to engage in politics are punished by being governed by those who are dumber. - Aristotle
-
Using the mod_mono you can have the best of both worlds ...
-
Well, the Internet is probably dominated by *nix, and there are valid reasons for that, otherwise the market would have been different.
Blue_Iced wrote:
I think that has to do with the number of concurrent connections, which are limited in Windows.
There are several huge websites that run on Windows, for example StackOverflow, which handles 1million hits a day[^] with two webservers and one DB server*. That's pretty good in my opinion. In the end, what really matters is how tools are used. It's easy to write a so-so application on any platform, it's hard to build a great, performant and stable application on any platform. *) I wonder how that compares to CP.
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki v3
A million hits a day ? I've deployed a .NET app that used to be serving more than 1 million hits an *hour*. The server is/was running in a dual-"cpu" vmware machine. Initially it was running mono under linux, but we had to re-deploy it on windows server and proper .net when the traffic was going insane (still virtualized though). Mono is very good, but ms still has the edge when you really need bleeding edge performance. Not so strange, considering that mono is still playing catchup. For applications that don't need that kind of throughput, linux+mono+nhibernate+postgresql/mysql and some kind of mvp framework is a truly beautiful and free solution. For development, an msdn subscription with visualstudio is a very good investment though. MonoDevelop is slowly getting there, but it's still quite far from being even comparable to visualstudio imnsho.
-
Using the mod_mono you can have the best of both worlds ...
Do you have any experience with mod_mono and enterprise applications in ASP.NET? I'm curious about how well does it works... Thanks!
-
At work, we have been interviewing several web development companies to redo the company's website. What is interesting is that most companies (9 out of 10) work on the LAMP stack rather than ASP.NET. Of course the choice of technology for the company's web site is not a big deal, but I did find my observation interesting. I did expect the LAMP number to be high but not this high. It seems for content management LAMP is common where as for LOB applications ASP.NET is more common.
I have programmed using LAMP and I can say is a hell to do somehing with it when you come from the .NET world along with Visual Studio, simply there is no way the development tools there can beat what has been built and matured from the begining by MS, for the starters there is MS dreamspark to get started on big league however not many people know about it or even express editions, if its about startups there is MS dreamspark or webspark but very few people know about it, so I think people who choses LAMP is only for the comodity of the $0 price tag but you get what you pay for, the most of people chose LAMP because the most of websites are just basic CMS or company profile sites, not really something that involves high tech custom systems, its so sad people base technology decisions on the price of the OS, that is the only thing that si hard to find for free from MS but anyone can do .NET development really but only underground people that are not statistics know about it but these people do very good money with it :)
-
I, too, was a little irritated that they went commercial, but the free version still works fine. It's like most other Open Source initiatives where you can purchase a support contract for a more solid version of the product if you need critical response to issues. As for .NET, it's the same idea that was described above, by Shog9, for PHP -- most of what you need to accomplish has already been developed. Active Directory and LDAP integration (with client pass-through authentication), WMI, networking and email libraries, encryption, security, file I/O, SQL Server integration, etc. Most of what you need for your solution already exists -- you need only assemble the puzzle to create your application. And, that's assuming that you can't find a C# or VB.NET example on The Code Project that does most of what you need and can be quickly and easily modified to your needs. I'm sure that this argument is simply an indicator of people not wanting to leave their comfort zone, but still curious about what others are using. I wouldn't know where to start with LAMP, but I have many years of familiarity with the inner workings of Windows to make the choice simple. Why should I spend so much time and effort trying to ramp up my knowledge about LAMP (especially when it comes to security) when I can do anything that I need to do with Windows and my existing skill set? I'm sure that anyone who has little or no Windows experience and lots of Linux experience feels the same way. Both OSs can do the job, so it's dependent on the preference of the implementation team on which platform to use as a base for their solution.
I agree. I started with .NET when it was in beta and unfortunately I left for LAMP. I created a number of websites with the LAMP stack, writing a lot of PHP so I definitely have some insight. PHP has matured since then but I wish I had returned to .NET much sooner. Enterprise development is where it's at for .NET.
-
At work, we have been interviewing several web development companies to redo the company's website. What is interesting is that most companies (9 out of 10) work on the LAMP stack rather than ASP.NET. Of course the choice of technology for the company's web site is not a big deal, but I did find my observation interesting. I did expect the LAMP number to be high but not this high. It seems for content management LAMP is common where as for LOB applications ASP.NET is more common.
free vs paid?
-
Dario Solera wrote:
There are several huge websites that run on Windows, for example StackOverflow, which handles 1million hits a day[^] with two webservers and one DB server*. That's pretty good in my opinion.
That is pretty good indeed. But the number of hits doesn't tell us anything about the performance of a server system. Only how popular it is. The number of hits would say something in combination with how many servers there are to handle the requests and the average time that a connection remains open. 1 million hits a day is a lot, but is merely 11 concurrent connections per second.
Dario Solera wrote:
In the end, what really matters is how tools are used. It's easy to write a so-so application on any platform, it's hard to build a great, performant and stable application on any platform.
On this one I totally agree! That's absolutely the main thing... Give the customer what he wants and needs!
Blue_Iced wrote:
11 concurrent connections per second
That would be 11 requests per second. You can't deduce the number of connections without knowing the average response time.
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
At work, we have been interviewing several web development companies to redo the company's website. What is interesting is that most companies (9 out of 10) work on the LAMP stack rather than ASP.NET. Of course the choice of technology for the company's web site is not a big deal, but I did find my observation interesting. I did expect the LAMP number to be high but not this high. It seems for content management LAMP is common where as for LOB applications ASP.NET is more common.
The reason the LAMP number is high is a direct result of the implementation costs. "Company Web Sites" are very common and they're no longer a high value item for most companies. With the existence of frameworks like Drupal and tools like Wordpress and Feedburner and Google Analytics and like 20 different "cart" platforms, a lot of the common business requirements are satisfied by free tools. Outside of the frameworks, a lot of the important work now happens on the design and preparation side: make the site look nice, import / connect with the inventory system, integrate with the supply chain and train a few people on using the CMS (content management system). And then you host the site with Linux, which is free. And that's good because everyone wants the web-site to be cheap. So yes, there are some negative trade-offs here, but they're mostly irrelevant: - PHP is slower, but is your website really going to be under load? - MySQL really suffers under large datasets, but do you really have that much data? - These tools will all have to be taped together, but are users really going to notice? There are also some positive trade-offs here: - Linux is really easy to administer in these "copy-cat" scenarios. Configuring one site can be hell in man pages, but configuring similar sites over and over again is cheap. Until server 2008 / IIS 7, the same could not be said of MS tools. - The frameworks & tools are all free, no license fees or third-party tools means that the client can get their code with no strings attached. - The dev tools are "free" (and so are the devs some times) And this last point is a big one. As a guy who's worked multi-million dollar projects in both PHP and ASP.NET (and ASP.NET on Mono on EC2), trust me that good WINS (MS-stack) development is ridiculously more efficient than good LAMP development. The tool-chain is just so much more evolved. But when you're ordering a web site, it won't matter. Most of the code is just "glue" code and most of the effort has very little to do with development. Most of the effort is design and admin setup with some database work and some configuration work. Plus the average pay for PHP developers is well below that of the "corporate" Java and .NET guys. So the work done on the LAMP stack is done even cheaper. So this is why LAMP dominates the field. The benefits of the WINS stack are basically irrelevant to the task of delivering a good-looking, typical web site. Now don't get me wrong, I love my .NET development. My
-
Do you have any experience with mod_mono and enterprise applications in ASP.NET? I'm curious about how well does it works... Thanks!
Sorry for the late reply but unfortunately no enterprise apps. I was just thinking out loud. But most of my customers (read all) still prefer to pay for software in order to get support. Which for me is very weird way of working. Why pay upfront for something in the hope it will fail and you get your money worth in support ... but I guess this is some kind of mystique power that sales reps have over managers.