Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
News

Microsoft Is Indoctrinating Children, Shouldn't We? 301

wildgift writes: "This is probably not news to some young people, but some of the older people here should be aware that Microsoft runs a wide ranging IT/Programming curriculum project, called Mainfunction, that teaches young people to program using Microsoft tools. The obvious issue is: is anyone leveraging the education-friendly Unix environment to create a similar program? This is a huge opportunity. So far, I've only found this Python article." If Microsoft is getting their tools in the hands of the programmers of the future, what can we do to achieve the same? Wouldn't it be much better if kids could take a look at development on several different platforms so that they can better use the technology when they are professionals rather than settling on "what they know"?
This discussion has been archived. No new comments can be posted.

Microsoft is Indoctrinating Children, Shouldn't We?

Comments Filter:
  • by Anonymous Coward
    I think the registry is laid out in a very easy to navigate manner. Not having to search for config files is also very convenient.

    Statements like that are setting off the bullshit detector from this 6 year WinNT system admin vet.

    First of all, the search mech of RegEdit.exe is very slow and doesn't provide very much functionality at all (no regex's, no complex searches, no search indexing). Second, RegEdit.exe isn't even the approved editing tool, so you need to make your changes in RegEdt32.exe (which is also the only place you can see/set ACLs).

    But the major problem with the Registry is that 90% of the stuff in there is not supposed to be user-editable (which means that it isn't documented), while 10% of the stuff is. That means that you for every interesting key, you've got 9 other keys full of binary junk or non-human readable settings. This 90/10 situation is the product of a horrid design decision to begin with -- either make it a closed box, or give me complete documentation.

    Furthermore, lumping critical OS configuration such as hardware detection bits and partition maps in with 10,000 media player MIME types in with everyone's desktop background colors in with an buttload of path settings in a giant mystery database is just a bad idea on the face of it. Putting on a POS filesystem like FAT makes it a recipie for disaster.

    Which is not to say that I'm a fan of UNIX config files. That system has it's props, but the basic incompatibities in syntax and scatter shot nature of those things just stinks of 20 year old ducktape. It will also prevent anyone from ever building a user-friendly GUI for system configuration (not a bug, mind you, but a "feature" for insecure unix admins in that it prevents them from being replaced by someone cheaper, but at the cost of keeping unix off the desktop). Anyone who has seriously tried building a unix admin gui (IBM AIX, NeXT/OSX), has dumped the text files in favor of a database, and they have done so without totally breaking commandline admin.

    The world needs a sane structured config storage system, and it sure ain't the registry.
  • by Anonymous Coward
    can understand people who think Windows is easier to use than Unix/Linux---I don't agree, but I understand their confusion.

    Ok. How are both setting up complex macros in emacs and learning cryptic commands easier?

    What I don't understand is people who claim that programming under Windows is easier. It just plain isn't true.

    Oh really. How is learning motif easier then the mfc classes? Have you even read the unix haters manual? X is terrible and languages like visual basic are alot easier to learn if your new to programming. ALso its now the year 2,000 and xwindows still does not support true type fonts. Incredible!

    The environment is so unstable and unpredictable that you need a vast array of "test machines" ready to take a clean image so you can figure out if the problem is your program or the underlying (supposedly abstract) operating system. The tools are so feeble (or so localized) that they are virtually useless for any generalized task. I could go on.

    Have you seen windows2000? It is the most stable Micrsoft product ever invented since os/2. :-) I admit windows98 sucks goatballs but ms had to have a dos backbone for compatibility with old apps. Its not their fault. Try to compare w2k to linux instead since w2k is desgined to be cutting edge and stable. Also Motif and the nasty news/x windows crap is terrible to get anything done with it. A well respecting computer scientist said programming in motif is like building a bookshelf out of mashed potatoes.

    Suffice it to say that I got a CS degree in the early 90's from a school that was smart enough to have a lab full of Sparcs. After school I did Windows programming and, having forgotten the "it just works" atmosphere of school, thought that unexplained crashes and hourly reboots were just par for the course.

    Comparing windows 3.0 and the early releases of com and ole to today's technogolies is not a fair one. Today dcom/com is far supperior and easier to use then cobra. Also windows is now stable. I now NT 4 had a few rough spots mainly due to bad hardware and drivers but for desktops its very stable. I love going for months without rebooting my computer. Schools taught their programming in unix back in the early 90's not because unix was more powerfull per say but because 286 and 386 pc's were slow as hell compared to a mimi like the sparc station. It just happens to be that mini's mainly came with unix.

    Now I've been programming on Linux exclusively for a full year and it's been heaven. Months go by before I boot my desktop...the servers rarely if ever get rebooted. The "API" is stable, simple and well-documented. It's easy! Untill you have to install a rpm package that conflicts with 80 other programs making it impossible to upgrade.

    Try upgrading to kde2 by rpms. haha Hell is too kind of a word to describe it. I could only download the sources and compile it because linux has no standard installation api's and is years behind windows and mac.

    As you can tell I had enough of unix. I have been a linux user for close to 2 years now but my main gripe is that I always have to upgrade every few months with new kde updates and gnome updates and each and every time I F*ck my system in the process. Sure you can use rpm -Uvh --force --nodeps but in return you can screw up your whole system just to updrage 1 or 2 packages! Unix is terrible in alot fo ways. One of freebsd's main developers wrote a huge portion of the 1.1 Linux kernel and he switched because of poor package managment. He said it was a nightmare trying to upgrade anything under linux.

    I am sick of looking up archane commands in text files. I am sick of poorly docuemented api's. I am sick of shell scripting.

    WIndows is far more easier to use. Unix is very stable and I give credit to the unix gods for that. I believe for myself its time to put linux back int he computer room where its strenght is and put windows back on my computer.

    Kde2 was real eye opener for me. I relised after 3 F*CKING WEEKS TRYING TO GET KDE2 INSTALLED that perhaps Linux is not all its cracked up to be at its current maturity level. Sorry but I do not think teaching hs kids unix is a wise thing. It will turn them off programming in seconds.

  • I am a pretty dedicated Mac user, and have programmed quite a bit with 'REALbasic' (_very_ popular and successful on the Mac), and I disagree with an important part of your conclusions. Here's what I've found.

    As far as just plain solving problems, I can't beat REALbasic. I've done things like write 'AIFF unclippers' in a couple of hours, just puzzling out the format and writing an app to turn all the 'clip' values into 'clip-1' values to make a file safe for digital glass mastering. There is a lot of stuff that can be very easily built on a RB foundation.

    However! There is no way to translate this ease and ability to do RAD work to deeper levels of programming. I can tell you that it sure doesn't translate to C programming, or Codewarrior, or GCC: the most basic concepts might be the same, there might even be parallels to things like pointer math ('memoryblocks') but the whole approach to RB is not the approach to more low-level languages such as were used to make RB itself, to make its nice sophisticated bugfree 'objects'. It's possible this is just a matter of degree, but the more you program in RB (or Visual Basic, or some such veryhighlevel language- possibly even MSVS depending on just how drag and drop it really is) the less capable you are of popping the hood and building your own engines, something that is almost obligatory with lowlevel languages.

    I concede that most people cannot deal on this low level, but I'm also saying that these very easy candy languages _make_ people unable to deal on the low level. It's almost like a judgement call, a decision you have to make- do you go for getting lots of tasks done, or do you learn to actually program? Using the highlevel stuff can be great if you frequently run into a problem that must have a programming solution and cannot find or buy one, but the problems had better be 'amateur' problems. No matter how exciting your vision you're not going to program Quake in RB- in fact if you're very highlevel you might be entirely unable to cope with the Quake source even if you licensed it. Yet if you go totally lowlevel you might not see the actual problems because you're totally caught up in implementation. It's quite a puzzle.

    We do need high level languages. I'm just concerned that this is not only indoctrinating people with particular habits and expectations (i.e. MS for everything), it is also taking a toll of people who might otherwise be able to do creative and productive work at the low levels- which are never going to go away. There is always going to be need for them, and I'd just as soon not have all the people in the world who can hack low level code paid to sit on their hands at Redmond- or debug VB :P

  • I work for MontaVista Software. Every line I write gets released under an open license. I'm better paid than every job prior (except for a few short-term contracts).

    30 of the rest of the folks in my team do the same thing. Our primary competitor, Lineo, also employs a number of open source developers.

    If you think there's no money to be made in open software, it's because you don't know where to work.
  • Not data, COMMENTS.

    So I want to attach a comment to a value, describing why I set it to what it is.

    Or I want to use version control (like RCS) on it to track all its previous values, how it's been changed, by whom, why and when.

    These things are trivial with textual configuration files. They're not so trivial with regedit.
  • It's too hard to program computers these days. If I wanted to teach someone to program ten years ago, a machine like a BBC Micro would be great: you turn it on, it's immediately ready to accept a program, and drawing to the screen is relatively easy. If you want to draw anything now (essential for the gratification factor in learning to program) you have to become expert on events and windowing systems.

    I'd like someone to put together a nice enviroment for beginning programmers. Base it on Python and gtk, so it's portable between Windows and Unix. Use Glade so people can start off drawing what they want their program to look like, then write bits of Python to make it work. Throw in a really good canvas widget, so it's easy to start drawing things and get things moving on the screen without worrying about expose events and redraws. Then write the book "Learn to program with Python", that takes beginners who've only ever used computers before by the hand and leads them through the delights of making them do your bidding.

    I know that the CP4E [python.org] project is looking to shape Python into the ideal beginners language. I'd love to see this happen, because Python is a beginners language you can stick with to write real, large scale applications that do real work.
    --
  • First, your first language doesn't have to be one you'll use again. You'll find it easier to learn other languages once you've got a grasp of programming. Java would be a good next step.

    Second, Python will stay useful all your life. Python is basically useful the same way Perl is, but it scales better for large programs. It's not for people who want to be programmers - it's for everyone. It's useful for that tiny little script to automate the thing you can't quite do by hand.

    Third, Python runs under Windows. In schools, this is probably the environment I'd use to teach it.

    Of course, we could teach them nothing but VBScript under Windows, but this is Slashdot, where handing control of the future to Microsoft is considered a Bad Thing.
    --
  • Only someone who's been completely indoctrinated to the New Jersey Cause would honestly think that Unix is "natural"
    I don't think he said "natural", but "natural appeal for programmers" which is much different. Unix, the OS and the tools, are transparent, which makes them appealing.

    The documentation for programming the OS is generally available with the OS (man 3), not as a developers kit; source code for tools is widely distributed, even for proprietary versions; nearly all versions of Unix include a C compiler; programming is ubiquitous -- most serious programming-minded Unix users will quickly be creating short shell or perl scripts, utilizing the entire traditional Unix environment in their programming. You can recreate a number of these things in other OSes, but with Unix they are assumed, ubiquitous, and part of the culture. There is a low barrier to entry.

    Windows is not like this. Mac is not like this. BeOS, etc... well, beats me. And while you can get the Cygnus tools for Windows, and turn your Windows OS into a mini version of Unix... what would that prove?

  • I don't want to seem too elitist, but not everyone makes a good programmer, and those who do often find it on their own. And so, while arcane command line tools aren't appealing to everyone, there are certainly aspects of them which should appeal to a good programmer. It allows one to express their abstract desires in a natural way -- at least, natural if you are a programmer. If you can't think abstractly -- you want GUIs with files you can see and drag around, tools with modal dialog boxes, etc., then programming might not be natural either.

    That said, if you can't remember the name of all the bizzarely abreviated programs, and the slightly inconsistent option letters, that's another issue. I think MacOS X may have some good ideas of general cleanup (redoing the filesystem layout, etc) which could probably be expanded upon.

    Still, for all its problems, Unix is still the best game in town for the programming-minded.

  • Let me guess, you wish the Lisp machines have taken over. For some people, Unix *is* natural, and for a lot more people, AI Languages are very non-intuitive. Unix was natural for me, and I like it quite a bit. I wish someone had introduced me to it sooner. I have nothing against AI Languages either, (well, Lisp is pretty ugly; I like Scheme a lot better) but I haven't been able to get any real work done in them yet--it makes common system programming tasks pretty clumsy.

    I used DOS for a long time, and although I liked it a lot, it was missing some functionality that I wanted. I wrote a few commands of my own, basically re-implementing stuff like "which", "df", "touch", and "ls -R"... before I ever knew about Unix! Therefore, when I found all it had to offer, I was thrilled.

    If you think Unix is bad with the "worse-is-better" [jwz.org] philosophy, then you of all people should understand why we'd prefer Unix over Windows. The MIT Approach is to the New Jersey approach as the New Jersey Approach is to the Redmond approach. Also, Lisp machines are dead, Unix is alive and kicking, and Windows is dominant. Given the choice between Windows and Unix, I'd rather have Unix.

    As there is no free version of Windows, and there are free versions of Unix, I'd say that Unix itself is quite a bit less proprietary and commercial than Windows. Is the Windows source open yet? No. What about Unix? Not only are there many implementations of Unix out there with source code available, (including Solaris, by the way) but you can even buy a book, and read about the original source and its design, with comments, as a teaching tool!

    It's a good, simple, straightforward design, and I'm glad people are starting to realize that. All the major players in the OS market today owe a lot to Unix. Apple and Microsoft both sold Unix distributions at one point in time or another, and many of the new features that Microsoft has added to Windows were already in Unix in some form or another; that's innovation for you...
    ---
    pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
  • Find a business that leases linux boxes and support, and they could do it, but I don't know of anyone out there yet

    Go to google, search on "Linux workstation lease" and you will find some. Also try "linux PC lease". It's true that there aren't as many as for Windows, but they do exist. Many local companies would probably be willing to come up with an offer. I know that (shameless plug ahead) Linux Labs [linuxlabs.com] Would be willing to come up with a good offer.

  • Yeah. Go back to the stone age, and only use the kernels that the over-cautious kernel apologists are prepared to call a "release". Lose some functionality, but earn the right to complain when it doesn't work! (Sadly, a right you'll still need to exercise.)

    So, obviously, you must run the nightly snapshot of Windows from the internal MS CVS (or equivilant). What? You can't get that? You must be back in the stone age too. I'm sure that MS, being the upstanding company that it is will also offer you unlimited tech support for the alpha versions of it's products.

    once they've seen the best, they will never want to deal with a lesser environment.

    Agreed, having seen vi, make, and gcc I NEVER want VC++ to darken my desktop again.

  • >>It's a good, simple, straightforward design. Please, explain that. I look at it in a different way, I think it is full of out-moded principles, out-dated paradigms, needless cruft hidden behind pointlessly cryptic filenames leading to executables which make up their own conventions as they go. And don't get me started on the idiocy that is symlinking.

    I'll have a go.

    Out-moded prinicples and out-dated paradigms: you mean like "everything is a file" and "read from stdin, spew to stdout" ? I'm sorry, but if you're stupid enough to think that these are bad ideas then perhaps you deserve to code the Win32 API and all the half-implemented and dependent-on-bugs interactions that come with Windows. I'll take my simplicity any day.

    needless cruft hidden behind pointlessly cryptic filenames: You didn't provide any examples but I assume your gripe is because you are unfamilliar with the system. Someone unfamilliar with Windows would have a hard time trying to figure out what programs such as protman.exe, dosrep.exe, grpconv.exe, pidset.exe, asd.exe, mm2ent.exe, rg2catdb.exe and a host of others do. Sure I can guess at their function but unlike Unix, Windows doesn't have a help system which explains any of this. Windows does have extensive help on explaining what the fucking paperclip is for though.

    executables which make up their own conventions as they go: I'm not quite sure I follow. Almost all of the "pointlessly cryptic" executables follow POSIX standards for their command line options, including --version and --help which is more than I can say for any of the afforementioned .exe's Windows has. And the executables which don't follow POSIX usually have decent man pages.

    the idiocy that is symlinking: oh, let's not go there, what with the powerful SHORTCUTS that Windows provides... Symlinks are one of the best features I've run across in my experience of working with the various Unix filesystems. Stringing together a few commands, I can instantly tell whether the links are good or bad, what they point to, etc. I guess such features aren't useful in your line of work.

  • When I was young, the incentive I had to learn programming was so I could write games (yes, this was back in the days before spreadsheets and word processors *grin*). But what *really* got me well educated was when I found out about net projects doing open source development. Being able to get mentorship from experts online, and getting their direct review of your code, is a very effective way to learn new technology very well.

    Times change, but not that much... I would have to suspect that there is still some urge to learn programming because of interest in games. And I definitely know that net projects are *still* one of the best ways to pick up new technology.

    If this is in fact the case, then one of the best ways to promote education of free programming could be encouraging young folks to work on the various free game development projects out there. Fringe benefit: One day maybe getting more free, open source games that YOU can play. ;-)

    And I'm not just spouting opinion here... I myself devote time to one of these game projects (www.worldforge.org), helping people learn about game programming, and I'm also participating in a project to author and promote free, open source textbooks (freebooks.myip.org).

    If you have a few hours each week you can devote to helping one of these projects by helping teach or review people's code (or art!) and give good feedback, that would certainly be one of the best ways you can encourage learning of open tech. And if you need to learn some of this stuff your self and can afford a bit more time, well sheesh, do yourself a favor! ;-) And in any case, participating in free communities is a lot of fun, and can be very rewarding personally. And of course it is the Right Thing To Do. :-)

  • This assumes, of course, that the school will sit on their current version of Windows forever. However, anyone that knows anything about Windows realizes that every couple of years Microsoft is going to literally force a migration to the "next best thing."

    In fact, that's part of the reason why companies are holding back on Windows 2000, it's going to cost them billions of dollars to upgrade their licenses, retrain their staff, and migrate from their existing systems. When these ongoing tasks are added to Windows' TCO, the balance shifts even more in Linux's favor.

    This is one area where Linux has some serious TCO advantages. Not only is it less expensive than Windows, but upgrades are free. Oh, and development tools are free as well. And the Linux community is much less interested in making your skills obsolete. How useful are your old DOS skills, or the tricks you learned for Windows 3.11? People that learned Unix in that same time period are still getting mileage out of their skills (and they have got some cool new toys to boot).

    It has become almost an axiom in the computer industry that once the cost of migration is the only reason not to switch from a product, the product is doomed. Microsoft is no exception. On the one hand Microsoft is forced to say that switching to Linux would cost companies too much money, but on the other hand they want these same companies to make a switch that is almost as radical. They want companies to pull out their NT servers and put in Windows 2000.

  • "if not more unfriendly (this may change when the KDE IDE is finished)"

    Ok, define "friendly".

    Is it an IDE? Linux has several mature ones- SourceNavigator and Code Crusader come immediately to mind (Not to mention that SourceNavigator's cross-platform and will work under Windows...). There's several less mature ones that are immediately usable (KDE's one included in that list...) If you're using the criterion, "works exactly like Visual Studio" as "friendly" you're in for a rude awakening- most of that environ is NOT easy or friendly past the simplest of applications.

    "text-based debugging sucks ass."

    Uh, let's see how many non-text based debuggers for UNIX/Linux I can name right off the top of my head...

    KDebug, Code Medic, Source Insight, and DDD.

    That's four of them. All "GUI", source level debuggers- with DDD being able to display graphs of data areas.
  • One of the complaints that he made was that there was no "friendly" IDEs for UNIX (which is patently WRONG)- if you go about what you're suggesting, you're going to do the same thing.

    With Linux (and to a lesser extent, UNIX) you can have your cake and eat it too. The friendly IDE, compiler, debugger (which, I seriously doubt is free from MS in the case of Windows code- and without it, better not be doing COM/DCOM stuff, you'll need that debugger if you run into problems!), the bounds checking tools, etc. for FREE.
  • Price isn't really an issue - at least not when competing against Microsoft in schools. Microsoft like to 'give away' many copies of Office, etc which would normally go on sale for thousands of dollars in total. Then they can claim this as a charitable donation to avoid paying tax. (As with figures for 'money lost' due to piracy, this is nonsense, because the school would never have bought the software at full price anyway.)
  • Just last night, I saw a commercial for a Fisher-Price baby's toy. I didn't think anything of it (I was in the middle of a huge election debate at the time ;) but just before it ended it mentioned "Built on Microsoft's [something I can't remember] Technology", taking up the whole screen, then it went back to the baby being a happy baby playing with this thing.

    Screw the developer tools M$ is trying to shove down adolscents (sp?) throats, theyre going after the newborns too! Even their Barney toy went after 4-5 year olds, this one if going for the kids barely even out of their crib!

    /me runs away screaming

    Anywho, I thought it was kinda creepy, and this story was a good place to put it.
  • Don't bother. The market is driven by business needs. Microsoft is wasting its money just like Apple did.

    When and if business decides that it needs better performance, reliability and security at a lower price (and sadly for Apple ease of use means nothing for bosses who don't use what they stick the employees with,) you can look forward to massive acceptance of Linux.

    Apple's ace in the hole is style because their equipment has it (but not a lot of people need it.)
  • ``Microsoft runs a wide ranging IT/Programming curriculum project, called Mainfunction , that teaches young people to program using Microsoft tools.''

    Heh, heh, heh. You sure that's not Disfunction? (I'm not sure you should really call it a ``curriculum'' either.) It looks like basic vocation training to me. Does an ability to drag and drop components from a menu make one a programmer? They likely will have nearly no idea why what they're doing is working (or not). Microsoft tools are like Hamburger Helper and no one would consider someone who can whip up something out of HH a chef.

    What's next: Someone who slaps a motherboard and a few cards into a case will begin thinking they're an electronics engineer? Puhleez!

    Every time I hear about these company-sponsored training programs I'm reminded of an old Isaac Asimov short story (whose name escapes me at the moment). The hero of the story was disappointed that he wouldn't be receiving specific training and runs away only to find that he'd been pulled aside because he was smart. Everyone else was learning just enough to get by and if they weren't specifically trained for a task they weren't capable of handling it. Are we creating a generation of people who can only use the products that they were trained on? Who will be capable of creating tomorrow's products? Does anyone really think this is what an educational system should be doing?
    --

  • Whatever the platform, I think courses should use development tools that conform to ANSI/ISO standards. If it is a C++ course, it should teach the ANSI/ISO C++ language, not Microsoft Visual C++.

    If I was teaching a programming class, I would use Pascal or Ada-95, which are not available from Microsoft.

  • YES we need to be indoctrinating children! I teach a class full of wiggly third graders in the South Bronx. They love computers, but we have not been able to scrounge together the teachers and machines necessary to give them the opportunity to. And when we do, they will be using all Microsoft products, and learning more about word processing than they will about programming.

    We are creating a caste of unskilled computer users this way. We shouldn't pooh-pooh the so-called "digital divide"-- it is a buzzword, and more of these kids have computers at home than you would think, but I can tell you the way these kids are learning to use computers is going to put them at a lifelong disadvantage. One of my kids told me the other day that he only uses a voice-input system with his computer-- doesn't touch the keyboard at all. They mostly access the Internet through AOL. They don't have access to stuff like Logo or Basic which would teach them the rudiments of programming

    These kids are capable and eager to learn. The other day I taught one of them to count in binary-- now if only I had some way of helping him put that to practical use...

    If anyone is working in New York City and looking for something good to do for the community, send me email. I want to help get more tech people involved in helping my community-- OUR way, not Microsoft's!

  • I for one learned to program with Linux rather than Windows because all the tools were free under Linux. Is one of the things that first brought me to Linux. I started w/ BASIC and Batch files and quickly got bored of their limited appeal and I certainly couldn't afford M$ tools so I started C w/ some free mini-compilers included with some learn C books and then I figured out that the Unix systems my university had had C compilers on them so I started programming using them. Then I started using my friends Linux boxes that were online to code and finally switched to my own Linux box when my parents were done with our first PC. Then I got into web programming, databases, objects oriented and logic oriented programming and at every turn my Linux box did more for less (for free actually) than Windows could so I've never looked back. If Microsoft wants a chance of keeping Linux from killing them they should make all their developer tools free. Otherwise the smart kids are going to slowly leak out into the Linux world.
  • If Microsoft is getting their tools in the hands of the programmers of the future, what can we do to achieve the same?

    Depends on the age of the 'young people'. Probably depends on lots of things, but age determines whether they are more influenced by peers or school. If they want to be rebels, then having MS as the authority figure may be counter productive for MS.

    Wouldn't it be much better if kids could take a look at development on several different platforms so that they can better use the technology when they are professionals rather than settling on "what they know"?

    Yep. But you're really asking two questions:
    "Is it better to have more experience?" and
    "will they get stuck in whatever they learnt first?"

    One of the cool things about reading /. is that a non programmer like myself can hear lots of different POV based on all the different experiences that IT people have had. Before I read /. I had never heard of lots of stuff that was never mentioned in Byte (printed).

    As for whether people will get stuck with whatever they are told first, that depends on whether they are Christians or not... er... I mean, it depends on whether they are open-minded-rational-truth-seekers or pre-rational-insecure-believers. If you are interested in understanding and quality, then you'll question what you are told anyway, unless 'thinking' is not on the curriculum. (Perhaps this is what Bertrand Russell meant about people being made stupid by education).

    It's like, it depends on the quality of the education, "make a list of the pros and cons of this tool" vs. "solution providers are always called Microsoft",
    and it depends on the the quality of recruitment in the IT industry, "HR checklist" vs. "qualified peer review".

    The tone of the question is, I feel, along the lines of "think of the innocent children/why don't we indoctrinate them too?", but I'm suggesting it's not so easy, because by the time they get to school age they have already aquired so much cultural baggage anyway.... kinda offtopic, yeah, but I feel the question just reflects some sad aspects of our system.

  • Do you understand the economics of what you're talking about? There is a concept called total cost of ownership, and this states that the initial cost of a computer system is not the TOTAL cost of said computer. You have to figure in the cost (time-wise) for a new system to be set up and the cost (time-wise) for people to learn how to use it. If you already have a Windows environment set up and running it is going to cost you alot of money to migrate that environment to another operating system. Yes maybe Linux is more stable than Windows but that doesn't make it any better. Most people don't give a shit about the OS they are using, they just want to get their work done and turn the fucking thing off. This apathy means they are not going to take a deep and meaningful interest in the specifics of computer science. When they get out of school they are going to be exposed mostly to MS based systems as that is the majority of consumer OSes out there. Why ought they be force fed CS when what they really need is a technology training course. You're also missing the fact that software companies (yes even M$) offer large educational discounts to schools, Advanced Server is something students really need to know how to interact with unless they plan to run their own IT department which most don't.
  • Just learn C well (or whatever other language you want). If you can write it in one environment then you can easily, with the help of a book or two, migrate that code. Most of the time your really basic code is going to port with few or no changed to it at all. Only when you get into using APIs will you find yourself in a boggle as most APIs are not ported between different OSes.
  • The problem with hiring someone to do work over the summer is that it costs money, monewy I know many school districs can't afford. At my old high school we had a programming lab filled with older Macs that had Codewarrior (IIRC) on them. The computers were slow as can be and could barely perform the tasks you wanted to get done but the school simply could not afford new computer hardware. Besides the price aspect you also have to remember that sometimes districs don't allow schools to bring in outside consultants because of different types of liability. You have to get someone hired by the districs that can come back in six months or a year when you need something else or need some problem solving. Idealy schools ought to have masses of computers implimented well in all the classrooms but the sad fact is that costs way too much money even for schools to impliment on a ten year basis (which by default render the hardware and software obsolete which makes your whole venture a waste of time and money).
  • Ok. How are both setting up complex macros in emacs and learning cryptic commands easier?

    Don't know about emacs, I use vi. I think you have to trade some simplicity in order to get the power that you want from your tools - setting up similarly complex macros in MS Word would be difficult too, I imagine. Possibly more difficult, since I can't imagine a macro language more well-laid-out than one based on LISP, but maybe that's just the LISP partisan in me :)

    Oh really. How is learning motif easier then the mfc classes? Have you even read the unix haters manual? X is terrible and languages like visual basic are alot easier to learn if your new to programming. ALso its now the year 2,000 and xwindows still does not support true type fonts. Incredible!

    FUD. Maybe you shouldn't get your info from Unix haters (although it was a funny chapter on X, I'll admit) - you can develop with Gtk+ or QT just as easily as MFC, or you could do even easier stuff like using Perl/Tk. X windows has supported TrueType fonts for years now - any shipping Linux distribution will have a font server that supports TrueType fonts, and information on how to copy over and set up your Windows fonts is available on the 'net.

    X just looks terrible, until you realize that the X guys grokked networked computing years before anybody in Redmond. If you want the power, you have added complexity.

    Try upgrading to kde2 by rpms. haha Hell is too kind of a word to describe it. I could only download the sources and compile it because linux has no standard installation api's and is years behind windows and mac.

    I'll admit that I did have some problems with that install, but most of those were related to accidentally trashing my /var partition and losing my RPM database :( Here's a tip - go to www.gnome.org, follow the links to install Gnome, and never look back. This Helix stuff rocks.

    Actually, if I had to reinstall all over again, I'd probably install Debian rather than the Mandrake that I started with. The only complaint that I have about Mandrake's RPM handling was that if you download a package and it has other unmet dependencies, you have to go back to RPMfind.net, look for the package, lather, rinse, repeat. By contrast, on my Debian server it's apt-get and let the machine figure out and install the updates. You should give it a try some time.

    I am sick of looking up archane commands in text files. I am sick of poorly docuemented api's. I am sick of shell scripting.

    Can't help you with the shell scripting, but I think it is easier than doing everything in C or C++. Maybe try Perl for your scripting needs?

    As far as arcane commands go, the advantage of them is that they are standard across all Unices and haven't changed in years (OK, the GNU versions added some options). I haven't found them to be poorly documented, if anything they're overdocumented in the interests of making them usable for many many things.

    Kde2 was real eye opener for me. I relised after 3 F*CKING WEEKS TRYING TO GET KDE2 INSTALLED that perhaps Linux is not all its cracked up to be at its current maturity level. Sorry but I do not think teaching hs kids unix is a wise thing. It will turn them off programming in seconds.

    There's a difference between teaching programming and system administration/package management, though. All of the complaints that you have wouldn't be an issue on a current Debian/Gnome system, to my knowledge. Although it doesn't sound like you're in a mood to go back and give it a try just yet :)

  • >Since when is Unix "friendly" in any sense of the word?

    From conseption to 1995...
    After the release of Windows 95 anything not GUI is not user friendly.

    In short.. 20 years of user friendly operating systems vanish and preveously user hostile GUI environments get called "friendly"

    How can Windows 3.11 and Windows NT 4 be called user friendly and have it not extend to Unix when Windows 3.11 and Win NT 4 takes it's UI from Unix... to be exact.. Motif...

    Simple.. Motif is an interface layor nothing more.. Unix remains in control... Windows 3.11 however is in control not dos..
    When to GUI is in control it's user friendly... ease of use and learnning curve be dammed..

    I find only experenced computer users consider Windows to be "User Friendly" and I have an idea as to why...

    Experenced users don't have a learnning curve.. You allready understand how computers work it's a short jump to understanding "THIS" system.. You allready know the basic details. It takes a very small amount of guesswork..

    But a newbie dosn't have this experence to work with. He dosn't know how to dubble click.. He really is starting fresh... The learnning curve is MASIVE.

    I need to explain myself for a moment...
    Non expert people whom techs would normally run into can.. as a rule.. get a tech to help them when they need help.
    But a lot of people don't have even a few techs to help them out.

    I ware so many hats that often people DO NOT know they can turn to me for help.. and they can not turn to anyone else. It is from thies people I get a real understanding of the futility they feel when using Windows.
    "To use a computer requires a PHD in computer science"
    I hear this A LOT
    Most of the time it's a person who gave up after trying to use Windows...

    User friendly is anything with both a short learnning curve and easy to use.
    Unix is easy to use.. piriod...

    Linux has a long learnning curve.. but GUI destros like Mandrake are cutting that down...

    BSD has allways had a reasonably short learnning curve.. maybe not as short as people would like but for what BSD is... having a short learnning curve is pritty dang smacking cool...

    The reason given for why operating systems that were called "user friendly" pre 1995 no longer have this status is "changing terminology"..

    The only posable change is redefinning "user friendly" to mean "GUI imbeded in the kernel".
    However imbeding the GUI in the kernel dosn't make an os easy and it's absence form the kernel dosn't make it hard.
    It's quite posable to have a os with no GUI at all and it still be easy to use and learn...
    It is also quite posable to have an os with a GUI and have it be imposable to use and learn...

    For this I present... BSD and Windows...
    Windows "You need a PHD in computer science to use a computer"
    BSD "I learnned to use computers in collage.. it was easy"

    BSD shell account is considerably easyer than Windows...

    I've used a SunOs shell account... bliss... a well admined SunOs shell account I might add.. but hay :)

    BTW the worlds worst os I refered to in my .sig.. if it ever worked it would be a user friendly command line.... it never did.. not correctly...
  • Oh man... a Rush Open-Source parody! I love it!!!!!!! Genius!

  • We don't need to worry - unix has the "natural appeal" for aspiring programmers.

    Let me guess, you're an Unix zealot. Only someone who's been completely indoctrinated to the New Jersey Cause would honestly think that Unix is "natural". If you got out of your coccoon for a while, you'd see that not everyone thinks like you, not everyone worships Unix. This "natural appeal" nonsense is like a priest saying that Christianity has the "natural appeal" for children - pure drivel.

    And, with unix,they get all the necessary tools for free.

    Oh, please. Just as you can pay a bundle for, say, Sun's "official" development kits for C++ or Fortran in Solaris, you can pay nothing for Cygnus' port of the GNU development software to Windows. Unix isn't in itself any less proprietary or commercial than Windows.

  • "We don't like it that Microsoft is indoctrinating our kids, so we should... do the exact same thing"?!? As another poster pointed out, this seems like nothing but ABMS (Anything But Microsoft Syndrome) on Slashdot's part.

    The only honest thing someone can do about this is take it to the parents: "Mrs Blum, did you know that your school's computer education programme is limiting little Jimmy's future career opportunities? You didn't? Well, lemme tell you all about how they're forcing him to learn nothing but limited tools from a company that might be broken up at any time now. If this goes on, when little Jimmy graduates, he'll have no prospective employers!"

    And to the schools too: "Mr Principal, I've heard that a lot of moms are planning to take their kids out of your school... why? Well, it seems your Microsoft-sponsored comp. ed. programme is woefully inadequate compared to Next Door High's platform-independent programme devised by actual CS. professionals... how about that?"

  • Who said that? Go learn to read.

  • For many years, Compaq has been one of the least compatable 'PC compatables' on the market.

    Based on who's criteria? Windows? Every time I've installed or upgraded Windows on a Compaq machine, I've not had problems, even if it's from a 'pure' Microsoft distribution (i.e. not shipped with the system). If it's Linux, then yes, I can at least with my own experience say that Compaq has problems with some pieces of just about every distribution I've worked with. I find it ironic considering that Compaq has more than once advertised their Linux systems (Alphas) via click ads on Slashdot.

    I regularly buy low cost motherboards from Taiwan with built-in everything and get Debian up and running in no time.

    Two comments here.
    1. The 'low cost motherboard' route is for the Linux enthusiast, which is fine. I've done the same. It's not for the "domain expert/casual computer user" who sees the computer as a means to an end, not an end unto itself. What's fine for you and me in this catagory is not even worth considering for a quite large (and important) group of people.
    2. What version of Debian? If it's based on versions from 12 months ago, I went through two distributions, Debian and Corel, trying to install it on a Gateway PentiumIII 450 (E5500, I believe). Once again, the installed Windows NT 4 worked just fine. Once again, I had problems with the video card and the network card.


    >> and when I've tried to test the 2.4.0-test10 kernel, I loose the network card

    The word test isn't there because it looks cool, it means 'TEST', not 'ready to go out of the box'. Unless you want to TEST, don't use a test kernel.


    Well, excuse me. Based on an earlier article posted on slashdot (http://slash dot.org /article.pl?sid=00/11/09/1253238&mode=thread [slashdot.org], as well as http://techweb.com/wire/story/TWB 200 01108S0008 [techweb.com], and in particular this quote from the second article:

    "There are no known showstoppers, but I've asked all the major Linux houses to start deploying the current test kernels internally and start it through their test cycles," Torvalds said. "We've already found a few things that way, and hopefully, a month of this will shake out the worst.",

    I felt that test10 was reasonably stable and close to being usable by mere mortals such as myself. That meant that stuff working reasonably well in the 2.2 kernel series would continue to work in the late 2.4 test series. I should have realized that it's probably another false hope, like the announcements in April and May. I stand corrected.

    A school that just wants to plug in and go should buy their machines pre-configured and tested. If they choose a Linux based machine, they stand to save a lot of money.

    Again, the comment concerning money saved is based on what studies, what public statistics to back this up? My personal experience is that after the initial cost of the software, the amount of time required to manage either system is the real clincher on cost, and it's generally a wash. If you hire good sysadmins for either system, both can be managed efficiently. But hire a mouthbreather in either position and you'll pay the price on higher maintainance costs due to induced downtimes. If it's the hardware, I've found that buying a reliable whitebox will cost you as much as an equivalent name-brand system. You get what you pay for, and if you trim the costs on the front end you'll usually get bit on back-end maintainance costs.

    If the goal is to really teach kids about computers inside and out, they'll need one where looking inside is encouraged, not one that tries it's best to keep the hidden parts a secret. Imagine an auto mechanics course where the cars all have their hoods welded shut.

    Over the past few decades, Microsoft and others have published rack after rack of information on operating system and application internals. Yes, there have been authors such as Andrew Schulman (Unauthorized Windows 95, etc) who've made a cottage industry out of documenting those dark corners that Microsoft 'forgot', but the system has been heavily documented based on customer feedback and need.

    I mention Windows 95 because Microsoft needed to be dope slapped over the out-and-out lies concerning fundamental features of the OS. Andrew Schulman and others performed a great service in showing the emperor was a little bare in spots. But so should IBM on failing to take advantage of an incredible marketing opportunity in its inability to sell OS/2 over Win95. 1995 had to be the Year of the Software Clusterfuck.

    In any event, the hood is not welded shut on that late model Windows system, any more than it's welded shut on anything else. In fact, based on some other comments concerning the teaching of C++ on Windows, the best environment is to get the (!free) Borland 5.5 command line compiler (and don't forget Turbo Debugger), and use that with Cygwin tools to teach a solid standard's compliant C++ course (don't use current gcc 2.59.2!). Then, if they want to teach widget programming on Windows, they can get an educational discount on the Borland Standard version and teach that portion of Windows. Want to teach Java? You've got everything from Sun's JDK and an editor (of which there are many) to an IDE such as Sun's Forte Community or Borland's JBuilder 4 Community. You can teach a tremendous amount concerning systems design, protocols, UI interaction, etc with Java. Oh. I forget. Java's not Politically Correct either. Oh, well.
  • A version of BeOS from 2000 on a 1997 machine, compared with versions of Linux from 1997 on the 1997 machine and from 2000 on a 2000 machine? Or did i miss something in your argument?

    I probably wasn't clear enough, my apologies. The best of the list to run on the Deskpro was Mandrake 7.1. It installed and ran out-of-the-box as well as any Windows release. I also installed BeOS 5 Pro next to it as well, just for the reference and the ability to do some testing. So the old Deskpro 2000 (from 1997) was running Windows 98SE, Mandrake 7.1, and BeOS 5. But this was after getting a 3dfx Voodoo 3000, a PCI modem that was not a Winmodem, and a 10/100 NIC that the TULIP drivers would recongnize on the Linux system.
  • This is not indoctrination. This program teaches children how to program. It is completely unrealistic to expect that Microsoft would use GNU or BSD tools when they already have their own. No one would bitch of Redhat/Cygnus had a similar program that used Cygnus/GNU tools, so why are we being selective in our standards?

    If you don't like this Microsoft-centric approach, then create your own curriculum. I used to teach programming to elementary students (using LOGO and Pascal). I used a variety of tools, but if Apple, Microsoft, Borland, or anyone else would have offered me the use of their hardware or software, I would have jumped at the chance. It's time we stopped dumping on Microsoft for doing what anyone else would do, and start doing stuff for ourselves.
  • I'd like someone to put together a nice enviroment for beginning programmers. Base it on Python and gtk, so it's portable between Windows and Unix. Use Glade so people can start off drawing what they want their program to look like, then write bits of Python to make it work. Throw in a really good canvas widget, so it's easy to start drawing things and get things moving on the screen without worrying about expose events and redraws. Then write the book "Learn to program with Python", that takes beginners who've only ever used computers before by the hand and leads them through the delights of making them do your bidding.

    We've done something a bit like this. It's based on Tk rather than gtk, but other than that it's more or less what you want: a simple canvas to draw on and a bunch of worksheets for beginners to programming. It was done for LiveWires [livewires.org.uk], a Christian computer camp. You can get our old (1999) stuff here [ibiblio.org]. We did some extra things for the 2000 holiday this summer which we've not released yet. They'll be released under a BSD-ish licence soon: I'm in the middle of writing a mail to our webmaster to get him to put them up. Keep watching the LiveWires site or mail me if you can't wait for us to sort it out.

  • Oh, yes, when you want to find all lines in a file with "1999", change all "1999" to "2000", and sort the result, instead of using three Unix commands piped together it's so much easier with Windows to...um... what?
  • In the UK, i've been worried about this special deal that teachers get - They get subsidised training, computers and software but of course it HAS to be Microsoft, They get Windows2000 and Office 2000.
    In a lot of ways its good, because the UK could do with more computer-literate teachers, but to push office tools onto them provides them with something that they don't need, causes incompatibilities with school systems which are usually running what was state of the art maybe 4 years ago and I believe a certain amount of pro-microsoft evangelism goes on.
    When the heads of Blackthorn and Thumbswood schools here asked me about it (I've provided good advice in the past) I suggested throwing away Office2000 and running Office97 for compatibility with the school.
    Personally though, I don't think the school children should have access to high versions of word for the same reason that you should learn to do maths without a calculator - these word versions will spell-check and prompt all sorts of other things the children should know how to do themselves. Microsoft "write" should be enough.
  • It has, because its full of cozy little myths and stories that appeal to children. How many other religions can compete with "baby Jesus"?

    Seriously, Unix has a natural appeal to programmers the same way sports cars have a natural appeal to grease monkeys. Just 'cause it's a stereotypes doesn't make it less true, on average.

    You know, the thing that bugs me more than zealotry is blind anti-zealotry, attributing zealotry where none exists. "Oh, look at me! I have contrarian opinion! I'm not sheep like the rest of you!" And people mod it up as if it makes them special too.
    --
    Bush's assertion: there ought to be limits to freedom
  • One thing 'we' do that Microsoft doesn't is make the Unix programming tools available to anyone who wants them for free. (Ms's academic licences for VIsual Studio is $249 for the complete package, $99 for individual components)

    Sorry, but that's wrong. The full price version is $249 (professional). Last time I looked at buying an educational copy of VC++, it was $25-$35 depending on where you looked.

    Simon
  • Umm... how do you do graphical debugging as opposed to text-based?

    Go to line of code.
    Insert breakpoint (rightmouse in border/hit toolbar/hit F8 - take your pick).

    Hit Go (F5)

    Mouse over variable. Hey! It's the value of the variable.

    Open the callstack! Hey! It's onscreen with my code.

    Open the register list -- hey they're onscreen too!

    Look at the disassembly -- with source in the window next to it.

    Add a watch... hey! I've got this tree of the objects in the structure I'm looking at, and I can expand the bits that I need/close the bits I don't.

    It's the difference between this:
    KDBG screenshot [nextra.at], and this:
    a sample GDB session [gnu.org]

    Simon

  • The funny thing was that I was pushing Linux and open-source software and he was bashing it. That is until he actually had to install Corel Linux on a machine (can't remember the reason) and he (not too happily) had to admit that it was extremely easy to install and configure when he did it.

    Funny... when I tried to install Corel Linux, it repeatedly gave me the finger. Literally.

    Nice splash screen. Installs a bit. Ejects CD tray, pulls tray back in, reboots. Nice splash screen. Installs (same bit). Ejects CD tray, pulls back tray back in (I grabbed the disk that time). Reboots. Nice splash screen. Installs same thing *again*, pulls tray back in, reboots.

    AGHHHHHH!!!!!!

    Si
  • I'm paid very well to work on Zelerate AllCommerce, an open-source e-commerce package. I'm making twice as much as I did when I programmed proprietary apps for Windows.

    Besides, most programming jobs are not for software that will every be sold. Most programming jobs are for software that will be used internally to a company or custom software for another company.

    Having recently been involved in the job market here in Silicon Valley (job market == friendly, housing market == ABSOLUTE HELL), I would guestimate that if you want to get a job fast, learn perl, HTML, java, at least basic Unix usage, and the phrase "I don't know that in-depth, but I've played with it and I'm positive I can pick it up quickly."
  • Teaching kids to "use" computer to get other things done -- no tech interest -- put em on a Windows box. It's what they're going to have to use once they walk out the door.

    Only if you are talking about upper secondary and tertiary students. Even then the argument is suspect where Microsoft like to change the user interface every couple of years. With younger children what they will use when they "walk out the door" probably hasn't been invented yet.
  • A school that wants to provide an education should teach on machines that are the ones used outside of schools. Sorry, but that means Windows.

    An argument applied nowhere else in education. Best throw out must of the curriculum because it's "not used outside school" too!
  • How exactly does one insert comments into the registry (ala an apache/bind/whatever config)?

    Or comment out an existing value, so it can still be seen...
  • If anything, Windows is easier to install on a homemade box than Linux.

    Assuming you don't count the reboots also want to try '95 on a fast AMD from scratch?
  • Note that 3) is a (stripped down) copy of 4) and you'll understand why they pick 4) and not 1) or 2).

    More likely a reason to pick 3 over 4. Since "stripped down" can translate into "has what is needed without bells and whistles".
  • a poor MSCE and a healthy dose of reboot/reformat/reinstall usually works for most windeows boxen

    So remember to add all those man hours to the TCO. With anything other than a trival number of machines you could be talking multiple "poor MSCEs" too.
  • IT/IS directors and admins for many school boards like the ability to buy a system/OS that meets their schools needs out of the ups box,

    If this really were the criteria being applied then Windows with it's lack of robustness (in a hostile user environment), poor multi user support, fault fixing which requires a priest as often and an engineer, etc. would be at the bottom of the list.
  • Yes, darling, time to depreciate the intellectual capital of the firm again....

    What about peronal investments> All those people who spent all that time on getting an MCSE and now it's useless. Time to go through it all again to get re-certified for Windows 2000.

    It's stupid. Learn the services and capabilities, not specific OS details. Like, I know what DHCP is and I know Windows NT and 2000 do it. So why would I really need to know how to configure it ahead of time step-by-step and from memory? If the day comes when I need DHCP and if I decide not to run it on a UNIX box, then I'll open up the docs on DHCP on Windows 2000 and figure out how to configure it. Big deal.

  • Hmm, and most kids' jobs won't require them to discuss the Magna Carta or the Roman Empire, so we might as well stop teaching history. School is supposed to be more than vocational training. It is supposed to develop thinking skills, and it is beneficial for students to be exposed to different environments.

    Another counterpoint is that technology is constantly evolving, and what students use in school today is not what they will use in their jobs. For example, the Mac's System 7 would likely have been better "training" for Windows 9x than Windows 3.1 would have been.

  • ... and normally it's the way they first learned. So once they learned to progam in a MS environment they will stay with it. Think vi and emacs, most use one or the other but not both and normally they stay with what they happened to use first.

    So this is a smart move by MS marketing, the Students at Universities will ask for an MS environment, like the one they got used to instead of learning the UNIX way of doing things. The problem i see here is not MS ensuring that there will be people using their programming environment in the future, but that people in the MS-environment don't see the line between original C and the standard libraries available in each environment on the one hand and MS "inventions" on the other. And we all know how much MS likes to screw widely accepted standards.
  • The article MainFunction.com points at is from
    the 8th International Python Conference. As someone who personally knows the teacher involved, and talked to him a lot about that, let me just mention that he's using Linux to teach Python.
    In fact, part of the work his students are doing is in Zope (http://www.zope.org). So, Microsoft is essentially pointing to an article by a teacher who believes in 100% open source. They're doing our work for us!
  • The children today don't have a chance to learn programming as we - the elder ones - had. We had computers with limited graphics resources - so no games like the ones today. And most of all we had BASIC IN ROM ! M$ dropped even QBASIC from their O.S. distributions - you have to pay good money for a programming language in m$ win.

    I started with a speccy 48k clone and with a bad audio tape deck that could not load the game tapes from my friends - so i learned BASIC from the book included with the computer. Today's kids don't have a chance with Win* : they will press the power button, and put the CD in drive. autoload kicks in and they're in the game. What incentive to learn programming do they have ?

    We need ROM BASIC back. Don't buy your children the US version of Sony Playstation 2, get instead the UK one - the one with basic included.

    --
  • I know what linux is. A few of my friends know what linux is(and 2 of them use it, one wants to, but it a little afraid of losing windows). But, in my Comptuer Science 3 class(High School), my friend who uses linux, the one who wants to, and me, were the only ones who knew what linux was.
    Let me tell you of the severity:
    The teacher said this:
    Linux? Linux isn't and OS. It is a
    graphical shell on top of dos just like windows.

    It scared me badly. Very badly. The other students laughed. I got angry. We had to put up computer stuff on the walls, so one person made a picture of a guy wearing a linux hat and a tshirt that said:
    I know absoulutely nothing
    It is making fun of me. Everyone makes fun of linux. They all say it sucks. Not a single person in that room(except for me and my friends) have very even seen linux running before, much less used it. This brings me to the main point of my argument:
    Unless free software and open source companies/groups have programs to teach kids like me to use free/opensource software, most kids will just use windows, and never even know what linux or free software is

    So, please help kids to stay away from the evils of Microsoft. VALinux/penguin computing: give computers to schools! It is tax deductable, and will help students learn about your computers(and linux). If they realize how great linux is, and how high quality VALinux/penguin computing computers are, they will buy them later in life. I don't want to have a future full of republicans and Micro-serfs for peers. Everyone knows the UNIX is on its way back in, so why not teach people how to use it. It is up to you as responsable software engineers, programs, web designers, and just plain free software / open-source fanatics to make sure my generation does not become beholden to commercial software interests. Stand up! Fight for your right! To use free software. All the RMS's and ESR's of the world, try to talk to local high schools when you are on trips to areas! Large companies that sell linux stuff, donate computers and other equipment to school(making sure it goes to the computer science classes...at my school, the typing class has pentium 3's, and the computer science class has 11 year old 25Mhz 486's)! The war is about to be fought. Don't let us lose it.

    -------------

  • Unix isn't in itself any less proprietary or commercial than Windows.

    'Scuse me? Care to lay off the bong for a little while? :P

    Well what you say is *partially* correct. UNIX (the commercial product, of which very little remains) itself is pretty much closed, but when the man above said "Unix," he was referring to the Unix philosophy, ideals, and practice. When I speak of Unix in this manner, I am not just talking about the commericial product (which, btw, isn't actually called UNIX anymore), but rather the range of OSes that follow the UNIX philosophy such as Linux, FreeBSD, even QNX, BeOS, or MacOS X in a loose sort of way.

    Mustn't take everything so literal, lad.

  • C:\Windows\regedit.exe

    The registry is not meant to be edited directly. Also, many programs (the open-source ones, at least) don't usually use the registry at all and have regular fun little text config files that we're all used to.
  • Too many instructors fall to the temptation to teach how to code fancy widgets. Students get away from learning the language and instead spend too much time learning all about MFC. Learning programming using C or a real C course should teach C.

    I think this is true, but it's not just Microsoft and Visual Basic and MFC.

    For example, how many Java books don't ASSUME you'd be using class Applet ? How many assume you're more interested in Swing? It's only after three years that any Java books have begun to focus on servlets and other non-GUI tasks.

  • Aren't they worried that familiarization will only breed contempt? ;-)

  • "The Timeless Way of Building" taught me that building is what the prototype engineer is after. I believe that all Men desire to build. The question each one will ask, if they are to meet their requirement, is, "what?"

    Programming is Natural because it satisfies Man's basic desire -- building. Programming happens when a man decides he wishes to define his knowledge, that he might refer to his work to guide him foreward.

    The end of a program is a solution to a problem. In fact, the program itself perfectly defines both the problem and the solution. As does any totally volitional human act.

    A young woman with a computer will discover abstract pattern and utilize it in real life before her peers without computers.

    Computer software is as imaginary as a fable. To the person who sees the logic and applies it to her life, then does it become real.

    As for the specific issue in this thread -- does it matter? Microsoft is transient. Unix is transient. Is soap defined by Lever 2000, Ivory? The world of software is as eternal as intelligence. Intelligence lasts longer than ideology or brand.

    Anyone learning anything about computers is adding value to their life, and in turn, adding value to all our lives as they join us on the web.

    I would gamble that most of the people reading this post who program got their start on a PC running DOS or Windows.. Whether you turned to unix or not, it is your desire to improve the world you live in, or program in, that determined your path. It probably wasn't the market share of one company or another in end-user software.

    I wonder how many open-source unix nuts are going to bubble out of these Microsoft workshops... and how many young stars will evolve the software for their own ends -- the desire to build and shine at it.

    That there are workshops at all is grand! Regardless of party, kids on computers in any setting is noble. When a kid see the power that is before her, she will want more. And the kid that learns programming will be a rational human being.

    Cheesily yours,

    Joshua

  • by Arker ( 91948 )

    ... we shouldn't be indoctrinating anyone. The title of this article is just horrible. Microsoft is doing something so we should too? Perish the thought.

    That said, the content, once I got past that idiotic title, was good, and thought provoking. Everyone should read that second link, and the idea of building an armoury of Free textbooks and coursework for learning to use Free systems and tools is a fine one. I know there are already a few works like this available, a site that simply linked those already existing, and new ones as they become available, would be a great contribution.

  • Anyone who thinks that unix, with its wonderfully arcane command line tools, has "natural appeal" for aspiring programmers, should slap themselves twice and think again.
  • My university, and many like it, teach on Unix.

    But they don't do it so that we're "used to" Unix or the syntax of C++ or ML; they try to teach us an understanding of computer science at a deeper level so that we can take on any language/platform with ease. Unix just happens to be a convenient way to do this because of its superior multi-user support and tools (and sometimes, price).
  • I did heavy basic from the time I was pretty young (we had a PCjr with a BASIC cartridge when I was but a mere geeklette) and learned it a lot deeper when I entered high school. qbasic has the ability to ruin a programmer--I used it. Extensively. Now that I'm in college and trying to learn C++, I'm having a very hard time.

    ....OTOH, I find it a lot easier to type

    g++ -o executable file.cpp implementation.cpp

    than do all that crap with MSVC++ in a lab, make a new workspace, new Win32 console app, all that.

    But yeah, your mileage may vary with BASIC. When I get older and have kids, I wouldn't want to teach it to them. That might just be me.

  • programming basics like datastructures, how to port an algorithm to code, how to program programflow etc. etc are platform independant.

    So it boils down to which tool is used to hammer in the code. Or are you saying you're programming from behind the keyboard without thinking about design of the code? If you do, please, sit down next to those kids who learn how to program because you're doing it wrong then.

    programming is designing code to execute an algorithm. First design the algorithm, then project that on a programming language. When done, pick an editor, hammer in the code, compile, enjoy.

    So, now these kids use MS tools to hammer in the code. Is their programming any different? No. The basics are still the same. If a student doesn't understand that what he is being thaught is uniform no matter what tool is used, he/she shouldn't be taking the programming class in the first place because he/she doesn't understand the principles of programming at all. (example: "I don't like that university because they don't teach me programming in java").

    So to let the kids/students be able to hammer in the code as EASY as possible, which of the following would you prefer (mind you: they don't have any skills in the tools, they don't know how they work): 1) VI, 2) EMACS, 3) KDevelop, 4) MS Devstudio.

    3) and 4) are way, way more easy to use/work with than 1) and 2) by the programming focussed student. Note that 3) is a (stripped down) copy of 4) and you'll understand why they pick 4) and not 1) or 2).

    If someone takes this situation as "MS indoctrination", that person doesn't understand what programming is all about and doesn't understand that to be ABLE to produce GOOD and WORKING code, you should be working with the tool that makes you hammer in / test/debug/tweak the code as easy and as smoothly as possible.

    Oh... and don't come to me gdb is more easy to use than MSDevstudio debugger ;). For the skilled developer perhaps, who has lived all his life inside vi/emacs and gdb. Not for the starting developer.
    --

  • I don't know who will actually read this, but my first programming experiences were at the age 9 with an Apple IIe. Apple has a perfect beginners programming program. Basically you bought software or you made software. That's what I loved about the Apple II. Just because I learned how to program Basic and even more indepth High-Resolution Basic. Doesn't mean I immmediatelly moved to the mac and began programming on that just because apple made it.

    Next I moved into the Dos/win3.1 world and found QBasic which was alot like apple except for the graphics end and also had a large user group and nice documentation. Hence I began to take my knowledge of Apple IIe's Basic and program on QBasic.

    After a while I found HTML. Like Basic this language was easy and had pleanty of documentation for it. So I started creating webpages. Then along came CGI and JavaScript. So my webpages began to do all kinds of neat things.

    Now that I'm in college I'm learning C++. And I'm making programs for not only win32, but also Linux and BeOS ...

    So your theory that "Learn on MS always use MS" really doesn't hold much water with me.

  • So what are the basics?
    Assembly language?
    Functions and variables?
    Classes and objects?
    Command line programming?
    GUI programming?


    Data types. Loops. Functions. Microsoft development tools just have too much between you and the code I think.

    It's just my opinion of course, but I think a command line shell is just a better idea, it gives them the right mental image. That snippet of code you posted (I'm assuming slashdot stripped out the stdio.h after #include) would work on both systems, but the program would be a lot more bloated on windows. Where is the code that defines the window geometry? I'm assuming MS just adds it to the executable, but what happens when we want them to code in a more complex environment? If you hold their hand too much they won't learn the basics, and we'll just have a generation of programmers who only know "visual" languages.
    --
  • At my college setting up the Linux machines is done by the SysAdmin. The SysAdmin recommends hardware that will be Linux compatible (nothing like a Compaq with a USB keyboard) and installs and readies Linux on one machine. After that, the hard drives are just duplicated. After that there is a whole lab of machines happily running Linux.

    I would love to see Linux support every possible hardware combo out there, but if you are going to shell out the cash for a system to run Linux please make sure you have compatible hardware. If a school can't be bothered to figure out that they should use standard, supported hardware, they really don't care about Linux.

    I also like how you burst into praising Windows like it is the greatest thing since sliced bread. Truthfully you sound more like a Microsoft Schill than a Linux Zealot.
  • Check out http://www.seul.org [seul.org] for some projects relating to linux in education. Dan
  • How exactly does one insert comments into the registry (ala an apache/bind/whatever config)?
  • There's not much difference between using regedit to edit the registry and using a text editor to edit config files.

    Uhhh, yes there is. With config files, the options are almost always readable enough to where you can at least get an idea of what does what, whereas with the registry, you have to try and figure out what "CrypticOptionX 0x98300103" does.

    =================================
  • Sounds very much like AT&T and their policy of giving UNIX source to educational institutions on the cheap.

    Chances are if kiddies go through university using unix they will prefer to use it once out in the wide wide world.
  • by Ian Bicking ( 980 ) <(moc.ydutsroloc) (ta) (bnai)> on Saturday November 11, 2000 @10:21AM (#630757) Homepage
    I think portable programming is more subtle than is really called for during an education. You should be exploring and pushing the limits -- often in directions that will be utter failures, but you won't know it until you've tried. Portable programming often comes down to conservative programming. You aren't likely to make anything that useful as a student -- at least at the point where decisions of OS, language, etc. are being made for you -- so it's not a big loss to be unportable.

    Of course, it's also good to get the notion of what, as a programmer, you should write because it's the Right Way even if the Wrong Way would also work fine (for now). But there's a time for both -- you must follow the Wrong Way if you are to understand why the Right Way is Right.

    And then there's the question of whether there is anything such as OS-independant. Sure, there's mini-OSes that create one OS layer ontop of an OS (Java, JavaScript, Squeak -- and even HTML and HTTP are an OS of sorts). And then there's lowest common denominator -- usually connected with the former, so you determine how many holes you'll fill in for the host OS, and how many things you'll just leave out. But you still aren't OS independant -- you can't be -- you've just generalized your program across a certain layer abstract layer which itself is an OS.

    Truly novel OS notions -- like the resource fork on Macs -- just can't be used in a portable fashion. And if they aren't used, you aren't really creating a program that fits with the OS, you are just doing lowest-common-denominator. Will your Tk programm work well in a OS that provides orthogonal persistance? Will it run on a mainframe? Distributed? Probably not... when there's only a few OSes that are all more similar than not, portability isn't that hard. But it also isn't a very important achievement.

  • by sjames ( 1099 ) on Sunday November 12, 2000 @08:52AM (#630758) Homepage Journal

    Based on who's criteria? Windows? Every time I've installed or upgraded Windows on a Compaq machine, I've not had problems,

    Based on mine, since the bad old days when MSDOS 3.3 was the latest and greatest. It works with windows because there are a bunch of drivers that have code added specifically to handle Compaq (and gloss over the incompatabilities). Even partitioning a hard drive is different on some Compaq systems (don't forget to allow for the 10 Meg 'special' partition on the primary drive etc).

    It is worth noting that the differences are not necessarily bad things, just that they do compromise compatability in the process of adding their benefits.

    1.The 'low cost motherboard' route is for the Linux enthusiast, which is fine. I've done the same. It's not for the "domain expert/casual computer user" who sees the computer as a means to an end, not an end unto itself. What's fine for you and me in this catagory is not even worth considering for a quite large (and important) group of people.

    The casual user should probably just buy a pre-configured system with OS installed from a Linux enthusiast. (If they want Linux). In other words, tell me what you want, and let me worry about driver and other issues. I do that all the time.

    2.What version of Debian? If it's based on versions from 12 months ago, I went through two distributions, Debian and Corel, trying to install it on a Gateway PentiumIII 450 (E5500, I believe). Once again, the installed Windows NT 4 worked just fine. Once again, I had problems with the video card and the network card.

    Potato. By no problems, I mean just do the install by rote and it comes right up, no special instructions.

    I felt that test10 was reasonably stable and close to being usable by mere mortals such as myself. That meant that stuff working reasonably well in the 2.2 kernel series would continue to work in the late 2.4 test series. I should have realized that it's probably another false hope, like the announcements in April and May. I stand corrected.

    Once again, major Linux houses were asked to install internally and TEST. That's how unknown issues are discovered. Nowhere did he say 'here it is, ready for the masses, I guarantee that things working in 2.2 all continue to work'. He DID say "We've already found a few things that way, and hopefully, a month of this will shake out the worst.". It hasn't been a month yet, and a bum NIC driver is not even the worst.

    Again, the comment concerning money saved is based on what studies, what public statistics to back this up?

    Simple figure, public information. The pricetag on Windows vs. the price tag on Linux. I don't even have to start counting other costs like license compliance auditing to see that it'll add up significantly for a school. As for hiring an idiot admin, that's not a real factor since it's true across the board. If we presume they've had the sense to hire or contract a good admin, the ability to fix up a Linux box remotely is a big cost saver. It is even possable to do a full Linux upgrade remotely (with a little care).

    Over the past few decades, Microsoft and others have published rack after rack of information on operating system and application internals. Yes, there have been authors such as Andrew Schulman (Unauthorized Windows 95, etc) who've made a cottage industry out of documenting those dark corners that Microsoft 'forgot', but the system has been heavily documented based on customer feedback and need.

    Meanwhile, Linux exposes every last dark corner intrinsically at no cost (those Windows books aren't cheap). Since the source is provided, you can change literally anything at all, re-compile and see how it affects the system. Until MS publishes their source code for free, Windows can't begin to compare with the openness of Linux.

    Windows, they can get an educational discount on the Borland Standard version and teach that portion of Windows.

    And yet, it'll still cost more for a single user license than the same tools for Linux plus a full source license with unlimited distribution rights.

  • by sjames ( 1099 ) on Saturday November 11, 2000 @07:23AM (#630759) Homepage Journal

    Two weeks ago I found a very good bargain on another Compaq; this one, a Presario 5000 with an Athlon 900MHz (Socket A), Hercules 3D Prophet II with Nvidia's GeForce2 MX chipset, 30Gig HD, 256MB ram, etc, etc, etc.

    For many years, Compaq has been one of the least compatable 'PC compatables' on the market. Some of their models do run Linux just fine. I regularly buy low cost motherboards from Taiwan with built-in everything and get Debian up and running in no time. The only thing that doesn't work is the 'winmodem' (the name should be a clue). That would work too (as well as a winmodem ever works anyway) but for patent issues in the U.S. the performance is the same as a Compaq or better, the price is lower, and compatibility issues are non-existant.

    and when I've tried to test the 2.4.0-test10 kernel, I loose the network card

    The word test isn't there because it looks cool, it means 'TEST', not 'ready to go out of the box'. Unless you want to TEST, don't use a test kernel.

    A school that just wants to plug in and go should buy their machines pre-configured and tested. If they choose a Linux based machine, they stand to save a lot of money. If the goal is to really teach kids about computers inside and out, they'll need one where looking inside is encouraged, not one that tries it's best to keep the hidden parts a secret. Imagine an auto mechanics course where the cars all have their hoods welded shut.

  • by Matt Lee ( 2725 ) on Saturday November 11, 2000 @02:26AM (#630760) Homepage
    I believe that a truly dedicated kid, one who enjoys programming, will devour (or at least try) every new development environment they come across. A kid who's really interested in coding is not going to say "man, this linux thing is icky" if they got broken in with VB or Visual Studio.

    However, from a practical/school system point of view, the nice thing about Microsoft development environments is that they install well onto those PCs from Dell that are shared between the C class, the BASIC class, and the word processing class. Dual booting is always an option, I guess, but try telling a overworked schoolteacher that they have to go through a 2-operating-system installation ordeal every time somebody infects a machine with a virus or hoses it some other way.
  • by chazR ( 41002 ) on Saturday November 11, 2000 @04:52AM (#630761) Homepage
    I'm teaching my nephew (aged 8) to program in Python. I selected it because it's got a fairly shallow learning curve (you can get impressive results almost as soon as you start), it's a 'real' programming language (lists, maps, objects etc) and it's got elements from most of the major language families (structured, OO, functional - but not really declarative).

    He is picking it up amazingly fast, and loving every minute. I am having a lot of fun, too.

    I am sure other languages would be appropriate too, but from personal experience I can say that Python seems to be an ideal 'first' language.

    Incidentally, his PC runs Win95, so I've given him the Gnu tools. He think's they're funny, but he is already having a load of fun doing simple text processing with the 'usual suspects' (cat, sort, uniq, grep etc) I think this gives him the best of both worlds.

    I'll get him using Emacs before he's 9...
  • by Jay Tarbox ( 48535 ) on Saturday November 11, 2000 @02:31AM (#630762) Homepage Journal
    I have a 7 yr old that I would like to bring beyond the gaming stage. I started learning basic myself (the book "Basic Basic" on my PCjr at age 13. Of course that screwed me for other languages later no. That's probably why I'm not a programmer, that and I don't want to be one.
    Anyway, what would be a good language to feed my 7 yr old son? Is python too advanced? I seem to remember Logo.. is it still around?
  • by Ungrounded Lightning ( 62228 ) on Saturday November 11, 2000 @09:14AM (#630763) Journal
    I don't think that a seven year old want's to use a linux disto because of the simple fact that they can't play much games on them

    "Games" are a distraction. The computer IS the game. You learn by playing with it, first from the outside, then by writing simple programs, then by tearing into the code to see how it works, then by modifying the code to see if you can make it better, cleaner, or more capable.

    Try THAT with windows! You hit a wall. With linux it's all there as you get to each step.

    It's not convenient for professionalls - there's a learning curve. But children are little learning engines, with all the time in the world.
  • by Apotsy ( 84148 ) on Saturday November 11, 2000 @02:22AM (#630764)
    Since when is Unix "friendly" in any sense of the word?

    Far more important than Unix vs. Windows is commercial vs. non-commercial. Are these kids going to be stuck on MS developer mailing lists for life? Are they going to be constantly told how much better the tools they are using than those of MS's competitors, (or those of the FSF)? What's going to be the long-term effect on these kids? Is this education or advertising?

  • by Speare ( 84249 ) on Saturday November 11, 2000 @05:57AM (#630765) Homepage Journal

    My general advice for little kids and programming:

    LOGO [cowan.edu.au], for visual stimuli, for variables and procedures.

    ToonTalk [toontalk.com], for a graphical construction environment, teaching pattern-matching and declarative rule-based programming.

    Prolog and Java, once the kid is ready to forego the graphical environment.

    Why Prolog? ToonTalk is based on Prolog's inference concepts, and I advocate straight Prolog after that. I think too many kids start out with BASIC, Pascal and C, and are forever bent on the idea that procedural languages are all there is to programming.

  • by dudle ( 93939 ) on Saturday November 11, 2000 @04:46AM (#630766) Homepage
    I am a student at AIU [aiuniv.edu]. It's by far the worst experience I will ever be able to live.

    The first few months were the worst, I was bitching all the time about the fact that the teachers didn't know shit, that they were teaching us stupid Microsoft stuff (VBscript instead of JavaScript, MS OSI Model, etc). I got really pissed.

    One day, I realized that I wasn't learning anything and that I had to get my degree. To make my experience at that #@$#%!@ school enjoyable, I decided to start teaching Linux. And that's exactly what I did. I teach Linux for FREE, I have a server where students have an account.

    It's every saturday afternoon. Today I am teaching apache.

    Linux classes [linuxroot.org]
    Apache for today [linuxroot.org]

  • by CodeMunch ( 95290 ) on Saturday November 11, 2000 @03:03AM (#630767) Homepage
    called Mainfunction

    Shouldn't that be Malfunction??

    ;)

    --Clay

  • by mangu ( 126918 ) on Saturday November 11, 2000 @07:45AM (#630768)
    I agree to everything you wrote. But I would add that one needs much more information to program for microsoft windows than for most unices.

    The reason for that is because m$-windowses were designed starting from the wrong end, the GUI. Also it was an evolution from single-user, single-task MS-DOS. Then, in NT, they tried to glue a VMS kernel to that GUI, making a total mess of it. The result is that the simplest tasks, like, for instance, making an animated sequence displaying the result of some calculation, results in a huge and cumbersome thing, needing multi-thread programming, etc.

    Compare that to Unix, where the system grew up from the kernel. To do the animation I mentioned above, you can write two separate programs, one for the calculations and another for drawing the results and use a pipe for process-to-process communication.

    Yes, I know, there *are* pipes in m$-windowses, too. Just don't try to find any mention of them in the documentation. For instance, "Programming Windows with MFC" by Jeff Prosise, Microsoft Press second edition, 1999. If it's not in a 1327 page book, published by Microsoft itself, where can I find out how to use unnamed pipes in w2k, NT, or windoze95/98? The blurb says "The premier resource for object-oriented programming on 32-bit Windows platforms" on the front cover and "...the definitive exposition of Microsoft's powerful C++ class library..." in the back cover. Ironically, the answer for this documentation problem is... read the source. MFC comes with source code, or, at least it came in the last version I bought. In the end, if you want to do any programing beyond what VB can do, be prepared to spend long hours browsing what must be the most confusing GUI toolkit since OWL.

    Or you can do what I did: migrate everything to Unix. If you program in a corporate environment there will be resistance to this, but I found the way to overcome it. I put together a Linux server running Oracle8i, a magic word that conquers corporate hearts and minds. Then I write my programs to allow clients to have web access. This way, we are all happy. I do all my development in Linux and they can use whatever desktop machine they want.

  • by Dum2007 ( 138791 ) on Saturday November 11, 2000 @08:28AM (#630769) Homepage
    I'm in my second year of highschool now.

    I've been to two schools because of reorganization.

    In both schools I've tried to get some sort of unix education running. Both of the schools were completely Microsoft dependant.

    So far, I've found a few challenging obstacles.

    The school board doesn't want to train their existing tech teachers or hire new technology teachers to use any sorts of unix. They don't realize, in the long term, training staff to use unix would probably save them more then continuing to buy MS site licenses for each and every school. Really, they just haven't gotten into this whole *nix thing, and I don't see them wanting to. It's more work for them. It's just easier to spend tax dollars than to learn something new.

    In my first year, I managed to get one debian box running. sshd, apache, whatnot. This is where I actually got most of my linux clue. Most students weren't all that interested in sshing to a shell to poke around like they could in DOS. Some managed to get their ~/public_html directories running with a little help. The last few classes in my Computer Technology 3200 class I was permitted to hook up a projector and take the students through a quick linux trainer. They learned how to use pico and things. The school board said all along that they didn't "support" linux, and wouldn't give us any help or resources with the project. I came away from that school when it closed fairly satisfied.

    This year, my highschool has *no* intention of using any sort of unix. The NT administrator doesn't have the time to learn how to use it and doesn't seem to want to.

    They feel a linux box on their network would be a security risk. I'm not sure how they've come to this conclusion. I think they've got their facts backwards. A linbox on their network would only be a problem if a student got root, while on a windows 95 box you're free to do whatever you please.

    " Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" anyone?

    Also worth pointing out, recently, the school had all the students participate in a chocolate-selling fundraiser to pay for Windows 2000 Advanced Server. M$'s site says it's $3,999 USD for Advanced server with 25 client access Licences. The highschool has over 150 workstations. That there is a _lot_ of money for an operating system. We're not even talking about the client OS. For the amount of money they're going to spend on Windows, I believe they could train staff to use a unix based operating system with KDE, or similar.

    It's really sad that citizens don't realize millions of their tax dollars are being wasted on an operating system they could do better without.
  • by nomadic ( 141991 ) <`nomadicworld' `at' `gmail.com'> on Saturday November 11, 2000 @02:50AM (#630770) Homepage
    For beginning programming, I'd think UNIX would be a lot friendlier than any MS platform; they should be learning the basics, not API calls and cafeteria-style programming.
    --
  • by Frizzle Fry ( 149026 ) on Saturday November 11, 2000 @10:36AM (#630771) Homepage
    I have to disagree with your statement that windows programming is the only kind likely to "likely to provide a decent living". I am college students and in fact all of the jobs I have had (summer and term-time) have been in unix. The reason for this is that the number of companies needing web-based programs has exploded and I have had no trouble finding work programming perl under unix for applications that used the web for their interface. Not just small cgi's, but large application with a team of people working on them full time that just use the web (and email) for their interface. Granted, this does not require a great knowledge of unix system calls/networking, but I think it is a real error to say that unless you know how to program for windows, you will be unemployed.

    Care about freedom?
  • by tiwason ( 187819 ) on Saturday November 11, 2000 @02:24AM (#630772)
    Even though its based on Microsoft software and such. It still might make persuade more kids into taking computer classes and heading into the computer industry at an early age.

    Once they have gained a stable base, most will more then likely go out on their own looking for things that interest them. Not to mention, how could one be computer literate these days and not know life outside of Microsoft.

    I believe getting programs like these iinto schools is a good thing, even if they are funded by Microsoft. They will help everyone as a whole. And at some point as more open source companies and products become mainstream, you will see schools open to more then just a few free licenses from Microsoft.

    On a last note. I would tend to think most middle school and high school computer teachers have not had much open source exsposure in their lives, mostly general computer use and programming. Once those teachers retire and new teachers that have "grown up with/grown along with" open source products will attitudes change as to what is tought.
  • by Hewligan ( 202585 ) on Saturday November 11, 2000 @04:16AM (#630773)

    Okay, I'm definitely not a "Unix Zealot." I'm typing this in microsoft explorer for chrissakes. Having said that, I have to agree that Unix-like systems do have a natural appeal for programmers.

    The main reason simply comes down to this: most programmers are the kind of people who just have to know what that funny looking button on the VCR remote does. They're tinkerers. That's usually how they got into programming in the first place (at least in my experience). Unix systems allow a lot of this, because damn near everything's in text files. There's just no end of stuff to play with. Windows, on the other hand, tends to hide everything in the registry.

    The main advantages of windows are it's ease of installation/configuration and the availability of software. These are great for the mass market, but really offer a lot less appeal to the kind of person who is into programming. I enjoy fiddling around with a Linux install to get everything just right. If I were still seriously into programming, as the people we're talking about are, the software thing wouldn't bother me. It would just be a good excuse to mess with code.

    Which brings me to another reason programmers like Linux and similar system - availability of source code. Just something more to tinker with.

    (Of course, Linux doesn't HAVE to be that way. Mandrake has its flaws, but it sure makes life easier...)

  • by empesey ( 207806 ) on Saturday November 11, 2000 @02:53AM (#630774) Homepage
    Apple did this long ago, with their campaign to put their Macintosh computers in all the schools. Their thinking was, let's get the kiddies used to the Mac during their growing up years and when they get older, they're be ours forever. Not a bad idea (if you recall, Hitler ran a similar campaign), but we all know how this turned out for the both of them.

  • by spectecjr ( 31235 ) on Saturday November 11, 2000 @03:01AM (#630775) Homepage
    For beginning programming, I'd think UNIX would be a lot friendlier than any MS platform; they should be learning the basics, not API calls and cafeteria-style programming.

    So what are the basics?

    Assembly language?
    Functions and variables?
    Classes and objects?
    Command line programming?
    GUI programming?

    Define the basics, and you'll find that your definition doesn't match everyone's.

    For 'beginning' programming (presumably by which everyone here seems to mean command-line C apps), UNIX is no friendlier than MS's platform -- if not more unfriendly (this may change when the KDE IDE is finished) -- text-based debugging sucks ass.

    For example:

    Open MS VC++
    Create a "Win32 Console App" project.
    Enter:

    #include

    int main(char[][] argv, int argc) {
    printf("Hello world\r\n");
    }

    Then hit run.

    Hey presto! It works. Wow. That looks real different to Unix programming, doesn't it?

    So what's the difference? Learning how to fork? socket programming? (not something that most people will hit until they're a bit more experienced)? What?

    Or is it just that UNIX isn't Microsoft? Sounds like it to me.
  • by ultrabot ( 200914 ) on Saturday November 11, 2000 @02:18AM (#630776)
    Like anyone ever learned to be a good programmer in school...

    We don't need to worry - unix has the "natural appeal" for aspiring programmers. And, with unix,they get all the necessary tools for free. This microsoft program might teach programming to someone who will never really be a good programmer - good programmers are "natural" (at least they have the "programmers drive"), and don't wait for school to teach them something they would learn much earlier if they just bothered to read some books.

    This seems kinda desperate. Is microsoft really losing ALL the interest among developers?

  • by ultrabot ( 200914 ) on Saturday November 11, 2000 @04:05AM (#630777)
    Let me guess, you're an Unix zealot. Only someone who's been completely indoctrinated to the New Jersey Cause would honestly think that Unix is "natural".

    Unix is "natural" when compared to windows (which are the 2 OSen that a high school kid will be most familiar with). Unix has a programmer-friendly approach - simple apis, all the dev tools are handy, free & documented. Yes, "worse" is actually better, especially for kids. We should let them be playful, curious, and enthusiastic - not make them start developing apps in corporate setting immediately.

    If you got out of your coccoon for a while, you'd see that not everyone thinks like you, not everyone worships Unix.

    At work, I program with windows, for windows.

    Unix isn't in itself any less proprietary or commercial than Windows.

    Non-proprietary versions of *nix are available.

    I still think Unix is more educational than windows. It is more fun, and that should be enough. Smart kids don't think that "if I learn this, I will get a good job". They think along the lines of "that seems like a smart and elegant implementation" or "Wow, I could do some really nifty stuff with that construct/system call/widget".

  • by shambler snack ( 17630 ) on Saturday November 11, 2000 @06:15AM (#630778) Homepage
    I'm one of those 'Unix/Linux zealots', yet in spite of that, let me tell you a supporting story...

    I have owned various computers since the Apple ][ (very late 70's vintage). I've been an x86 box user for some time now. Ever since I got ahold of Linux (early 94) I've managed to install it on every x86 box I've had since then. Compared to Microsoft, and especially Windows 3.x to Windows 95, Linux has been a joy when running on the same minimal hardware platform's I've either every run on, or owned. But a funny thing began to happen about four years ago, and reached it's peak two weeks ago.

    Normally, I've built my x86 boxen out of pieces-parts picked up locally or mail-order. But I decided to get a Compaq Desqpro 2000 in 1997 (200MHz Pentium), just because it was getting to be a hassle with my real job to go hunting this stuff down. The deal I got on the box was pretty good. It came with Windows 95 installed, and all was good. As soon as I got it, I attempted to install Linux on it. I ordered a boxed set of RedHat to put on the system. I even purchased (and still keep up) an Infomagic subscription. I got the base Linux installed, but had problems with drivers for the network card, the video card (Cyrix on the motherboard), and the sound card (genuine Creative Awe32). Over the years, I've upgraded hardware (video and modem, new IDE drives) and kept the RedHat distribution up-to-date as well. And every time I've upgraded hardware I've run into compatibility issues. I've never had problems with basic installation on the Compaq, but let me try to run X or some other advanced application (like ppp (ha!)), and I've had hell to pay trying to get it to work reliably.

    Two weeks ago I found a very good bargain on another Compaq; this one, a Presario 5000 with an Athlon 900MHz (Socket A), Hercules 3D Prophet II with Nvidia's GeForce2 MX chipset, 30Gig HD, 256MB ram, etc, etc, etc. Came pre-installd with Windows ME. Rather than hassle with re-partitioning the drive to accept Linux, I picked up a second drive (40GB, $159, !damn! this stuff is getting cheap!) and created a 10GB parition for Linux (along with a 10GB partition for Windows 2000 SP1). I will note that this box has USB ports, and I have a USB keyboard.This time, I attempted to install the following free operating systems:

    RedHat 6.2
    Slackware 7.1
    Mandrake 7.1
    SuSe 7.0 Professional
    Storm Linux 2000 (Hail)
    FreeBSD 4.1
    OpenBSD 2.7

    These were all boxed sets or from subscription services, not downloaded or borrowed (I try to support free software with cold hard cash as best I can). Of all the operating systems listed, only the first two booted all the way to installation, and only Slackware finished the installation and booted cleanly. Every OS listed after Slackware either locked up solid (such as Mandrake 7.1) or panicked (such as FreeBSD 4.1). Yet, Windows ME runs just fine, and Windows 2000, which was not part of the original package, loaded and found all hardware, and runs just fine next to Windows Me on a dual-boot system. The Hercules card has broken X on Linux, and I don't feel like hunting down free drivers or trying to install XFree86 4.x, since Slack now comes with it. I'll give credit to RedHat and Slackware both for working with the USB keyboard, but the drivers seem to have a problem with repeated keys (i.e. hitting the key 'd' pops up two d's, as in 'cdd'). Stability on both versions of Windows has been a joy (compared to Windows 95/98/SE). The installation of applications has been extremely easy. And the interesting thing is that Windows 2000 now sees fat32 volumes, meaning that I can reach everything on the WinMe volume under Win 2K. Getting the Linux totally up and running illustrates the irony of the current Linux situation: I have to boot into WinMe to use the modem to download patches, and when I've tried to test the 2.4.0-test10 kernel, I loose the network card (an Accton EN1207D Series PCI Fast Ethernet adapter, which the stock Slack kernel sees).

    So what does this have to do with the current thread? Simply this: if the typical overworked underpaid teacher/professor can't get Linux installed and working out-of-the-box, then they're not going to bother. Today's new hardware is fast and cheap, and will continue this trend. The typical Linux whine that it's Compaq's fault for building 'non-standard' hardware won't fly. I know this, because along with the stack of operating systems I've collected I also have the BeOS 5 Pro that I picked up at BestBuy when it was on sale. Although I haven't installed it on the Athlon system, it has always worked just fine on the Desqpro 2000 that also gave Linux fits. I'll likely continue to use Linux as a server OS, and I'll more than likely go the route of running Linux in VmWare on Windows 2000 for some embedded work I have in mind, but from this point forward I'll not use it as my workstation OS until some major changes take place in the distributions. As for the 'free' apps, I run bash, emacs/xemacs, Python, Perl, gcc, and a whole raft of other GNUish tools via ActiveState, python.org, and Cygwin tools (for which I also purchased the 1.0 CD) just fine under Windows 2000, thank you very much. If today's kids somehow want that type of environment, they sure don't need Linux to get it.

    Microsoft really has got nothing to worry about from Linux on the workstation with current hardware. Microsoft has made great strides overall with Windows 2000, and Microsoft can capitalize on this by offering a solid, substantial learning platform. And Microsoft knows what Unix and Apple have known before - if you capture the hearts and minds of the kids in school, there's a pretty good chance you'll keep them as they grow up into professionals. Linux has some serious challenges in front of it.

    So mod this down if you like. But I hope somebody reads it, and thinks about it, before it happens.
  • by weave ( 48069 ) on Saturday November 11, 2000 @03:42AM (#630779) Journal
    I've been in this one college for 20 years, first as a student in their CS program, then as support staff, and some 10 years as instructor (including teaching C.

    There are multiple issues I see with teaching C (or any language) using Microsoft stuff. My main two beefs are:

    • Too many instructors fall to the temptation to teach how to code fancy widgets. Students get away from learning the language and instead spend too much time learning all about MFC. Learning programming using C or a real C course should teach C.
    • Microsoft programming products require students to purchase a C compiler (although Borland or whoever owns them now gives one away for free) *AND* own an Intel product running a Windows OS. Mac users need not apply. C under a timeshared UNIX box allows students from anywhere on any platform to ssh in and work on their code.

    When I attended a Computer Science program at our local University, I was excited when we got to a class on 68000 assembly (this was mid 80s). Since I owned a Mac, I wanted to learn how to program a Mac. Instead, we got a programming environment that when loaded, it turned the mac into some text-based machine with minimal I/O support. I was pissed at first, but understood eventually. The class was there to teach how to code assembly, not how to program a Macintosh. The environment guaranteed we'd concentrate on the language.

    There are two ways to learn. Learn how to do something, or learn WHY you are doing it. I guess it falls down to the traditional argument of theory versus practical learning. Yeah, practical learning in a specific area can get you a job real fast. But let me tell you, this world moves real fast and because I understand programming as a concept very well as well as OS theories, I can pick up the latest programming tool on whatever platform and pick it up and become well-versed in very short time.

    Still not convinced? I am 41. An old fossil in this industry but I can still quickly adapt to any technology that is current. While interviewing job candidates, I've found many of them have very narrow specific skills. This may be good if that particilar skill is still in demand, but once it's considered old (witness Microsoft dismissing Java for C# and .NET), you need expensive and time-consuming retraining.

    To be fair, there are a number of advantages for a graphic-rich development environment, many that have already been mentioned. Editors that highlight or check syntax as you type (well, even emacs does this but...). Graphic debuggers can also be very helpful in showing how code gets executed and what can go wrong (although this should come later. People need to know how to manually walk through code too).

    Bottom line, good programming skills can be taught in a Microsoft shop. One must simply know how to teach to ensure the student learns the best short and long-term skills. Oh, and run it all on a Windows Term Server for remote access! :)

  • by smallpaul ( 65919 ) <paul@@@prescod...net> on Saturday November 11, 2000 @03:14AM (#630780)
    If you are programming in a modern programming language like Python or even JavaScript, with a portable GUI framework like Tk, Swing or Mozilla, it really sould not matter what operating system you are using.

    Rather than promoting "Unix for schools" we should promote "platform-independent software development for schools." We should stress that if you focus on that which works across platforms you come to understand better the universal themes of computer science rather than the specifics of an OS.

    Once the operating system becomes more or less irrelevant, schools will of their own volition choose the operating system that is cheaper, more secure, easier to maintain programatically and so forth.

    Paul Prescod
  • by account_deleted ( 4530225 ) on Saturday November 11, 2000 @09:56AM (#630781)
    Comment removed based on user account deletion

The rule on staying alive as a program manager is to give 'em a number or give 'em a date, but never give 'em both at once.

Working...