The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Getting Into Web Development

I've been programming in VB 5/6 for the past several years and am interested in learning a web development language for fun/profit.

As I *do* have a reasonable amount of experience with VB, I'm considering ASP.NET, based on its relative similarity to VB.

Any thoughts on a "beginer" web language?

Thursday, January 19, 2006
A product I'm thinking about is Visual Web Developer 2005, the starter edition being Express Edition (that *is* ASP.NET, right?)
Thursday, January 19, 2006
If you don't have an Object-Oriented background, you may find classic asp or php a better starting point as opposed to .Net.  Classic asp is becoming less and less useful all the time though...
KC Send private email
Thursday, January 19, 2006
Any thoughts on ASP.NET, though?

I would prefer something that's a. visual, b. at least somewhat familiar as far as language (or easy to pick up) and c. currently being used for web-based products.
Thursday, January 19, 2006
Go Ruby On Rails and live happily ever after!
Lorenzo Bolognini Send private email
Thursday, January 19, 2006
I have done ASP/VB COM, PHP, etc... and prefer C# and .NET these days.
Sassy Send private email
Thursday, January 19, 2006
Lorenzo, how hard (or easy, for that matter) would it be for someone like me to learn Ruby on Rails? Can you give any examples of its usage?

Sassy, when you say .NET, what language are you referring to?
Thursday, January 19, 2006
The choice of a back-end language is less important than a solid understanding of how the Web works and general programming proficiency. When you have those, you can make any language or framework work for you. The choice of correct language is important in the later stages, when it can make a difference in your productivity. However, in the learning phase you'll either learn the foundations no matter what language you use, or become a voodoo coder. I've yet to see a Web development framework that both works and is flexible, but doesn't require non-trivial understanding HTTP, HTML, CSS etc.

(Web application user interfaces left outside the scope of this post on purpose :)
Aapo Laitinen Send private email
Thursday, January 19, 2006
Don't get carried away by 'Ruby rocks' and 'PhP blows everything away' and ".NET is gold" etc.

Web development, if it has to be done sensibly and well, is a  mix of a lot of things as another poster has indicated. So you're better off reducing your learning curve.

I don't know about Ruby, but I do know ASP.NET and C# (I know  PhP and Perl, but not to the extent I'd make a judgement) and I think the new ASP.NET 2.0 platform is pretty productive and I like many features there that are saving me time.
hold on a minute!
Thursday, January 19, 2006
Your days as a web developer will be filled with agony regardless of what language you use.  Your hair will began to grow grey as you fight every single *DS%*&$% browser and their different interpretations of web "standards".  Sure, "they" will tell you, if you use CSS 4.56 and XYZHTML 4029.9 your site will "just work" if you use their prescribe hack to work around FreeBSD's copy of Safari on Linux.  But dont expect it to work because soon somebody will complain that your site doesn't work in their copy of Graphical Lynx on Windows 3.11 for the Mac.

Once you are done and become famous, some little bastard out there will  exploit your newly minted website and use it to send out spam or he will muck up your comment system with garbage.  Then you'll get on Slashdot and people will complain because your website doesn't function with their custom compiled version of Mozilla Netscape 5 with cookies turned off (how dare you drop a cookie on my box!) and they  are worried because your website doesn't comply with the W4C's RXML standard, it will not work on 30 year old screen readers (think of the blind!!).

So what I am telling you is the language doesn't matter.  Your sanity matters.

Cory R. King
Thursday, January 19, 2006
Yes, web site development needs dedication and caring, so it's the perfect environment for "professionals" to proliferate... As you have waited this far, maybe you could wait for Windows Vista and see what winds it brings...
Lost in the jungle
Thursday, January 19, 2006
Just go with Ruby.
smalltalk Send private email
Friday, January 20, 2006
Get the ROR book and work through it. My current site is still in Perl, and works well, but the abstractions used in ROR (active record, active view and all that) for db support, ajax, and all the rest of it DO look really great. Because of that I may well commit to a total rewrite with ROR in future. I worked through part of the examples without too much trouble too, just don't have time to put into it.

But if you are coming into it fresh, definitely check out ROR. If you want examples of what it can do, open an account at and play with it. Don't be fooled by teh apparent simplicity - that's some slick shit right there.
revert my buffer
Friday, January 20, 2006
You won't like web development whatever language you chose. Experienced VB developers get grumpy when they have to take care of things like state management and different browsers. Not to mention the lack of "edit and continue".

Friday, January 20, 2006
you can't get away from the hassle caused by browser incompatibility and all that. That's how it is - deal with it. Keep your design simple and clean, IE5 and 6 will still fuck up what other browsers display intelligently, but what can you do. Deal with it and move on.
revert my buffer
Friday, January 20, 2006
IE6 is a lot better than IE5.
John Topley Send private email
Friday, January 20, 2006
true, but they both mangle in some subtle and creative ways.
revert my buffer
Friday, January 20, 2006
Did you say you're still programming in VB5?
Developer #13
Friday, January 20, 2006
Right now I program in VB 6.
Friday, January 20, 2006
Like others have said there is a lot of none language specific stuff to know about web development.

Yes, Visual Web Developer Express does use ASP.NET 2.0. And it's free for a while. You can really use any .NET language but since you have VB experience using VB.Net as the serverside language would probably be the easiest learning curve. And for web development it's been pretty persistant in it use. That way you won't have to spend a whole lot of time learning the syntax of the language since you're going have to learn object oriented fundementals, sessions, cookies, javascript (for client side), HTML/DHTML/XHTML etc... The good thing is there are mountains of material available online and any local bookstore on all this. You're also going to want to get handy reference books on HTML, CSS, and one on web programming in general at the very least.

You may want to get the rest of the express line too (or Visual Basic 2005 Express at the least). Sooner or later you may want to code something a little more in depth than the web devloper has room for.
TrippinOnIT Send private email
Friday, January 20, 2006
Just to clarify...

You can create a pretty decent "simple" web site in Classic ASP, HTML and CSS, without needing to buy any additional software. You will still need to download a relational database or use Access but its nothing like going out and buying Visual Studio.

Plus, you will be able to leverage most of what you already know about the Visual Basic programming language.

For these reasons alone, I would suggest you get your feet wet doing web development via Classic ASP first. If you find that you're comfortable with the concepts and want to make a serious go of it, then either buy Visual Studio, explore Java technologies, or use RoR (the later two options require you to learn a new language.)
Friday, January 20, 2006
It's hard to get a grasp of the fundamentals of web programming because there are lots of layers in between you and what is outputted.  Maybe I'm just talking about ASP.NET 2.0, for a few reasons:

* Response strings and posting forms abstracted into the Page framework.
* Use of what I suppose is XHTML...basically <asp:everything> instead of the raw HTML (e.g. <img> tags)
* CodeBehind pages and event-based model make code execution less easy to follow ... for lack of a better description, "linearly - in a linear fashion"
* Use of web projects instead of raw files by default
* IIS takes care of the web server aspect
* (not currently available) built-in Javascript for controls will be available with "Atlas"
* Use of compiled web controls you can't see

So if you're doing web development, where's the low-level introductory course?  Where's the "Introduction to C programming" course for the web?

You can skip the low-level if you already have a firm understanding of everything, but what if you don't?  Where do you go?  The answer shouldn't be something like ASP.NET 2.0.
pds Send private email
Friday, January 20, 2006
And for the record, I'm specifically targeting ASP.NET because that's what I know.  I have no idea how much the other frameworks abstract away; I'll let someone else tackle them.  But ASP.NET isn't a good starter language unless you understand what's underneath:

* HTML (tags and whatnot)


* Javascript

* HTML forms

* Cookies

* Query strings, or whatever you call those things that follow the URL with ?QueryString=etcetc


* Content types

* ASCII/Unicode

* Database connections in general

I might have missed something, or might have been too vague, but this is a good web-specific list, right?  Feel free to demolish this list with scorn/corrections.
pds Send private email
Friday, January 20, 2006
Well, there a are lot of good options for web development nowadays. Personally I stick to ASP.Net/C# (using .NET FW 2.0). But honestly, your VB6 experience won't be useful - if anything it'll work against you. VB.Net is VERY different (not that I'm suggesting to use VB.Net but it seems to be your choice), and your prior VB6 knowledge will most likely only confuse you. You *WILL* have to learn strong OOP concepts and such, it'll be a major change regardless of what you pick. You will also have to learn all the web development stuff (XHTML, CSS, javascript, etc). You can also peek at other languages/platforms/frameworks (RoR, OO PHP, etc), VB6 experience won't really help you regardless of what you pick.
Saturday, January 21, 2006
The biggest problem I have seen with former VB people moving to server-side programming of any kind is bad programming practices that don't scale.  A lot of VBers get some lousy paradigms ingrained, things that are sloppy but work - in a single user computer on a simple LAN.

Sloppy busy-wait loops punctuated by DoEvents that more or less work, incredibly bad TCP programming using the Winsock control that assume one SendData at the sender equals one GetData at the receiver, horribly memory wasteful things like sucking up whole files into a String and manipulating them instead of doing blocked disk I/O, and many others.

This is hardly the sole domain of the VBer though.

There is no shortage of "best things to understand first" about web application development though.  The nature, limitations, and work arounds for the stateless transactional nature of HTTP is one place to start.  Really a small topic, but one you need to breathe like air.  Proper management of database connections and queries is important too - another way web development differs from classic 2-tiered C/S programming and design: "proper" has a different set of parameters here.  Usability design is another area where things are different, along with many more little bits and pieces where the flow of control and state management force some adjustments in thinking.

The tools don't matter much on any fundamental level, most web applications are still based on the now-ancient model pioneered with CGI.  Everything else is icing and sprinkles on the basic CGI cupcake, though some of those "toppings" can go a long way toward increased productivity.

Every web framework offers its set of internal services to assist you with performance, state management, administration, and other goodies too.  That's where the "lock in" can come in.  To use a given environment well requires some depth of study and practice.  This is the stuff that religious wars are made of: developers acquire a sort of "Stockholm Syndrome" and become willing captors and even promoters of the bag of crutches they've invested so much in.
Saturday, January 21, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz