5 ms·
MySpace runs on IIS? Really?
- mkull 19y agoYes, they were running coldfusion until about 2 years ago, at which point they switched to a hybrid solution of Blue Dragon (ColdFusion running on .NET) and ASP.NET. http://highscalability.com/myspace-architecture http://highscalability.com/myspace-architecture
- aston 19y agoIt's not like Microsoft's web stack sucks. Obviously C#'s not en vogue, but it's a fine way to put together a website. There's actually some really good stuff in there, and they've had the presentation/code-behind separation in since before people though it was a good idea.
- cellis 19y agoI can't speak on C# vs Python or C# vs. Lisp, since I haven't coded in either of those languages. I can speak on C# vs. php - I just finished a job with php and started C#. Originally,I thought I loved it because of the library (ie dataset, dataview,gridview), and garbage collection. Then the object orientedness of it all got really, really hard to implement rapidly. I may still use it to write sockets and hwnd stuff for windows (I'm a game dev), but for web stuff, I'll stick with php and maybe learn py.
- hello_moto 19y agoI have no experience in PHP (nor Python). What makes the two easier (or more rapid) to implement in OO way compare to C#? I think the tools for .NET makes it better than others.
- cellis 19y agowell at the "planned" level, nothing. At the throwaway level, everything. Things that would take ten seconds in php (like a simple post form to a db) could end up taking 2-3 hours in C#/.NET
- joe 19y ago| Obviously C#'s not en vogue Eh, depends on who you talk to. I'd guess it's very much en vogue with web developers who are not so thrilled with the LAMP/OSS stack.
- ratsbane 19y agoIt's not completely impossible to do good work on the .Net platform. But it is very, very unlikely. .Net teaches programmers to write code to .Net, to Microsoft rules. It teaches its victims to use the excreable "viewstate" and POST when they mean to GET and pass volumes of unnecessary and poorly-encoded data back and forth between the server and client. .Net programmers learn to drag and drop things onto forms which Visual Studio then clogs up with layers of absolute-positioning tags, ensuring that the resulting pages will only display correctly on certain browsers with certain window-sizes and absolutely will not print properly, even when the planets are properly aligned. But that's okay, with .Net you can use Reporting Services to design hundreds of divergent "reports." .Net teaches programmers to code to Microsoft's api, not to web standards, fundamental principles of math and computer science or, frequently, to common sense. It isn't to Microsoft's advantage for developers to consider other options and thus they try with great success to prevent .Net developers from realizing those options even exist. Microsoft documentation almost never refers to RFCs, even when doing so would be helpful. They hide the browser object model as much as they can and instead present the .Net wrapper for the browser object model as the only truth, with a Microsoft registered-trademark character after every thought. It is possible to do good work on the .Net platform; it's just very, very unlikely. Perhaps I've gone too far with this rant. As you may guess, it results from great frustration with well-funded idiocy in the wasteland of corporate American IT. Also I just tried to pay my property taxes online and the lovely .aspx page blew up with a CLIENT-SIDE VBSCRIPT error. Good grief. But here is a final and positive thought: quite a lot of business in the world is run on very poorly-designed systems, whether .Net or otherwise. Perhaps there much opportunity and advantage to be gained in creating better systems to replace them.
- nandan 19y agoPerhaps you are being a bit too strong here. I might hold an uncommon contrarian view for news.yc but, here goes nothing: "It teaches its victims to use the excreable "viewstate" and POST when they mean to GET and pass volumes of unnecessary and poorly-encoded data back and forth between the server and client." You are right here to the extent that "viewstate" is the default way of managing state, scalably, in ASP.NET. And this adds to the amount of data being streamed between the server and the client, and back. But, when performance is the "key" consideration, you can turn off viewstate for controls that dont rely on it, or for the page as a whole. If you are really hard-core about performance, you can write HTTP handlers that override parts or whole of the default handlers. Thus, you can maintain state on the server side completely if you wish to (dealing also with the concomitant issues to scale the site). ".Net programmers learn to drag and drop things onto forms which Visual Studio then clogs up with layers of absolute-positioning tags, ensuring that the resulting pages will only display correctly on certain browsers with certain window-sizes and absolutely will not print properly, even when the planets are properly aligned." If you look into the "flow" layout mode, you will see that "absolute-positioning" is only one of the options that the Visual Studio Designer presents to you. There are no browser compatibility issues per se with the "flow" layout mode for printing or otherwise. Also, Drag and Drop is a _Good Thing_. I have been dabbling with RoR lately and am yet to find good tooling around it. But, Visual Studio .NET is definitely one of the most powerful IDEs I have worked in. Drag and Drop = Increase in productivity. "But that's okay, with .Net you can use Reporting Services to design hundreds of divergent 'reports.'" From what you say in your comment, you seem to have quite a bit of experience with developing web applications for businesses. Given that, I am quite surprised you havent encountered similar attitudes that I have, as far as "Reports" go. Business Users _LOVE_ reports. "Reports" have been given a substantial amount of attention in most projects I have been associated with. So they are not "divergent" by any means. Drag Drop Capability for Designing of Reports, with Design Time handles for all the entities that compose it, is again very powerful for a host of business scenarios. ".Net teaches programmers to code to Microsoft's api, not to web standards, fundamental principles of math and computer science or, frequently, to common sense." "It isn't to Microsoft's advantage for developers to consider other options and thus they try with great success to prevent .Net developers from realizing those options even exist. Microsoft documentation almost never refers to RFCs, even when doing so would be helpful. They hide the browser object model as much as they can and instead present the .Net wrapper for the browser object model as the only truth, with a Microsoft registered-trademark character after every thought." Tnese are very strong statements. :) I actually think that the Server Side abstraction that ASP.NET provides to developers is amazing. Why? Because being exposed to the "browser object model" for a number of browsers and their varying capabilities is not really meaningful when what I want to do is develop relativly straight-forward applications _fast_. You can also look into what ASP.NET calls "Adaptive Rendering". This also serves to abstract away the nitty-gritties of the browser making the HTTP requests. "As you may guess, it results from great frustration with well-funded idiocy in the wasteland of corporate American IT. Also I just tried to pay my property taxes online and the lovely .aspx page blew up with a CLIENT-SIDE VBSCRIPT error." Sure there are idiots in IT. And sure there are idiotic ways to develop software. Microsoft's marketing department does a good job capturing market share in the corporate world. Once they do that enough, it moves into the realm of supply and demand. When we have enough money to pay, enough unqualified people move into all points in the software development cycle, and what we get is this.
- steve 19y agoMyspace runs? Really? More like limps along..
- migpwr 19y agoSeriously? It's funny how hating myspace has become as popular as hating microsoft... I'd like to see you make something "run" with that many users.
- joe 19y agoHow many users does MySpace "run" with, again?
- migpwr 19y agomore than all yc projects combined ever(ballpark anyone?), 3x facebook etc etc but yeah it limps along...
- joe 19y agoI'm guessing your estimates are correct enough. I doubt the user count for all YC projects exceeds 500,000, and according to http://forevergeek.com/articles/debunking_the_myspace_myth_of_100_million_users.php http://forevergeek.com/articles/debunking_the_myspace_myth_o..., MySpace has at least 43 million, which by your math would mean that Facebook has around 14 million users. Having been a frequent MySpace user myself in the not-too-distant past (I'm 22, and I used it from age 18-20), I concur that there have been times in which MySpace "limped along". It was not uncommon to get multiple "application error" (for lack of a better term -- I don't know/remember what it's called under .NET) during a surfing session, or to encounter a page or profile that just would not load. I've since switched to Facebook, and in comparison, I've never had Facebook barf on me. This, to me, evidences either the dim-wittedness of MySpace's developers, or superiority of Facebook's web solution (http://article.gmane.org/gmane.comp.web.cache.memcached/3224 http://article.gmane.org/gmane.comp.web.cache.memcached/3224) over what MySpace has chosen. Note that I am not saying that PHP > .NET -- obviously on sites of this large scale, as has already been noted in the post's comments, using any technology "out of the box" is looking for trouble. What I mean to imply, however, is that perhaps for sites this big, .NET is the wrong thing. And, as the parent comment points, out, IIS certainly isn't helping things, though I don't think Apache would necessarily be a magic bullet. Craigslist, which does many megabytes of data transfer per minute, is considering switching to Lighttpd because Apache too heavyweight. P.S. Sorry about the links -- I couldn't figure out how to link a text string to a URL. Can someone enlighten me?
- mpc 19y agoWe're using .net, which has worked out good for us. Yes, the default settings are designed to lower the bar for IT shops to build apps easily. If you know what you're doing, you can avoid the muck and get right to the extensive and powerful features. Our configuration.... - Lots of JS, homegrown ajax framework that extends YUI - asp.net but with custom controls that we wrote - custom http handlers take care of the call backs - deployed on apache with mod_mono. mysql db
- ratsbane 19y agoWhy did your group even decide to use .Net at all? You seem to have avoided a lot of the traps of .Net by avoiding a lot of what actually comprises .Net. Are you running on Windows servers?
- mpc 19y agoThere are a number of reasons. - The server, db, and xml APIs are great - We really love the c# language - We're already experts with the technology .net is more than just the default settings for asp.net. Using any platform "as-is" will get you into problems. We essentially have our own framework, with .net as the foundation. ps - We're deploying on linux with apache and mod_mono
- rustartup 19y agoAll spoken here do not understand .Net enough. I worked for tagworld.com and this web project is "quite" big. Viewstate and drag'n'drops and the like are nowhere used. .Net is NOT for web sites, it is for web projects, really big and heterogeneous, with lots of services behind. For other please use php and the like, with "quick submit to db" approach.
- ratsbane 19y agoSimple little websites like Facebook and Wikipedia seem to get by quite nicely with the quick and dirty PHP approach :-)
- jamongkad 19y agoYeah ha ha "simple" in every sense of the word. You can toss in another "simple" app by the name of Flickr.
- rustartup 19y agoThey are really simple. Try comparing them to some enterprise solution if you had a chance to work on one.
- cellis 19y agoits not exactly quick and dirty...its rapid development, which means they eventually can get something very complex (which I'm sure facebook has in place), but if they need to start over, they can do so quickly.
- jacquesm 18y agothey are relatively simple in terms of business logic. As long as you can 'shard' a problem parallel servers can solve your problem easily. As soon as that is no longer possible because of business logic constraints the real fun begins.
- joe 19y agoCould you elaborate on what makes the tagworld.com project so "big"? Edit: Also, I find it interesting that on a site so big (I mean MySpace, and thusly, on a site that should have a fair number of smart developers working on it), they have not changed the default IIS error message for something a little more site-specific and user friendly. To see what I mean, click the story's URL. :) Or is doing something like that deep voodoo on a robust web platform like .NET+IIS?
- rustartup 19y agoPeople who spoke against .Net/C#. Please study it really deep first. Do not make fun of youself.
- tx 19y ago+1 for that. Even though I am trying to stay away from Microsoft platforms these days, I still will say that cirics of .NET/C# who posted above do not even deserve a serious answer. One "word" - RTFM. And nobody so far has mentioned one of the best features of ASP.NET apps: crazy speed. After everything gets precompiled it is amazing how much load a cheapo $1K server can handle.
- deleted 19y ago[deleted]
- mpc 19y agoBingo. Check out my comments below.