Microsoft asks 'So who wants to be a programmer?'

Microsoft asks 'So who wants to be a programmer?'

Summary: Microsoft launched a new Web site on March 1, its Beginner Developer Learning Center (BDLC), with the aim of bringing more "non-professional" programmers into the Microsoft fold.

SHARE:
TOPICS: Microsoft
22

Microsoft launched a new Web site on March 1, its Beginner Developer Learning Center (BDLC), with the aim of bringing more "non-professional" programmers into the Microsoft fold.

The new site is designed to supplement the outreach to hobbyists, do-it-yourself developers and other programming newbies that Microsoft began targeting in November 2005, when the company released for free its Visual Studio Express tools.

According to its own studies, Microsoft believes there to be about seven million professional programmers worldwide. But there are as many as 100 million tinkerers who are doing everything from HTML tweaks, to JavaScript coding, to macro-based development. Microsoft refers to this group as "non-professional programmers."

Via the new BLDC site, Microsoft is working to provide non-professional programmers with basic content. The site currently offers two main tracks: Windows development and Web. It also features a Kids Corner, featuring materials developed in conjunction by Microsoft and teachers.

Topic: Microsoft

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

22 comments
Log in or register to join the discussion
  • Poor way to teach...

    I was asked to review this content awhile back and at the time I said it had the same problem almost every "self taught" program/book/system to learn coding suffers from. The lack of teaching structure in programming.

    If you ever look at code from a "non-professional" the very first thing you see is that it's a fur ball with no structure to it. People that are self taught learn REALLY BAD habits that always prove to be a major pain to break. I've known coders with some fairly decent little apps that don't have the first clue what a flow chart is or why it's important.

    I teach an adult ed class that runs 6 weeks, three nights a week, three times a year. The first week no one is allowed to touch a PC, instead students are given (gasp) pen and paper and we work on building flow charts. Students are given a specific task and create flow charts. Each is reviewed by the entire class and we look at why one approach is better than another.

    This usually results in a final flow chart that incorporates something from each student and the class finalizes the flow chart we will use to build code against. At that point students are allowed to start writing code.

    The end result? Code that works, is object oriented, and meets the criteria set by the task objective and flow chart requirements.

    Is it successful? I can't tell you how many people have completed the class and then said something like, "I've been writing code for years and never knew how much I didn't know and how important structure is". (Or words to that effect.)

    For unknown reasons people that want to teach programming seem to over look the baiscs of good structure and that is a huge mistake.

    PS: It doesn't matter what the coding environment is, good coding practice is good coding practice and there is no such thing as too much documentation. ;-)
    No_Ax_to_Grind
    • OK....

      That's the second post in as many days from you that have been clear, non-insulting, and made a great deal of sense.

      So who are you and what did you do with the real No_Ax_to_Grind? (joke)
      Hallowed are the Ori
      • No_Ax making sense!

        OMG!
        Reverend MacFellow
    • For those that want to know.

      In my classes I use two environments.

      MS Visual Basic (Visual Studios) and PHP.

      Why those two? Because they are the ones the vast majority want to learn/use.
      No_Ax_to_Grind
    • Feedback is always welcome

      [i]I was asked to review this content awhile back and at the time I said it had the same problem almost every "self taught" program/book/system to learn coding suffers from learn coding suffers from. The lack of teaching structure in programming.[/i]

      Interesting, who did you give this feedback to and which specific content do you have issues with? We have a very small list of reviewers and all of their feedback was positive. Feel free to email me personally at dan.fernandez.no-spam@microsoft.com and send me your feedback or reply directly to each piece of feedback.

      As for the structure, we do have this, in fact multiple problem-solving techniques for structuring a problem are listed, specifically the IDEAL method which provides a structured approach to understanding and problem-solving.
      Link: http://msdn2.microsoft.com/en-us/library/bb330921(VS.80).aspx

      Thanks,
      Dan Fernandez
      Lead Product Manager
      Non-Professional Tools
      danielfe@...
    • Cough! Cough! *splutter* Cough!

      Arrggghhhh!!! I don't believe it. No_Ax is writing total sense for once.

      I have been hammering the exact same points into trainees' heads for the last decade or so and, No_Ax, I'm kind of worried that we have something in common. :-)

      I admit I don't use flow charts, but the key is to get them to think about structuring the solution to deal with the problem and then producing clear, concise and above all CORRECT code that reflects that structure. Nothing beats paper and a pen for that.

      In one respect, the GUI and IDE has done software a disservice. It has "brought up" many programmers who believe that you bang the solution together and when it stops producing dumps then it is tested as OK. Proper program design just does not happen in that environment.
      bportlock
      • The funny looks

        "I admit I don't use flow charts, but the key is to get them to think about structuring the solution to deal with the problem and then producing clear, concise and above all CORRECT code that reflects that structure. Nothing beats paper and a pen for that."

        In this class students are allowed/encouraged to bring their onw laptops to the class. They are always shocked on the first night when I tell them turn them off, put them away and grab paper and pen. "Huh, we thought this was a programming class"?

        When I hear that I know I have a lot of bad habits to break in 6 weeks. ;-)
        No_Ax_to_Grind
  • Sure - it becomes the only way for Microsoft

    The reason behind it is that smartt engineers are suppressed in Microsoft with their ideas that are not part of "Microsoft marketing strategy". Then they leave. After all they are still smart and technology is not bound to one vendor and one solution - software engineering is software engineering and none learns a tool, product or language for life.

    Other vendors however are more attractive because instead of recycling their "technologies" (or in case of Microsoft tools and techniques only, but new once require costly training and certification from the beginning) they simply build upgrade blockes where needed.

    Now I was offered training for Microsoft tools, but I think I have too independent mind and do not want do some low level programming if I have over 15 years of development wioth number of technologies and solutions under my belt. I would be willing to learn their solutions from different perspective (certainnly not from marketing and sales, but rather technical) to promote where it is applicable (and not everywjhher it is, but it will take light years to Microsoft strategist to understand that).

    So go with young and unconciuous. They may eventually figure out their ways, but they may also spend some time the way they may not like after all and get nowhere. Microsfort may not neccessarily care about that. They just need to sell. Who cares what you sell, right?
    FirstNLastN
    • What on earth are you ranting about?

      MS provides more languages/tools for writing code than anyone does.
      No_Ax_to_Grind
      • Second try: Huh?

        You actually understood that incoherent and rambling post?
        Hallowed are the Ori
        • Not really, but...

          Guys like this drive me nuts. Of course MS teaches with their own tools, so does Apple, so does Sun, so does IBM, on and on.
          No_Ax_to_Grind
          • True, but ...

            MS seems to pepper their technology with proprietary hooks that seek to lock the user/project into only using their technology and that annoys many people (myself included). They tried to monkey with the Java VM and when that didn't work went off and created C#. Rather than using the standard C/C++ library they encourage the use of MFC. Rather than using universal web development techniques, they encourage you to write code that only works in IE. There's a big difference between a company using its IDE/compiler to teach students to author, compile/run a program that can rebuilt with a different IDE/compiler and locking them in to using only your technology. Many (myself included) resent the fact that MS consistently takes that latter approach.

            I think it is great that you teach adult ed but if I were setting out to teach good programming structure I'd choose a language that enforces it such as Pascal.
            msmitchel
          • Pascal?

            In a six week course three nights a week? No way.

            Honestly, if I can get the concept of structuring code across in that 6 week period I feel I've done a good job.

            The old "teach a man to fish" sort of thing.
            No_Ax_to_Grind
          • MY friend learnt pascal in about 3 weeks

            i was amazed, he was REALLY GOOD!!
            usrhlp
      • When you look at MS roots

        They were a programming language company to start with before IBM approached them. I'd expect they'd have most tools.
        voska
      • Yes -- I put Windows behind OS X, Linux, FreeBSD...

        With a working java, included ruby, python, php, perl, bash, tcsh, a web server for
        html, css, and javascript testing, a quickly installed compiler for c, c++, and an
        objective-c programming runtime and development environment, and quickly
        added package managers fink and darwinports which will install other and more
        interesting langauges/runtimes such as mono, clisp, squeak, scheme, ocaml,
        dylan, and haskell, to name but a few, I'm thinking that there are more abundant
        resources for learning programming on OS X than Windows. Linux/FreeBSD are
        also a very good environment for code writing -- they do subscribe to the Unix
        tradition that an administrator can solve problems through programs and scripts.
        But if your students think the world is php and Visual Studio, well I guess that's
        what you should teach them -- mind you, they seem to have been fuzzy on the
        whole thinking and structuring aspect of programming, maybe their world would
        be rocked by SmallTalk or Scheme.
        DannyO_0x98
  • Message has been deleted.

    Hallowed are the Ori
  • The Price is Right

    Why knock it? It is an opportunity to learning something for only an investment of your time.

    Pingbacks: http://securitygarden.blogspot.com/2007/03/attention-wannabe-developers-microsoft.html

    and

    http://windowsconnected.com/forums/8135/ShowThread.aspx#8135
    Corrine | SecurityGarden
  • Doesn't MS have enough

    non-professional programmers. I guess I am insulted by those HTML, database
    report writers that call themselves programmers. I am also insulted that MS is using
    the term "programmer" when all they are doing is manipulating tools and interpetor
    API's created by MS. Please empower me MS, for I am too stupid to learn how it
    really works.
    LittleGuy
    • Say HUH?

      "...when all they are doing is manipulating tools and interpetor API's created by MS."

      Umm, so you write everything in assembly???
      No_Ax_to_Grind