Brooke wrote:
Ok, what are the alternatives??? I am very interested as I am just starting
ASP.NET and I have both VS 2003 & VS 2005. I would like to chose the right
path before I get to far along.
Alternatives to ASP.NET? Too many! Tons of languages and associated
frameworks - more than you'd ever have time to look at or learn.
-Mono (Linux port of ASP.NET)
-Classic ASP (vbscript or jscript)
-Java (J2EE, JSP, etc) with tons wildly varying frameworks (including
some mature and advanced but very complex ones), running on a variery of
JVMs...
-PHP; tons of frameworks again; often/usually used along with MySQL
-Ruby; Rails being the most-known framework (but not the only one)
-Python, various frameworks again (cherrypy, zope, etc)
-Perl, ... (CPAN, etc)
-C (CGI)
And a bunch of other languages... (tcl, lua, etc), other things like
ColdFusion and such...
You have to consider all kinds of things:
-The platforms they run onto (windows? *nix? etc)
-The application servers they run onto (IIS? WebSphere? etc)
-The language you're programming into (syntax, etc)
-The main frameworks (what they offer, how hard/learning curve, etc. you
pretty much have to learn them to know in the first place... kind of a
catch 2 2)
-How good the development tools are (VS2005? Eclipse? ...)
-The advanced features it has or lacks, including interoperability (web
services namely)
-How much employment you can expect to find for each (and how much it pays)
-*OVERALL* costs (cost of platform/OS, cost of dev tools, cost of app
server/databases commonly used, web hosting costs, training costs, etc).
ETC!!! There is so much more to it, so as you can see it's not exactly
an easy choice. And it very much depends on your needs and preferences...
You'll also need to know some database technologies (which again vary by
whatever you chose previously - ADO.NET or JDBC or whatever); that
also means knowing the databases in particular you'll be using (SQL
Server/DB2/Oracle/Jet/MySQL/PostgreSQL/etc) - at least basic admin but
preferably the "sproc dialect" it uses and all. That's another fun
choice - just like the previous one. Also add XML to this list...
Nevermind you will still need to know about a lot of other stuff
regardless (xhtml, css, javascript and such basic web things), a lot of
programming stuff (from regular expressions, patterns, SQL, good
commenting, XML, proper documentation, UML, using source control
management apps, etc), tons of related apps (bug trackers, help
authoring, making installers, unit testing, etc). So even once you've
made the previous 2 choices, you're not quite done...
My personal choice is ASP.NET 2.0:
-wicked, powerful (.NET) framework (v2.0), one of the best IMHO
-great languages (C# for me; one of the very best languages ever made)
-great development tools: VS2005 and loads of amazing 3rd party tools
like Visual Assist X, dotTrace Profiler, CodeRush & Refactor!, VS.Net
Code Print, PromptSQL, CodeSmith, so many to list... tons of great free
stuff like NDoc too; Visio is quite handy as well.
-great documentation (msdn, newsgroups, sites like codeproject, great
developer blogs, MSDN Mag, PDC, *TONS* of stuff!!!)
-great support
-very good interoperability (perhaps the platform with the best support
for web services and WCF will only improve on this)
-so much of the boring repetitive stuff I absolutely hate are now
unnecessary (thanks to things like forms authentication & various
providers); ~70% less code to write - and they actually deliver on these
claims; I truly enjoy coding this way!
-great performance, powerful caching built-in, easy deployment
-reasonable costs (win2003 vs linux w/ support; IIS vs webshpere; sql
server vs oracle/db2...)
-lots of new, exciting, powerful technologies coming soon (WPF, WCF, WFF)
Tons more things, but I guess that's a good start anyways :)