an old geezer running visual studio for the first time

T

TB

Hi all:

If you think that the following comments are absolute amateurish, then
please bear with me, or simply skip this thread.

A couple of months back I made the decision to initiate a gradual upgrade of
my web programming skills from Classic ASP / VBS to ASP.NET / VB.NET.

While the study of the language differences and all the new features in .NET
has so far not been a traumatic experience, I am a bit shell-schocked after
installing and running for the first time Visual Studio .Net (2003 edition).

Until now I have programmed everything in the old-fashioned way, i.e. with a
bare minimum of tools: a simple editor for coding, a bit of Frontpage for
page layout, and my browser to see the results when running the page against
a local instance of IIS.

I have done quite a bit web programming, developing anything from yellow
pages to accounting programs.

But when I ran VS.NET for the first time, I simply didn't know where to
start.

The program appears to be a sort of Swiss-knife approach to programming,
eliminating the need for external apps. During the past couple of years I
have developed my own little collection of helpers which I use during
development.

VS.NET creates files for "project mangement". My project management normally
consists notes and diagrams. My reusable code (subs and functions) is kept
in separate files, which I either reference to or cut/paste - depending on
the situation.

I normally use a GUI tool (Frontpage for example) to generate a page layout.
In VS.NET I am met with the question whether I want the designed to be
grid-based or flow-based.

Finally, I discovered that VS.NET saves code and html in different files. I
am used to keeping everything together, grouping functions, subs etc above
the <head> tag, and then insert code snippets between <% %> tags. This
approach seems to be frowned upon by VS.NET.

Am I an old-fashioned guy? No, because I have made the desicion to move to
..NET, although a bit late perhaps. But I would like to find a book, a
tutorial, anything that can teach this old geezer to use a new toy which
apparently could improve my productivity.

Any advice / comments from people who may or may not have been through the
same process would be most welcome.

Thanks

TB
 
T

TJS

Although it is not necessary to use vs, and many people don't,
a solution is to Google -->

books visual studio
 
J

Jeffrey Todd

These 3 suggestions will hopefully help a lot:

1. Consider developing your aspx and ascx files in FrontPage, Dreamweaver,
Notepad, or whatever is your favorite HTML and/or CSS editor - and limit
your use of VS.NET to (1) all programming work (code-behind logic) and (2)
launching you application for testing purposes. VS.NET 2003 most definitely
NOT the place to write HTML - so no need for you to think about grid vs flow
layouts. Reason being that VS.NET 2003 will rewrite your HTML for you -
often with disastrous results. This link from a Microsoft insider explains:
http://blogs.msdn.com/MikhailArkhipov/archive/2004/05/16/132886.aspx
The upshot is that many of us use FrontPage or Dreamweaver for all
HTML-specific work (i.e., ASPX and ASCX file development) and use VS.NET
only for programming/code-behind work. The way I develop is that I keep a
copy of Dreamweaver running at all times along side VS.NET 2003 - and switch
between the two. One last point here is that VS.NET 2005 - due out in
November or so - is expected to no longer have the HTML rendering and
management issues that VS.NET 2003 has.

2. Get this book: Programming ASP.NET - by Dino Esposito - Microsoft Press.
It puts everything in context - IMHO ideal for your situation. It's not a
step-by-step tutorial, but it is more valuable because tells you how to
understand ASP.NET.

3. Familiarize yourself with the starter kits at the following link:
http://www.asp.net/Default.aspx?tabindex=8&tabid=47. I'd especially
recommend that you download and disect the Commerce starter kit. The starter
kits are complete ASP.NET Web applications and include all source code -
which is very readable and well-documented. The Commerce starter kit is one
of the simpler - so it would be a good starting point as it incorporates
many fundamentals.

-HTH

-JT
 
S

Sergio Pereira

Hi TB. WE have all gone through this very same stage that you are facing
right now.
I remember when I was going through this transition myself... Feeling
overwhelmed by VS.NET and not knowing what was the "best new way" of doing
the things I did in the previous platform.
Sit tight! You're in for a extremely thrilling ride with ASP.NET. The more
you understand the ASP.NET infrastructure the more amazed you get and the
more you want to learn.
Yes, it can be frustrating not finding the usual functionality in the usual
places, but I can ensure you all the functionality was kept and enhanced.
The first thing you should keep in mind and learn how to apply is object
oriented design and programming. When you start "getting" the spirit of the
platform (like "the ASPX file produce a class at runtime that inheritd from
the code-behind class), then you'll start to walk on your own.
Another very important thing to master is the page life cycle (the order on
which the events and methods are fired/called).
Another thing that can be annoying in the begining is ADO.NET.

But for any question you may have, the newsgroups is here and google groups
is your best friend.

Hope I can be of help

- Sergio
 
T

TB

Thank your very much for bothering to answer this "old newbie".

I will follow your advice. Particularly I will desect some of the sample
projects on www.asp.net to learn how code-behind truly works. Actually it
sounds like an interesting concept, but I supose (without knowing anything
yet) that there are several degrees of code-behind depending on how
puritanic you are or how much time you have left to finish a job. I guess
that it also difficult for .NET developers to resist the temptation to get
dirty and throw in a bit of inline code here and there just to get a project
out of the door.

I will also take a serious look at the book you suggest.

Another question, now that I got you "on the line": Is it possible to make
VS.NET work perfectly / natively / transparently with MySQL?

TB
 
T

TB

Thanks for replying:

My idea of OOP is basically to make little collections of useful stuff:
subs, functions, etc and give them a meanful name so that you can actually
remember afterwards why you bothered lump them together in the first place.
Is that too simplistic / old-fashioned? As I understand from the replies to
this thread, VS.NET turns this practice into a kind of required religion and
frowns upon excessive inline coding (which sometimes is suuuuch a temptation
when you are in a hurry....).

"Page life cycle" still doesn't mean a thing to me, but I guess I can read a
book on that topic.

ADO.NET: In classic ASP I have gotten pretty good at using disconnected
models (open a connection, dumping all the stuff into strings / arrays, and
closing rapidly the connetion again) and only change data by way of SQL
(insert, update, delete instructions). Now that ADO.NET generally seems to
operating on a disconnected level, does that mean all my hard-won SQL skills
are now obsolete? ( I really like to write my own SQL lines).

TB
 
S

Sergio Pereira

TB,
Maybe your idea of OOP is not as complete as it can be. What you mentioned,
sounds more like componentization than OOP in general. Componentization is
indeed one characteristic of OOP, but does not represent the whole thing.
The real challenge when moving to an object oriented platform is learning
how things are organized/designed, then learn how to design those things
yourself.
When you're starting with ASP.NET, you should become familiar with the
hierarchy chain of the important classes, like, Page derives from
TemplateControl which derives from Control which implements IComponent, etc.
After a while you will creating your own classes and base classes for (for
example) your pages, so instead of placing common functionality in utility
classes, you'll discover that the best place for some of the common
functionality is in a common base class. It just takes a little time and
practice (books can help too).
You can still use your inline code, especially when you are in a hurry, but
you'll learn that the recommended way of using a code behind file is much
more maintainable and less error-prone.
In ASP 3.0, the page runs fromt he top to the bottom, in a single pass. In
ASP.NET the runtime will call different parts of your code in the
appropriate moment. These moments are the phases in what I called the page
life cycle.
A book will help you for sure and I'd be happy to recommend Frits Onion's
"Essential ASP.NET", which is not necessarily for beginners, but helps you
tie the concepts together after you started writing your own pages but still
don't feel like you are understanding what is going on behind the scenes.
What I meant by ADO.NET being annoying is that it introduces a whole bunch
of new objects that you have to learn how to use and how to decide which
ones to use in each situation. Your SQL skills will be very valuable for you
going forward.

- Sergio
 
R

Rob T

When I switched over to .net, I found the book ASP.NET Unleashed quite
helpful. I've used it so much the binding is falling apart!
 
J

Jeremy S

Hi TB

From cruising through your various comments in this thread I gather that you
are very comfortable with the old school way to do things. One thought is to
just stay there. Seriously. If you need to get stuff done, then might as
well just stay where you are most productive (at least until you are
comfortable with the new stuff).

Now, the new way to do things will involve somewhat of a learning curve -
but once you've traversed it, you'll be *way more* productive than you ever
could have been with the old stuff.

From your other comments it appears that you view ASP.NET and ADO.NET as
somehow limiting what a developer can do - especially if the developer wants
to "get down and dirty" and write some code. Not true at all. Much of what
you have likely read is touting the "training wheels" that have been
included in Visual Studio - like drag-and-droping DataAdapters into a visual
surface. You should understand that most serious developers (at least the
ones I've met) simply do not use such training wheels. You can ignore those
and dive right into the code. When it comes to ADO.NET - you can actually
write more code than you could have in classic ADO. Remember .UpdateBatch()
in classic ADO? That actually writes a bunch of dynamic SQL under the covers
for you that you never get to manipulate. ADO.NET actually gives you much
more control and more granular control of inserts, updates, and deletes. I
highly recommend to you another book "ADO.NET" by David Sceppa - Microsoft
Press. A "must read" IMHO for anyone familiar with classic ADO moving to
ADO.NET. Sceppa presents the new stuff and compares/contrasts it with
classic ADO. Remember, ADO.NET is not simply the next version of classic
ADO... it's a whole new way to interface with your data. And, to answer your
particular question, yes - ADO.NET will let you work as easily with PHP as
you can with SQL Server, Oracle, Access, or any other database or data store
(even XML files).

About the starter kits - I recommended the Commerce one because it is, IMHO,
the most straight-forward; it shows you a lot of the nuts-n-bolts. This is
on contrast to the Portal kit which shows some very cool stuff (like serving
up an entire non trivial site through only one aspx page) - but it's stuff
most projects likely won't need.

-HTH
 
K

Kevin Spencer

I agree completely with Jeremy. A good programmer is definitely a control
freak, and wants to be in control of his/her app as much as possible. The
"training wheels" analogy is perfect. For beginners, these types of tools
can be the difference between getting started in ASP.Net and not getting
started at all. But they are hardly intended to be a substitute for real
hard-core programming, which is why the SDK has articles and tutorials on
such subjects as designing and building custom Server Controls, etc. Some of
the greatest aspects of Visual Studio.Net is that it can allow one to build
something quick and dirty in a short period of time, or it will allow the
developer to delve as deeply into the technology as one can go, all the way
down to assembler and MSIL if necessary or desired.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.
 
T

TB

Don't get me wrong:

1) To me programming is a way of making money, not a way of life. Therefore
I will not abandon classic ASP, which for the moment pays my bills, until I
can offer my customers .NET solutions upon which I can place my personal
seal of quality. I have set a time frame of about 1 year to get up to speed
on ASP.NET and meanwhile continue with the bread-and-butter business.

2) My initial negative reaction is/was directed towards a specifc program
(VS.NET) and not the technology itself. As I mentioned in first post, my
study of the technology is progressing fine.

Training wheels: I agree 100% with your point of view. I am a hands-on
person, and in my book WYSIWYG is looking at the code because that is the
only place you can see what you really are going to get and - and more
importantly - why. The only situation where I use Frontpage is for drawing
tables, because it is pain to make a complex table grid writing out all the
html line by line.

TB
 
T

TB

Please refer to my reply to Jeremy.

Anyway, I am beginning to realize that a decision to adopt VS.NET is not
caused by a love-at-first-sght / wow experience, because it is about the
most unsexy, userunfriendly program I have seen in a long time. But my
experience in programming has taught me to keep my eye on the ball, which in
this case is called long-term productivity gains, a area in which VS.NET
will hopefully prove its worth.

TB
 
T

TB

I think I know what you mean:

It is not as much a technology that you have to adopt but a mindset that
continuously analyzes everything before you, trying recognise patterns in an
endless cycle of refinement of generalized functions (i.e. objects) and a
corresponding of reduction of original code mass for each product delivered.

TB
 
T

TB

Will take a look at the book. Thanks

TB
Rob T said:
When I switched over to .net, I found the book ASP.NET Unleashed quite
helpful. I've used it so much the binding is falling apart!
 
K

Kevin Spencer

Well, TB, of course it's "userunfriendly." It is, however, very
"programmer-friendly." Most programmers I know are very "userunfriendly."
;-)

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.
 
K

Kevin Spencer

Hi TB,

Re number 1: My Uncle Chutney has a saying - "What You Seek Is What You
Get." If you seek money, you will probably fail as a programmer, but you
will make money as one. Many people do.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,739
Latest member
Clint8040

Latest Threads

Top