TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Getting Started on MSFT Web Stack vs Other Frameworks/Platforms

11 点作者 BrandonWatson超过 16 年前
I have been in the LAMP stack for the last 9 years, and RoR and Django most recently. I built my last company (which we sold - IMSafer) on RoR. I am just now starting to wrap my brain around C#, ASP.NET and other parts of the MSFT stack. What I am most interested in are people's actual experiences with trying to on-board with the MSFT stack. Specifcally, the younger hackers, i.e. 25 and under. Let's try to keep it factual, and leave invectives out. You can see my personal thoughts about all this at www.n00bnotes.com.

11 条评论

walesmd超过 16 年前
I come from a LAMP background (learning Ruby now). What I have seen - in my experience (25 year old, military making the transition to a NSA contractor) is:<p>LAMP and open-source is where it's at for the true innovators on the web. Your startups and companies that go out and try new things, will use some form of open source stack.<p>A Microsoft Stack is prevalent when working within "the establishment," for the man, or in Enterprise level development. These are commonly workcenters in which they rely on the support and testing made available by Microsoft - it is a key factor in their decision to follow that stack.<p>It's not always set in stone that way - my new job is a complete Microsft Stack (IIS, MS SQL) with the exception of the language (PHP). Every now and then, even the man, gets a little spunky and tries something new.
arebop超过 16 年前
The ASP.NET MVC framework is a pretty close imitation of RoR.<p>The traditional ASP.NET framework is an attempt to shoehorn the Web into the Windows Forms conception of the world.<p>One thing that MS MVC doesn't do particularly nicely is to capture the declarative character of ASP.NET 1.1; the default view templating machinery leads to a comparatively ugly mix of literal markup and imperative inclusions of C#. But, this may not be a severe problem for you in practice, and anyway you can use other view template subsystems.<p>I think if you're starting out, you should stick with MVC. It harmonizes better with the wider architecture of the Web (<a href="http://www.w3.org/TR/webarch/" rel="nofollow">http://www.w3.org/TR/webarch/</a>), and it doesn't suffer from much accumulated cruft.
评论 #452843 未加载
friism超过 16 年前
I agree with spoiledtechie that C# is a nice programming language. Recent versions enable very concise higher-order functional (=fun) code to be written. The generics implementation has few warts and tooling is good.<p>Another gem is SQL Server, even the Express version is fast and has solid backup-restore features.<p>Powershell provides a (still somewhat embryonic) scripting environment.<p>One nuisance is the relative dearth of free-free software. The thinking seems to go, that because MS gets money, then so should developers of small utils and such. It gives the entire ecosystem a slightly different feel, and you often find yourself paying $10 or similar for small, almost-trivial add-ons, that would have been free on other platforms where a tradition of sharing for the good of all is the norm (codeplex -- I think -- have helped in this regard).
评论 #453094 未加载
评论 #452835 未加载
abyssknight超过 16 年前
I came from a PHP and Coldfusion background and jumped into VB.NET/ASP.NET development after some brief self training through our company training portal. Basically, they gave me a copy of VS2008 and said okay, "We have this project that is behind and we need help, do you think you can handle it?"<p>I had a 2 day training on the internal corporate framework and then I was unleashed on the codebase. I would say it took maybe a month for me to 'get it' but after that it was just a matter of code reviews and common sense.<p>If you can write good code in one language, you should be able to translate it over. That said, the event model is a bit different than the straight scripting in PHP or legacy CF. Once you get used to it you're going to feel spoiled. In the WebForms model, a lot is already done for you. Templates are built in, grids are built in, paging is built in... It can almost be annoying how much is built in, but then you realize how little time it takes to get things done. You have more time to spend on real business logic, which is a good thing.<p>I would recommend checking out ASP.NET MVC RC1 if you're coming from Rails and Django. Less is built in, but it better suits the design patterns you've come from. The languages are the same, so if you learn WebForms first it doesn't matter: VB and C# are standalone. Once you learn them, you can use them anywhere whether its the web, GUI apps, or console batch code.
评论 #452831 未加载
spoiledtechie超过 16 年前
I am a big supporter of MSFT stack. I am a first time programmer out of college, being 24 now and 2 years on the job I would say it should be taught in school. They did a extremely good job with C# and it is becoming more dynamic with the "var" keyword. There IDE is out of this world which is just an amazing tool. It allows for extensions just like firefox in which there are tons out there. They allow you to talk to every type of server or data set with the new LINQ technology which allows going through tables absolutely quick.<p>It is highly functional beating most of the competitors on bench tests. Look up myspace asp.net case study.<p>The framework is solid and over all my time working on it, I haven't found a bug except one that existed in their ajax controls contributed by the community.<p>Its a bit hard to pick up when you have had no programming experience, but it can be compared to syntactical to C++ and Java.<p>Hope that helps.
评论 #452795 未加载
评论 #453041 未加载
评论 #452724 未加载
johns超过 16 年前
I've been using .NET full-time for 3.5 years. There are two types of .NET developers. The first group uses the * View controls, uses the designer, does everything (or most things) declaratively and generally conforms to the Microsoft way. Then there's another group of developers that care about design patterns, maintainability, testability, and everything else that goes along with being a good programmer, not just a good employee. I started out in the first group and now I'm in the second. It's a totally different world.<p>Microsoft has made a lot of effort lately to improve their appeal to hackers. They have free (Express) editions of their tools. IIS is still free. If you want the full-blown tools, they're available for <i>very</i> cheap (BizSpark) for startups. They're releasing more and more source code everyday (you can step through the .NET Framework core while debugging in VS2008) and CodePlex is helping bulk up the available OSS libraries for .NET. It's very rare when I need a library and there isn't an open source one or its included in the framework.<p>ASP.NET MVC is an excellent framework and eliminates most of the problems Webforms has. Webforms has its place in corps for the first type of developer I listed above, but MVC is made for the second. I wouldn't spend anytime with Webforms if I were just starting out. Save yourself the headaches.<p>I think the quality of C# 3.0 has been covered enough. If you like dynamic languages, IronPython and IronRuby rely on the Dynamic Language Runtime which will be included in .NET 4. C# is getting support for interopping with dynamic languages. F# is purely functional and will be a first-class language with tool support coming up in VS2010.
physcab超过 16 年前
I am 24 and have also been in the LAMP stack for the past year until I began programming as an unpaid intern for a local web development company. The web company uses a MS stack and I have LOVED it. I have a physics background, so I never really "learned" how to code, and picking up PHP felt disjointed. One thing that I have appreciated about MS is the consistency. The IDE is wonderful.
评论 #452901 未加载
johns超过 16 年前
You should have probably disclosed up front that you work for Microsoft. As much as I like .NET, I like full disclosure more.
评论 #453253 未加载
mattchew超过 16 年前
My ASP.NET is a little rusty, but I did a fair bit upon a time. Bottom line, if you drink the Kool-Aid and do it their way, it's not so bad. If you try to translate some other web stack concepts into ASP.NET, you're going to be very frustrated.<p>Specific things to understand:<p>Page cycle. Critical. ASP.NET events. Viewstate (nice if you don't lean too hard on it) App_Code/App_Data directories. Master pages (heh)<p>Also MS has some funky way of handling javascript that is non-standard. You add a javascript handler in Page_Load or something like that. I wasn't doing JS back then so can't tell you more. If use a lot of JS you'll want to understand how the IDs for ASP.NET controls are generated.<p>I tried to use a UserControl in a project and wasn't satisfied, couldn't get the different pieces to see each other and talk to each other correctly. Try before you fly.<p>I'd recommend finding a source of examples and starting there.<p>(P.S. If anyone else is curious like me about why someone would want to move from RoR &#38; Django to ASP.NET, read the first post on n00bnotes, it's explained there.)
评论 #453021 未加载
tomh-超过 16 年前
I think if you are going to develop web applications you are better off with a dynamic language, recompiling large projects is a time killer and can get anoying. Another thing that is you might not like is that in general the opensource community for c# is not as big as other platforms have.<p>On the other hand the technologies are nice and fast, but for .NET it is all about tooling which can make you lazy and it can get in the way if you do not understand whats going on under the engine. You can pretty much forget about being productive without Visual Studio.<p>If you wanna geek around in a command-line interface, then .NET is not for you. If you want to do one part of your project the non-MS way, then .NET is probably not for you. I'm Microsoft partner and get all the software for a good price, but I'm not convinced that I would be more productive than with python and django.
评论 #453026 未加载
评论 #452905 未加载
mark_ellul超过 16 年前
After 4yrs developing on the MSFT stack, I can say that it provides a nice end 2 end experience, especially using VS IDE. Now with Mono your deployment options are more open as well, which I find useful.<p>My only gripe is the cost of the stack, if you are hosting your own servers. I also found it hard to debug live environments, as it was hard to do introspection without bring the whole system to a halt.