Maybe I’m just not looking hard enough, but does it seem like .NET is getting blown out by PHP, JAVA, and even Ruby in terms of presence in social media outlets?
I started this blog partially to evangelize the .NET platform because I think it’s simply more complete and robust than mere scripting languages like PHP, but man, you’d think I was the only person in the universe who feels that way if your opinion of platform popularity was driven solely by what’s talked about in social media outlets.
DotNetKicks is a God-send in that it reminds me that I am not alone in what often feels like the isolated world of being a passionate .NET developer, and occasionally I see some ASP.NET articles float their way to the top of DZone; in fact both my article on Phalanger and on designing data layers in .NET made it pretty high up on DZone’s front page for a time.
Channel 9 at MSDN and the ASP.NET forums are both good .NET communities, but they are not social media outlets.
So where in the hell are all of the .NET programmers, users, and enthusiasts on Digg, StumbleUpon, and Reddit?
StumbleUpon is by far the biggest disappointment of the lot; the .NET programming group on StumbleUpon has 79 people in it and the ASP.NET group has 97 members in it, many of whom are already in the .NET programming group. Out of the 3.4 million people who use StumbleUpon, the vast majority of whom reside on the high end of the technological literacy scale, we can’t even get more than 100 freaking people to Stumble ASP.NET-related topics?
Jesus, even the JAVA group has 500 people in it, and not to mention people actually reply to the discussion threads on that board. Take a look at the discussion on language preferences that I posted on StumbleUpon’s web developer forum; not only was I the only .NET developer in the house, but some of them went out of their way to describe how they’d “avoid .NET like the plague.”
Are the things that we do as .NET developers so god damn boring that they don’t even merit an occasional stumble or maybe even a hat tip in the “what’s hot” section on programming on Digg?
No, I don’t think it’s that what we do is boring, not by any stretch of the imagination; I think .NET is just getting its ass handed to it in terms of publicity in social media. Lullabot’s Why Not ASP.NET? article from August asked why there aren’t any high-profile start-ups advertising their use of .NET, or even are there any high-profile start-ups using .NET?
I went out and contacted Omar AL Zabir for my PageFlakes interview, simply to exemplify a cool new Web 2.0 company that uses .NET, and I know there are others out there.
For the love of God can we as a community of developers do a better job promoting our own work and platform? If you believed what you read on Digg you’d think that .NET was as dead as ML!
I’ve taken some initiative and joined all of the .NET facebook groups, the StumbleUpon groups, and if I ever even see a .NET article appear anywhere near Digg I will almost always vote it up given that it’s not complete and utter garbage; I would love to see other .NET developers join me in increasing .NET’s visibility to the developer community and the Internet at large.
If you want to get started, go ahead and sign up for these services and then you can use the links below to add me as a friend.
If you enjoyed this post, make sure you subscribe to my RSS feed!
Comments 73
Hey,
Thankfully i googled onto your “Starting your First Facebook App”. Learned more in 5 minutes than i had in hours elsewhere. (What a difference a “slash” makes!!!!) I look forward to reading your stuff. I am an “old horse” programmer – started with COBOL and dbaseII – (I know …. way before your time) . I got dragged kicking and screaming into .NET and love it. Only been doing it for a couple of years, so have a lot to learn (and un-learn ;-> ) I’ll try and do my part in the revolution! Keep up the excellent work.
David
Posted 19 Sep 2007 at 12:55 pm ¶This was a brilliant blog post and I’ve added you as a friend on Digg…!!
I think part of the reason for your observation is that .Net companies haven’t really been bought since all the “big buyers” out there (Google in the front) are purchasing about everything ELSE than .Net companies (interestingly NOT Writely though which WAS a .Net company) which again makes PHP and other “non-.Net” languages get a bad reputation in Sillicon Valley from which most of the Social Media Web2.0 companies arises from…
This makes most bloggers and such (trying to drive traffic to their sites) learning PHP, Ruby and Java etc which again makes the .Net world focus way too much around MSFT…
In fact if you look at the spread of languages you’ll see that .Net has about 25-30 % of the world EXCEPT in the “Valley” where they have like __5%__ of the developers….
This makes the .Net world be WAY less visible, but you’re not alone…
This is truly way sad since especially the last 6 months Mono has truly become an AMAZING platform making .Net FAR more than just a “Microsoft platform”…
Check out my blog at; http://ajaxwidgets.com/Blogs/thomas.bb
Btw our library is also “perfect blogging material” if you’d like to write something about us…
Thomas Hansen
Posted 19 Sep 2007 at 1:44 pm ¶I think a lot of it has to do with the quality and price of available toolkits. Let’s take RSS – you won’t find a better feed parsing library than feedparser.org. It rocks, it’s built in python, and it’s free. Databases? Let’s see, do I spend thousands paying for SQL Server 2005, et al, or do I just download mySQL for free and be done with it? Most startups don’t have + cash~. Many don’t have funding. Paying for software sometimes just isn’t an option. (Neither is piracy)
Posted 19 Sep 2007 at 2:31 pm ¶Non open source technologies are simply not hip. The main reason for that is that developers who are passionate about their work like to invest in technologies that feel more like their own. It doesn’t necessarily mean that you’ll open the source code, but you can, or that you’ll fork it to shape it to your own taste, but you can.
I personally find it a total waste to invest my time in anything Microsoft.
Posted 19 Sep 2007 at 2:35 pm ¶I agree that .NET is a great technology and it gets basically disregarded by a large number of developers. I used to pretty much be a Java fanatic until I really started using .NET. I really like it a lot now but I still write code in other languages.
I think it’s important to know the other technologies and use whatever one makes sense in the context — It really depends. I do believe Zack is right when he mentions that a lot of the popularity of other options comes down to the price tag. It does help that options such as mono and xsp are out — as well as the express versions of the visual studio IDEs.
Posted 19 Sep 2007 at 2:50 pm ¶I’ve been working with .net since the first betas in 2001. It’s gone down hill since version 2.0 of the framework.
Posted 19 Sep 2007 at 3:12 pm ¶I’m actually embarrassed to say I work with .NET. It’s over bloated, takes more code, doesn’t have close to the vibrant communities other platforms have. It’s essentially another pitiful Java.
Normally I don’t get involved in language discussions, as I rarely find much of substance said by any side. But I figured in this case to as least try and eloquently convey my personal beliefs in working with Linux and Java. For me it comes down to who do I want to support. If I put massive time and resources in building an application on a platform I choose to consider who else will benefit from my efforts. I choose to work with open platforms, because I know that by drawing attention to those platforms that this will draw resources to them and those resources will produce a better platform that (because it is free) will be available to everyone else. If I put basically the same amount of effort in a closed platform I am only empowering the provider of that closed platform to become even more powerful which time has shown is the case with Microsoft.
Now I admit to being pragmatic with this philosophy, after all as soon as I was able to afford a copy of Office 2003 Professional I ditched Open Office, but then comes the fact that platforms like Linux, Java (the JVM and the language), Apache, MySQL etc. really do provide compelling value beyond what Microsoft has created. Just try and do something like Amazon’s EC2 with Windows (the licensing model alone makes it unrealisitc). EC2 is an indispensable aspect of the analytical engines in my software now, and my years of Linux experience made the transition seamless. Mono has not been a realistic option in bringing .NET code to non Microsoft OSs so far, so this has a huge impact on considering any other Microsoft technology in my stack. As for some of the cool things that the .NET CLR is working on (like LINQ), I don’t see enough to convince me to switch from a platform that has kept pace with my needs for several years now. Anything I have seen LINQ do, JPA, Hibernate and home grown persistence frameworks have done, and as Ruby gains strength I can take comfort in knowing that the JVM was designed for more than one language in mind from the beginning (in fact they are up to over 200 now), so my question back to .NET advocates is why does Microsoft think .NET is anything new?
I Hope that this post isn’t scrutinized as much as it probably deserves to be.
Cool Blog, I have enjoyed reading it.
Posted 19 Sep 2007 at 3:13 pm ¶.Net suffers from a number of problems, the main one is that it is by Microsoft. MSFT has one goal, and that is to sell copies of Windows. They give .net away for free (including the express IDE) for a reason. To sell copies of Windows. Anything and everything MSFT does is to promote their platform, lock people in, and control it all. For them, getting people to upgrade their PCs is their ultimate goal, and .net is their means to that end.
The problem .net developers have is that by adopting, and advocating .net, you are essentially helping, supporting and siding with their position even if it is implicit. By creating products that require .net 2.0, you are forcing people to updgrade to XP SP2, or Vista or later. Next, people will be forced to upgrade to vista to use .net 4.0. Additionally, I like to get religious about my languages and tools, which is hard to do when the sole owner, creator and controller simply sees it as a way of twisting arms to OS upgrades.
Additionally, how long before .net is defunct? Anyone remember Microsofts DNA platform from 2000? When .net 7.0 is virtually the same as .net 8.0 and nobody sees a reason to upgrade, how are microsoft going to force people to upgrade then? By creating a brand new platform for developers and users alike to buy into.
Now, I’m not a typical anti-Microsofty, they can do what they want and I don’t really care, but I don’t want my development platform determining which OS I’m going to be using, now or in 5 years time. (I’m still on Win 2K on personal machines).
However, Microsoft completely missed the boat by not making .net multi-platform. Multi-language is ok, but irrelevant, if they had pushed the multi-platform side they could have fared much better. Nobody wants lock-in, and even though we had the news hype about corel creating .net for linux, and even though mono is around, but always lagging, they still cannot be multiplatform which is in complete opposition to what they were “pretending” to be aiming for. They don’t want to compete to be the best OS provider for the .net platform, they want to be THE ONLY OS provider for the .net platform.
In terms of less political considerations, I found Java to be more OO oriented. .net is still about hooking up gui controls to cursors and performing updates, the type of faux OO applications that Delphi excelled at for years. Java is about true OO with many good ORMs, and a community that is well versed in OO principles, even if they don’t always practice it.
Posted 19 Sep 2007 at 3:15 pm ¶1) because there are more linux servers on the web (because its free) so noobs get started with it and never learn .net.
2) scripting languages are easier for noobs to learn than oop.
3) MySpace runs on .NET, and don’t forget about plentyoffish.com
Posted 19 Sep 2007 at 4:46 pm ¶btw… “I spend thousands paying for SQL Server 2005″… ummm it’s FREE. You only need to upgrade for important stuff (dual proc support and 4GB+ db’s – the most important in my opinion). By default it is better than mysql.
Posted 19 Sep 2007 at 4:49 pm ¶You’re right on about this, it’s not just social networking though. Look at wordpress and show me the .net equivalent.
Here’s a question, has .net really made it any easier to solve your programming problems? I’m not so sure that everyone agrees that it has.
Also, licensing. If you want to get a new company off the ground and need 20-30 servers running sql server 2005 guess what that’s going to cost. A Ton! Not to mention the OS and other servers you’d need to power the web app on the IIS side.
Posted 19 Sep 2007 at 5:53 pm ¶As a commercial user of the excellent F# programming language (an ML for .NET), I found the statement “you
Posted 19 Sep 2007 at 7:35 pm ¶edit: excuse me, I did not make myself clear.
I think most of the complaints about .NET/SQL Server licensing costs being a barrier to running a company are complete and utter bullshit, frankly, given that those products are free
As for the stab at ML, I only make fun of it because I had to learn how to program it.
Posted 19 Sep 2007 at 7:48 pm ¶SQL Server Express is free.
ISS is free.
Windows Server is cheap, chances are your start up is going to be on someone else’s VPS anyways until you start to get bandwidth issues.
A startup won’t need more than SQL Server Express’s capabilities, if your expecting to need more than 4 gb databases right away, then you probably have some venture funding, and can afford the license for the full version.
There is really no reason to not work in .NET aside from ignorant arrogance.
BTW, Windows Server 2008 and IIS7 are hands down the best server solution I’ve ever worked with, and yes, I’ve done plenty of stuff on LAMP setups too. Windows Server is going to completely dominate the professional market in a few years.
Want a good job? Learn .NET. Want to work for a poor development house? Learn anything else.
Posted 19 Sep 2007 at 10:12 pm ¶Hi,
Posted 20 Sep 2007 at 1:52 am ¶I think one of the reasons is because MS stands behind it. Company that uses its monopoly position to drive others out of business and creates lock-in solutions while accepting (and crippling) industry standards when it likes. Real developer should care about interoperability and standards as it foster new innovation and creates communities. MS represents none of this.
Hi,
Good post and great point noted. I also try and click on Dot net related article every where and try to my level to increase the knowledge of the framework in the community
Posted 20 Sep 2007 at 7:42 am ¶Speaking as some one who actually started a company built out of software I programmed myself, I feel I can say with some authority that licensing costs are in fact not “bullshit”. Furthermore I can actually back that claim up. As Radio Mixtape was scaling up I went from some spare CPU cycles on a shared box (an Athalon 1600+ with 256MB RAM) to 3 dedicated web servers (Xeon 1.6GHz with 1GB RAM). These were all Linux boxes (running Slackware 10 at the time, now I am all Ubuntu), and load balanced through a proxy application called Balance. The total cost of the upgrade? $1,800 + shipping (Gateway had a promotion where they were selling 1U servers for $600 if you selected “no OS”) These three web servers operated with 100+ day uptime (occasionally I chose to upgrade key packages the required a reboot), handled scaling to over 30,000 users (with hundreds of thousands of downloads) and all with out paying anyone for anything other than hardware, power and bandwidth. For the price of the OS licenses alone I was able to increase my reliability (by having a dedicated load balancing server) and I had a platform that I could scale out as far as I needed.
Now that Radio Mixtape has run its course, but the same servers power my new company. They run the most current Ubuntu Linux release which is packed with even more value and functionality (remember what helps one Linux community helps all Linux communities), and all of this value has come at absolutely no cost. If I wanted to reap the value of Microsoft’s latest OS I would have had to purchase all new licenses.
Sorry if I come off sounding snarky, but I have spent the last 5 years of my life putting my money where my mouth is, so I feel more than a little bit obligated to chime in when people say that real business challenges are “bullshit”.
Posted 20 Sep 2007 at 10:40 am ¶-Jason
Jason,
No, I believe licensing costs are a legitimate issue for businesses, and that’s not what I meant in my comment.
I was addressing commentor vic and others who claimed imaginary licensing costs for the Microsoft products that we are talking about, and this is bullshit given that .NET, SQL Server Express, and even the Visual Studio development tools are all free.
There are costs for upgrades (as one reader pointed out in the comments) and for the OS itself, which ships standard with the web server already configured.
My point was that a lot of readers, like vic cite imaginary costs for .NET applications. Having designed and implemented large-scale systems myself I’ve saved clients I’ve worked for thousands of dollars by using the express editions of SQL Server on their WSE 2003 servers.
Your post however was very articulate and well thought out, and not in the same camp as those I was addressing. I think open-source and free technology is terrific, but the discussion here pertains to reasons why .NET isn’t publicly recognized more often, and when some readers site “IMMENSE LICENSING COSTS” for products that are free, that’s when I call bullshit.
Posted 20 Sep 2007 at 10:56 am ¶Oh my bad then
And thank you for your honest response (you really seem to care enough about your blog to stay on top of comments that could quite easily get out of control, a hard task). I should admit to being quite impressed by .Net as a platform, I have just come on the other side of the argument (is there any?) in favor of what I feel if not just a capable and useful but also open platform. In my current company (not linked to my previous company) I am aware that at least one competitor is building their app on the .NET platform and leaning rather heavily on the cache that .net brings to their solution. I expect their offering (at least 8 months away from being publicly launched) to be formidable, but I think our offering will have them beat on scalability (assuming they are on equal footing in terms of functionality).
But I’ve been in this business long enough to remember what ASP and VB6 did to web app development, so it seems like I could be well on my way to barking at the young kids on my lawn for playing with the new fangled frameworks (wow, did I really butcher that joke). I am at least comforted by the fact while at least 3 generations of Microsoft development platforms have emerged Sun Java has kept pace with developers needs quite well. The way I see it (and yes that makes this just a personal opinion), as I have become a stronger Java programmer the Java language has evolved to give me more value, while my Visual C++ skills (I got my start developing COM/DCOM objects for IIS) and Visual Basic skills have become obsolete (and now my C# and VB.NET, are getting rusty).
It seems that Microsoft hasn’t yet shown the ability to introduce something with a long term vision. Their business model relies on locking someone in and getting them to repurchase and relearn in intervals. Granted they are quite successful in this, but open frameworks with open models have shown a tremendous ability to catch up and they aren’t subject to the same kind of fundamental weaknesses. When faced with thous considerations, a lot of hopeful developers will choose the platform that not only meets their immediate needs, but will grow with them.
Many of the technologies that we take for granted today were once proprietary, but over time the knowledge to create them became apparent and they transitioned into commodities, and from there they reached new heights because everyone was free to take what mattered to them and improve on it and thous improvements could be shared and grouped back into the main branch of code (or split off entirely to live their own life in their own community). I think what is happening now is that we are seeing the commoditization of the Operating System and the Platform. This process will always be detrimental to the company who’s value exists largely because the OS and the platform is proprietary, but the cat is out of the bag. Microsoft will try like hell to innovate in their core spaces, but I would guess that each round of upgrades will return smaller and smaller results.
But time will of course tell.
Posted 20 Sep 2007 at 11:34 am ¶Jason,
I’m a bit behind on keeping up on my comments; I’ve had a large amount of exams this week and this article has produced a lot of comments both here and on DZone, so I’m a bit spread out trying to wrangle in the discussion.
I think you made an excellent point here:
“It seems that Microsoft hasn’t yet shown the ability to introduce something with a long term vision. Their business model relies on locking someone in and getting them to repurchase and relearn in intervals. Granted they are quite successful in this, but open frameworks with open models have shown a tremendous ability to catch up and they aren’t subject to the same kind of fundamental weaknesses. When faced with thous considerations, a lot of hopeful developers will choose the platform that not only meets their immediate needs, but will grow with them.”
That’s as good as reason as I’ve ever heard for not using .NET.
However, my response to that would be that given that Microsoft is trying to build their own operating systems on top of .NET (that was the original vision for Longhorn, which later became Vista), I’d speculate that there is a good probability that Microsoft plans on keeping .NET around for the long haul; the amount of development behind .NET is considerably larger than the amount behind ASP. .NET represents more than a development platform to Microsoft; it’s their vision for the future of software engineering – managed environments, common language runtime, and service-oriented architectures.
Personally I’m never going to work with C++ again; I worked on a research project where I was implementing a complicated network protocol using the ACE framework and managing the memory in my C++ implementation became a total nightmare. It was probably my lack of experience compared to people who have been doing network programming for longer, but the experience was enough to move me to stay either with JAVA or with .NET.
One thing we can agree on though is that a legitimate platform like J2EE or .NET is a step above simple scripting languages.
Posted 20 Sep 2007 at 11:57 am ¶I am sorry I cannot not comment on some of the definitely wrongs given here in these blogs…
Posted 20 Sep 2007 at 12:04 pm ¶.Net is an OPEN platform…!!
Mono will at the pace their now keeping probably come out with C#3.0 BEFORE Microsoft will…
We have several paying customers running commercial apps on Linux and Mono *Gaia Ajax Widgets)
As a .NET addict coding in C# daily for a living and for fun after hours, I added you as a friend in digg
I’m already posting my articles to digg.com but I’ve noticed that .NET articles don’t seem to get many votes. My own article on string performance which is quite technical .NET content only got 5 diggs
Ah well, as long as I can enjoy my day to day job coding in my most favorite language, and manage to fill my evenings exploring all ideas I’m quite happy
Posted 20 Sep 2007 at 12:22 pm ¶These are the most naive comments I’ve seen in a while:
“Windows Server is cheap, chances are your start up is going to be on someone else’s VPS anyways until you start to get bandwidth issues.
A startup won’t need more than SQL Server Express’s capabilities, if your expecting to need more than 4 gb databases right away, then you probably have some venture funding, and can afford the license for the full version.”
Doesn’t take much to fill up 4 gigs buddy. Talk to a dba.
Posted 20 Sep 2007 at 3:01 pm ¶Thomas Hansen,
Posted 20 Sep 2007 at 3:08 pm ¶Your comment alone, may be what it takes to get me off the Java wagon, Gaia Widgets is rather cool.
-Jason
I can’t actually digg any .net stories though, I’ve got a reputation to maintain
Posted 20 Sep 2007 at 3:09 pm ¶@startuper,
I don’t think any of these comments have been naive at all. Maybe I haven’t been reading them close enough. The comment you cite is actually right on though for two reasons:
1. If you’re boot-strapping a business with your own cash, running your start-up as a side project, like how many start-ups begin, then you’re not going to run out and buy a dedicated server, the kind where you have to pay for licenses, to begin with if your business is capable of being boot-strapped.
Why? Because unless you have some marketing channel that can direct a high enough volume of customers to merit having a dedicated server right out of the gate, it makes no sense to invest a huge amount of your own cash into dedicated servers. If you have no customers, then why pay for so much extra capability in advance if you have no way of guaranteeing that your business will grow rapidly, if at all?
You wouldn’t unless you had enough economic capital to render the cost difference between using a shared host versus a dedicated host irrelevant or a method of rapid user acquisition, like spinning off a start-up from an existing, successful operation.
The point of all this: worrying about licensing costs is pointless if you’re not buying a dedicated server because shared hosts already factor those costs into their service fees. As was already mentioned, the cost of developing in .NET is free thanks to express editions. So really, if you’re boot-strapping a start-up and you don’t have sufficient cause to anticipate rapid growth right out of the gate, what’s the point of buying a dedicated server in the first place?
2. If you’re running a funded start-up as a full time job, then it absolutely makes sense to plan ahead for growth and scalability by investing in dedicated servers, given that you have the capital and economic reasoning to justify the purchase.
That question is really what’s at the heart of the manner. Simply citing the fact that LINUX/APACHE/PHP = $0 and .NET > $0 as a reason not to use .NET is irrational in that it doesn’t take the full costs into account.
This post has inspired me to write a new article sometime next week, in which I will get some quotes from IT professionals about the costs of .NET-based equipment for start-ups of various shapes and sizes, some thoughts on the intangible benefits of .NET, and most importantly, actual costs/benefits analysis of .NET against those of other systems.
Posted 20 Sep 2007 at 4:56 pm ¶I’ve been wondering the same thing as well. I love .NET but I admit I have not worked with any of the newer languages/platforms like ruby. If I remember correctly, every other post was about Ruby last year on Digg (not really but you get the point). I agree with some of the comments that said anything Microsoft is just not “cool” these days. I think that plays a big part and also perhaps many .NET developers are corporate types and don’t really get involved on the net and open source as much.
Posted 20 Sep 2007 at 7:52 pm ¶I was already a very active Java developer for a few years when i heard of all the hype of C# and .NET but what I keep asking my friends who brought me the hype was, “Just tell me one thing I can do with .NET that cant be done in Java”. and for God sake dont start with all those CLR this and that techie stuffs, clients dont care about those. IMO, Pushing VB away so fast I think was a big mistake in some ways. Take a look at my post on this
http://blogs.cowblock.net/dabar/2006/11/28/java-programming-discussion-tops-nairaland-forum/
Posted 21 Sep 2007 at 10:22 am ¶@dabar
Several years ago (during the .Net 1.0/1.1 period) that was probably true, .Net was just “another Java” with fever libraries and no portability. Today however that is not true, look at this e.g.;
List tmp = GetSomeListFromSomewhere();
tmp.RemoveAll(
delegate(Customer idx)
{
if( idx.Name.ToLower().IndexOf(”thomas”) != -1 )
return true;
return false;
});
.Net and especially C# is already a way more syntactic nice and rich language than Java (don’t start a religious debate now please ,) it’s a FACT)
In addition with the new stuff coming out in C#3.0 like anonymous types, LINQ, type deference, etc I think C# especially will definitely leap forward several generations beyond Java and thereby making the code way easier to maintain in the “long run”.
In addition with the Mono project basically going at the speed of light these days .Net is probably more portable (BINARY portable) than Java is for most platforms…
We’re building our Linux/Mono distro in Visual Studio in fact for our library (Gaia Ajax Widgets, follow my signature)
.Net truly rules and especially if you’re using the C# parts…
}
{But STAY AWAY from VB.NET!!
Also with all the “n” projects; nHibernate, nUnit, nCover, nAnt etc .Net are almost having the same amount of library support these days as Java have so I think the only remaining reason to not switch is almost at the level of; “I know Java from before…”
.t
Posted 21 Sep 2007 at 10:49 am ¶I think people who say that MS costs too much for a start up aren’t really in tune with what is actually out there.
I think the hosted benefits and inexpensive costs of .net were well covered above.
I have a website one step above that on a dedicated server….
I launched an online website 2 years ago (it was technically a relaunch of an existing website) using MS products after 3-4 years of SAP programming (ugh!!!!) It was my first exposure to asp.net however i was well versed in html and classic asp from the olden days.
Total money given to microsoft to launch my business and run it for two years (so far…)
1) Windows Server web edition (on dedicated dell hardware) $399
2) wait…. there is no number two….
I run sql server express and will never reach the 4 gig limit even with very active message boards because I don’t store any binary type stuff inside it.
So long story short, my site is very successful in my niche market and gets tons of pageviews (for my niche anyway around 800k a month) I have made a lot of money selling ads the past two years and quite frankly I spend more on my cell phone bills selling ads than I have given microsoft.
Fast forward I am involved in a new startup company where I am employed full time with private investment money. We are building an app that a niche market will run their entire shops off of our web site. We have a solid model and we have taken great pains to spend money on infrastructure so that we can minimize downtime.
We ended up with two server stacks that are identical, one for the production app and the other for a DR / failover / UAT situation. Again this is a fairly well funded start up but here is what went to microsoft:
2 msdn licenses (support instances, visual studio pro etc for our two developers) ~1600
4 Windows server licenses ~2800
2 SQL server licenses (couldn’t use express because of our failover situation) ~10,000
So microsoft has about $15k of our startup capital. Dell has a heck of a lot more than that just in hardware!!!
For the scale application that we are doing, if you can spend 15k and never have to build a kernal, never have to worry about things breaking etc its wonderful. Windows server / SQL is simply solid as a rock, it never breaks. If we do use our support instances it will be with ms themselves finding out what stupid code we wrote ourselves
Even if you only get a shelf life of 3 years on the OS (and I expect it to be more like 5) then you are talking a 5k per year investment that is already included on the 3 year dell lease anyway. Its not like we had to come up with the cash up front in that situation. So back to the point if we are able to build an app that can support a full team of sales people, developers, and helpdesk 15k over 3 years is nothing.
Supposing (I pray!) the company does well and I need to add more servers / db boxes. Great problem to have!!! The amount of money going to microsoft is a pittance compared to the money you are making at that point.
I am located in florida and from the view on the ground here I see more companies like Fidelity etc moving off of J2EE and going with .net. Ruby etc aren’t even on their radar. Actually most of the larger companies don’t use PHP for their web presence either.
I know the question of the article wasn’t about fortune 500 type companies but social media. I just wanted to follow in the M$ costs vien of the thread. I am more interested in being able to get a job in the city I live in and feed my family than debating which non-microsoft programming language is the most elite.
Posted 21 Sep 2007 at 7:13 pm ¶Java, Python, Ruby, etc embraces Open Source. Microsoft and therefore .Net does not. Open Source encourages participation and communities. Developers using Microsoft technologies are used to being spoon fed frameworks and tools from Microsoft – IDE, web framework, database, the whole shebang. I guess that it’s hard to foster a community around products that you have no say in, no ownership of. Microsoft could have embraced Nant, Nunit, NDoc, etc but have chosen not to do so. Is it really surprising that .Net gets it’s ass kicked in social media?
I develop in Java and C# for a living but I’d much rather code in Python, Groovy, Ruby, etc as they’re fun and I don’t need a huge frickin Wrox book to get started. There are a couple of disparaging comments about scripting languages, noobs, etc. First of all only noobs say “noobs”. Secondly, many scripting langauges support OOP just fine. In fact, I’d go as far to say that many are a lot more expressive and elegant.
Posted 21 Sep 2007 at 7:18 pm ¶.NET user here.
Thanks for the article, didn’t even know about some of those other social sites, will check them out next week.
I’ve stopped going to a lot of those sites for the fact that most of them are filled with whiny ass people who have no maturity level. Try reading a thread on slashdot nowadays… worthless.
I’m a big user/promoter of SubSonic. If more projects like it crop up, .NET will get bigger.
DNK is also another awesome site, that’s how I found this blog.
Keep up the good work, we’re out here, we just don’t talk as much as some whiny Linux/Slashdot peeps.
Posted 22 Sep 2007 at 6:46 am ¶whom you are fighting for?
Posted 22 Sep 2007 at 5:09 pm ¶you sound like you are crying for a battle
i’m a .net developer and i use php sometimes
yes, i can debate for hours about the advantages and disadvantages of .net and php and java
but i’m profissional enough to not consider programming laguages as a relegtion
No one is crying for a battle; I was asking why .NET doesn’t get represented more often in social media, and then I subsequently urged more .NET developers to publish their works/blogs on the subject.
Posted 22 Sep 2007 at 6:02 pm ¶“.Net and especially C# is already a way more syntactic nice and rich language than Java (don’t start a religious debate now please ,) it’s a FACT)”
I see, we cannot debate it, just take your opinion as fact? Tell me exactly how many key strokes do I save for the sake of clarity? If your code sample is meant to illustrate the richness of c#, then I think it fails terribly since it only demonstrates how so called features can really screw up clarity. Which do you think are the two biggest complaints about written code? Lack of richness in the language used, or a lack of clarity in the code that is written?
Regardless, it appears you are getting a list of customers and removing or keeping them if the name starts with Thomas? What’s wrong with a simple loop iterating through the customers? It’s about the same amount of code, and is far easier to read what’s going on. As for nAnt, nHibernate etc…yes, you are starting to get beta and first versions of java projects that have launched, become successful, and have now faded and be improved upon. hibernate-> hibernate 3.0 with JPA, ant -> maven etc.
We considered .net, but one consideration was that we would need 3 or 4 server licenses for our dev, test and production environments, and possibly one for training. There’s over a $1,200 there without getting into dev tool costs. As for Visual Studio being free, there is a reason for that, namely because it lacks capabilities provided in the professional versions. You may get by with it, but most pro developers won’t use a crippled dev tool as a basis for a new project.
There’s also a reason Microsoft is giving this stuff away, because once you are hooked, and have bought into their framework, you have no choice but to keep paying them for it, especially with SQL server where you are more likely to need a non-free version of SQL before anything else. The whole notion of ‘Hey if I have enough customers to need to pay for upgrades, then I won’t mind paying Microsoft’ is ridiculous. Why pay anyone when you don’t need to, and if you must pay someone, take a look at Red Hat who offers the same kind of subscription and services and if you fall on hard times, you can use the same software for free.
At the end of the day, you are like a kid choosing between two sweet shops. In one, 95% of everything is free and in the other 25% is completely free, 25% is purely commercial, and you can sample the rest for free, but you have to pay for them to use them. However, both sweet shops offer the same sweets.
Also, talking about hardware costs and OS costs, when you buy your hardware, 2 days later, you still have an asset that you can sell for…what 90% of the cost you bought it for? With Windows, I don’t think you can re-sell it, so the comparison is kind of apples and oranges.
The one are .net does excel in is the kind of hosting you can buy. You can buy budget asp.net hosting for $50 for a year. Java hosting has not caught up with that yet.
So if mono is beating Microsoft to a .net 3.0 implementation, can I assume that every .net app will run on mono then, or is it just the fact that mono can run hello world in .net 3.0 before Microsoft can? Bit of a red herring there. Regardless, there is still the patent time bomb, and Microsoft has no intention of allowing a more capable .net platform than windows.
Still, enough for me is that I don’t base my development tools around Microsoft’s OS sales schedule.
Posted 22 Sep 2007 at 10:50 pm ¶@Delphi’s Ghost
I actually pitty you so much I decided upon not to answer your comment since it’s obviously stuffed with religious quasi opinions, bit there is one mis-fact I cannot let go through here;
“So if mono is beating Microsoft to a .net 3.0 implementation, can I assume that every .net app will run on mono then, or is it just the fact that mono can run hello world in .net 3.0 before Microsoft can? Bit of a red herring there. Regardless, there is still the patent time bomb, and Microsoft has no intention of allowing a more capable .net platform than windows.”
We have several paying customers that uses Mono together with Gaia and MySQL. These are fully fledged applications which could be if you’re a little bit sober when implementing them be moved back and forth between Windows and Linux without thinking about it. Mono is 100% binary compatible with ASP.NET 2.0.
Also regarding the “patent bomb”;
This is FUD from MSFT just like the “patent bomb” about Linux and OpenOffice a couple of months ago. Should you stop running J2EE on Linux because MSFT says they have 230 patents broken in Linux and Open Office without mentioning which patents they are? The situation ios the same for Mono. MSFT has not shown which patents and they don’t want to show either, they just want to make FUD around a potential very threatening FOSS piece…
But I see you are an “angry man” with an unhealthy devotion for your favorite tools and that it’s probably impossible to argue against you. But please go back to your fan club, we were having a healthy discussion here about something you’re obviously not able to contribute to…
Posted 23 Sep 2007 at 2:05 am ¶Ummm, I post something that seems reasoned and debateable, and am called angry, religious and fanatical in a post which is itself angry, religious and fanatical, and then goes on to re-iterate my own points as a rebuttle to…my own points. Twilight Zone-ish.
The patents are FUD from MSFT? But that would suggest that while everyone is trying to sell the idea of a cross platform .net, MSFT is busy trying to scuttle the very project that gives it the status of being cross platform….which would invalidate the idea of a cross platform .net given that it’s main benefactor is opposed to the idea on the basis that they want to run it solely on their own OS.
Yes, I know .net is binary compatible, that was my point. While Hello World might run on both .net and mono, it’s a bit of a mis-fact to suggest that .net is finally cross platform since binary compatible does not mean all the libraries are compatible. What about all those third party GUI components that rely on windows messages to function properly? I realize that it takes some foresight to create a truly cross compatible app, but then we are back to the old days of C++ cross compatible code where you had to write certain sections ‘per platform’. Not so with Java. (I know the java cross compatibility is not perfect but it is not non-existent).
Microsoft has given every appearance that it intends .net to be cross platform, from paying Corel to implement linux.net to having their skunkworks .net implementation project ( I forget the name) which gave the hint that it *could* be ported over. They dressed up C# / .net as a ’standard’ with the implication that there will be more than one implementation. They have given this whiff of cross platform-ness because they know java has it, they know users want it. Users know they want it, and Microsoft knows they cannot deliver it since it is at odds with generating revenues from OS sales.
I’ve seen .net advocates lament over the issue of cross platform compatibility, and lambast Msft for its singular platform stance. I’d love for .net to be absolutely cross platform compatible, heck, lets build OS’s built on top of it, and really have one true cross compatible framework, where apps will run on multiple OS’s without recompilation. Do you think Microsoft will support that idea?
I don’t think people get religious about .net for a number of reasons :
1) It’s Microsofts tool to sell OS upgrades
2) A portion of .net developers are forced to use it on the basis that it is the current Microsoft technology (nobody ever got fired for buying IBM syndrome)
3) It is far less open, open technology attracts the same kind of people that create communities and are more likely to get religious.
4) Microsoft is a lot less relevant that it used to be.
As for my preferences, I have none, except that I have been using Delphi for nearly 15 years, and as we are moving on, we considered .net and Java as options, and given Microsofts history, and the open-ness of Java, we opted for Java. This was in the last 6 months, so it’s not exactly like I have spent years getting attached to my new development tools.
Incidentally, I just noted that our host has a link to an article on “Designing a Great Data Layer in .net”. I’m certainly not disparaging our host, and I applaud the post, but this kind of layered design has been the foundation for Java application development for years.
Good OO design is the other reason I chose Java since it is ingrained from the API level up through 3rd party open source frameworks (unlike Delphi!). A lot of this stuff is absolutely beautiful from an OO perspective while .net is still forcing the same old Delphi strategy of quasi-OO with zero code re-use and simply thrusting the code wherever it is executed (Linq is another example of an achievement’ that makes it easier to do things badly).
My prediction is that in 5 years MSFT will have moved on to the next thing, and the .net jobs will be maintaining the spaghetti code created through visual studio promoting bad design.
I’m more than happy to trash linux (still not ready for the desktop despite claiming they are for the last 10 years), open source (how many notepad clones do you need) and java (memory hog) as I see fit. They are all ripe for criticism. However, the topic was about .net not having as much social media exposure, and my posts were based on that. .net doesn’t attract the kind of people that give social media exposure.
Posted 23 Sep 2007 at 10:02 pm ¶@Thomas
Still you havent answered my questions, what do clients care.
2. Some clients who bet thier business on VB series have liquidated. PHP will never die cuz its open active community, Java will not die cuz its now open source and it has a huge community, Phython Ruby etc because its built on a community free to express themselves and this people contribute fixes everyday. If M$ wants C# to kick ass, let them give it out to the community, then i can bet my future on it.
3. Come to think of it? Can your product become a future threat to another M$ product building on thier technology? What if Google was entirely running on C#? If Mono will promote applications on Linux increasing the adoption of Linux, Will M$ smile and be happy? Dont sell your future for some code sugar
Posted 24 Sep 2007 at 3:44 am ¶@dabar
Posted 24 Sep 2007 at 4:17 am ¶I don’t really know how to answer your question when you obviously don’t want to listen to my answer…
http://www.google.com/search?hl=en&q=mono+C%23&btnG=Google+Search
Mono is an OPEN SOURCE project, it’s got hundreds of thousands of users and it increases like a rocket in it’s userbase every day…
It’s maintained by one of the largest SW companies in the world with more than 25 years of history (Novell which also owns the SUSE and have a long term commitment towards Open Source) and there are lots of people working on the project and many of them even have it as a full job…
And Mono is built on a 100% standardized language and platform, to say that this is “MSFT’s property” is just like saying that the x86 architecture is “IBM’s property”…!
Regarding Google and .Net, Writely is written entirely in .Net (don’t know if it’s Mono or Microsoft.NET though)
And also I am not saying that “Java will die”, the only reference towards Java I’ve ever had (in this blog) is that C# is a more expressive language with features that Java does not have…
If you’re going to argue then first get the facts dabar…
Ladies and Gentlemen,
The comments are getting a bit inflammatory; while I still consider the level of discussion healthy and productive, I would like to ask that we do not allow this argument to explode into a flame war.
In addition, the Akismet spam filter has been picking up false positives like crazy lately; I’ve had to painstakingly sort through mountains of spam to retrieve legitimate comments left by readers such as Delphi’s Ghost, so if any of you are concerned that I am deleting your comments, please do not be. It’s simply that some comments are being scooped up by the Akisment spam filter for reasons that are unknown and I have to check every day or so to release the false positives.
Thanks for the great discussion guys!
-Aaronontheweb
Posted 24 Sep 2007 at 3:04 pm ¶Honestly, and I don’t mean undue offense to anyone, I think it’s because more ASP.NET centric developers have real jobs. Working 40, 50, or 60+ hours a week on a corporate development effort (where .NET is very much more strongly represented) just about completely precludes any significant time spent on social media sites or developing side-projects.
At least, that’s my excuse. I barely have time to write a blog post every few weeks.
Posted 24 Sep 2007 at 9:52 pm ¶@Dave
Posted 25 Sep 2007 at 8:18 am ¶i’ve the same problem too
i’m starting to think that most open source developers are amature programmers whom have really “big” extra time between there hands to spend on developing software for free
@Fady
It’s very dangerous to generalize!
You’re certainly to some extend correct but look at e.g. RedHat, Trolltech, MySQL, eZ Systems and us…! (Frost Innovation – Gaia Ajax Widgets)
We’ve got a complete full development department of full time (good payed) and very skilled developers working on products all day long…
Though I may agree on that full time jobs might be some of the reasons to why .Net is less presented on SMO, in fact the only reason I participate at ALL is to be able to spread the news about our product (in addition to 10% reasons is to “keep up” with what’s moving out there…
But to say most FOSS developers are “script kiddies” with too much spare time is an exaggeration of magnitudes…!
In fact the FOSS economy is increasing at _four times_ the speed of the closed source economy…!
Though we’re .Net AND Open Source, so there definitely exist FOSS projects of importance in the .Net (and Mono) world too…
Posted 25 Sep 2007 at 8:33 am ¶execuse me, but i’ve never seen enterprise projects depending on FOSS
Posted 25 Sep 2007 at 8:40 am ¶most of FOSS have usability and design problems, making FOSS hard to integrate with any other system
for example i’ve never seen a FOSS using SOA
i’ve never seen anyone using Mono for real in an even small project
thats why i’m saying most of FOSS developer are amatures whom don’t know the most basic concepts of design
There are lots of enterprise projects that utilize FOSS:
10 Myths About Open-Source Software
Posted 25 Sep 2007 at 8:43 am ¶mention one
Posted 25 Sep 2007 at 8:45 am ¶Well for instance Google utilizes Python and PHP. Do I really need to name a bigger project than that?
Posted 25 Sep 2007 at 9:04 am ¶enterprise = scalable + integration
Posted 25 Sep 2007 at 11:05 am ¶please mention resources about your claims on google
@Fady Anwar
I have a couple;
* Window 95
* Windows 98
* Windows Millenium
* Windows NT, 2000, XP
In fact the ONLY Windows OS that does not entirely build it’s sockets on BSD Sockets are Server 2003 and Vista…
I think in fact most of the REALLY large Enterprise Systems are built on FOSS including Google as Aarontheweb says…
Posted 25 Sep 2007 at 11:15 am ¶Others are YouTube.com, Digg.com, Slashdot.org etc…
In fact about 90% of the really large Social Websites today are built on some sort of FOSS Framework/Platform…
Linux has about 55% of ALL servers in the WORLD today and MS has about 35% I think that about nails the last piece into the coffin…
do you have any proof that support your claims? or these are just your mere opinion?
Posted 25 Sep 2007 at 11:21 am ¶btw
Linux is spread on servers because it’s “FREE” and convenient for “small” projects
i’m talking about the “enterprise” projects
youtube, digg, slashdot doen’t fit the enterprise category
if you are so good at mentioning FOSS coffin nails
please mention for me a single FOSS application that uses SOA, if you understand what is SOA
First of all SOA is a hype word invented my MSFT to sell BizTalk and get folks to use WSE to lock them into MSFT products with stuff like AD and whatever idiotic crap people are using these days instead of the open protocol of SSL and TLS…
Posted 25 Sep 2007 at 11:43 am ¶Second, Google Apps then, is that “enterprise enough” for you?
Or does the code have to crappy too…?
Third; *plonk* !!
@Thomas Hansen
Posted 25 Sep 2007 at 11:53 am ¶First SOA is not a hype it’s a design pattern standard
and unlike you here is my refrences
http://en.wikipedia.org/wiki/Service-oriented_architecture
Second
you didn’t come up with any refrences to back up what you are saying
Third
your way of descussion irritates me, and i can’t afford time to continue such debate with somebody like you (whom use his openion as his only refrence)
seems like have extra time between your hands, so i advice you to read about SOA to know it’s not a hype and it’s the future
It’s a mistake to compare enterprise software with high traffic sites. Those are completely different animals. Regardless of development platform, a good enterprise development crew could churn out a Digg clone in days. The software behind most popular sites is no feat of engineering.
Also, where in the world did you get the idea that SOA was Microsoft centric?
Posted 25 Sep 2007 at 12:06 pm ¶@Dave
True, I still mentioned Google Apps, now if the stuff they’re doing with GMail, GCal, Writely etc is a “weekends job” for an Enterprise Development crew I’d very much like you to show me that crew…!
I’ll pay them ANY price to get them in my staff…!
Regarding SOA and MSFT I overdid it a little bit, partially unintentionally. But the basic fact is that MSFT sells SOA as if it was better than sliced bread and almost _none_ of the guys telling you that they actually DO SOA even KNOWS what SOA IS, they just do it because MSFT talks about the Railroad industry telling people about the importance of standardizing the message exchange format and have support for long transactions (which also none of the guys telling you they “do” SOA knows what is)
Most developers I’ve spoken to tells me either that SOA is WSE, some tells me it’s BizTalk and some even claims that it’s CAB (Composite Application Blocks) due to the fact that it have plugin nature…!! :S
Then when people starts to struggle MSFT first sells you BizTalk to “integrate” your different systems together and when they’ve sold you BizTalk and you’ve spent a year trying to figure out how to make that dog bark you’ll end up paying for SharePoint and throwing “SOA” and “BizTalk” out the door. It will be interesting to see what will cure people’s SharePoints problems…
I’ve even seminars that had “Configuration as the alternative to Programming in a SOA Environment” as the header for a SharePoint SysAdmin talk…!!
So I am sorry for getting a little bit of confused here…
I mean a system that require Server 2003 and AD just to hit F5 in your debugging environment…
OMG am I glad I’m NOT on that train…!!
Posted 25 Sep 2007 at 2:36 pm ¶@Fady – FOSS _does_ get used within the enterprise however very rarely in .Net based solutions.
I totally agree that many FOSS products are of poor quality, poor documentation and poor support. You could say the same for many closed source products.
What you forget is (or probably don’t realise is) that there are some extremely well run FOSS projects that turn out top notch software such as the Apache Foundation (HTTPD, Tomcat, Ant, Struts, Axis, log4j, etc), OpenSymphony (Quartz, SiteMesh, OSCache, etc), Eclipse Foundation (Eclipse), etc. Many of these projects are supported by software vendors such as IBM, Sun, Oracle, etc. These products are often based on J2EE. If you’re .Net only then there’s a chance that you’re not aware that Open Source pervades J2EE.
And then there are the commercial Open Source offerings, many with VC backing. Here are some examples:
RedHat – Linux is most definitely Enterprise grade. Many large corporation run mission critical applications on Linux in preference to or beside Windows.
Alfresco – probably the best example of an ECM that is built on FOSS projects such as Spring, Hibernate, MyFaces, Lucene, etc. It’s comparable to Documentum and MS SharePoint. http://www.alfresco.com/customers/.
JBoss – An enterprise grade application server comparable to WebLogic, WebSphere, etc. JBoss also maintains the Hibernate and jBPM projects. http://www.jboss.com/customers/index.
There are loads more – SugarCRM, Liferay, MySQL, SocialText, Xen….
Then of course there are the commercial products that use FOSS software. Documentum, Oracle, WebMethods, etc.
And finally there are the languages – Perl, PHP, Python, etc. You’ll find scripts written in these languages acting as the glue for a wide variety of systems (NASA, Google, etc).
Commercial software isn’t necessarily better or worse than Open Source. Microsoft for example makes some of the best software out there – Office, .Net, etc but at the same time are unable to better existing Open Source efforts – e.g. NDoc, log4net, MBunit, Nant.
And while I’m at it – a word on SOA. Of course it’s hyped – just like CORBA and SOAP were. Now we get SOA, which is just an architectural style, not a design pattern like you stated. We’re still stuck with imperfect interop technologies but at least we’ve got a nice buzzword to sell services and software with. FOSS projects that cater for SOA include Axis, CXF, Fuse, Mule, ServiceMix.
Regards
Posted 25 Sep 2007 at 2:55 pm ¶I think FOSS is making some strides in .NET as well. I’m sure there are some enterprise level solution that utilize solid .NET FOSS projects like SubSonic or perhaps DotNetNuke. Those two stand out in my mind as the most prominent and excellent .NET FOSS projects.
Posted 26 Sep 2007 at 11:35 am ¶I don’t know who posted “you didn’t even cite your sources” followed by a citation to Wikipedia but it sure made me laugh out loud!
Posted 26 Sep 2007 at 6:29 pm ¶ok guys, i confiss. i wasn’t really realistic about some stuff
Posted 27 Sep 2007 at 8:17 am ¶but the question is why?
well, here comes the unexpected answer
i’ve been in the FOSS field for years before i start using .net
i used to develop in PHP under Linux and i’ve met every usual problem that you will meet when you start working with FOSS
when i switched to the .net world, things became deferent and specially when i started working with enterprise applications
most FOSS that i’ve used didn’t stand a chance when came to comparison with closed source producs
most of them lacked the most important thing, the ability to scale up
when you call red had enterprise that doesn’t mean it became enterprise
enterprise software is where the money is
yes i used to promote open source software and still, but open source software just doens’t solve every problem you meet in your career life
why?
because open source software mosly is developed without an integration design in mind
lets take for instace microsoft products
the office is integrated with the browser and the browser is integrated with the active directory authentication protocol which is supported by the iis
have you ever seen any product in the FOSS that looks like AD?
have you ever seen any product in the FOSS like the biztalk? or office? or MOSS?
lets face
open office sux and is too slow
apache doesn’t stand a chance when compared to iis, have you ever though about clustering or load balancing using apache?
have you ever tried to configure a sing web site on apache using it’s httpd.conf? how much time did it took you?
mysql? i would use a flat database and still come with the same results
have you ever tried to use constrains or relations in mysql?
and yes, PHP, a coctail with various functions with no namespacing that make a functiionality like intellisense in visual studio is an impossible to do
no decent IDE to php till now
and oh yea, the php spaghiti code, html within code
and what about security? have you ever heard about remote inclusion? it only exists in php
have you ever tried to read a big file using php? try this and see what happens
open source software is not bad, it’s good because it’s free, but FOSS won’t solve your every day problems for free
Ok I stayed out of this debate for a while (largely because I was busy working on what people have insisted here must be a fictitious enterprise app that is written in Java, on Linux and Apache with MySQL) but Fady I have to address some points you made.
First, what part of Active Directory are you so enamored with? Because Samba is a Free/Open Source application that can actually act as a co PDC or Backup DC directly alongside a Windows domain controller. That would seem like a reasonable measure of code maturity and enterprise reliability. But I admit to not being that much of a Windows networking guru.
Open Office is slow, but it has become a lot faster (fans of the application recall using it back when it was called Star Office), and it is trying to accomplish a much different goal (run on Windows, Mac and Linux) so they have to make different design choices. Some of these might come at the cost of deep system integration, but that line is moving closer and closer to Microsoft levels, and being free and open source anyone who is inclined can (and has) contribute changes that make it do more of what users want. Open Office is much more interested in being an office productivity platform that others build applications on top of than a productivity app. This is the same goal Microsoft has but they want to be the ones profiting form that platform. How successful would the web have been if Tim Berners-Lee was the only guy licensed to build web pages and everyone else had to pay a royalty? This is a BIG project with lofty goals, but if the Open Office Community team succeeds it could create a platform many times more powerful than anything a closed source team could produce.
The last time I checked my linux distribution came preloaded with Apache, and loading PHP support was as easy as checking a box in my package manager (or running ‘apt-get install php’ if I wanted to install from a command prompt). And yes I have considered load balancing, I setup a load balancing proxy that simply asked for the IP addresses of the boxes that were a part of my “farm”. One paragraph of documentation later I was up and running. If I wanted to get more complicated that that I could have used Linux Virtual Server and set up watchdog timers and heart beat monitors. All of this was controllable remotely from SSH, and worked with out issue (or reboot) for 100+ day uptimes (occasionally I would run ‘apt-get upgrade’ and all of my installed packages would get upgraded to the newest stable versions automatically, and I would reboot, though most of the time the reboot as totally unnecessary because Linux can distinguish between a user process and a system process, and there for rarely requires rebooting to replace versions of software.
As for MySQL. I don’t think you understand what MySQL is. MySQL is more like the AVI file format. It is a container for other storage engines that handles common subsystems like authentication (which is also pluggable). Underneath MySQL is MyIASM, MEMORY, InnoDB, BerkeleyDB, CSV, ndbcluster and IASM, and once MaxDB though SAP bought that, so its not part of the Free version. Each have different strengths and weaknesses. And in a single Database you can decide which table engine fits your needs on a table by table basis. 99% of the time a website just needs InnoDB (this is why Oracle bought the team that created that engine, though because it’s Open Source that means the engine is free to be maintained by other talented developers). But a database administrator is free to migrate their data as needed. The point is MySQL is a powerful platform that is capable of many things, this helps explain why they made over $40 Million in 2005 (http://www.news.com/MySQL-fills-Oracle-consumed-hole-in-database—page-2/2100-1012_3-6058930-2.html)
As for PHP intellisense, it has been a part of Zend Studio (The company that created PHP) for quite some time (and that program is written in Java), and works great. Now it’s a part of Eclipse and NetBeans, so it sounds like the community has responded to that need. As for code style. I completely agree that inline logic with HTML is messy, but you know that you don’t have to code that way (and ASP developers are often quite guilty of the same thing). There are template engines and even PHP compilers that helps you separate your code into clean display and business logic layers. If you code better applications you tend to see issues like large file handling get addressed.
I personally have found Open Source technologies very integratable. And while it might require more work initially (though in most cases I haven’t found that to be true), the reward has time and time again proven to be greater. Microsoft technologies haven’t always had a stellar record integrating with each other, but they have gotten better. However in the same time the Open Source community has been hard at work solving real business challenges and addressing needs like scale and security. The Open Source model means companies like IBM who get real benefits out of a stronger Linux OS (they make their money consulting and selling hardware) can devote serious money and developer time, and everyone else in the community can benefit. It also means people like myself who utilize Open Source software to build my business can make the kind of changes that meet my business needs without waiting for a larger company to address them and ask me to pay them for the upgrade.
And thats all I have to say, I really need to get back to my work.
Posted 27 Sep 2007 at 11:41 am ¶@Jason,
One additional comment from me on PHP intellisense. On my Phalanger article a reader pointed out an intellisense plug-in for Visual Studio which I have since installed onto my development workstation. I haven’t had a chance to play around with it thoroughly but it looks promising for VS 2005:
Check it out: http://www.jcxsoftware.com/
It might work with the free express editions of Visual Studio but I am not sure; I have the academic editions of VS 2005 so my experience has been based on that.
Posted 27 Sep 2007 at 1:38 pm ¶@Aaronontheweb
Posted 27 Sep 2007 at 1:47 pm ¶you can’t have intellisense like functionality in any IDE that supports PHP because simply PHP have no namespacing
@Jason Sperske
Posted 27 Sep 2007 at 1:50 pm ¶you can’t compare Samba to AD
i’ve used Samba and in my job i perform several network administration tasks that i’m sure that Samba can’t do
Samba is all about file sharing
JCX Software’s .NET/integrated PHP debugging demo, with PHP intellisense
http://www.jcxsoftware.com/jcx/vsphp/tutorials/dotnet_debugging
Posted 27 Sep 2007 at 1:52 pm ¶@Jason Sperske
Posted 27 Sep 2007 at 1:56 pm ¶yes in open source projects like Open Office it’s possible it would have lots of features in the futures, but guess that? because of the FOSS non centric development there will be no integration within these features and within any other FOSS products
for example you want be able to use open office within firefox like we can now use microsoft office within IE
you can’t use RMS in open office because simply it can’t be integrated with any other service like AD
you can’t have CMS document libraries like the one in MOSS that use open office to edit there documents
what really lacks FOSS is “integration”
for gods sakes i’ve not seen till now any decent installer rather than RPM packages
@Aaronontheweb
Posted 27 Sep 2007 at 1:59 pm ¶that wasn’t intellisense
that was debugging
btw that was VS 2005 which is a closed source application owned by microsoft, i’m sure you can notice that
Fady, If I had to choose I’d take propreitary software over open source 9 out of 10 times. The PHP intellisense/debugging suite that JCX produces is ALSO propreitary. I’ve spent a lot of energy making the case for proprietary software on my blog.
They mouse over variables in PHP and extricate current values during debug, just like how you can with a quick watch. Yes. But everywhere on JCX’s site they list numerous examples of their INTELLISENSE support, like on their blog
http://www.jcxsoftware.com/jcx/blog
On their tutorial video where they select WHAT PHP MODULES SHOULD HAVE INTELLISENSE support
http://www.jcxsoftware.com/jcx/vsphp/tutorials/remote_server
Or INTELLISENSE for PHP screenshots
http://www.jcxsoftware.com/jcx/node/1452
http://www.jcxsoftware.com/jcx/node/1397
http://www.jcxsoftware.com/jcx/node/1355
The product even checks to see if your project’s includes exist or not:
http://www.jcxsoftware.com/jcx/node/1370
When I make my WordPress.NET port I’ll even include some of the intellisense screenshots from that. However, if this isn’t enough proof for you that JCX’s product does what it says it does, then I give up.
Posted 27 Sep 2007 at 2:13 pm ¶I don’t think open source is really the issue here, is it? I would strongly consider using something like SubSonic in a corporate app. I have no problem with solid open source projects. ASP.NET AJAX is open source, for that matter.
The major difference that I see when it comes to the topic of the post is a divergence in long term factors.
If you’re developing an application to be used in a medium or large business, you know from the start that it will have a large user base and must be maintainable for the long haul. With this in mind, you’ll almost certainly go for Java or .NET, probably depending more on the existing IT infrastructure than any difference between the platforms (as they are very comparable).
However if you’re developing a startup application, your user base could be anything from 5 users to 5 million users, depending on the mood of the Internet when you release. In that scenario, a looser, cheaper platform will always be more popular. Something like Cake or Rails becomes a nightmare to maintain and scale, but brings you to market much quicker, cheaper, and easier.
Posted 27 Sep 2007 at 2:18 pm ¶@Aaronontheweb
Posted 27 Sep 2007 at 2:33 pm ¶you brought me the wrong video, it’s not my fault it’s urs
and it seems you didn’t understood my comment about lack of namespacing in php
as ofcourse know in php there is no namespaces unlike any other OOP language like java or .net
so when ever you type the first charachters of your the function you are intending to use the IDE will show you “ALL” of the php know functions that begins with these charachters. so you will end up typing the whole name of the function you want to use specially in php lots of functions have the same prefix
@Dave
you are right
i’ve always said that php is good for small and agile fast paced projects
but when it comes to big enterprise integrated large scale applications, you to use the right tool and php is not an option
@Fady
It was perhaps foolish of me to attempt to address your points about Active Directory (as it is not a part of my job, or even within my range of computer interests). If anyone is keeping score, then point to you good sir.
Often times it isn’t fair to address multiple (and separate) points of contention in a blog post, as it makes it hard to hold the individual discussions that they require.
My point on system level integration is that the Unix model (everything is a file, originating from the command line) works better for the kinds of system administration I do. From my perspective, it really doesn’t matter how well Microsoft can connect multiple GUI apps, because the kinds of things I’m interested in doing are made much easier for me in Bash scripts. Now I know that .net exposes access to the MMC (is that what it is called?) and allows me in .net to script a lot of system functions, but in the time that I have been working with computers that is still a relatively recent development which only serves to bring Windows (and all of its related technologies) up to the level of quality that Linux has always been (for me, can’t stress enough that this is my personal opinion).
Other people will come from other backgrounds, and they will be interested in other things. Microsoft being better or worse than any one else isn’t really that important to me at any given moment. The fundamental argument is can Open trump Closed. You can replace each side with any company or community can get a different answer. Is MySQL better than Oracle? Or is Open Office better than Microsoft Office? These questions might lead a lot of rational people to say many different things. I don’t think it really matters because none of these products (or their teams) is ever done, and so any advance one has over the other is likely to change anyways. But a common trend among people who start successful businesses is their ability to adapt to challenges that they do not initially foresee. This causes them to consider the long term impacts of what languages they choose or how they choose to build their product(s).
So the choice is between an accessible but closed platform or a challenging but open platform. I say that Microsoft is only marginally more accessible, and much more closed, than the free Open Source applications that I rely on. But then thats just me (and a hack of a lot of other people). I’m not totally clear on why I’m still involved in this conversation as I accept that making anyone agree with me won’t make my life any easier and might even send good hard working people down the wrong track. I guess I just wanted to address why something that is as powerful as .NET can be considered “un cool” and why that might not ever change.
One thing seems clear at least, that Open Source projects and their contributers wont back down from this. Their efforts are enriching computer science, and allowing future generations to find new and original ideas and capitalize on them. Richard Stallman (a man who I have had the pleasure of meeting on more than one occasion) believes (and I agree) that ideas shouldn’t be proprietary. This is the heart behind GNU which forms the basis behind most of the Open Source movement. Closed platforms (even if they contain Open components), in my book, are relics of a past era where computers were a mystery to 99.999(and then some) of their users. Linux, GCC, Apache, even Wikipedia are great examples of the masses ability to self govern and collaborate. They are not perfect models, but they show tremendous promise, and have produced tremendous value.
Ok Thats enough grand standing, really I need to finish this Ajax component serialization function (Don’t worry Thomas, I’m not after your Gaia Widgets market, I still think your library is cool).
Posted 27 Sep 2007 at 2:40 pm ¶Hi Fady
Sorry but I still find myself disagreeing with some of your comments.
>because open source software mosly is developed without an integration design in mind
lets take for instace microsoft products
the office is integrated with the browser and the browser is integrated with the active directory authentication protocol which is supported by the iis
have you ever seen any product in the FOSS that looks like AD?
have you ever seen any product in the FOSS like the biztalk? or office? or MOSS?
MS products tightly integrate with MS products mostly by using proprietary technology (i.e. not open standards). This is fine if you are a MS shop and don’t mind the vendor lock-in. Commercial competitors often use this approach as well. For an alternative to AD see Fedora Directory Server. For Biztalk, see Mule. For MOSS, see Alfresco. For Office, there’s nothing
come to think of it there’s no commercial competitor either.. lol.
>lets face
open office sux and is too slow
apache doesn’t stand a chance when compared to iis, have you ever though about clustering or load balancing using apache?
I agree that Office > OOo but then OOo isn’t complete crap – it’s just not as good as Office in the same way as alternative commercial products. IIS isn’t the only app server that can load balance or cluster but I agree that IIS6 is pretty neat.
>and yes, PHP, a coctail with various functions with no namespacing that make a functiionality like intellisense in visual studio is an impossible to do
no decent IDE to php till now
and oh yea, the php spaghiti code, html within code
All fair comment until you realise that PHP was/is a hell of a lot better than ASP. Things have moved on, .Net/ASP.Net are now here but by the same token we also have J2EE, Ruby, etc. PHP has improved as well. It’s possible to write fairly nice PHP using one of the many frameworks that are out there now (CodeIgniter, Cake, Smarty, etc). It’s possible to mix logic with markup in ASP.Net so it’s possible to write spaghetti in ASP.Net.
VS.Net is pretty good but I still prefer using Eclipse and IDEA. VS.Net only becomes usable for me with add-on products like Resharper, TestDriven, etc.
>open source software is not bad, it’s good because it’s free, but FOSS won’t solve your every day problems for free
Free as is beer is definitely appealing but I love the fact that you have the freedom to inspect/modify FOSS source code. FOSS _can_ solve everyday problems, but not all problems. You seem to have a problem with FOSS. Perhaps you’ve just not used any decent FOSS software. Since you’re a .Net developer perhaps you’d be interested in one of the following – Rhino Mocks, NHibernate, Castle Project, MbUnit, etc.
If you had moved from PHP to J2EE rather than .Net I would guess that you would have a different opinion of FOSS. The one thing that I think that Microsoft have done well is simplify some aspects of development by providing the entire stack in an easy to use package. Commercial Open Source companies seem to be waking up to this now as the end products are getting better and better – see Zimbra, Alfresco, RedHat, etc.
Regards
Posted 27 Sep 2007 at 3:47 pm ¶@Jason Sperske
Posted 28 Sep 2007 at 6:58 pm ¶i’ve used Linux for about 6-7 years, developed with Perl, PHP and MySql
also i’ve used java (but so much)
i also have worked within software development teams using strict quality policy and a team of quality control to test our products
so when it comes to Linux quality as you mentioned i’m sure if i applied my point of view of quality then we will find out that Linux is missing several things
1- usability
2- documentation
3- maintainabiltiy
and thats why it’s still used “only” by ppl whom have a technical background
and this is one of the day to day problems that FOSS didn’t solve “yet”
but this is not the only problem with FOSS in general, FOSS methodology as we all know is based on ppl contributions and these contributions are numerous and vast “but” they are not organized by any centric organzation that can set targets like integration for usability
thats why we can’t see FOSS products talking together transparently like Microsoft products do
put your self in the place of regualer average user, should the understand how OS works and how to use shell scrips and command lines to run mp3?!!!
common it took me a whole hour to figure out how to run mp3 on fedora, considering me as a software developer what about the normal user?
@Jason Sperske
yes i agree with you that FOSS caused a major development in the software industry, in fact companies like Microsoft would not even try to improve it’s products and make things like Vista, MOSS, VS2005 if there was no Linux, dropal, phpnuke and netbeans out there for free and open source
wikipedia is my favorite place to read and gain knowledge about alot of stuff but have you ever tried to use there editor? if you did then try to compare it to MOSS Wiki template
which is easier to use?
which have more features?
which is integrated with other products the user use?
i always used to say PHP compared to ASP.NET is more like a little knife compared to a big electric saw
Posted 28 Sep 2007 at 7:18 pm ¶you can’t cut big tree with the knife but you can use it to make artistic crafts
php is good for small cool ideas, but when it comes to enterprise software and scalability things get messy
have you ever heard about 3 tiers in PHP?
do you think you can handle ERP systems with PHP spagheti code? or mysql that can’t support transactions?
aaron, how are these products free?
SQL Server Express isn’t going to do it for something that requires SSIS and sure IIS comes with Windows but show me how that’s free the OS is not free.
What am I missing?
subscribed…
Posted 12 Oct 2007 at 9:05 pm ¶Trackbacks & Pingbacks 2
[...] Why is .NET getting its (I need to watch my language) kicked in social media? I wrote an article on my blog AjaxNinja this morning basically asking why .NET is so under-represented in social media; a lot of the DZone community has provided me with some good answers, but a lot of RoR/PHP script kiddies did a fantastic job douching up my comments page.Is .NET getting it's (I need to watch my language) kicked in social media? What does Channel 9 think?If you want to read the original post, check outhttp://www.ajaxninja.com/?p=168 [...]
[...] post from the previous week on why is .NET getting its ass kicked in social media has resulted in a massive storm of comments and debate, most of which has been informative and [...]
Post a Comment