| Perhaps 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. |
Orkut is a great example of this. In its earliest incarnations it used postbacks and viewstates rather wildly but I notice every so often they seem to have rewritten it to use less and less of that stuff.
One thing I will disagree with you on - dividing your system up into input .aspx pages and reporting pages using reporting services - isn't good design. You shouldn't force a user to go to some other page to print the same data he sees on the screen. The data IS the report - if you can see it on the screen you should be able to print it on the paper without having to navigate to some other page. Think of the URL as the Dewey Decimal number for a piece of information. If you want to see the sales data for June, for instance, you might find it at http://mycompany.com/sales?fromdate=2007-06-01&todate=20... Why should you have to navigate to a different URL to print that? Tim Berners-Lee's original ideas of the URL as the starting point for the semantic web seem rather good to me but I don't think there are many implementations which come close to recognizing the potential of this idea. Breaking a system into separate sections for reporting and viewing just seems a bit daft. But again, that's the sort of behavior .Net encourages - not requires, but encourages.