posted on Wednesday, February 16, 2005 9:30 AM by thomasswilliams

My Programming Experience

I've been in computers for only 8 years (and that's counting 4 years of Uni), so I feel like a bit of a geek baby when talking about my “experience”. But Rocky Lhotka and Geoff Appleby (and not knowing either of these guys apart from their posts, I reckon you can mention the two of them in the same breath) talk about their language learning progression, so I can also talk about mine over here in junior corner.

I tie this information into the fact that recently at the Melbourne SQL Server SIGs I have been asked by two separate people whether it's worth going to Uni. The short answer is that, yes I believe it's worth it, and no I can't judge where I'd be today if I hadn't been. Perhaps my language “exploits“ below will help explain.

My languages (warning: long post ahead) -

C/C++: My degree in Computing had a total of 3 units of programming, which I did consecutively (including one semester of summer school) in my first 3 semesters. I really enjoyed programming. We used a DOS-based Borland IDE except for one semester where we used VI in programming C++ for Unix (for that semester, everyone cheated and used the Borland IDE in Windows, checked to see if their program would compile, and then copied it across). In these classes we never touched anything remotely GUI. I would say that I learnt about stacks, recursion, pointers, functions, black boxes and loose coupling, logic, and general constructs like IF...THEN and SELECT CASE.

I remember enjoying the “Unix” class as the assignments were set out so that the paper described how to get maximum marks, plus bonus points only if you attempted/completed all the other questions. This style of task suited me just fine. I got 20 out of 20 for the assignment, and got all the bonus points although I could still only get 100% in total!

I would not categorise the practical work I did in those classes as “real world“, and I have only done a tiny bit of C++ work since, so I wouldn't call myself fluent in C or C++.

SQL: Again, at Uni I took a couple of classes on relational databases (we used Oracle) and learnt SQL. At first, SQL was very difficult to learn. I missed the procedural style of C++ and didn't follow along on the set-based syntax. I was struggling with the first assignment, reading extra SQL handbooks to try and absorb something when finally a friend of mine sat down with me and went over some of the logic and made it very clear and understandable (thanks Amanda!)

I went on from those earlier classes to eventually consult outside Uni in projects using Access, so I consider myself reasonably good at SQL and it's an indispensable part of my work with SQL Server 2000.

VB5/VB6: After 2nd year at Uni I was fortunate enough to get a part time job while I studied at a small computer consulting firm in my area. They exclusively used VB, and I taught myself VB6 and worked there 2 or 3 days a week doing all kinds of stuff. I think working with GUI programs taught me about consistency - for example, simple things like re-ordering items in a list box (we've all seen programs that do it, but catching all the possible cases when you include add/delete functionality is fairly time-consuming), tab order, and logical menu layouts. At that time we used the VB controls out of the box, I think the company had a very old (VB4-era) suite of tools but I remember demo'ing the VB6 toolbar to my boss and he was suitably impressed, after using Windows 3.1 look-alike tools.

VBScript/ASP/Office macro programming: I separated these langauges out from VB6 because I experienced VB6 from a “Windows Forms“ kind of angle (drop a control on a form, wire it up) whereas VBScript and ASP drift further back to the procedural and logic realm of programming. It was fairly easy to pick up ASP after VB6 and I think I'd done some consulting work with it before I took a very basic 3rd-year class on “Web-enabling Access Databases“ at Uni. I found that ASP was in high demand and after I left Uni I worked on a project for 8 months in ASP before starting full-time at the hospital where I'm still at now.

HTML: This is the front-end to any programming you might do with ASP, but it's a language in and of itself. I still prefer to go the macho way and hand-code HTML and CSS with HTML-Kit or Web Matrix. Also learning HTML lead me on to learning and understanding XML. We did do one class of web design in 1st year at Uni, but I went on by myself to continue to learn HTML.

Javascript: This goes hand-in-hand with ASP and HTML. I am self-taught, not very good with it, and when I do use it, rely heavily on a handful of Javascript reference sites.

XML/XSLT: At one stage I developed an online reporting web site with SQL Server, ASP and XML. I used SQL Server's FOR XML clause from stored procedure calls and then used some XSLT trickery to make dynamic reports in a browser, all tied together with ASP. This approach actually lasted me for three separate applications. XSLT was a hard nut to crack, there didn't seem to be a lot of documentation and the Microsoft versions didn't always adhere to the standard (and were constantly changing), but I like to think I made a good go of it.

VB.NET: I started learning VB.NET by developing a small web project to allow people to enter and review budgets. I did this with a trial version of Visual Studio.NET 2002 and completed it in 4 weeks. From then on, all my new projects have been in VB.NET, with lots of support from controls at CodeProject and vbAccelerator and of course articles and resources from blogs.

Although I have dabbled in C# and am almost a frequent flyer at this C# to VB.NET utility, I don't believe that I will be undertaking a project in C# so the incentive to learn it remains at “hobbyist“ stage (since I am the only “programmer“ in my department I don't get any crap over VB either!)

I think my level of technical competence has picked up too, say in object-oriented programming and n-tier solutions, compared with my VB6 “all logic in the executable“ days. I am happy with the way VB.NET is going (and I feel like I'm at least partially keeping up!)

 

Update: I noticed also Paul Vick, a famous VB blogger, writes about his language history.

Comments