Slashdot Mirror


MS: Use the Source, Luke!

McSpew writes: "The WSJ (via MSNBC) has an article about Microsoft's upcoming push to get universities to use .NET code in programming courses. Their code-sharing initiative is all about winning hearts-and-minds at the university level, where Linux and open-source rule the day. The article does a good job of explaining the issues and why MS may yet fail in spite of their push. I wish the article had discussed the reverse-engineering issues of needing 'virgins' who have never seen the product being reverse-engineered and how MS's newly broad distribution of its code makes finding virgins much more difficult."

22 of 454 comments (clear)

  1. I saw the push... by heliocentric · · Score: 4, Interesting

    At the recent SIGCSE conference of the ACM MS was there pushing the .NET handing out full copies of it and XP Pro as well as books on C# and things like that. I must admit I saw the add-on to .NET, the Live Wire product I think it's called, as a decent tool to teach non-cs majors an intro to programming course. Then I got home and talked about the product with some colleages and to my disgust one was using it to develop actual software.

    It's one thing if a school jumps on board with this, but for the love of pudding, please mention there are other things out there, and what is sometimes just a teaching tool isn't always something for use in industry.

    --
    Wheeeee
    1. Re:I saw the push... by fermion · · Score: 2, Interesting
      The truth is that the structure and integration of MS visual development tools do not encourage good development practices. As an example, I recently had to maintain some code written with VC++. The code was a bad as I have ever seen, being largely hacked together by button commands rather than based on the struture and needs of the problem. I then realized that the structure of the Visual environment encouraged these bad practices, especially if the programmer had not been adequately trained in good basic coding.

      It also seemed to me that MS encourges using the style for C, C++, VB, Access and FoxPro. Which is to say that MS makes some decent tools, but it scares me that people are using them to learn to program. After all, programming is more about logic, structure, and use, rather than which menu puts a button on the screen.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  2. Re:Uhh... no by heliocentric · · Score: 4, Interesting

    That's a shame - at my school we are knocking down a wall to expand our sun cluster and we require all programs submitted by students to compile on the suns as that is where we check the homework. All faculty have a sparc in their office and all students are issues prox cards to access the room with the suns.

    The room we dream of is some sort of lab where the kids would be allowed to play around with OSes and play with hacking tools - something not allowed to touch our unniversity network, so we'd like to go disjoint.

    --
    Wheeeee
  3. My two cents... by gregbaker · · Score: 4, Interesting
    I don't know if the article is already /.ed or if my browser's being funky, but I can's read it. I can tell you why I wouldn't use the .NET code in a course.

    First, in what course exactly would an instructor want to say "Well, here's a whole bunch of code from a commercial (or any) project. Study it." I agree it's good to have an example around for some things, but if MS thinks the Universities are going to create a course like "The .NET Code", they're dreaming.

    Second, if I did want a large code example, I'd want a good example. I'd want to be able to point to almost any part of the code and say "That's the right way to do it." I've never seen any MS code, but I'm going to idly speculate that you couldn't do that with it. Probably MS isn't shooting for the .NET code being used as a cautionary tale.

  4. "Uh, boss? All the new coders hate us." by ilcylic · · Score: 2, Interesting

    It seems somewhat plausible that Microsoft is concerned about the general lack of programming experience on their products that college students get. I know at all of the universities I ever went to, (three) and all the ones anyone I can recall asking about it went to, (more than three) the dominant programming infrastructure was Unix. As far as I can tell, this has only become more prevalent in recent years, with almost every CS student I know running a linux box at home to save the effort of having to sit in a lab to code homework assignments.

    It is a shame that it will be harder to find people who have no experience with the .NET stuff in order to RE it for purposes of Linux interoperability, though. Maybe that's another reason MS is pushing to have it's code displayed so broadly. So noone can legitimately RE it.

    -il cylic

  5. Obligatory MS Paranoia by Amazing+Quantum+Man · · Score: 5, Interesting

    They're setting up to kill Open Source in the future... not by winning hearts and minds, but by "contaminating" all those students...

    MS Lawyer: "What? Product X functions like MS Y.NET? Obviously you had access to our copyrighted source code!"

    Open Source Group: "WTF are you talking about?"

    MS Lawyer: "Programmer Joe Collegekid over there, he saw our source in his college class. He obviously used it. Stop producing your software, or you'll lose everything you own! Oh, and give it to use, because we own all the copyrights on it!"

    --
    Fascism starts when the efficiency of the government becomes more important than the rights of the people.
  6. Re:Uhh... no by Anonymous Coward · · Score: 1, Interesting

    I think at most schools (at least mine :) it was almost purely Java/C++ based on W2K boxes. Open Source was encouraged at the student level, but not mentioned much in the classrooms (then again, neither was MS)

  7. Re:Gotta love reporters who do research... by Anonymous Coward · · Score: 1, Interesting
    Um, the actual name is "GNU General Public License", so the reporter isn't too far off.

    From the GNU site: "...The GNU General Public License is often called the GNU GPL for short..."

    So if you call it GPL it is the general public license.
  8. What's the difference? by mmusn · · Score: 2, Interesting
    I don't see that much of a difference between C#/.NET and the Java2 platform in terms of how closely they are tied to one company or the other (while several Java2 systems are available, they are all derived from Sun's code). Both .NET and Java2 have incomplete subsets that are available in open source form (Java 1.1, Mono), but, ultimately, both are proprietary platforms.

    In fact, source access to the Java2 platform under the SCSL has onerous "contamination provisions" and I think using it in a computer science course is irresponsible because it may contaminate students for the rest of their professional lives.

    What we really need is better open source, non-proprietary implementations of either language that colleges can use. These then give students access to tools they can use after they graduate wherever they work, and they can work with the full source code without selling their souls. And, besides, colleges shouldn't focus so much on just one language anyway.

  9. Takeover of engineering education. by mmusn · · Score: 3, Interesting

    While Sun and Microsoft fight it out for the minds of computer science majors, another company has pretty much won the battle when it comes to engineering: MathWorks's Matlab has become the de-facto standard for computing in engineering and some areas of science and applied math. You can't exchange code with many others in the field unless you buy their software. Many research results are built on it and only reproducible using it. Oh, sure, it's cheap as long as you are a student or professor, but once you graduate, expect to pay many thousands of dollars even for a basic license, and many students graduating from top engineering and research labs are largely incapable of programming in anything else. The Matlab success story is a monopolist's dream.

  10. Re:What's interesting... by John_Booty · · Score: 3, Interesting

    MSNBC has had some articles that have been extremely critical of Microsoft in the past, especially noting Windows bug and during the DOJ trial.

    Say what you will about them, but I've always found MSNBC to be QUITE impartial when it comes to reporting on Microsoft. And believe me... whenever I read Microsoft stories on MSNBC, I always have my eyes wide open for signs of bias. Haven't found it yet though- I must say they've done a damn good job in the articles I've seen.

    --

    OtakuBooty.com: Smart, funny, sexy nerds.
  11. Re:Uhh... no; more data by Passacaglia · · Score: 2, Interesting

    In the lab where I work at MIT, we were given 2 high-end Dell boxes with NT on them. We purchased 5 IBM machines, Win98 installed whether we wanted it or not. Only one of these machines now has an MS OS still installed; Linux has nearly wiped out the competition here.

    There's a Solaris cluster in the basement of our building, and an MS NT lab; four out of every five times I walk down that corridor, the NT lab is empty. The Solaris cluster is never empty.

  12. Re:Uhh... no by dachshund · · Score: 5, Interesting
    Yeah, I used Unix (not Linux) in programming courses when I was in college, but most colleges now-a-days use Win2K labs and are phasing out their Unix labs (same programming courses in my college are using Visual Studio's version of C++).

    This is a sad, but true phenomenon. And the root cause of it is not anything that Microsoft did-- it's the takeoff of Java. This is particularly ironic, because many of the Unix machines being tossed were made by Sun.

    The strange thing about the Windows migration is that it's not necessary, unnecessarily expensive, and probably counterproductive. Installing Windows partititions in labs provides little benefit to students, whether they're programming in Java or C/C++. What it does allow for is a whole lot more gaming. It costs a lot more to pay for those Windows licenses (or, at least, Windows development tools), and in the end you graduate a class of students who never get comfortable with a shell, with C, or with many Open Source projects (which are a great way to develop programming chops).

    None of thost last things need be required as part of a CS education, but they make a major difference in your skill level by the time you get out of school. Being steeped in Linux/BSD, C and X-Windows added a lot to my education.

  13. Re:We had a name for CS students that didnt like U by anti-snot · · Score: 2, Interesting
    The MIS students at the (Frank) Perdue School of Business successfully petitioned to have C++ dropped from their curriculum because it was "too hard". This very class, numbered only about 120 or so, serves as the introductory course for the entire CS major.

    Its a difference between people who just want to know how to use something vs the people that want to understand it. A shame they don't realize that if they understand how it works, they won't have any trouble using it, or anything like it, ever again.

  14. Re:Differences in schools by sean23007 · · Score: 2, Interesting

    flavor of the day propritary platform

    I don't know about anyone else here, but I don't think Microsoft is exactly a flash-in-the-pan, flavor-of-the-day, fad kind of beast. Judging by their actions and perseverance over the past decades, they appear to be as strong as ever, and as strong as anyone could expect to be. Seeing as people going to college are probably planning to apply for a job in the industry corresponding to their major, they should learn the operating system used by the majority of companies. And by majority, I really mean majority, don't get confused and put yourself in that category, before remembering which side of the 95% barrier you are on.

    --

    Lack of eloquence does not denote lack of intelligence, though they often coincide.
  15. Open source will hold out in class by keysor · · Score: 2, Interesting
    At Rice, I'm seeing Microsoft's effort first hand-- they're sponsoring a .NET tutorial all day this Thursday and Friday for some profs and students in the Comp department. The department seems to be interested whether .NET has useful aspects for teaching, but most opinions I've heard are that C# and the like are still too brain-damaged to use (no dynamic inner classes?), though a lot of issues could be fixed trivially in the compiler.

    But not only is both the department and university deeply rooted in Unix (especially for Comp classes), we're already incorporating Open Source directly in the curriculum. In a software engineering course I'm in right now, we're using Sourceforge to develop DrJava, a GPL'd Java development environment that is particularly useful for teaching beginners. We're seeing that open source and extreme programming (complete unit tests, rapid releases, etc) are a very effective approach towards building software-- and Microsoft isn't about to woo us away from that with money. I expect that any use of .NET here (if there is any) will be strictly complimentary to our existing approaches.

  16. Re:Uhh... no by Anonymous Coward · · Score: 1, Interesting

    You're looking for the highest-paid jobs? UNIX-based programming jobs are generally better paid than Windows ones. As a matter of fact, the higher pay of UNIX admins and coders is a major impediment to *using* UNIX in a lot of places. I have an OS prof that's done a lot of consulting who's a Solaris junkie, and he specifically said that he'd *avoid* Solaris if he could when consulting because it's so much cheaper to build a system that you can just hire a MCSE to maintain, and pay them shit wages. He estimated that you'd have to pay at least 30% more to get a UNIX-equivalent person.

  17. Re:Differences in schools by MasteroftheVoxel · · Score: 2, Interesting

    I agree with this. I work with three graduates of MIT and they are some of the most talented software engineers I've ever met. At first, I was shocked to learn that the *ONLY* language ever taught to MIT CS students is Scheme (a dialect of LISP for those who don't know what it is). Oh, and thats taught in the _intro_ Computer Science class. Once they know the
    "basics" they are expected to learn all the other necessary languages they'll need by themselves (C, C++, Java etc.).

    At Harvard, where I got my CS degree, we learned C++ (an imperative language) and LISP (a functional language). Everything else was theory.
    MIT just gets straight to the point and only teaches the functional language, because that is *pure* CS. After thinking about it, I realized that this was the way to go. You can teach someone how to use some piece of technology which may be obsolete soon, or you can teach them how to think.

    For people who are really majoring in Computer Science, it shouldn't be about "programming languages" but Computer Science - that is computability, algorithms, data structures, operating systems, electronics, E&M physics, math,
    foundations of networks, graphics, compilers, databases, cryptography etc. Any decent CS major will pick up the rest himself.
    Damn, I should have gone to MIT...

  18. Re:Shared Source License by pubjames · · Score: 3, Interesting

    This is an interesting clause:

    That if you sue anyone over patents that you think may apply to the Software or anyone's use of the Software, your license to the Software ends automatically.

    What does that mean, exactly? So if I create a modified version, patent the modification, Microsoft infringes my patent, I sue Microsoft, then I lose my right to use the software in the first place, therefore... What? Any lawyers out there can interpret this?

  19. Re:Non-compete by Dolly_Llama · · Score: 3, Interesting

    ...and what happens when they hand these NDAs to 16 and 17 year old freshmen? See Apple Story for context.

    --

    Somewhere, something incredible is waiting to be known. -- Carl Sagan

  20. Sad day at MSU by Anonymous Coward · · Score: 1, Interesting

    Here at Michigan State University, the powers that be have decided to scrap teaching the intro to programming classes on Sun machines and instead sign up to be Microsoft technology testers or something such as that. The result is that people who have never programmed before are now starting their lives on Visual Studio. We even used to have a linux lab where the Operating Systems lab was held, Now it is all Windows. Sort of a shame since a lot of the labs were "look here in the source and see how linux implements this".

    A number of professors that I know are very upset over this, but as with all things there is a VERY large cash incentive from Microsoft if they do this, and they did.

  21. I wish. by smokeJet · · Score: 2, Interesting

    At NTU in the UK, from where I graduated last July, students were forced to use Windows, including Microsoft compilers.

    There were rumours of an old VAX cluster - they turned out to be true. There was a cluster - it was offline and gathering dust.

    There was one "student" Linux box, which anyone who expressed an interest could get access to - it was taken offline halfway through my first year, due to "lack of interest", despite what I heard from many disgruntled ex-users.

    In the UK at least, be certain to check the type of network a CS faculty runs in advance if it matters to you; I found out too late that presuming big hunks of *nix goodness are going to be available is simply not safe.