Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Ten years ago or so I built a small web site in ASP. I basically wrote it in a text editor and uploaded the files to a web server. I then didn't program anything for the web for a while and now I work in Visual Studio 2012 in C#, VB.Net and ASP.Net. The questions is, is the old ASP I originally worked in still a viable alternative for creating web sites? Would a professional even consider it or has the industry completely moved away from it?
I ask because a large project is going to be started this year for the small company I work for. It looks like it is going to be handed to someone who's skill-set has never moved past the old ASP. He does not do a lot of programming, but is capable at what he does. It seems wrong to me, but I don't know enough about the industry outside my little world to make an argument against it.
Thanks.
I personally do a lot of legacy (there's something to that term) ASP work to support aging infrastructure until it is ultimately replaced (parallel work) by ASP.Net.
While you will find/rediscover "hidden gems" like the now-sexy-again "javascript on the server-side" (yes, you can do Javascript in classic ASP) and yes, you can handle JSON in classic ASP, the term "legacy" is, IMHO, really all there is to it.
Dev support for it today, is likely out of necessity more than anything. Considering it for new development should be the question hard to argue for. Translated to a business question - would you invest new money and resources on outdated infrastructure?
For your dev - it's not going to be a "cakewalk" but he/she will find things still familiar (and much better). Moving from VBScript (classic asp) to VB.Net will likely be the path of least resistance.
The "funny" thing about being "used" to ASP is that it might actually allow your dev to "skip" ASP.Net WebForms and "leapfrog" to MVC and/or WebPages and Razor - re: it's more "bare metal" stuff like it was in classic ASP!
HTH....
I don't really believe that anyone that has kept up with any sort of industry trends would do green field dev in Classic ASP. Using classic ASP just closes off a lot of avenues and makes life harder. Try finding good classic ASP developers? It's a nightmare. There is less and less resources available to help develop. Had the same issues and I took a department over and implemented MVC and customers are far happier. All the things you get for free like validation etc makes for far better apps. Can do TDD easily in MVC and not easily done in Classic ASP. Routing, JSON, clean separation of concerns, loose coupling, modern ORM availability, good IDE, just so many benefits of moving to a modern language.
You can write classic ASP reasonably well but most Classic ASP code I have ever seen looks like Spaghetti.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am new to asp.net mvc. I have lot of experience in asp.net web forms. Can any one please help me find a good resource to getting started with MVC 5?
I learned .NET MVC by watching videos on Pluralsight: http://beta.pluralsight.com/. I have also learned a ton by reading posts here on Stack Overflow. There are also a lot of good learning resources on the Microsoft ASP .NET MVC site: http://www.asp.net/mvc.
In addition to all the great answers, I would like to add a few things...
As a consultant working in many different companies, I’ve had my chance to get my hands dirty on many different asp.net MVC applications.
One of the first things I realize is that people’s understanding (or lack thereof) of asp.net MVC varies a lot and this has a major impact on the way the application is built and maintained.
For the past 13 years or so, Microsoft has been teaching us how to build websites using webforms. That is by dragging and dropping controls, double-clicking it and code against that.
When asp.net MVC was first introduced (a while back), people’s initial reaction was to not fully understand why we’d want to intermingle server-side code with HTML. After all…isn’t this bad/wrong?
More importantly, people would compare this to Classic ASP and believe this is some sort of step back.
Now that more and more people have been working with asp.net MVC, I can assure you that most of them would not return to the webform style of things.
You have to understand that an asp.net MVC project is very versatile and with that versatility comes more responsibilities. It is the understanding of those new responsibilities that people don’t fully grasp. In turn, this can easily transform an MVC project into a bunch of spaghetti code and maintenance hell.
As a quick example, I’m still seeing people not understanding or seeing the benefits of having strongly typed Views with ViewModels. Applications have the tendency of evolving and change a lot. Having ViewModels will help in coping with the scalability of your application and when you need to refactor.
Try to adopt a JavaScript standard perhaps with namespace and what not as you’ll quickly see your Views contaminated with JavaScript.
Adopt the separation of concerns philosophy by having a well layered architecture not only for testability but also for ease of refactoring, maintainability and readability of your code.
As an example, download some existing application such as the open source NopCommerce project. Open the source code, see how they do things.
I think the best place to start is http://www.asp.net/mvc and also check
this PluralSight course and also Scott Allen has lots of fantastic materials on is blog google is always the best friend.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am about to make a new Web application. My PHP skills are a little above average - I would'nt put myself under enterprise level coding. However my Classic ASP skills are strong and I have programmed VB in Classic ASP before for powerful websites.
I am going to make a ad network market place - buying and selling ad space online. It would be CDN backed with CDN JS and CDN image distribution with DNS and load balanced mySQL cluster servers.
What are everyones thoughts? I take it, Nginx can't run Windows?
Classic ASP to note, IMO, still handles and performs well on some sites. My concern is for future and speed and performance. Security on Classic ASP and PHP - well, Classic ASP with VB wins for me.
Even if you know Classic ASP better than PHP - Classic ASP is obsolete for nearly ten years:
It [ASP.NET] was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology.
I wouldn't start a new project with a technology that is ten years obsolete.
I don't know if Nginx runs on Windows, but it's definitely possible to run PHP and mySQL on Windows. There are Windows installers for mySQL, and it's even possible to run PHP on IIS.
Why is this even a question? Classic ASP is obsolete. When do you expect the next version of Classic ASP? When do you expect even the next patch?
Now, ask yourself the same questions about PHP.
To paraphrase an old "TV Guide" advertisement, "Get it? Got it? Good.".
I would recommend neither of the two, and would go with ASP.NET MVC. It's closer in pattern to Classic ASP, and I believe you can even program it in the same pattern - don't use a model, use a single controller that takes the view name as a parameter, and do all the work in the view.
A lot of people still use classic ASP all the time. So if your strengths are there, go ahead and use it. I know I still have to use it every day.
That being said, if your skills are that strong in ASP, you should have no problem moving to PHP. A couple of hours with a good code book will help you get through. Here is a basic cross-reference guide to ASP and PHP.
http://www.design215.com/toolbox/asp.php
The question invites a pretty subjective answer. However, I'll try to be objectively subjective.
Since 5.3, PHP is the best choice in my opinion.
Also, if you're really intending to build it for scalability, I'd suggest looking at a cloud service like Amazon Web Services for your server (EC2), CDN (S3 + CloudFront) and database (RDS). If you're considering going as far as using Nginx there are some good configuration options at http://scalr.net/ for working with a few different clouds, including AWS.
My recommendation would be PHP, coz it scales well, has a large community support, wide variety of IDEs and editors, robust frameworks and wide spread usage as a choice web development technology. My experience with ASP was long ago and was quite cumbersome, but PHP with all the said features and more like fully OO, works nicely. PHP as of now is on steady footing in web development arena.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I know the differences between ASP and ASP.NET generally, as I am new to both, so I don't understand all of them, but I get the fact that ASP.NET is built on top of Microsofts .NET framework, and is the next generation of ASP, but it's built from the ground up.
W3Schools and another question here on SO provided great help explaining the difference!
I was wondering if it is worth it to fully learn Classic-ASP before diving into ASP.NET.
Why do people still use Classic-ASP? I've heard about the benefits which ASP.NET provides, and it seems like it would be worth it to switch.
Do people still use Classic-ASP because of server issues, or just because they prefer to work in it for some reason?
I would like some guidance on which I should start learning first, and why if anyone has any good suggestions?
UPDATE:
Thanks for the very helpful posts everyone! They gave me a great indicator of what is important, and why!
Thanks!!
There's little or no point learning classic asp as a precursor to asp.net as whilst similar in some respects(the Server, Request, Response objects and their associated methods, etc), they're different enough that one doesn't serve as a gentle introduction to the other.
If you've no need to know classic asp, definately go with asp.net as it's "the way of the future", be it in its MVC or WebForms guise. The only reason I can think of, now, to learn classic asp would be to support a legacy application. I'd be very surprised if there's any new "greenfield" development being carried out in classic asp on any great scale. There's also a great question (that I provided an answer to) that will give you some info on the differences between asp.net WebForms and MVC that's well worth a read.
When it comes to deciding "which language" out of the choice of C# and VB.net, pick whichever you find most comprehensible, at least initially. You'd be advised to at least consider C# as examples, samples, tutorials and suchlike are much more readily available in it. One look at the C# tag vs. the vb.net tag (105,977 questions against 10,815) here on stackoverflow makes it quite clear which has the broader uptake.
ASP.Net and Classic ASP really have nothing to do with each other. Yes, they are both technologies for building websites, but the relationship stops there. Incidentally, Classic ASP is more comparable to PHP than any .Net language.
Some people still have classic asp sites, but there aren't enough left to justify spending the time learning it... Unless you are already working on one. The main reasons any of those sites are still around is they still work (old bits don't exactly grow moss) and the cost to redo everything is high enough to not be justifiable.
Just learn C# and asp.net. Don't do VB.Net as it has a much smaller following.
I would so no, as classic asp is just going to teach you bad habits.
Unless you have to work on an existing projects that already uses (classic) ASP I don't think it is worth the effort to learn. You could save yourself a lot of headache by stearing clear of that rather dated technology.
Even though the templating engines have similarities you will have to code your (classic) ASP pages in VBScript or JScript. In ASP.NET you will be using C# or VB.NET. The .NET platform is much richer than the COM based scripting platform.
Don't bother learning classic ASP unless you know for sure that you'll be working with it. Personally, I wish I could forget it. Stick with ASP.NET. Microsoft won't be going back to classic anytime soon.
Only if it is a walk down memory lane that you seek, or if you are an unfortunate soul having to maintain ASP Classic web sites.
ASP.NET nicely balances dev productivity, ease of maintenance, separation of concerns, and performance issues which were present in ASP classic.
At the same time, you might look at the earliest CGI generators on Windows - anyone remembering sprintf-ing HTML from C++. Ouch.
http://www.west-wind.com/Weblog/posts/1143.aspx
Pretty much definitively not, no.
The last version of ASP was released nearly 10 years ago with a verison of IIS no longer being supported. All the various clones of ASP have also long since died, and basically the only reason it continues to exist is legacy support.
You do not want to base your future career plans on supporting dwindling and archaic code bases.
Platform itself isn't worth learning for new work--its ancient these days. It could be of some interest in a "understanding where we came from" and "understanding why all these old farts you work with have wierd self-defensive habits."
There is one good thing you can learn with it--how to handle classic HTTP request/response in the nude. ASP.NET MVC brings this back a little bit, but there is still quite a bit of abstraction and black magic surrounding it. Except when said magic fails and the abstractions start leaking and you need to understand the underlying transport . . .
Like everyone else said, the short answer is: "no", you don't need to learn classic ASP. The long answer is: even the most complicated classic ASP site should be rewritten in a newer technology, whether from Microsoft or someone else. Time would be better spent analyzing the old application to get a list of requirements for a new application and learning how to make it work with the newer technology. The fact that a company is still using a site that is 10+ years old and is hiring someone to support it instead of replace it should be a red flag for every developer.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
How much of ASP.NET or C# is required for Sharepoint development? Do you need experience with things like developing N layered web applications, design patterns, test driven development, strong SQL background etc?
I hear that Sharepoint development is different from enterprise applications thats typically built with technologies like ASP.NET.
If I know my basics in .NET, C# and have some experience with ASP.NET and have good understanding of things like Page lifecycle in webforms, web parts, Master pages etc, then am I ready for Sharepoint?
Also, is Infopath very heavily used in Sharepoint development?
If you already know ASP.NET than you are ready for SharePoint development. Get familiar with its SDK and other development concepts. SharePoint Dev Wiki might also be a good start.
A must have for new developers is to learn SharePoint from end user perspective. I am using this book to train the new guys. If you do not understand these concepts it might be hard to start coding.
It really depends on what you are wanting to achive, there are more than a few ways to develop something for SharePoint each requires different skills.
for example :
SharePoint exposes a number of webservices which you can use to complete a number of tasks.
A step up from that Sharepoint has a number of DLL's you can reference directly in order to access a more granular level of detail, but is more fiddly to work with.
Neither of these require any knowledge of ASP.NET but both work with sharepoint.
If you are planning on making a WebPart then yes ASP.NET knowlege is a big plus.
If you want to work with the Sharepoint workflows then you need knowlege of WF.
There is no one fit for developing sharepoint, which quite frankly makes it hard to hire people for it.
I guess it really depends on what you mean by SharePoint development. In my humble opinion you must learn what SharePoint provides out of the box in order not to reinvent the wheel all over again.
The object model, web services and how to deploy your work using solutions is something you have to pick up very quickly in order to be a good SharePoint developer.
As I am more of a consultant type when a developer I can't say whether you should know SQL and AD but I guess it won't hurt a bit.
If you are fluent in C# it might also be a good idea to have a closer look at PowerShell as it sure looks like Microsoft will integrate PowerShell in all server products including SharePoint 2010.
I don't think it's much different, really. I've been learning both at the same time to some success. Of course, ASP.NET and SharePoint are just different things, but SharePoint is built on ASP.NET, so to the extent you understand ASP.NET, you also understand SharePoint.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
A friend of mine's company is considering using either Java or ASP.NET for web development. Currently they do all development in Delphi. As they have no experience in .NET they have asked me to come down and give a 1 hour overview of .NET (mainly ASP.NET). What topics should I cover?
I was hired by a Delphi product company as a senior .NET developer with the goal of moving their applications from Delphi client server/desktop apps to web based ASP.NET.
I no longer work there but remain friends with an experienced Delphi programmer who is still there.
The biggest concern you have is ensuring that these Delphi programmers start to get their heads around the fundamental shift from desktop client server apps (very common using Delphi) to web based stateless, cross browser UI ASP.NET.
My friend from the previous company has said that the company is still struggling along with minimal .NET progress after 2 years. Technologies such as XML, Javascript, AJax and even fundamentals such as the .NET CLR and assemblies are still a bit of a mystery to the team.
In summary, if I was you I would be focusing entirely on bigger concepts such as the stateless nature of the web and how ASP.NET can solve it, and the benefits and drawbacks of thin client software (ie ease of deployment, browser incompatibilies, less rich user interfaces etc.)
Other than the other suggestions you are no doubt going to get, I'd explain to them that there is a Delphi for .NET which would ease the pain of change a little. So basically they are using Delphi as the language but the underpinnings of .NET.
You might want to talk to your regional developer evangelist. I'm sure they have a stack of bullet points for instances just like this.
You can find your local evangelist(s) at: http://msdn.microsoft.com/en-us/bb905078.aspx
There is so much to cover!
ASP.Net is better for Web Development though, It is designed for it. Take into account the following features:
Membership Provider
ASP.Net controls
The Whole Page and Code-Behind
system and don't forget ASP.Net MVC
ASP.Net Ajax and support for jQuery
ASP.Net peforms well generally, not
sure about Java though
Use .Net Librarys and languages, C#
or VB.Net and so on.
Many Many more
I would cover those, the way ASP.Net is designed as a much more complete package for web development than Java is. I also think the connection between pages and code is better in ASP.Net than using PHP/Java or how ever they would do it.
Can also switch to Winforms or other MS technologies relatively easily.
If they do want to explore C# the transition is pretty easy. Just remind them that Anders Hejlsberg was the Chief Architect of Delphi and C#.
http://en.wikipedia.org/wiki/Anders_Hejlsberg
I was a VB.net guy, but I took a one year Delphi gig a few years back. When I came back to .Net I was using C# and the transition was very easy.
Not sure if you're planning to give more of an architectural view or a more of hands-on experience (say, build a demo Hello World ASP.NET site), but anyway, here are some topics that might get them interested:
.NET covers many languages (C#, VB.NET, IronPython, IronRuby, Delphi.NET), even on the same solution; that means the developers can reuse some of their previous knowledge;
To support the item above, an overview of the CLR, IL etc might be useful, maybe comparing it a bit with how Java works
Visual Studio.NET is a great IDE, and there are lots of tools for it that support the latest best practices (TDD, IoC etc), including OSS
Could be also nice to mention Mono (maybe show them the same app running on Windows, MAc and Linux?) and ASP.NET MVC, in case your teammates have some knowledge of what MVC, RoR are about
I will think some more... :)
First off I'd give them a tour of creating a simple web app using Visual Studio and whatever the equivalent would be in Java. Seeing it done speaks a lot more than just giving the theory.