5 ms·
This is a religious war. However, innovation in the C# language places it as the most advanced production level language on the market (IMHO). Form validation
by pragmatic 16y ago
This is a religious war. However, innovation in the C# language places it as the most advanced production level language on the market (IMHO).
Form validation (client and server side with the same code) is still a killer feature. Easy deployment as there is only IIS, no decisions about fcgi, mogrel, keeping your processes running, etc.
I don't really see his point. You've got one of (if not THE ) best IDE's with easy debugging, intellisense, etc. You've got a super stable platform (IIS 7), some of the best documented API's and code in existence and you want what?
I guess I don't get what he wants? Is there some missing feature or just sad that he can't be one of the cool kids?
- javery 16y agoDeployment is easy? Ok, what do you do to deploy a C# application that makes it so easy? I run two project right now, one is Rails which we have setup with Capistrano for one command deployment. The other is a C# app and I haven't found anything that can do what Capistrano can do for me, and don't say MSDeploy because that is a total mess. Also, testing. Try testing in C# vs. Ruby or any other dynamic language. I don't know anyone who uses the built in Form Validation, you would only use that if you don't care about your client-side code.. for people who care we still end up doing both by hand.
- ronnier 16y ago> what do you do to deploy a C# application that makes it so easy? Build --> Publish. Done. Validation: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mv... These features are designed so that the validation logic is always enforced on the server, and can optionally also be enforced on the client via JavaScript. The validation infrastructure and features in ASP.NET MVC 2 are designed so that: 1) Developers can easily take advantage of the DataAnnotation validation support built-into the .NET Framework. DataAnnotations provide a really easy way to declaratively add validation rules to objects and properties with minimal code. 2) Developers can optionally integrate either their own validation engine, or take advantage of existing validation frameworks like Castle Validator or the EntLib Validation Library. ASP.NET MVC 2’s validation features are designed to make it easy to plug-in any type of validation architecture – while still taking advantage of the new ASP.NET MVC 2 validation infrastructure (including client-side validation, model binding validation, etc).
- javery 16y ago1) Build -> Publish might work for the simplest of scenarios but not if you have any sort of real infrastructure. 2) To use it you have to use strongly-typed views, and HTML helpers I believe.. which again I don't care for since it is taking the markup out of your hands.
- smhinsey 16y agoI totally agree with #1. Deployment is a real weak point. It can be done, even using Capistrano if you're willing to put up with it, but it's nothing like what it could be. With respect to #2, I strongly suggest you reevaluate. Strongly-typed views will save you a lot of boilerplate code in your controllers and HTML helpers only interfere with your markup to the extent you want them to. Most of them are super minimal and easily styled or manipulated. I expected that the helpers would just be different ways of getting into the same mess you encounter using things like server controls in webforms but I was quickly shown otherwise.
- pragmatic 16y agoBeyond Compare. Done.
- pragmatic 16y agoCorrection, check into Hg then beyond compare, done.
- bad_user 16y ago> innovation in the C# language places it as the most advanced production level language on the market (IMHO). On a scale of 1 to 10 of vagueness/subjectiveness, this would be a 30. I like the new additions, like Linq or the properly done closures or generics. But throwing words like "innovative" or "advanced" for techniques used from the late '70-ties brought together in a language with the same corporate-stinch of Java or Cobol? Yeah, right. > Form validation (client and server side with the same code) is still a killer feature. Form validation is a hard feature to get right. I do not agree that the validation done in ASP.NET MVC is a "killer", especially since I've hit hard limitations in the first hours of me trying it. In case you're wondering about what limitations I'm talking about ... try building a dynamic forms system that gets stored in the DB (fields, references to validation rules) allowing a user to build some forms and for another user to supply values for those forms. The only validation system I've seen that's reasonably productive and that works in most cases is the one in Django, but even that is lacking considering you have to add your own code to have client-side validation and keep it DRY (although that happens due to Django's policies, not due to bad design, and really it's not that big of a deal to add something that works well in most cases ... bringing server-side validation to client-side is an easy to solve problem, unless your framework is fucked-up). > Easy deployment as there is only IIS You are probably kidding, although I'm happy they finally discovered the virtues of text configuration files. > no decisions about fcgi, mogrel, keeping your processes running, etc Not every platform is as fucked-up as Rails ... mod_wsgi for Django (or any wsgi compliant Python framework) just works with no headaches. It takes me 20 minutes flat to manually get an EC2 instance up and running with everything needed. And I can quickly automate that in a way Windows devs cannot begin to dream of. > You've got one of (if not THE ) best IDE's with easy debugging, intellisense Sometimes I miss that, but not that much, mostly because I need the flexibility to use the best tool for a certain job, not to mention that sometimes I don't have a choice in the tools I use. That's why I'm using Emacs ... the flexibility I gained made me several times more productive than a clicky-clicky IDE. If you don't believe me, try working with Python from VS.NET, while using pychecker/pylint to automatically check your code (let's say it's a company policy) and to also use ReviewBoard in combination with a Git repository. Or better yet, try debugging with VS a production environment. > some of the best documented API's and code in existence In comparison with Django it pales. Not only does it have good documentation, but when it's lacking the clarity of the actual code is breathtaking ... yes, devs using Django are actually looking at its source-code and I have quite a few friends developing on top of ASP.NET ... none are doing that. Maybe it's a cultural thing, maybe it's because ASP.NET is proprietary, the end-result is the same though ... the Django devs I know have intimate knowledge of Django's internal mechanisms, while ASP.NET devs do not. > Is there some missing feature or just sad that he can't be one of the cool kids? HN has degraded a lot recently. I see many comments containing ad hominems that are getting upvoted. Pity.
- epochwolf 16y agoTo reply to the rails deployment thing, you can just go with passenger and then you only need to pick between nginx and apache which really comes down to plugin support. (Provided you don't mind compiling nginx to change plugins. You can hot-swap the binary so downtime isn't an issue.)