in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Should the hobbyist programmer matter to Microsoft?

[Update: Before things get too out of hand, I want to be absolutely clear: I am not saying that Microsoft should "ditch" hobbyist coders or anything of the sort. I'm saying that MS should not cater to them at the expense of creating better dev tools for professionals. I am not arguing against hobbyist coders, nor am I saying they should be wiped out of existence.]

I'm in Connecticut and recovering from a busy few days. I wound up sleeping for a grand total of two hours between Sunday, Monday, and Tuesday. My body finally gave in last and night kept me in bed until 1:00 PM.

Anyway, even exhaustion can't keep me away from SharpReader, so I anxiously checked today to see who was going to turn it yellow.

Of everything I saw, I think that this post by Avonelle Lovhaug got my attention most effectively.

Avonelle's pointing to a Visual Studio Magazine editorial in which Kathleen Dollard argues that:

Miners know they have a significant problem when the canary they keep with them stops singing. Hobbyist/part-time programmers are our industry's version of the canary, and they have stopped singing. People who program four to eight hours a week are being cut out of the picture because they can't increase their skills as fast as technology changes.

The first thing I would like to say is that Microsoft's responsibility is not to hobbyist programmers. As someone who makes his living by working with Microsoft technologies, I would be rather ticked off if MS were catering to people who weren't professional coders. I'm not saying that hobbyists shouldn't have a way to code their own apps, but there are many alternatives to .NET that would allow them to do that. Off the top of my head, and just for an example, I could wholeheartedly recommend Python. It's easy to get going with it, and it's pretty forgiving.

Kathleen continues:

Increasing complexity threatens the pattern of hobby or part-time programmers becoming full-time. .NET is harder than past hobbyist languages such as Pascal or Visual Basic.

I'm not so sure where the increased complexity is. I did quite a bit of VB6 programming before moving to .NET. I found the switch to be a bit of a shock, but when I was over the hump of getting accustomed to .NET, I found my job much easier. Gone was the horrible combination of procedural and OO programming styles. I no longer wrote code that made use of some mysterious global function that existed in god-knows-what library. My web applications are no longer monolithic pages of stand-alone code that's about as reusable as a condom. Life is better.

.NET made my coding life easier because it cleaned it up, gave it focus, and created a world where developers from different languages concentrated on a common framework rather than the difference between a curly brace and an "End If" statement. I'm a C# coder, but I understand VB.NET code because I know the framework. This is not a convenience I had when I was doing a lot of VB6/Java work at the same time.

It also unifies the approach that .NET coders have to similar problems. Regardless of your .NET language, we can tackle the same issue in the same way. That's a fine thing, and it makes my life easier rather than more difficult.

More from Kathleen:

We need to address the problems faced by these programmers before we lose their important domain expertise.

By "domain expertise," I'm assuming that Kathleen is discussing the problem being faced by the hobbyist coder, rather than the solution provided by writing the application.

For example, someone might be running a small gift shop and want to be able to catalog all the different items in the store. This person's expertise is in running gift shops, and this is not something that's important to the programming world.

My expertise is coding, and I don't think that gift shop owners out there are arguing that they need to do something about the state of things lest they lose my expertise.

Microsoft tools are not for hobbyists. If you're a hobbyist and curious about coding, then there are many other ways for you to go about learning. Microsoft tools are priced for professionals. The training is priced for professionals. What does a hobbyist need with something as expensive as VS.NET? For exactly zero dollars, I could point a hobbyist to a development system that would be much more appropriate.

Of course, if you're curious about coding, then there's no good reason to stay away from .NET. The SDK is free, and there are now multiple options when it comes to free IDEs. However, don't expect to get into it without having to learn something about .NET (the effort is worth it, though).

I say that we don't worry about the hobbyists - don't dissuade them from coding in .NET, but don't cater to them either.

Making changes to accommodate the tinkerers would be like rolling back advances in auto engineering. My car is held together by more electronics and gizmos than you'll find at NASA Mission Control. I can't change my own oil, and I sure as hell wouldn't try to yank a spark plug out. Although I've been denied the chance to put my car on blocks and work on it over the weekend, I've been granted an automobile that is much more efficient, reliable, and powerful than I would have had if it had been built with accessibility to non-mechanics in mind.

I would prefer to think that Microsoft is going to continue to do what it's been doing for the past few years: Refine the development tools and technologies so that they make more and more sense to developers, rather than worrying about whether or not they make sense to niche markets.

Published Thursday, March 04, 2004 3:51 AM by Rory

Filed Under:

Comments

 

TJ said:

Ready Go...

Can I just say that I despise VB.net programmers and everything they stand for. Im sick of MS dumbing down stuff for these legacy VB programmers. If you can’t grasp OOD development then don’t program. I don’t care if you started writing apps in access. I went to school and received a degree in CS. Don’t put me and the guy who picked up VB/Access on the same level; we are not. I programmed in VB because that was the only type of job I could get out of school, and when C# came around there was no looking back. Now that I am lookign for a job, recruiters ask me if ill take a VB.net job and I cringe. The though of having to go back to "Dim" and "as string" make me sick.

Too me a hobbyist coder is a guy who has no clue about design or development. They just sit there with the "Form1" project and don’t rename their textboxes or anything. I mean MS is making they features in whidbey so these guys dnt even have to look in the help for answers its just there. Like how to send an email or connect to a printer. Im from the school of thought that says, understand what you are using before you use it. The VB guys are the same ones who want everything to be a control they can drag and drop on a form. Why dont you drag and drop a book from the shelf onto your lap.

I take pride in my craft, and I put effort in to it. Don’t cater to the half-asses. And a special shout out to the NYC Dot net users group. For getting the VB.net team from MS to come to their event in a couple of months....oh great...couldnt they have got some guys from the C# team. What a waste.

...I feel better now.
March 4, 2004 4:17 AM
 

Ryan Farley said:

I totally agree with you Rory (and TJ). Why in the hell would we want things dumbed-down for all of use just to better fit the part-time programmer?! I mean, come on. What an idiotic idea.

If I wanted to to play piano part time, but felt that all those keys were too difficult to learn, should I expect that they will reduce the keyboard to having only 5 keys? Of course not - because it would cripple the talent of those who actually *do* know how to use all of the keys and make good music.

TJ-
"Why dont you drag and drop a book from the shelf onto your lap"
...now that was hilarious.
March 4, 2004 4:34 AM
 

Anand said:

I 100% agree with you Rory...

TJ: If you want to do everything full up you should consider programming in Assembly.. Well VB may be dumbed down, but it is one of the most successful languages out there. You could write some wonderful applications with it and so could you write dumb ones. But that has nothing to do with the language itself. You can write idiotic code in any languages. ( I have seen a VC++ class of 5000 lines with a set of commands being repeated over 1000 times. If that had been moved into a function, most probably that class would have been 100 lines of code)
March 4, 2004 4:43 AM
 

Mark Freedman said:

"...are no longer monolithic pages of stand-alone code that's about as reusable as a condom..."

Interesting analogy ;)

There was a time in the past where Microsoft DID cater to the hobbyist, and that was great -- for that period in time. This is no longer the case.

There are plenty of tools that still cater to that breed of programmer -- and I do empathize with that group -- many of us started there.

But Microsoft is playing with the big boys now, and HAVE to focus on the business world when it comes to development tools. There's no turning back for them, and that's a good thing, IM not very HO.

I cut my teeth on business development with PowerBuilder. I didn't have much choice. It was THE object-oriented C/S development platform over a decade ago, when VB was still a hobbiest tool. I, and many other developers in my generation, had to choose the best tool to earn us a living, and MS wasn't there for us. But there was hardly a day that went by where I didn't pray for MS to produce a VB version that truly catered to C/S application development.

With PB, if you only had to reboot 5 times a day, it was a good day. I worked for several years at an extremely large beverage manufacturer not named Coke, and in my last year, Microsoft sent reps to seriously discuss with our development staff what they would need to produce to convince us to switch to VB. They were dead serious. I knew then that it wasn't too far in the future where I could finally use VB for mission critical apps.

It wasn't until VB5 that I could trust VB for mission critical apps. I can't express the feeling of going six months with a single reboot. I didn't see then, though, that VB5 and VB6 was just a stopgap until they produced a tool like VS .NET.

VB6 is still there for now for the hobbiest to use. VS .NET, with its steep learning curve (BELIEVE ME, I feel it every day) is a PROFESSIONAL development tool, and EXACTLY what MS needs to focus on. I have SO much more to learn, but I am POSITIVE that it is WELL worth the effort, as many professional developers can already attest to.

As I dig through the almost 60 .NET books I own (no exaggeration -- a little sick, I know), plus devouring every .NET resource on the Web, through CBT courses, and on the job, I am absolutely convinced that MS has provided us with the absolute best professional development environment ever produced in my 20+ year career, if not of all time.

Leave the hobbiest tools to others. And from what I've been repeatedly told, once you grasp the concepts of .NET, and "get" it, even hobbiests can take advantage of these incredible tools.

- Mark
March 4, 2004 4:48 AM
 

TJ said:

Anand:

I made a generalization about VB. And I agree with you that bad code can be written in any language. But I think people would agree that VB is KNOWN as the language with the most inexperienced programmers using it who pretend to be good programmers.

THe fact that these hobby programmers start using VB as their first language is the problem. Since its not a OO language they do not learn the concepts that say a C++ or Java programmer would have. And Im not saying that programming with C++ automatically makes you a OO programger. But its more likely that a person starting C++ would have been school taught, and thus learned OO.
March 4, 2004 5:02 AM
 

Edneeis said:

I think its important to keep a balance in this regard. Definately don't dumby down anything or step back to let people catch up but remember the roots of many a programmer and the idea behind the hobbiest. The hobbiest has a very important perspective he is there to do a specific thing as quickly and easily as possible. That is a good goal and I don't mind it being considered when you design the programming tools I am going to work with. Although don't limit me as a professional and think its for my own good. I didn't go to school to learn to program but I also don't think I'd feel better than anyone else if I had. I also don't think that drag and drop is a bad thing, as long as it is taken in perspective. I mean what kind of masochistic idea is it to WANT to do things the hardest possible way?
March 4, 2004 5:12 AM
 

Rory said:

TJ -

"Can I just say that I despise VB.net programmers and everything they stand for."

You can, but a lot of us might disagree with you :)

A think that some of what you said makes sense in terms of VB6 coders, but not for VB.NET coders.

While I also dislike the "Dim" and "As String" type syntax, it's really just a superficial difference between the languages. Nowadays, the same good design decisions have to be made whether you're working with VB.NET or C#, and, in many cases, the solutions would be *very* similar across the two languages.

VB.NET coders *can* use the VB6 compatability stuff for migration or to work around a lack of .NET understanding, but I know plenty who don't do it. Without it, the two languages are nearly equal, except that VB.NET has the advantage of providing:

1) A *very* sensible late-binding syntax
2) Much easier eventing

Aside from that, I don't see much of a difference.

You have some valid points, but I personally don't think they apply to VB.NET...
March 4, 2004 5:20 AM
 

Rory said:

Mark -

"There are plenty of tools that still cater to that breed of programmer -- and I do empathize with that group -- many of us started there."

I totally agree.

I spent much of my life coding for fun in BASIC/QB/C/ASM (but much more BASIC/QB than C/ASM) - they helped me cut my teeth so that I'd be ready for the first language with which I was able to be productive enough that I could charge for it: VB.

Then, VB helped me cut my teeth so that I'd be ready for the first language with which I could be slightly less productive but charge more: Java.

Then, Java gave me the knowledge I needed to make a quick transition to the language with which I fell hopelessly in love: C#.

The path began with stuff like "DIM I," but finished at C#. That's a good thing.

But, it didn't begin with VB :)

Yup. I totally agree with you.
March 4, 2004 5:25 AM
 

Brian Russell said:

I agree with you Rory. To take this discussion even further, you should look in this months edition of Visual Studio Magazine (March 2004). There is an article asking to have a VB6+ edition...? What the hell is that? Link:
http://www.fawcette.com/vsm/2004_03/magazine/departments/guestop/

Edneeis...vbforums.com?
March 4, 2004 5:25 AM
 

Avonelle Lovhaug said:

Yeah, I see both sides on this. On the one hand, I make my living as a professional developer, so I personally am not interested in Microsoft focusing on so-called "hobby" programmers.

However, I understand the other point of view. My husband used to develop software for a living. These days, Loren does a lot of other things, but occasionally he sits down and writes some app or another for one of his customers. Just the other day he developed a small application for a customer who had an important need. It isn't an app that saves data. It will only be installed on a few computers. The customer is small and doesn't have a lot of money. It probably took him less than 20 hours to write.

For someone like Loren, learning .NET has included some challenging moments. He loves the framework and the promise of XCopy deployment. But he gets frustrated with stuff that is very different in .NET than it used to be in VB6. Things like...managing multiple forms in WinForms apps, or changing a font in code. Once you know the trick, it isn't so bad, but for the guy who is only an occasional coder, it can be very frustrating. (It may also be slightly annoying for the spouse who does use .NET regularly, and so is thus expected to know ALL the answers to ALL the .NET-related questions off the top of her little head.)

I think it is wrong to suggest that Microsoft tools are not for hobbyists, at least not the kind of hobbyist Loren is. He has access to all the tools through work, and he programmed in QuickBasic and Visual Basic for years. (Actually, he taught me to program.) He isn't going to give up on VB now.

I guess I got the impression that what Kathleen was trying to say was that if hobby programmers are having trouble keeping up, it might be a sign that things are moving too fast for professional developers too. I don't know if it is true or not. I know there are days when I think I'll never be able to keep up with it all. But I'm not sure if that is really a .NET issue. Major technological improvements are bound to shake things up, and force us to relearn how to write our "Hello World" apps (and the other ones too).
March 4, 2004 5:36 AM
 

Avonelle Lovhaug said:

Brian -

I posted on that really bad idea a few weeks ago:

http://www.coolbits.nu/350.aspx

Even the part-time programming husband commented that a VB6+ version is definitely NOT the answer!
March 4, 2004 5:39 AM
 

Carl Franklin said:

I have to admit, this topic has teeth. I have to chime in.

> Why dont you drag and drop a book from the shelf onto your lap. <

This is funny, yes. It also reflects a certain lack of vision. Let me ask you a question.

Why do you write software?

The answer is, because the software you can download for free doesn't do EXACTLY what someone with the money to pay you to make it wants.

That is the ONLY reason why you have a job.

If I want to play a game, I buy it or I download a free game. I don't write it. Why not? I CAN write a game. I am smart enough to. But I don't because there is a game out there in the world I can buy. My time is worth more than the 20-50 bucks for the game. Nobody can argue this point.

Say you need to write a piece of software - because the off-the-shelf software won't do EXACTLY like you want it to. If you could drag and drop components and set a few properties and it worked EXACTLY like you wanted it to, you would.

Don't deny it.

Go back to my word EXACTLY. If it did EVERYTHING and had EVERY FEATURE and EVERY EXTENSIBILITY POINT etc...

You would drag and drop it together like the millions of morts out there who did so with VB in the 90s.

If you think that the future of programming belongs to the braniacs among us, you are wrong, my friend.

Be happy you still have a job.
March 4, 2004 5:49 AM
 

Edneeis said:

Brian -

Yeah its me. I also disagree with the VB6+ idea.

I just got a copy of the Whidbey bits from DevDays and don't much care for some of the things they are doing to make VB.NET more like VB6-ish. I may be alone on that. For instance I was happy to have edit and continue back (although I was fine without it) but now its back to running from a different location and what not so referring to relative files is a pain. It also handles that form issue mentioned by Avonelle by writing some code and making a shared instance of the form, which seems like a step back instead of forward.
March 4, 2004 5:56 AM
 

TJ said:

Ok Carl Ill bite.

Ok so if thats where you see programming going. To everything is a component drag and drop everything. Then I guess there is no need for universities to teach CS anymore. I guess those 6 year olds in Malasia using VB6 will be doing all of the programming.

So I lack vision because I think programmers should have an understanding of the code they write(or drag and drop)?

And you should be happy that you have a job. If we move towards all component driven programming(its not really programing anymore) then where do you see yourself having a job. If all someone has todo is drag and drop, then any joe blow can do it. So you dont have a consulting business, you dont have your radio show, what do you have.

You dont know how I code so dont make assumptions. I dont drag an drop like everyone else. I CHOOSE to create my database connections and dataadapters myself. I could drag and drop them from the toolbox, but I dont.

I would expect that from a VBer
March 4, 2004 6:03 AM
 

Edneeis said:

I think the point is because someone drags and drops doesn't mean they don't understand whats happening. Which it seems that your assumption is that only people who don't know anything drag and drop and that is incorrect. If it accomplishes the task at hand and is faster then why not?
March 4, 2004 6:09 AM
 

Ian Leff said:

Yes, every programmer should matter to Microsoft and the other tool makers.

I dont think VB.net is much more difficult than VB6 for hobbyist programmers. Asp.net is much easier for hobbyist programmers than asp.

Was the jump from VB6 to .net painful? Yes, a bit because its a bit embarrassing when you get stumped by something simple and have to hit deja.com or (gasp) online help.

Why did Access 1.1 have multicolumn comboboxes and continous forms but .net winforms doesn't? No modem (serial) support, no midi, no SQLDMO, etc.

.net is still young. i think the kinks will get worked out soon enough. better for pros and hobbyists.

il
March 4, 2004 6:29 AM
 

Scott said:

TJ and Rory,

There is always somebody complaining because the latest language is "dumbed down" for someone. C# and Java are just a "dumbed down" versions of C++. ("You can't WRITE an app geared towards performance unless you can control the memory allocation and deallocation", "The runtime adds too much overhead")

I find it pretty ironic that you're writing this using blog software written in someones spare time. Granted, .Text is a professional grade application (although I really, really hate OO purist design. There's a time and place). But if it weren't for his hobby, you'd be using Moveable Type (or DasBlog or whatever other version you can think of). :)

I whole-heartedly think that Microsoft has to cater to the hobbiest programmer, because that's the majority of their users. Do you think the bosses secretary has time to figure out how to use the provider pattern for her mail merge? Does your mom need to know how to create a normalized DB or writer her own XML schema that she can validate her Christmas card mailing list against and can she use the forms wizard in Access? That's the type of person that could also be considered a hobby programmer. If anything, I think Microsoft should expand and embrace the hobbiest programmer. Think about every desktop out there running Windows.

Mark: I have to disagree a little. The .NET Framework and the CLR languages are the best professional development tools since C++ IMIO. Visual Studio 6.0 and IntelliJ are still a better development IDEs that Visual Studio.NET. The Whidbey version looks like it is adressing a lot of the problems I currently have with VS.NET though so I'm confident that I'll change my mind in a year or 3.
March 4, 2004 6:39 AM
 

Scott said:

TJ,

"Ok so if thats where you see programming going. To everything is a component drag and drop everything. Then I guess there is no need for universities to teach CS anymore. I guess those 6 year olds in Malasia using VB6 will be doing all of the programming. "

Of course there is, who's going to write the drag and drop stuff for the hobbiest programmer? Who's going to design the next API or language for the professional programmer? Who's going to design the transactional system for the stock company? Who's going to write the OS for the 128bit trinary CPU? The hobbiest programmer? No. The CS student (or the talented hacker). The programming world isn't as black and white as you make it out to be, it never has.

Back on the C-64 you could either write your program using the built in basic, or you could code it using assembly. The hobbiest could use basic to print out a little shopping list and save it to disk, the pro could write "M.U.L.E." using assembly.
March 4, 2004 6:48 AM
 

Jason Bunting said:


Wow, I have to chime in as well on this one as well. Particularly, I would like to hear back from TJ and Carl (as well as anyone else, but particularly those two! (And of course you, Rory)).

Here is the thing - when I look at the history of programming, I see layers of abstraction. We start with gates down on the physical layer. If the voltage coming in is greater than a given value, we think of that as a 1 and less than that as a 0. So, we have binary. Then abstractions were built on top of that. So on and so forth. Why are we doing that? Think about it for a second, TJ. There are many reasons why we build abstractions on top of abstractions, but to me, I mainly see that we are trying to make it easier to tell the computer to do what we want it to do, because ultimately (IMNSHO), the computer is there to provide services to humans that make their lives easier (Rory's car example was perfect). The computer is NOT there so that you, a developer, can have a job. You are simply a means to an end.

Does a guy selling books care about C# code? Heck no. He wants to sell his books. And there are some business rules that dictate his business. Well, if we abstract enough, you will find out that there are common abstractions that allow us to drag and drop components in a relatively easy-to-understand way (read: non-developers will grok how to do it and be able to do it). I don't know, but when Carl said "If you think that the future of programming belongs to the braniacs among us, you are wrong, my friend," I thought of this as basically the future of programming belongs to your business people who will use abstraction tools that have not yet been created to do all of the work that you are now doing. I really think that is where we are headed. (Yeah, I love writing code as much as the next guy, but what can I do to stop progress?!)

I can't speak for Carl, but I personally read his comment about you (us) being lucky we have a job is because computer science is (even if you are oblivious to it (You may want to follow things that the OMG (www.omg.org) are doing to this end (modeling really is where computer science is taking us, abstraction at its best))) taking us farther up the abstraction ladder until, yes, there will no longer be a *great* need for you, the code monkey. So sorry, but this is what I see as the inevitable truth. Yes, there will always be a need for a few programmers to handle the lower-level (C#) details, but soon enough, C# will appear to people as assembly does to us now.

I find it funny that programmers, people who really get the concept of abstraction, can't see that just because we are on a certain rung of that ladder, it means that there are not rungs higher up which we must climb.

Anyone think I am smoking crack?!

March 4, 2004 7:18 AM
 

Scott said:

I think you're smoking crack, but not because of that comment. Because of this one.
http://www.jasonbunting.com/blahg/PermaLink.aspx?guid=9e5e4895-8029-42ad-8f4d-c851fc747eee
March 4, 2004 7:32 AM
 

Jason Bunting said:

Scott -

Thanks, your compliment has been duly noted. :P

LOL
March 4, 2004 7:54 AM
 

sirshannon said:

wow, most of you guys totally missed the point of the article.

"I am a professional developer, I don't want MS to cater to hobbyists". Well, that's irrelevant. The article said that MS may lose the hobbyist-to-pro demographic. I honestly thought all pros started as hobbyists, silly me. I certainly didn't decide to do this for a living when I first connected by little b&w TV to my TRS-80. I was a hobbyist at that point, working with a simple, easy-to-use, easy-to-learn language. The article is saying that MS may have lost the ability to be the company that gives the beginner the language they write thier first program with, the language that causes them to fall in love with this sh*t and throw their life away (or something like that).

Now, hobbyists may be "forced" to choose some other language and thus start the path down the long hard road to darkness instead of travelling towards the light of goodness that is MS. We've all ended up here, we like it, that's great, but we didn't just appear here, we started somewhere. Some even started on VB. Some on VBScript, even. Now what will they do?

THAT is the point of the article, you guys seem to be fighting straw men. However, for everyone's viewing pleasure, I will now defeat the real premise of the article, as stated above.

The article is wrong. Yes, VB.Net is harder than VB6. But Calculus is harder today than when I was in high school, too. Hell, take home console video games. Who has managed to master the best games on the Atari 2600, and then kept up with the progression through NES, SNES, Genesis, Saturn, GameCube, X-box, PS2? If none of us had ever seen a child play the PS2, we would probably say "man, there is no way a kid could play the video games they make these days, they're just too dang hard! Hand me my walker, I gotta go". But anyone who has seen a kid play a PS2 game probably learned a thing or too. Anyone who pays attention on the .NET blogs has probably learned a thing or two about .NET and/or Longhorn from someone under legal age to drink alcohol, too.

The more things change, the more they stay the same. Your kids are smarter than you.
March 4, 2004 8:13 AM
 

Jason Bunting said:

sirshannon,

We did get off on a tangent, but it was fun. ;)

March 4, 2004 8:16 AM
 

Jeremy Brayton said:

.NET is free using the SDK and if you're lucky you can use a IDE that actually works it (SharpDevelop is my fav).

I don't get paid for programming so I could be considered a hobbyist. .NET in my mind is for hobbyists simply because it's FREE. You pay nothing to program in .NET or you can pay a small assload for VS.NET and have most of .NET programmed for you.

I've used VB5 and I consider it a scripting language since every exe REQUIRED separate dll files. Delphi made standalone apps (up to V7, V8 requires .NET like a little bitch but I won't go into that lameness), VC++ did but a simple MFC dialog app was 2 megs without any extra code. VB apps were like 20k with no code because the damn dlls were the 2 megs if not more.

.NET can be considered a scripting language if I called VB5/6 one but it's a little better. The 20 meg download isn't just to run the applications but it opens up your computer to allow the full capacity of .NET, which is pretty powerful even in it's infancy.

Sure not all of the Win32API is exposed but it will be eventually. .NET should be taking the place of all other compilers because of it's simplicity and design. There's a lot of common programming techniques that are going into it. It makes no sense to reinvent the wheel, especially when the wheel works. Of course there are different ways to reach the same end result but it seems like MS is trying to find the best way possible. I can tell that by all the feedback taken into account from all of the .NET bloggers out there.

The way video game systems have changed is only helping the younger generation. I grew up on a NES and the 2 button 4 way joystick was all we needed. I do love the Xbox, gamecube, and PS2 simply for their design. Gaming systems have come along way as have computers. They're only helping the younger generation out learn us. The sad part is most adults don't like the fact that anyone younger than them can possibly learn quicker or know more. I've had many people older than me try to hold me back simply because I could pick up the thing they did best faster and find ways around the same problems they were facing. Boy did it piss them off but I was willing to share the knowledge, they just weren't willing to learn. That's why most of them are still doing the same meaningless things they were doing before. You either learn to change, or learn to die like the rest of them.

.NET isn't that much of a change either. It is evolving but only to improve itself, not to try and make sure programmers can't keep up. It's simply a consolidation of some pretty powerful programming techniques coupled with some simple solutions to common problems. Why do the same things over again? It just makes no sense sometimes.
March 4, 2004 8:44 AM
 

John said:

Yep, she's talking about the accountant who created the web site with the Access backend and the 'MyData' table that made your life a living hell, and made you look bad when you couldn't 'fix it' in less than 2 hours.

Programming with MS technolgoies has always been 'difficult' in my view because they tried to make it 'easy' be not handling things properly. How to address exception management in VB6 for example? Oh that's right.. you don't. Hobbiest programmers don't need to worry about things failing, or resources leaking, or Access databases locking..

MS is doing better on the tools for developers front these days than it ever has before. They still haven't done as much as they could in my view, but they've done much, much better than they have traditionally.

If you're a 'hobbiest programmer' you are still actually interested in 'programming' aren't you?
March 4, 2004 12:34 PM
 

Rory said:

Scott -

"I find it pretty ironic that you're writing this using blog software written in someones spare time."

Not really that ironic - ScottW is one hell of a knowledgeable guy when it comes to ASP.NET.

Coding things in your spare time doesn't make you a hobbyist programmer - that isn't what we're talking about.

My friend's father is a dentist. When the guy goes home, he still writes about and researches dentistry - he certainly isn't a hobbyist dentist.

The hobbyists are the ones who do something entirely different for their day jobs, but do a little bit of coding on the side, and aren't necessarily all that good at it.

ScottW is not one of these people.
March 4, 2004 1:39 PM
 

Rory said:

sirshannon -

"The article said that MS may lose the hobbyist-to-pro demographic. I honestly thought all pros started as hobbyists, silly me. I certainly didn't decide to do this for a living when I first connected by little b&w TV to my TRS-80. I was a hobbyist at that point, working with a simple, easy-to-use, easy-to-learn language."

I wouldn't say that all pros start as hobbyists, but that's also because I wouldn't include someone going to school for a CS degree in the hobbyist category.

I also have nothing against supporting hobbyists, but I don't think that the dev tools/languages being put out by *Microsoft* (note that I don't care what happens with Python/etc.) should be designed with hobbyists in mind.

There are still plenty of "easy-to-use, easy-to-learn" languages out there - they just aren't the ones we're using for business (Java/.NET/whatever).

I'm not saying that hobbyist coders should be cut out of the picture - I'm saying that *Microsoft* in particular shouldn't cater to them.
March 4, 2004 1:50 PM
 

M Kenyon said:

Guess I'll put my 2cents in. (When are they going to put a cents symbal on the keyboards?)

I started as a hobbyist. I dabled in Turbo Pascal (BBS Doors), C++, C++ builder, QB (that was fun), and even some microprocessor level stuff, you know, Hex code on a 16 key keypad into a little Heath kit. I did some web site stuff along the way too.

I turned from a hobbyist into a programmer for a living gradually. My company wanted a website. Then they wanted forms. Then they wanted better forms, and integration into databases, then applications.

So now I program full time. I try not to call myself a programmer too loudly, because I feel unworthy... but do I want the tools dumbed down? No!

Ryan, I liked your analogy. I've played piano. I am better at programming than piano, but I couldn't think of less keys. I knew somebody who tried to learn on a little 10 key toy keyboard. What were they going to learn?

Microsoft caters to the professional, which is what they are after to build up their OS. They need killer apps to sell their (sometimes not so killer) OS.

So, yes, I agree, no catering to the weaker programmers.

BUT!!!
Don't shut them out. How can MS do that? My biggest stumbling block coming out of Hobbyist status (for those hobby coders that want to progress) wasn't syntax or what classes/objects to use. It was procedure.

MS Patterns and Practices is a good effort. Old and new coders alike should learn patterns and practices. Dino Perlot recenlty sat with me and helped me see better patterns of programming. He helped me understand what was meant by component programming, and to better understand why I was using classes the way I was. (Example: You can learn how to change a spark plug and still not know what a spark plug does.)

So, if Microsoft does anything, it is to enhance Patterns and Practices... not just to prevent hobbyists by dragging real programers down (which I am trying not to do) but to help all programmers to be better. TJ, I think you would like that, right?

Also, VB is easy, but can be powerful. It has a better learning curve, but with .Net I feel I can understand C# better. Am I at a C# level? Maybe not yet, but I can do what I need to for my company, and thanks to .Net it will be easier for me to get into C#.

You can hit keys, or you can play music. I would love to play the beautiful music of real programming, and with practice and help from great people like you, I will.
March 4, 2004 2:35 PM
 

Carl Franklin said:

I was not commenting on the article. I actually didn't read it.

I was commenting on how typical it is for programmers to think time will stand still for them.

TJ, it seems that you're making assumptions. I am merely presenting a future where there are less of us and more non-technical programmers. Our job will be to make it easy for Mort to create programs (as opposed to write software) that he will do with drag/drop, wave magic wand, etc. If you think this is where software is not going, think again.

Also, it's not about me and my future, or the assumptions YOU made about ME and my drag-droppieness. It's bigger than that. It's bigger than Kathleen Dollard, or neopoleon or .NET Rocks! I'm talking about bigger trends.

The fact that VB has survived is testament to the fact that Mort needs to make software. And he wants to do as little technical thinking as possible. He just wants it to do the job.
March 4, 2004 2:41 PM
 

Avonelle Lovhaug said:

"drag-droppieness"

Heh.
March 4, 2004 2:43 PM
 

MoneyMatters said:

HAHA

No wonder you all are coders and not businessmen.

Microsoft cares about ALL coders and their wallets and that's why they need tools for both hobbyists and pros.

Simple math:

1M copies of .NET x $1000 = 1B

10M copies of VB7 x $399 = 4B

Do the math and see who's more important to MS.

Shut up and keep coding ;-)
March 4, 2004 3:00 PM
 

Rory said:

"10M copies of VB7 x $399 = 4B"

Except that I can buy a copy of VB.NET for $99 at Fry's, which means 10M copies of VB7 X $99 = .9B.

Looks like those copies of VS.NET Pro are worth it :)
March 4, 2004 3:25 PM
 

MilesArcher said:

I will admit it - I am a hobbiest.

I am responsible for managing the development of a new application that is being done mostly in C#. Occasionally I prototype features where the code will be thrown away because it's much easier, I use VB. The part of the application that's not C# is in VB.net in order to make it easier for our consulting group to customize it.

So, sometimes hobbists have some influence on professional developers. This is how Lotus 123 started too.

The second point is that RAD for the hobbist can turn into RAD for the pro. Our core development group that has C/C++ applications started using VB6 several years ago for certain UI heavy applications. They found that they could write the apps several times faster than with MFC. Some of the guys had to be led kicking and screaming from C.

As an aside, what some of the arrogant commenters say pisses me off. Just because you're not l33t doesn't mean you shouldn't be able to write yourself a program to make your life easier.
March 4, 2004 3:28 PM
 

MoneyMatters said:

Except that at $99 it won't be 10M but 100M copies which in turn will be $10B !

Keep coding little Rory, let the real men run the business...
March 4, 2004 3:33 PM
 

TomB said:

hi rory,
Thought I'd chime in a little late.
Rather than "dumb down" anything, why not nicely ask Microsoft if they could be so kind as to create and sell a "Lite" version of VB.
Said software would be less filling yet still taste great.
It would allow the "hobbyist" or entry-level programmer to slap together those apps they need around the house or shop, but would shield them from the complexities in the "full" versions.
I think this is why Access and earlier versions of VB were so popular. An inexperienced person, could do it.
I vaguely recall seeing an ad (I think in MSDN magazine) for a product that let you program (in .NET if memory serves) using a Visio-like interface. You'd just sort of connect the components, add a little code and voila.
If such programs were written properly, they'd allow the rookie/hobbyist to view the produced code, and thus be able to learn how to do the "real" programming.
March 4, 2004 3:50 PM
 

Jeff said:

March 4, 2004 3:56 PM
 

Rory said:

Money -

"Except that at $99 it won't be 10M but 100M copies which in turn will be $10B !"

No it won't.

It *is* at $99 right now, and I have some doubts about it reaching 100M customers.

I realize you're mostly joking (you must be, right?), but I might as well comment.
March 4, 2004 4:00 PM
 

Rory said:

Miles -

"As an aside, what some of the arrogant commenters say pisses me off. Just because you're not l33t doesn't mean you shouldn't be able to write yourself a program to make your life easier."

I agree 100%.

People who aren't coders still ought to be able to code. The only thing I'm arguing is that the tools I'm using for business shouldn't be prioritized for hobbyists.
March 4, 2004 4:02 PM
 

Lurker said:

"Except that at $99 it won't be 10M but 100M copies which in turn will be $10B !"

Moneymatters, are you just making these numbers up as you go along? Where is your proof that at that price level, there will be that demand?

On a side note, it is interesting to see that it took all of 1 comment for the C# vs VB debate reared its head.
March 4, 2004 4:23 PM
 

Scott said:

Well so what tools are considered "hobbyist" tools? Access? Excel? Maybe not Excel, is Access?

What tools are considered business tools? Visual Studio .NET? SQL Server? BizTalk? Exchange?

You never really define what the different tool categories are and how they are being changed to cater to the people who don't code for a living. Do you want the inline ASP.NET script design to go away in favor of the code-behind design? Where is your programming holy land in the area of development tools, what part should the hobbyist stay out of? :)
March 4, 2004 4:35 PM
 

Rory said:

Scott -

"Well so what tools are considered "hobbyist" tools? Access? Excel? Maybe not Excel, is Access?"

I think a hobbyist tool is whatever tool a hobbyist can use.

Some hobbyists aren't going to have any problems at all with .NET - they'll be able to jump right in.

Others might find .NET a little tough and be better off working with VB6 or Python (or whatever else).

In terms of databases, I think most hobbyists are getting by just fine with PowerPoint :)
March 4, 2004 5:17 PM
 

Rory said:

Lurker -

"Moneymatters, are you just making these numbers up as you go along?"

You bet yer tooties he is.

"On a side note, it is interesting to see that it took all of 1 comment for the C# vs VB debate reared its head."

I noticed the same thing. I was a little sad because this really isn't a C# vs. VB.NET thing.
March 4, 2004 5:18 PM
 

Matt said:

Microsoft doesn't makes tools to make money by selling tools. Microsoft makes tools to sell the platform. As it turns out, a majority of the people in business that use the platform employ people that are only part-time programmers. I'm not talking about hobbyists here. I'm talking about professionals whose job is to build applications some of the time. The target audience for VB is these people. The target audience for c# is a slightly more sophisticated programmer, and c++ even beyond that.

The theme for a lot of things going into the Whidbey release of VS is to make them simpler. The reason being is that feedback showed that the original design of the framework and UI was beyond the skill sets of a large percentage of the programmer base. So VS group is making changes to help these guys out. The more people using the tools successfully the more people using the platform.

It seems that the majority of people responding to this thread believe that by making things simpler, they become 'dumber' and force more experienced developers to use inappropriate practices, etc. This is not true. The kind of developer you all think you are fits into our category of 'Einstien.' You're the kind of developer that usually doesn't need help to figure things out. You will be able to ignore the new training-wheels and pedal on your own.
March 4, 2004 5:52 PM
 

kuhnbr said:

Microsoft should focus and support professional programmers. I consider professional programmers those who make a living from programming and who are continually trying to improve their craft. A company or organization hires a programmer because we can provide a skill set that they are in need of. Could they buy some books, or read articles on the internet, etc. and do their own coding? Yes. Will that code be of the same quality and completed as quickly as that produced by someone with years of experience and knowledge? Probably not, and that is why they hire a professional programmer.

It is the professional programmer who has a vested interest in the tools and infrastructure that Microsoft provides. Professional programmers are the primary consumer of Microsoft's development tools. While there are features that can be useful to both professionals and hobbyists, the tools make money for Microsoft because professionals buy them.

The hobbyist programmer moves towards becoming a professional programmer by gaining experience solving real-world business problems and increasing their knowledge of patterns, practices, and technological developments. Microsoft will not help hobbyists become professionals if they cater to the hobbyist’s inexperience. And Microsoft will certainly gain by increasing the number of professional programmers that buy and use their tools. Hobbyists should use tools that help them extend their knowledge, not hold them back.

"The ancients who wished to demonstrate illustrious virtue throughout the kingdom, first ordered well their own states. Wishing to order well their states, they first regulated their families. Wishing to regulate their families, they first cultivated their persons. Wishing to cultivate their persons, they first rectified their hearts. Wishing to rectify their hearts, they first sought to be sincere in their thoughts. Wishing to be sincere in their thoughts, they first extended to the utmost their knowledge. Such extension of knowledge lay in the investigation of things... From the Son of Heaven down to the mass of the people, all must consider the cultivation of the person the root of everything besides."
March 4, 2004 6:07 PM
 

Neil said:

I am a hobbyist programmer, but I don’t want to be. My job title is Programmer, but I don’t code at work. That’s because my company has sent its work offshore. This happened long before outsourcing was a blip on most of your radar screens. My company is one of the forerunners in the “out sourcing” game. This began to happen slowly back when I was using VB5 and progressed until today I have absolutely no coding work anymore. I do it all at home.

My first programming language was Basic. I used it to write games on a Commodore PET in Jr. High and later re-discovered my love of programming when I was re-introduced to it with VB. Even as work was going off shore, I was struggling to improve my knowledge. I read lots of Java books and went to classes, studied OO design. But my company had no interest in promoting that skill. So leave the company right? Well, when your kid contracts a deadly illness the last priority on your mind is adding more chaos by changing jobs. Not to mention the health insurance implications.

I don’t tell you this to pity me, I tell you this because are a lot of people like me who through no action of their own were taken out of the game. I was defiantly out of the game. All the *real* programmers were gone. They were either laid off or found other work. My life line to the industry was gone and to be sure, having been blasted on the personal front, I wasn’t pursuing my career the way I might have.

So when things calmed down again and I took a look around, the landscape was different. .NET was here. It was all over the bookshelves and in magazines and I kept thinking, what the hell is .NET? There I was, having spent a good deal of effort to get an entry level place at the industry table, and that had all been wiped away, made irrelevant by a new technology. I had to ask myself: “Is this worth it? Can I ever hope to keep up?”

The answer came when, through church, I met someone who has become a friend of mine. He also happens to be, in my hobbyist opinion, one of the best programmers I have ever met. He provided a path for me to understand .NET. He has made suggestions, answered questions, reviewed ideas and code all with an eye to helping me get better. Most importantly, he pointed me in the right direction for me to answer my own questions. He has also replied to this post and to honest his comments surprised and me and were a little disappointing.

When a n00b like me stands in front a bookshelf at Borders and sees 100+ new books on .NET, a full half of them from MS Press you can’t help but feel a little overwhelmed. Its not that we don’t want to put in the time and effort to learn, it’s that we don’t even know where to start.

The prevailing opinion among the techno-snobs that have posted here is that things should not be “dumbed-down”, that we should “drag and drop a book onto our lap” etc. This screams to me: “We are smart. You are dumb. The only reason you are a hobbyist is your low IQ.” To that I would say, if your great contribution in life is that you wrote a few well designed business apps, or worse, you wrote your own cool data adapters, then I humbly suggest that you are wasting your much vaunted IQ. Don’t break your arm patting yourself on the back.

But what do posters here mean when they say “dumb-down” Microsoft’s dev tools? Does it mean that Microsoft will take out some of the low level control that professional developers now enjoy? C’mon, nobody is buying that. Ain’t gonna happen. Does it mean that it might be easier to do some things that previously had been complex? Maybe, but is that really bad? I get the sense that what it really means is: “Hey man, there are limited seats at the table now. We we’re going to be fighting for the scraps and we sure as hell don’t need any youngsters coming up the path behind us to threaten us. Make .NET impenetrable so that our fiefdom will be secure!” This is exemplified in comments like “drag and drop a book onto your lap.” Guess what TJ? I will bet even money that I do that more than you do.

The point is that something as large and complex as .NET needs a ramp up path. It needs a way to be easily penetrated by the n00b. I think Microsoft has done a good job of that in VS.NET and I fully applaud any attempt to further that with Whidbey. Not everyone will be lucky enough to have a friend who just happens to be an extraordinary programmer.
March 4, 2004 6:45 PM
 

Marcus said:

Being a freshman CS-student of sorts (computer engineering-student, anyway, not quite sure what the english title for "civilingenjör" is), this is bringing me down a bit. I would consider myself a hobbyist. I spend alot of my days coding along either in C++, PHP or Perl (or Lisp or whatever ofcourse.) I've taken one or two glances at .net, seing that it seems to include alot of cool features, but I've never gotten around to actually using it. Never found a problem I couldn't code my way out of quicker w/o using .net.

The point here is that since both C# and .net are free - all you basically need is a problem interesting enough to get going. I think that's a major issue for most hobbyists - finding a problem that is interesting. And then you learn while you're at it. This has been the case for me since I started out writing basic on my trashy and already-outdated c64 when I was six years old.

The thing that's bringing me down is what Carl's talking about though - the kind of programmers the future belongs to. Since I've hardly begun my education (with four years to go) I was hoping there would be any future left for the curious programmer who actually invested a great deal of his life trying to satisfy his curiosity of how things work behind the abstractions - now it sounds like I'll never take of from the hobbyist stage due to point'n'clicketiness...

God that sucks.
March 4, 2004 8:57 PM
 

Marcus said:

Oh and for the student, Microsoft has wicked programs. I got my copy of VS.net for free (on a bigass LAN-event called dreamhack, but they talked about a massive programme here in Europe to distribute it to whoever wanted it, basically), and a student license isn't all that expensive.
March 4, 2004 8:59 PM
 

John Hann said:

TJ-
As a hobbyist programmer who turned professional without the benefit of a CS degree, I'm surprised to hear that someone with your level of education considers object-oriented programming a subject so complex that it can only be learned by attending a university. I taught myself C++ and related OOP design concepts in the comfort of my own living room, and (surprise!) it wasn't all that hard.

It amazes me when programmers with degrees automatically consider themselves better at programming than those without. To think that not having a degree necessarily makes a person less competent at programming and software design is simultaneously ignorant and arrogant.

As far as the whole ‘hobbyist programmer’ thing is concerned, I agree with Rory that Microsoft should not cater to newbie programmers by dumbing down their libraries and tools. .Net is powerful stuff, and there are plenty of easier, less powerful environments available to the n00bs who find .Net overwhelming. That said, MS should continue to simplify their interfaces and syntactical gymnastics wherever possible, provided it doesn’t affect the power and flexibility of the environment. For instance, it requires much less code and specialized knowledge to code in C#/.Net than in C++/COM+, but you’d be hard-pressed to find anyone complaining about that.
March 4, 2004 9:43 PM
 

Jeremy Brayton said:

I think people are missing the point.

Some of .NET may be 'improved' for ease of use by newbs. Does this mean they'll break some of the low level stuff? No. All of the power will still be there, there will just be a little more fluff on the front end.

Will they remove powerful tools Microsoft ITSELF will use? Hell no. Microsoft is making this not only for the world, but for Microsoft corp. Why in the hell would these professional programmers dumb down their stuff so that they themselves can't even use it? That makes no sense.

They're simply adding some extra features so that newbs can understand things a little better. They aren't removing code, they're hiring extra coders to simply add that fluff as needed.
March 4, 2004 11:34 PM
 

sirshannon said:

Rory, this is slightly off-topic (maybe) but you said you wouldn't say that all pros started as hobbyists because you don't want to include CS students, does that mean that people decide to be programmers and become CS majors without first having been hobbyist programmers? Does that actually happen? I honestly don't know (I was a music major), I am honestly asking.
March 4, 2004 11:41 PM
 

Carl Franklin said:

>> The thing that's bringing me down is what Carl's talking about though - the kind of programmers the future belongs to. Since I've hardly begun my education (with four years to go) I was hoping there would be any future left for the curious programmer who actually invested a great deal of his life trying to satisfy his curiosity of how things work behind the abstractions - now it sounds like I'll never take of from the hobbyist stage due to point'n'clicketiness... God that sucks. <<

Hehe... good one. I didn't say there is no point in learning. You said that, and TJ said that.

Let me repsectfully make my point again so that you freaking nerds can't put words in my fingers...

There are more VB programmers out there than C++ or C# programmers. VB.OLD is still the most popular language for computer programming.

That is because the majority of computer programs are written by quasi-programmers. Kathleen calls them hobbyists. To me, these are not people messing with VB in their spare time. These are people solving business problems.

You do remember business? That's the shit that makes it possible for you whining bastards to eat, sleep, and bathe every day.

You and I (and Rory and Kathleen) write programs for businesses so they can make more money. If your customer could do it themselves they would. If your customer could download it for free, they would. If they could get it done in Bangalore for pennies on the dollar they would.

So, again it comes down to a lack of perspective and vision. You should know where we are on the food chain of software development. The trend is to make more powerful development tools at a high level.

Yes, we had some plumbing to un-fuck. That has been done now with .NET, and the trend is continuing with Longhorn. Now that Microsoft has all but conquered the low-level world, there is nowhere to go but to make smarter and smarter tools. These tools will make your job so easy that at some point someone who only knows what he/she wants his "program" to do will be able to communicate that clearly to a computer, which will write the code for him/her.

And when that day comes, it is only a matter of time before the cash-bleeding IT departments wake up and you'll be (once again) asking "do you want fries with that?"

Carl
March 5, 2004 3:20 AM
 

Rory said:

Carl -

You're a real fucker!

- Rory
March 5, 2004 3:25 AM
 

Carl Franklin said:

No, you are!!!

Nyah!

- Carl
March 5, 2004 3:26 AM
 

Rory said:

Carl -

Shove it up your ass, you .NET Rocks hosting, microphone-spitting-on, bastard sonofabitch!

- Rory
March 5, 2004 3:27 AM
 

Carl Franklin said:

Rory -

Fuck you, the horse you rode in on, your mother, your mother's horse, her mother and her mothers fucking mother you motherfucker!!!

- Carl
March 5, 2004 3:32 AM
 

Self Proclaimed Audio Spaz & Producer said:

Now, you two play nice, or you might be in store for some 'Technical Difficulties' tomorrow! BWA HA HA HA!
March 5, 2004 3:32 AM
 

Rory said:

Carl -

Guess what: While I'm fucking the horse I rode in on, you're going to be hosting the show alone, dickbreath.

- Rory
March 5, 2004 3:34 AM
 

Brian Russell said:

>>And when that day comes, it is only a matter of time before the cash-bleeding IT departments wake up and you'll be (once again) asking "do you want fries with that?"<<
Funny to say the least, but I believe it to be somewhat right and somewhat wrong. I understand what you are saying, but have you seen some of the Access programs that Mort's have produced (of course I could also point to some programmers that create the same crap, but that is a different topic)?

These people think they are smart and are really proud of themselves. Trouble is, later down the line when the business is expanding, they realize that the Access application they pieced together really sucks at expanding to meet their new business needs. The business expanded, yet their knowledge of development practices didn't. They then try to re-work those Access apps, and they get by a little longer. There is a point though, that everyone realizes that they are losing money because of these applications. No one thought of proper Accounting practices in the beginning, so there is no record where that 70,000 dollars went last year. Customers are deleted from the database when they are no longer active, so they can't go back and send out a flyer advertising a new 'welcome back' promotion to the old customers they lost.

This happens all the time, that is why I have a job right now. These Morts (by the way, I picked that up from your show and love it) are producing revenue for me because they prove that no matter what, they will never fully understand software development as well as us developers who devote our lives to it.

I don't think our jobs are being phased out and leaving us to serve up fries and Micky D's. I think our development roles will change with the tools we have, but no one does business the same. It is a shame they don't, they could learn from each other, but they don't. We have customers that all deal with the same exact company, and they have to send the same exact XML to them weekly, and each one of them wants a different interface. I laugh because if they all could just agree on one interface, I could sell them the same thing for cheaper. Instead, they pay more for me to customize each one.

I am tired of ranting now about customers...bottom line, they all suck, they all want something custom, but they don't want to pay the custom prices. They will go for a while with that Access app that someone wrote 5 years ago, but soon they will be calling me to get a professional job done....such is life.
March 5, 2004 3:47 AM
 

Scott said:

Carl made the same point I made in my blog, but a little more pessimistically/ :)

I think Brians point can be summed up with my usual spiel.

Every business, large or small, is held together by a rinky dink Access database running somewhere. Check around, there is always one Access database that is critical to the business and it's always one that some help desk technician/accountant/secretary put together for to solve a problem.

That Access database is so important to the business that entier business process have been designed around it's quirks and bugs.

That's where we come in, we're the ones they hire to turn that rinky dink Access database into an enterprise application based on Oracle or SQL Server or DB2 or ad nauseum. There will ALWAYS be a rinky dink application that needs to be upgraded. No matter how sophisticated the development tools gets.
March 5, 2004 4:29 AM
 

Carl Franklin said:

>> have you seen some of the Access programs that Mort's have produced <<

The problem is not Mort! The problem is Access! Mort is just following instructions. He was trying to build a rocketship with a screwdriver. The tools would not support him all the way from concept to implementation. At some point he needs to be smart in order to do the job. I argue that high-level tools on top of a .NET implementation will not have those problems.
March 5, 2004 4:31 AM
 

TJ said:

"The problem is not Mort! The problem is Access! Mort is just following instructions."

No the problem is mort, because he should know he could get mySQL for free and be able to have a real DB to use. Hell he could even get MSDE. But since he just uses access cause he can half figure it out he has no clue. The dumbing down of products leads to dumber users. See the connection? Sure its great so grandparents can surf the web and write word documents, but I dont see a need for it in programming. And Im not talking about refactoring. Im talking about microsoft adding menuitems for VB programmers so they can insert code to send an email message with 1 mouse click.

"You do remember business? That's the shit that makes it possible for you whining bastards to eat, sleep, and bathe every day."

Well no shit. Man you should be on the 6 o'clock news, "Carl Franklin discovers what keeps whining bastards fed and bathed, Business". You such a smart guy why dont you preach some more knowledge on us since we are just whining bastards.
March 5, 2004 5:12 AM
 

Kathleen Dollard said:

Wow
March 5, 2004 5:19 AM
 

Carl Franklin said:

> he should know he could get mySQL for free and be able to have a real DB to use <

You've officially passed the insanity test. Congrats.

And the problem is not Mort. If the software Mort was using were able to do the job he expects, he (and we) wouldn't be in hot water.

We now have software that will do the job. The last battle for us will be getting Mort to give up Access for MSDE.

> You such a smart guy why dont you preach some more knowledge on us since we are just whining bastards. <

Well, you're right about that last part, for sure, JT. However, I think I've made my point and your obvious grasp of reason has taken your arguments out of the realm of serious discussion and into rabid zealotry, which I prefer to avoid.
March 5, 2004 5:49 AM
 

TJ said:

No the point is if mort had half a brain he would know better.

Ms. Dollard talks about all this training and money that is needed to bring these hobbyist programmers upto speed.

In this day and age if you need to goto a class to learn how to keep up with the latest programming trends I feel for you. The internet is free, there is tons of information out there. Get a magazine subscription or two. Goto a MS developers event. There is no excuse for not being able to pick up new technologies if you have half a brain.
March 5, 2004 6:07 AM
 

Edneeis said:

I disagree with you TJ you automatically assume that Mort's problem is lack of intelligence but its more difference in purpose. The Mort isn't stupid or there would be no business for you to work at or sell to. Mort's job is not to write programs its to solve problems. You may understand how to program better but that doesn't mean you understand the problem or what it takes to fix it. Even IT/Developers need a list of requirements or this and that to work from. Why because we have to understand the problem. Mort is working at it from the otherside, he (or she) may not know proper coding but they better understand the problem and its solution. That does not mean they have 'half a brain' they just have different goals.
March 5, 2004 6:19 AM
 

Rory said:

Kathleen -

"Wow"

Well, you must admit that your article was pretty controversial :)
March 5, 2004 6:36 AM
 

Steele Price said:

I am a programmer not a plumber.

We are using the EXACT same methods we used when I started writing code over 20 years ago, sure some of the names have changed, things got a little smoother and we have something called the .NET Framework is just an updated MFC...

The facts are most of the algorithms we use daily have been hashed out and rehashed by countless PhDs for years, the language should build all that garbage for us so we don't have to use things like Macros and CodeSmith to spit out garbage we are forced to write for for every procedure.

Do you Refactor? if so Why? Because you don't want to write all that crap again for every program you use it in. Pointy-Clickiness doesn't make one a bad programmer. There are VB coders that write application just a accomplished in OOP as C++ apps (with some obvious limitations due to the language, but not the methods)

People like Kathleen, Carl and I were plumbing in VB not just because we could and it was fun, but because it was a hell of alot less time consuming than trying to do the same thing in another language.

Businesses want results and that means speed, if we have to do ANY plumbing it detracts from time we could be spending on building a better application.

Horses are faster than walking, cars are faster than horses and rockets are faster than that, I am tired of horse and buggy coding the same old shit just because the language changed.

Patterns and Objects get us out of some of that, but our own arrogance traps us into re-inventing the wheel. The base language and compiler should do all this plumbing nonsense for me. If you want to be a plumber, go work for (or start) a language/component manufacturer, if you need to write business applications for the real world, we need all that plumbing provided by the tool manufacturers so we can do our job or we loose it to the $5 an hour sweat shops in India that will buy all the products from Component manufacturers and wire them together.

If what I am saying here had NO Relevance, then the Add-in and Component market would not exist.

If more than just the skeleton components where included in the language it wouldn't hurt the component manufacturers one bit, they would build better things that benefit speed of business development as well as Hobbyist developers that can't go out and buy 25 components to write a simple home use application.
March 5, 2004 6:47 AM
 

Marcus said:

Carl, actually It wasn't meant in a flamy way. I'm honestly distressed. It's kinda not-fun to know that your buisness is doomed. Hopefully there will still be room for a few fulltime programmers in the far, grim future.

I guess it's kinda like the offshoring-stress you all seem to feel right now.
March 5, 2004 7:12 AM
 

Carl Franklin said:

Marcus,

I hear you, but it's never over until it's over. It just means that you have to be ready to embrace the market when it changes. Assume nothing, keep an eye out on the trends, and you'll be fine.

Carl
March 5, 2004 7:47 AM
 

Joe Grenier said:

Marcus,

I think there are two ways you can go here. Either stay at the very low level and write the tools that Carl is talking about, or supplement your CS education with lots of business classes. That way, you can be the guy who uses the tools to solve business problems and also get inside the code they spit out to make it work faster/smarter/better. The bottom line is the more you know about how your employer/client makes their money, the more valuable you will be as an all around IT Professional.
March 5, 2004 12:43 PM
 

Tom Bowen said:

> Others might find .NET a little tough and
> be better off working with VB6 or Python

Is this the next phase of elitism?

C# Camp:
C# is for professionals. VB.NET is for "those" people who just can't grasp the real thing.

VB.NET Camp:
VB.NET is for professionals. VB6 is for "those" people who just can't grasp the real thing.

Wasn't too long ago that all of the Visual products were considered hobby languages, and the only "professional" programmers had a copy of Petzold's book, Microsoft's C compiler and MASM.
March 5, 2004 12:56 PM
 

M Kenyon said:

>And the problem is not Mort. If the software Mort was using were able to do the job he expects, he (and we) wouldn't be in hot water.

Why don't people build their own cars? The technology isn't that difficult, if you spend some time doing it...
Why should they. Engineers do a better job, and automotive companies mass produce them. All the end consumer needs to do is pick their color.

You'll always have people building go-carts and derby racers, and even their own full-fledged road worthy vehicles, but the mass market is satisified by companies that focus on that.

Cars have been around for almost a century, PCs for a quarter of a century (give or take).

It looks like nobody in this forum wants to be a garage coder, C#, VB, and C++ included.

The weekend coder can go and get the SDK for free, whip up some .Net stuff to get his job done, or maybe even make himself some money.

But real business, wants real programmers. That's what Microsoft should focus on, IF THEY ONLY WANT TO FOCUS ON ONE END OF THE SPECTRUM.

They shouldn't have one team for both ends of the spectrum. Hey, if they want to get the hobbyists a nice set of screwdrivers, let the Web Matrix team do some more work, SEPARATE FROM THE REST OF THE PRO DEVELOPER TEAMS.
March 5, 2004 2:15 PM
 

M Kenyon said:

On second thought, why not bundle a lite version of VB (like QB) in with Windows. Then every Joe Smo can start righting their own games, apps, and utilities for all their friends.

While they're doing that, I'm going to go get a tech support job... I can see the money coming in now!
March 5, 2004 2:19 PM
 

Kathleen Dollard said:

There’s a lot of great things going on in my life right now

- My book on code generation is out
- gendotnet.com just went live
- I’m starting up a company training/consulting on code gen
- I’m speaking at Denver DevDays March 18
- I’m in the middle of a Colorado user group tour (new content in each town)
- My article on dynamic programming is the VSM March cover
- A great interview just went up at www.codegeneration.net
- I’m about to leave to conduct a writer’s workshop for sixth graders

So it’s the canary metaphor that makes a splash??? I can live with that.

But let’s clarify the point of the canary - I’m worried about you and me. It’s been great to be a professional almost every day of DOS PCs. Complexity has not been linear, but the trend is inescapable and so far equates to more time required for learning. Spending more time than we can afford training is a vague concept. Seeing hobbyists (part-time) excluded because they don’t have enough time to train crystallized it for me.

No, .NET isn’t the problem. It wraps the complexity in a neater wrapper. It doesn’t create the complexity.

Yes. I personally want to save the hobbyist programmer. They bring important things to our industry - including the initial design for that bizarre domain Access database. Saving them is easier than saving you because they just need a new tool.

March 5, 2004 2:41 PM
 

Rory said:

Tom -

"> Others might find .NET a little tough and
> be better off working with VB6 or Python

Is this the next phase of elitism?"

No - it *isn't* the next phase of elitism.

I said that "others ****might**** find .NET a little tough." This was in response to the suggestion in Kathleen's article (you read it, right?) in which she suggested that the difficulties being faced by hobbyist coders might indicate that .NET is provided some hurdles that are too tough for "regular" developers.

No elitism at all - it's a *fact*. Some people are going to find .NET too difficult, those people aren't coding for a living, and they might be better off using another set of dev tools that are more approachable by the beginniner. This wasn't said with any sort of malice, but as a suggestion.
March 5, 2004 3:15 PM
 

Lurker said:

Microsoft should keep their Focus on the professional programmer, but they still need to consider the hobbyist. Because, the hobbyist has an important role in my view. Consider the small business. The hobbyist could create an app for their business that the development firm that I work for would find to be "too small in scope" to devote the resources to. My company feels that we would better off devoting time to larger firms that can bring in more recurring revenue.

The client would most likely balk at the cost, as well. I don't mean necessarily just the up front cost, either. If their business changes a little, or if after using the app for a while, they have a couple of Minor changes they want, they will have to contact my company to have these changes made. This adds costs to the client, plus we would have to schedule the changes into our current workload.

Whereas, if the business had a "hobbyist", (s)he would have the source code, a full understanding of the needs, and would most likely be able to make those changes immediately (while we're still trying to assign a programmer or drawing up the contract).


If Microsoft wants to add Wizards all over the place to help the hobbyist and promote RAD, without taking away from the advanced user's experience, then that's great. I don't *have* to use the wizards or the drag-and-drop controls. When I install one of my applications for a client, neither the client nor my boss really care whether I used notepad and compiled it from the command-line or if I use the IDE, its toolbox and wizards. They care if it works according to specs, and came in on time or sooner.
March 5, 2004 4:11 PM
 

Lurker said:

BTW,
Really looking forward to the next show, guys
March 5, 2004 4:12 PM
 

Edneeis said:

"On second thought, why not bundle a lite version of VB (like QB) in with Windows. Then every Joe Smo can start righting their own games, apps, and utilities for all their friends.

While they're doing that, I'm going to go get a tech support job... I can see the money coming in now! " - M Kenyon

XAML and MSBuild being included in Longhorn comes to mind.
March 5, 2004 4:27 PM
 

Lurker said:

To respond to TJ about there being tons of information out there. The hobbyist has a full-time job, or is going to school, or whatever. They don't have the same amount of time to do the in-depth searching, or going to the Dev conferences, etc. as does a professional programmer. If the hobbyist is a Doctor, who wants to write an application and database (to track tongue-depressor usage or something important), I would rather have him spend his off-time researching Medical breakthroughs than data access methods.

March 5, 2004 4:28 PM
 

Tom Bowen said:

Rory -
"No elitism at all - it's a *fact*. Some people are going to find .NET too difficult, those people aren't coding for a living, and they might be better off using another set of dev tools that are more approachable by the beginniner."

I still think that sounds *exactly* like the comments that infuriate VB geeks. "Some people find C# too difficult, so they leave that to the Pros and use VB for their quanit little programs."

Ya know the old joke about how everyone on the highway who drives slower than you is an idiot, and everyone who drives faster than you is a maniac? The same may apply to developers.
March 5, 2004 7:22 PM
 

Tim said:

I hate it when there is a good topic and I get in late!

Lurker, if the doctor is programming as a hobby, he/she is doing it because it's fun and interesting. The definition of hobby is "a pursuit outside one's regular occupation engaged in especially for relaxation'. Therefore, I could see the doctor researching data access methods instead of medical updates. It provides a break from medical work.

Given that definition, Rory, I would disagree that professional programmers are not also hobbyists. I get paid for work in C++, and go home to play with .NET, Perl, or whatever I feel like for fun.

I don't think MS should 'dumb it down' (whatever is meant by that) for hobbyists. It would take the fun out of the hobby.
March 5, 2004 7:22 PM
 

Lurker said:

Tim -
"Lurker, if the doctor is programming as a hobby, he/she is doing it because it's fun and interesting"

I was using the hobbyist term, as I perceieved it being used in the article ("Saving this programmer is important because he understands the domain, sees the application as a pragmatic solution" and Rory's "For example, someone might be running a small gift shop and want to be able to catalog all the different items in the store. This person's expertise is in running gift shops..."), as someone who does not program "for a living" and needs to solve a business problem via app development.

March 5, 2004 10:05 PM
 

Homer said:

I am that novice programmer and I agree with Rory. I am facing the fact that I need to make a signifigant time investment to get my skill set rising with .Net. Kathleen was right to make the point, but it should be a warning to us novices/hobbists' that we need to become more enthusiactic about learning VS.Net and FCL. If you really want to be part of the movement you have to dig deep, get geeky about it. So as a beginning I got the MCAD book for writing Desktop applications, is this a good start? I do have a c,c++ background. I must admit when Im listening to the show and hear about a terminolgy i dont know, i definitey look it up... So to that end, my attack on the learning curve begins!!!
March 6, 2004 5:14 AM
 

Tim said:

Lurker,
So the doctor is more of a do-it-yourself programmer. Moneymatters does have a point. It could be a big market. If you look at home repair and improvement, there are tool manufacturers, hardware chains, and several cable channels that cater to the DIYers. MS might see money in it, and in the end, that is what matters to them.
March 6, 2004 6:19 AM
 

Lurker said:

Tim -
He was just spitting out #'s without any supporting documentation. So, I can't give validity to his point. It *could* be a big market, but who knows.

Back to lurking...
March 7, 2004 4:17 AM
 

Brian Russell said:

>>He was just spitting out #'s without any supporting documentation. So, I can't give validity to his point. It *could* be a big market, but who knows. <<
Today I just realized how well MS's marketing machine has me. I read