Slashdot Mirror


Melinda Gates Was Encouraged To Use an Apple and BASIC. Her Daughters Were Not. (huffingtonpost.com)

Long-time Slashdot reader theodp writes: In August, Melinda Gates penned Computers Are For Girls, Too, in which she lamented that her daughters "are half as likely to major in computer science as I was 30 years ago." So, what's changed in the last 30 years? Well, at last week's DreamForce Conference, Gates credited access to Apple computers at school and home for sparking her own interest in computer science [YouTube], leading to a career at Microsoft.

So, as she seeks ways to encourage more women to get into tech, Melinda may want to consider the effects of denying her own children access to Apple products [2010 interview] and of Microsoft [in 1984] stopping computers from shipping with a beginner's programming language (a 14-year-old Melinda reportedly cut her coding teeth on BASIC).

Melinda can raise her kids however she wants -- maybe her kids will just start programming with the Ubuntu that's shipping with Windows 10. But is it a problem that there's no beginner's programming language currently shipping with Macs? Over the years Macs have shipped with Perl, Python, Ruby, tcl, and a Unix shell. Do you think Apple could encourage young programmers more by also shipping their Macs with BASIC?

33 of 370 comments (clear)

  1. So what? by Locke2005 · · Score: 4, Insightful

    It's just like what I say about calculus: it's important to understand the basic concepts of integration and differentiation, but you are NEVER going to solve integral or differential equations in real life (any sane person would use numerical methods). Computers will soon be capable of programming themselves, so while it is useful to have a basic understanding of how computers work just like it is useful to have a basic understanding of how electricity works, trying to teach EVERYONE to program is pretty much solving a non-problem. Also, the fewer people that know how to program, the more I can charge for my services...

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
    1. Re:So what? by Anonymous Coward · · Score: 5, Insightful

      This is a Huff Post article. Expect it to be mindless blather and you won't be disappointed.

    2. Re:So what? by Anonymous Coward · · Score: 2, Insightful

      > Computers will soon be capable of programming themselves

      LOL.

    3. Re:So what? by ceoyoyo · · Score: 5, Insightful

      Wow. I solve integral and differential equations in real life. The differential ones are especially useful when they're cost functions and you want your optimizer to run fast.

    4. Re:So what? by msauve · · Score: 4, Funny

      "Computers will soon be capable of programming themselves"

      For some measure of "soon," right after we all have flying cars in our garages. Hey! We could put the two together and call it Skynet!

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    5. Re:So what? by msauve · · Score: 3, Informative

      "what has she done"

      She was a manager for Microsoft Bob. 'nuff said.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    6. Re:So what? by vivian · · Score: 2

      It's just like what I say about calculus: it's important to understand the basic concepts of integration and differentiation but you are NEVER going to solve integral or differential equations in real life

      Actually I have solved differential equations to replace code that was using numerial methods to calculate some stuff. Tee end result was code that ran a lot faster and gave a much more precise solution. It took a couple of pages of maths, and because I am not very good at maths it took me a while, but it was worth the effort.
      I have also had to use the good old quadratic equation to solve equatiosn that were calculating acceleration or deceleration, and plugged in the resulting formulas to replace code that was using numerical routines to solve these as part of a robot path planner. In the original code the previous guy had at least left clear comments saying what the code was trying to achieve, and a note in the comments to say something along the lines of plugging in a better solution at some point in the future

      This highlights both the advantage of good commenting practice, which made it easy for later programmers to see where improvements could be made, and the importance of being able to apply this kind of maths to problems instead of just going to the numerical toolbox.

  2. Is Perl really that hard to learn? by damn_registrars · · Score: 4, Interesting

    Granted I did some BASIC before I jumped into Perl but I have taught Perl to novices before and they've done just fine with it. I would think it would be just fine for a beginner.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:Is Perl really that hard to learn? by 93+Escort+Wagon · · Score: 5, Funny

      Children need to learn FORTRAN early on - I want them to know the pain I grew up with.

      --
      #DeleteChrome
  3. No reason to ship with it by 93+Escort+Wagon · · Score: 4, Informative

    Unlike the 1980s, nowadays it's trivially easy to get BASIC (or most any other computer language) onto your computer, regardless of platform - usually for free.

    And if you want to stay in the walled garden and something which has ostensibly been vetted, there's a $4.99 version of BASIC available for OS X / MacOS in the App Store.

    --
    #DeleteChrome
    1. Re: No reason to ship with it by bestweasel · · Score: 2

      Operating systems, programming environments and applications are many times more complex than they were in the '80s and so is the amount of work which needs to be done now to get something decent up on the screen. A beginner in the '80s could fairly easily produce a useful program which was of a comparable standard to other software available. I'd say it's a lot harder to achieve that now.

    2. Re: No reason to ship with it by BasilBrush · · Score: 2

      Hello World on pretty much any 1980s 8 bit-computer:

      Switch computer on.
      Type: 10 PRINT "Hello World!"
      Type: RUN

      There is nothing easier than that.

  4. Re:Not Apple by ceoyoyo · · Score: 5, Informative

    A Mac is a Unix machine that you don't have to fight with to watch a movie on. They're excellent choices for someone to learn programming.

  5. Computers DO SHIP with a programming language by Guillermito · · Score: 3, Insightful

    There is a language called JavaScript that is perfectly suited for learning how to program. Much better suited than BASIC I'd say.

  6. What? by ceoyoyo · · Score: 2, Informative

    Every Mac comes with Python, Ruby and Perl (not that I'd recommend the last one, but some people are masochists), just like Linux.

    You can click a button in the app store and get Swift, C, C++, Objective-C and there are other buttons for pretty much anything else you could ever want.

  7. BASIC by any other name by Zero__Kelvin · · Score: 4, Insightful

    Somebody seems to think that BASIC is a beginners language more so than others because the B happens to stand for BASIC. Nothing about BASIC makes it more suited to beginners than many other languages out there, including but not limited to Python. I would go so far as to say that BASIC was a good language for beginners in the early 1980s, but would be a very bad place for someone to start in in 2016.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:BASIC by any other name by msk · · Score: 4, Insightful

      B is for "Beginner's".

    2. Re:BASIC by any other name by msk · · Score: 2

      Courtesy is for everyone.

    3. Re:BASIC by any other name by Jack9 · · Score: 4, Informative

      > Line numbers

      That's a benefit. Understanding and being able to reference the order of execution explicitly and the cost of changes, is a huge lesson that it enforces accidentally.
      Talk about Poke and Peek, then we're getting into the problems with (apple) BASIC.

      > Nothing about BASIC makes it more suited to beginners than many other languages out there, including but not limited to Python

      Lack of features makes it more suited to beginners. Less things to need to understand or use for additional complexity.
      Algebra is taught before Calculus, necessarily. Humans learn with blocks before bridges.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
  8. Macs come with plenty of languages by angel'o'sphere · · Score: 2

    Macs are pre installed with AppleScript, obviously.
    Python, Perl, several Shells, AWK - actually one of my favourite beginner languages.

    However having a simple language which is already displayed as an icon on the Dock would probably rock.

    Still waiting for a viable successor of Hypercard ... (and please don't post links to that company that is changing its name every 2 years and claims it RealCoder or LifeCoder or however it is called now is a Hypercard successor, it is not, it is rubbish)

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  9. Re:Is "ship with" really the big takeaway here? by AmiMoJo · · Score: 2

    I didn't know I wanted to be a software engineer or that I would be interested in CS when I was a kid. The first PC my family owned came with BASIC, and playing with that is what made me realize. Kids are born not knowing anything, they have to be given the chance to experience stuff to know if they are interested in it or not.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  10. I don't think it's got anything to do with gender by rsilvergun · · Score: 4, Interesting

    my daughter just hit college and I pushed her toward medicine. C.S. is a dead end. Math isn't, but that's not exactly C.S.. Outsourcing + H1-Bs means you'd have to be crazy to go into computer science right now. Most places I see are 80/20 H1-Bs for the onshore and 95/5 if you include offshore. Bring back the jobs and us parents will bring back our students.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  11. Perl Is A Great Applesoft Replacement by alternative_right · · Score: 3, Interesting

    I would think it would be just fine for a beginner.

    Perl is a great contemporary replacement for Applesoft BASIC: it is easy to get started in, links easily with other parts of the operating system, and is infinitely expandable.

    Yes, as ShanghaiBill writes, some Perl programmers enjoy writing obfuscated code, but "some" is not equal to "all." The best Perl programmers write code that is as readable as Java, with less reliance on cramming everything into regular expressions.

    The main problem for kids is a lack of code written to be read, so that they can organically absorb how it works and get started on their own projects quickly, because in my experience, all the good programmers learned their craft by getting passionate about creating something and driving themselves toward that goal.

  12. Swift is suitable for beginners. by BasilBrush · · Score: 2

    For students or families who favour Apple products, Swift is the obvious choice. Very modern and yet easy to learn. But powerful enough to make real apps.

    Start with the Swift Playgrounds app on an iPad. Teaches by setting challenges:

    https://itunes.apple.com/gb/ap...

    Then download XCode for Mac when ready to take it further.
    XCode has Playgrounds for your own experimenting.

  13. Re:Not Apple by Anonymous Coward · · Score: 5, Funny

    A Mac is a Unix machine that you don't have to fight with to watch a movie on. They're excellent choices for someone to learn programming.

    Oh fuck off. What's so hard about:

    > git clone ssh://github,com/supermovieview/viewer.git
    > ./configure
    > make
    > make install
    > (permission denied)
    > sudo make install
    > supermovieview
    > (usage supermovieview filename)
    > supermovieview captain-america-civil-war-1080p.wmv
    > (error, wmv not supported. Maybe install supermovieview-codecs?)
    > git clone ssh://github,com/supermovieview/codecs.git
    > ./configure
    > make
    > make install
    > (permission denied - ffs)
    > sudo make install
    > supermovieview captain-america-civil-war-1080p.wmv
    > (error, failed to open audio stream)
    > sigh
    > sigh: command not found

    Ah, okay. You might have a point.

  14. Macs do ship with programming languages by santiago · · Score: 2

    No, because BASIC is an awful language that's hard to use. Meanwhile, languages intended for everyday use have got much more accessible, like Swift, which Apple uses in their free learn-to-program iPad app, Swift Playgrounds: http://www.apple.com/swift/pla...

  15. Arduino by Yvan256 · · Score: 2

    Get every kid a basic Arduino and let them learn on something as basic as 1980's computers but that can also interact with the outside world via I/O pins.

  16. talk about missing the point by iwbcman · · Score: 5, Informative
    I swear sometimes you folks just amaze me with how dense you are.
    What Melinda Gates points out in the TFA is amazingly simple yet profoundly insightful and yet the slashjocks can't wrap their big heads around it.
    BASIC blew any and or all other "beginners languages", developed since then, out of the water. The reasons are fairly simple to understand, but you have to grasp how they were interconnected.

    If you weren't using computers and programming between 1976 and 1984, you probably can't intuitively grasp how things actually were, and what is stated below was true for millions of children around the world, in dozens of different real languages. One of more negative aspects of the "good ole days" is that personal computer were not available for everyone, they were reserved for privileged children from families with incomes sufficient to be able to afford such and these costs were not insignificant, costing families upwards of a $1,000.00.

    • a) BASIC was everywhere, on every computer that one could get their hands on. And although there were significant difference between them there was enough in common that most basic programs ran with little or no modification in any and all BASIC interpreters.
    • b) BASIC language programming examples were widely disseminated in hundreds of magazines and many, many books. These magazines in particular played a pivotal role in the creation of local computer clubs, a social aspect completely lost in the modern programming world. The availability of material on the internet is in no way comparable.
    • c) Every computer came not only with BASIC, but also a BASIC programming book, which listed each and every usable function available in the language. Written by people who could spell the word pedagogic, these books were easy to read, fun, and genuinely educational.
    • d) The 7 year old could type in a BASIC program and do something fun, if not particularly useful, in 5 minutes with no help at all other than seeing a printed listing of a BASIC program.
    • e) That same BASIC was also useful for an incredibly large number of small businesses, so daddy or mommy, could use the same language to do productive things for their work world as their children were playing with at home.
    • f) BASIC was simple, but one could still do amazingly complex things with it. Anyone, with an IQ of 95 or more who can read and write, can learn 100 commands, memorize their syntax and glue them together. Less that 10% of the overall population will ever be able to do anything comparable with any of other languages developed since then.
    • g) BASIC made complex things simple and simple things complex, it was a wonderful trade-off. No other language has ever hit that particular trade off anywhere near as good. There was a lot of things you could not do in BASIC, but within the repertoire of doable things BASIC was incredibly simple to use, the feedback loop of trial and error was instantaneous, and once you learned it you never thought about the language itself because it vanished in the usage like any truly good tool does.
    • BASIC as a programming language is dead. It will never come back. But that does not mean that there is no absence. Our expectations have changed radically, what we demand from computers today was far beyond anything anyone could do with BASIC. Truly replacing BASIC is a herculean task, not something easy, and it is an open question whether there will ever be an equivalent again. The problem set solved by BASIC was many orders of magnitude smaller than what anyone could reasonably content themselves with nowadays. There were no videos(cameras capable of capturing pictures or videos), mp3s(computer generated audio was positively primitive compared to today), text and hi-res graphics were frequently completely separated, you could have one or the other, rarely both. The complexities of GUI programming rendered BASIC obsolete and still form the most fundamental hurdle to the development of something truly functionally equivalent. But if you still contend that Python or Javascript could in anyway inherit the mantle from BASIC you simply do not get it.

  17. Re:Oh, please by Pseudonym · · Score: 4, Insightful

    Oh, I don't know. I'd have chosen a beginner language that didn't get for loops wrong. 3 times. (range -> xrange -> range again).

    When I was 20, I felt the same way about BASIC. Why the hell did we start with such a crapful brain-damaging language? And, of course, BASIC was never one language, either; every micro had its own incompatible implementation, and that's not even going into the incompatible hardware that you couldn't work around.

    I'm older and wiser now. BASIC was a great start to the education of a whole generation of programmers. I think of three reasons:

    First off, in the days of 8-bit micros, you could understand the whole computer, and in a sense you had to. Printing stuff on the screen was great, but as soon as you wanted to do anything nontrivial, you had to POKE around, which meant you needed to learn about chips and registers and so on.

    Secondly, the act of typing in listings from books and magazines taught you a lot about the programs that good programmers gave you. Cut-and-paste just isn't the same, and "read these snippets then download the whole working program" is just wrong.

    Thirdly, and perhaps most importantly, when you made it to university or the software industry, you weren't using BASIC any more. Your first "real" programming language was your second programming language (third, if you managed to get an assembler for your micro), which forced you to unlearn all the bad habits which BASIC got you into.

    So I wouldn't mind people using Python as a beginner language, if we all agreed, as a software industry, never to use Python in production. Not only would we all be more productive programmers and our software would be of far higher quality, it would give the kids of today the education they need. You can start today by referring to Python exclusively as a "beginner language" every chance you get.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  18. Re:Not Apple by ahabswhale · · Score: 4, Informative

    Or you could just install VLC...

    But feel free to make it like it's a big deal.

    --
    Are agnostics skeptical of unicorns too?
  19. Re:Not Apple by ahabswhale · · Score: 2

    lol...you are apparently not aware of the many contributions Apple has made to UNIX.

    --
    Are agnostics skeptical of unicorns too?
  20. Re:Not Apple by Dog-Cow · · Score: 2

    Brainfuck.

  21. Re: Oh, please by BlytheBowman · · Score: 2

    Basic was my first programming language when I was about 6 years old. I spent about 5 minutes using it before I thought it was utter crap.##### I'm just wondering how a six year old (who I presume had no prior programming experience whatsoever) would be able to determine that "Basic was utter crap" after just 5 minutes of using it, and even know to research other languages that could do better, supposedly. And how many 6 year olds, even geeky ones, would have this kind of additude. Sorry, but this sounds so far off the wall to me, it's looks rediculous. I started programming in 1986, at 10 years old, with Basic, and enjoyed every single moment of it, even when it was just stupid programs that made irritating noises and drew little sprites on the screen.