Slashdot Mirror


Learning To Program Is Getting Harder (slashdot.org)

theodp writes: While Google suggests that parents and educators are to blame for why kids can't code, Allen Downey, Professor at Olin College argues that learning to program is getting harder . Downey writes: The fundamental problem is that the barrier between using a computer and programming a computer is getting higher. When I got a Commodore 64 (in 1982, I think) this barrier was non-existent. When you turned on the computer, it loaded and ran a software development environment (SDE). In order to do anything, you had to type at least one line of code, even if all it did was another program (like Archon). Since then, three changes have made it incrementally harder for users to become programmers:
1. Computer retailers stopped installing development environments by default. As a result, anyone learning to program has to start by installing an SDE -- and that's a bigger barrier than you might expect. Many users have never installed anything, don't know how to, or might not be allowed to. Installing software is easier now than it used to be, but it is still error prone and can be frustrating. If someone just wants to learn to program, they shouldn't have to learn system administration first.
2. User interfaces shifted from command-line interfaces (CLIs) to graphical user interfaces (GUIs). GUIs are generally easier to use, but they hide information from users about what's really happening. When users really don't need to know, hiding information can be a good thing. The problem is that GUIs hide a lot of information programmers need to know. So when a user decides to become a programmer, they are suddenly confronted with all the information that's been hidden from them. If someone just wants to learn to program, they shouldn't have to learn operating system concepts first.
3. Cloud computing has taken information hiding to a whole new level. People using web applications often have only a vague idea of where their data is stored and what applications they can use to access it. Many users, especially on mobile devices, don't distinguish between operating systems, applications, web browsers, and web applications. When they upload and download data, they are often confused about where is it coming from and where it is going. When they install something, they are often confused about what is being installed where. For someone who grew up with a Commodore 64, learning to program was hard enough. For someone growing up with a cloud-connected mobile device, it is much harder.
theodp continues: So, with the Feds budgeting $200 million a year for K-12 CS at the behest of U.S. tech leaders, can't the tech giants at least put a BASIC on every phone/tablet/laptop for kids?

245 of 408 comments (clear)

  1. Re:No by Mr+D+from+63 · · Score: 2

    can't the tech giants at least put a BASIC on every phone/tablet/laptop for kids?

    If a kid can't load a free BASIC compiler app...........then.... .well... I don't really know.

  2. One word: JavaScript by TheRaven64 · · Score: 3, Insightful

    All computers these days come with a web browser. Modern web browsers include rich debugging facilities. It's never been simpler to start writing programs. You can start with simple text output and progress all of the way to 3D OpenGL graphics or 2D vector and composited raster graphics with the canvas.

    --
    I am TheRaven on Soylent News
    1. Re:One word: JavaScript by Anonymous Coward · · Score: 2, Interesting

      Javascript has really low barrier of entry thanks to the modern browsers with built-in debugging capabilities.

      Though the problems of javascript start to raise their head once you use something as innocent as "String.startsWith" for string handling and watch "some" browsers to choke on it immediately. After that point comes the realization that you really cannot trust the browser tools to help you code cross browser compatible code.

    2. Re:One word: JavaScript by Anonymous Coward · · Score: 1

      Yeah, but in the event the browser cannot handle it, you could always just extend the String object so that it contains the startsWith function since you know it will be an issue.

      By some browsers I just assume immediately you mean IE which has gained a horrific history of breaking everything that can be broken for the sake of...well for no real reason at all. I know their reasons were attempting to lock in the browser but attempting to lock in developers was probably the stupidest move they could have made in a long line of stupid moves and it led to their browser becoming a laughing stock nobody would touch with a 10 foot pole that had a popsickle stick duct taped to the end of it.

      All that said, I don't blame you for your statement, and I agree with you whole heartedly. Browsers have a global standard for how they are to act/react to javascript and it is inexcusable for any of them to break standards.

    3. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      And how exactly do you develop a piecemof software inside of a web browser, save it to disk and reload it the next day to continue working on it?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:One word: JavaScript by Phylter · · Score: 1

      I really think that the web browser is part of the problem. When we started with BASIC back in the 80's the computer wasn't able to do much. Most people that used it were either running software that they bought (which was limited in function) or learning to write their own. Computers were cool because they were computers, they were new and mysterious. They were something to be conquered. Now the computer is just a means to get to Facebook, Instagram, Twitter, Reddit, etc. and the draw of computing doesn't go much further. This is why I like modern movements like Arduino and Raspberry Pi, because they have that same draw that got a lot of us into programming back in the 80's and 90's.

    5. Re:One word: JavaScript by Waccoon · · Score: 2

      Between Javascript, DOM, the complete lack of built-in libraries, and tons of terrible frameworks-of-the-month, there's nothing simple about web development.

      Availability != simplicity

    6. Re:One word: JavaScript by Hognoxious · · Score: 1

      There's these things called files. They can be remarkably useful.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    7. Re:One word: JavaScript by TheRaven64 · · Score: 1

      You shouldn't expect that a teaching language gives you all of the detail of how a computer works, but if you want to achieve good performance with something like WebGL then you'll have to learn a reasonable amount. More importantly, you'll learn about algorithms, abstractions, and complexity.

      --
      I am TheRaven on Soylent News
    8. Re:One word: JavaScript by TheRaven64 · · Score: 1

      What's difficult about it? I've been doing this with someone recently using Safari's built-in debugger. It lets you insert breakpoints and from there you can put the mouse over any object to inspect it. It's not as good as a Smalltalk debugger, but it's pretty close: you can normally find the issue because you mouse-over a thing and it says 'undefined' and you expect it to have a sensible value.

      --
      I am TheRaven on Soylent News
    9. Re:One word: JavaScript by TheRaven64 · · Score: 1

      I learned to program on a similar machine. Sure, it was simpler to print 'hello world', but when you got to a more complex program debugging it was painful. Editing involved inserting a new line with a line number in between two and then renumbering. The only way to inspect values during program execution was to insert some PRINT statements. In contrast, in JavaScript I can stick in a breakpoint, put my mouse over the variable, and see its contents. That makes it much easier than the 8-bit BASICs that I remember once you get a program that's more than a dozen or so lines.

      --
      I am TheRaven on Soylent News
    10. Re:One word: JavaScript by TheRaven64 · · Score: 1

      The way that I've been teaching someone recently: edit the file in Atom (not my favourite editor, but it's pretty beginner friendly), save, open in a browser, if it fails bring up the debugger and see why. If you want to see what something is doing, stick a breakpoint on the start, step through it, and inspect the files. That said, there are in-browser JavaScript editors that use the local filesystem API to let you locally save and reload the file, which might be better teaching tools.

      --
      I am TheRaven on Soylent News
    11. Re:One word: JavaScript by TheRaven64 · · Score: 1

      Object orientated programming in general is too hard for a first language

      You really ought to look at the work of Alan Kay, who somehow manages to teach Smalltalk (the canonical OO language) to 7 year olds.

      That said, you don't really need to start with OOP in JavaScript. The JavaScript execution model is to run the code at global scope in order first, so you can start with simple flow control (conditionals and loops), then introduce functions, then introduce objects.

      --
      I am TheRaven on Soylent News
    12. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      And how do you develop a JS script in a web browser and safe it to a remarkable useful file?
      Can you givve an example in a browser like Chrome, e.g. ??
      I'm honestly not aware of any way to 'develop' software inside of a web browser besides emulators hosted on the internet where the browser is only an interface to.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      I never saw an option to load/save java script code inside of a browser.
      There for I doubt a guy who wants to learn programming, will see/notice such an option either.
      Which browser are you using and how do you edit/load/save javascript code?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re:One word: JavaScript by sonamchauhan · · Score: 2

      > It's never been simpler to start writing programs.

      No, it has been simpler. Remember...?

      10 PRINT "HELLO"
      20 GOTO 10

    15. Re:One word: JavaScript by TheRaven64 · · Score: 2

      Why are you so obsessed with editing the code in the browser? That's never something I claimed - I said that you could run and debug it in the browser. That said, if you want edit the code in the browser and save it then I'd suggest you try https://jsfiddle.net/">JSFiddle, which gives you an interactive environment for JS editing and is a pretty nice place to start.

      --
      I am TheRaven on Soylent News
    16. Re:One word: JavaScript by TheRaven64 · · Score: 1
      Sorry, I should clarify: I meant start learning to write programs, not start writing a single toy program. The BBC Micro that I initially learned to program on made it much easier to write a 5-line program, but it was far harder to write a 100-line program. Editing was painful (there was no visual editor, you could list the code and could edit a single line, but if you wanted to insert a new line you added it with a line number in the middle and then renumbered) and there was no debugging support beyond PRINT. It had support for structured programming and simple data structures (records and arrays) but didn't have any kind of reference type, so you couldn't create cyclical data structures (I'm not 100% convinced that this was a bad thing).

      In contrast, JavaScript gives you references, objects (which you can initially use as simple structures), arrays, and closures. I've recently been teaching someone using JavaScript and I've tried not explaining the difference between functions and closures initially - it actually seems to be simpler to understand for a beginner (even for someone who has never seen Lambda calculus). I can edit the JavaScript in a modern text editor (I'm using Atom, which isn't my favourite editor but is a lot more beginner-friendly) and at any point in program execution I can stop it and inspect all of the variables.

      The canvas element in HTML5 gives me something quite similar to the graphics capabilities in BBC BASIC, though with a cleaner set of APIs (and a richer set of functionality - compositing wasn't really a thing back then, though you could have sprites with 1-bit transparency masks).

      --
      I am TheRaven on Soylent News
    17. Re:One word: JavaScript by TheRaven64 · · Score: 1

      How will you ever understand why some things are more efficient than others, why division is so fucking slow, why floating point is useless, etc. if you were never taught about the underlying hardware?

      I've read a lot of bad code written by people who didn't understand these things, but I've read a lot more bad code by people who focussed obsessively on these aspects and ignored the fact that they'd microoptimised the hell out of an O(n^2) algorithm when a naive implementation of an O(n log(n)) would have been far faster on their data.

      In my experience, it's better to get people to design good algorithms first. It's easier to then teach them about low-level data representations, cache hierarchies, communication latencies, and so on than it is to persuade someone who has learned a bunch of microoptimisation techniques to step back and improve their algorithms.

      One of my colleagues likes to tell a story about an intern who decided that the Perl code that they were using was too slow and rewrote it in C, only to find that it was an order of magnitude slower. The compute was faster, but the standard Perl libraries do very good I/O buffering and prefetching and even with that it was already I/O limited. Making the compute step faster didn't speed anything up, because compute wasn't the bottleneck. The C version could process a single record in about a tenth the time that the Perl version could, but was still slower overall because the intern had focussed on optimising the compute step and not the I/O.

      --
      I am TheRaven on Soylent News
    18. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      So you expect a newby to programming to know how to get code into a browser and debug it there and save it later again ...
      And you think that is straight forward and an obvious idea?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    19. Re:One word: JavaScript by TheRaven64 · · Score: 1

      You expect someone to be able to write code, but not able to save a text file with a .html extension and double click on it? One of these things is much harder than the other.

      --
      I am TheRaven on Soylent News
    20. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      Actually, yes.
      I expect one to write code but be to dumb to know that he has to save it as HTML to run it in a browser or to develop it in a browser. Sorry, what kind of strange mind does one need to have, to wake up in the morning and think: "I like to learn programming!" and 5 minutes later powers up a web browser????

      Which part of: you switch on an Apple ][ and you end up in a REPL interpreter did you not get?

      I work with computers since 35 years: it never occurred to me to use a web browser to write some JavaScript to learn JavaScript. Why do you think a 10 year old or 16 year old who wants to do some programming has the first idea to use a web browser as IDE/SDE Ersatz?

      And why do you think I'm super dumb because I never came to that idea myself? Hu?

      Your idea is not bad, but your assumption it is a simple idea for everyone is just plain ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:One word: JavaScript by TheRaven64 · · Score: 1

      I expect one to write code but be to dumb to know that he has to save it as HTML to run it in a browser or to develop it in a browser. Sorry, what kind of strange mind does one need to have, to wake up in the morning and think: "I like to learn programming!" and 5 minutes later powers up a web browser?

      I expect them to think that because that's what kids think in response to most things related to computers now: and once they've asked their favourite search engine, they'll get a load of links to sites that let you write code within a browser directly. If they don't and they ask a person (did you know that the prompt at the Apple II was something you could program in the first time you saw it, or did you need a person or book to explain it?) then that person can provide them with a template that they can write code in.

      Which part of: you switch on an Apple ][ and you end up in a REPL interpreter did you not get?

      As I've said elsewhere in this thread, a BASIC REPL is a great way of learning to write 5- to 10-line programs, but the lack of a debugger (or a visual editor) made it painful to write more complex programs. These are both available on any modern system, as a result of having a web browser.

      --
      I am TheRaven on Soylent News
    22. Re:One word: JavaScript by dcw3 · · Score: 1

      When we started with BASIC back in the 80's...

      /facepalm
      Get off my lawn urchin!

      --
      Just another day in Paradise
    23. Re:One word: JavaScript by Phylter · · Score: 1

      Just because I started with Basic doesn't mean that I recommend it today. Python, C#, C++ are all good languages to learn today. I would never recommend the use of Basic as a language with modern computers. My point was about the culture surrounding computers at the time, not the language itself.

    24. Re:One word: JavaScript by angel'o'sphere · · Score: 1

      Hm, using google and finding another site that offers the option to code inside of the browser is not the same thing as coding inside of the browser as in using the browser as an IDE are extremely different things.

      Anyway, it never occurred to me I could hack a javascrip program quickly inside of a browser.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    25. Re:One word: JavaScript by dcw3 · · Score: 1

      It was the way you stated it that I reacted to. It sounded more like you were saying BASIC wasn't around much prior to the 80s...I learned it in the early 70s. It's all good.

      --
      Just another day in Paradise
    26. Re:One word: JavaScript by Phylter · · Score: 1

      I wasn't around much prior to the 80's so my view of history is a bit skewed. :)

  3. Crazy talk. by Anonymous Coward · · Score: 3, Informative

    There's loads of easy ways in. Shit, scripting excel is a fine place to start.

    My fave is processing.org - those cats have made something special.

    No more tricky than programming a sinclair or a commodore. But the potential is considerably more potent.

    The big thing is that all the documentation you could ever want is there at your fingertips if you're willing to look for it. The resources available to a self motivated person that wants to program are beyond fantastic.

  4. Re:No by 14erCleaner · · Score: 1

    Or maybe just look on the web? Jeez...My first programs were on a TI calculator, there are a million easier (and better documented) learn-to-program web sites out there now. Here's a Basic site, just as an example: http://www.calormen.com/jsbasi...

    --
    Have you read my blog lately?
  5. administration by sourcerror · · Score: 3, Interesting

    If someone just wants to learn to program, they shouldn't have to learn system administration first.

    I disagree with that. Being able navigate your hard drive and install programs is more important than being able to code, and should come first.

    1. Re:administration by SeaFox · · Score: 1

      I disagree with that. Being able navigate your hard drive and install programs is more important than being able to code, and should come first.

      I was going to post the same thing. Computer stills are like building a pyramid: you need to have a solid foundation before you start building the layer above. I work in support, and what really grinds my gears is people with advanced issues with specific websites, printing, or VPN connections who, when you try to give instructions to, are revealed to not know how to copy and paste text, or even manipulate interface elements by mouse dragging.

      People who haven't mastered the skills of one of those free community "How to use a PC" classes shouldn't be on the Internet, IMNSHO. With social media and phishing, those people could ruin their marriage, financials, or even put their own lives in danger following medical advice from some quack website.

    2. Re:administration by angel'o'sphere · · Score: 1

      So you would not hire the guys who made the artwork inside and outside of the pyramids, because they don't know how to make the foundation of the pyramids?
      So ... who is going to make the art work for you?

      (HINT: I need to know nothing about operation systems to write a desktop application, regardless of OS)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:administration by dcw3 · · Score: 1

      If someone just wants to learn to program, they shouldn't have to learn system administration first.

      I disagree with that. Being able navigate your hard drive and install programs is more important than being able to code, and should come first.

      You don't need to be a mechanic to learn how to drive. You don't need to be a farmer to be a good cook.

      The skills required for programming, are not those required of a sysadmin. And, I'm not saying that having sysadmin skills wouldn't be useful, only unnecessary.

      --
      Just another day in Paradise
    4. Re:administration by sourcerror · · Score: 1

      IMHO being able to install programs is like driving and creating programs is fixing your car.

  6. I'm of the same time period by Sqreater · · Score: 1

    And yes, you are right. But you are not seeing it for what it is: part of the general complexity growth in all things that must eventually lead to some sort of collapse. Programming is harder, but EVERYTHING is harder. And it will become harder and harder until there is a "Black Swan" of some kind collapsing everything.

    --
    E Proelio Veritas.
  7. I agree by SuperKendall · · Score: 1

    That's what I was thinking too - it's not that programming as a whole has become harder, just a lot more diverse and specialized. Yes learning to write some scalable Erlang/Mongo based server application is harder than what we had to do growing up. But they don't have to start there, and if they get really into programming they can go there if they want which is better than what we had when I was a kid (we used to have to compile with a *preprocessor* step you young whippersnappers).

    Even if you didn't like Javascript, there are things like Scratch and Apple's Playgrounds. Yers they hide some detail but it is not at all detail you need to know anytime soon before you get to really advanced stuff.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:I agree by MightyMartian · · Score: 2

      Javascript and DOM are a helluva lot more complex an environment than, say, Microsoft BASIC circa 1982, so it's not really the equivalent at all. That's the real problem, and one that's not easily solved. It isn't so much the languages, it's the environments in which they sit that are far more complex than the home computer systems of the late 1970s and early 1980s. It really is true that if you had a Commodore, Trash-80 or Apple II, you could pretty much start programming a few seconds after you hit the On button, largely because the BASIC interpreter was right there in your face.

      Of course the downside is that traditional BASIC is a godawful language that taught a lot of bad habits that had to be beat out of you when you went to the next level and started monkeying around with Pascal, but still, I'd say about 60%-70% of what I learned about programming I learned on my shitty little TRS-80 and my uncle's Commodore 64.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:I agree by Anonymous Coward · · Score: 1

      Of course the downside is that traditional BASIC is a godawful language that taught a lot of bad habits that had to be beat out of you when you went to the next level and started monkeying around with Pascal

      You think BASIC teaches people bad habits?
      Have you ever even looked at what web programmers does in Javascript these days?
      Even the worst BASIC programmer ever would create that horrible mess that Javascript encourages.

    3. Re: I agree by WarJolt · · Score: 4, Interesting

      Start with an arduino and a couple of LEDs.
      The c/c++ is simple.

      I would imagine JavaScript closures are probably the hardest thing to grasp for someone who has never even written a for loop.

    4. Re:I agree by MightyMartian · · Score: 1

      I don't know what you mean about "worth doing". I did plenty on my first home computers in BASIC; library cataloging program, simple text editor, that sort of thing. Certainly there were things that could be done far more efficiently in assembly, but it wasn't a requirement. The chief problem on my first personal computer was RAM, but within those constraints I could still quite a lot. But it wasn't so much the useful things I wrote that taught me anything, because when I first started coding I was 11 years old, so "worth doing" had a very different meaning for me in 1983 than it does in 2018. It was the underlying concepts, the very notion of programming, of understanding something of the workings of a computer, and of logic and program flow. BASIC had some bad points, but I did learn some pseudo-structured programming via GOSUB, so that when I went on to Pascal, the notion of procedures was simply a more formalized way of writing a routine.

      Javascript is a necessary evil, but it is a painful and awful language glued to an equally painful and awful environment. I don't know if I would have got the same quick kick that I did out of my early BASIC programming.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    5. Re:I agree by guruevi · · Score: 1

      It depends on what you need to do. JS and DOM are complex but most if not all of the complexity is hidden and you can easily find a way of doing what you need to do. Most of my experience with BASIC was (and still is) peek and poke of memory values and convoluted language workarounds. It was by and large not nearly close to being as cross platform as C or Fortran was in that era.

      BASIC was bad, we remember it as being a 'good thing' but having it as a requirement would've hamstringed the 90s computer revolutions. I don't know if you realized but home computers of that era were only available to the well-off and were mostly used for games. As far as promoting programming, it failed, with millions of computers sold between 1985 and 1995, we currently only have ~3M programmers in the US, about half than just the number of C64 sold.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    6. Re: I agree by ShieldW0lf · · Score: 1

      My first program was a recipe database for my mom. It stored them on cassette tapes. I wrote it on a VIC20 in 1982. Using BASIC. Which I taught myself using the book that came with the computer. I was 7 years old.

      Your argument is invalid.

      --
      -1 Uncomfortable Truth
    7. Re:I agree by ABEND · · Score: 1

      JavaScript interpreters will run really horribly messy code but you can paste your JavaScript code into jslint.com and it will tell you how to fix your code so that it will be much more readable and maintainable.

      All that's needed to learn to program is internet access and a modern web browser:
      1. Use the web browser to run JavaScript.
      2. Use w3schools, for example, for a JavaScript tutor.
      3. Use jslint.com to help you write clean JavaScript code.

      --
      In all seriousness:
    8. Re:I agree by MightyMartian · · Score: 1

      There was quite the industry selling software for home computers. For my Trash-80s, there were a couple of magazines dedicated to them, and back in they heyday of the home computer, their pages were filled with ads for software. The same for Apple II, C64 and the like. Yes, you wouldn't likely get a job with HP or IBM based on your ability to code in Microsoft BASIC, but there was quite a cottage industry in producing software and hardware for various home computer systems.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  8. It's the abstraction that makes it hard by ErichTheRed · · Score: 5, Interesting

    Ironically, the hardest thing I can think of for a _total_ newbie is drilling down through all the layers of abstraction to show what actually happens. I'm in IT and infrastructure-as-code is the same way. We have a nice easy way to program things, but it's so divorced from something that actually happens. Everything new lately has been a layer on top of another layer with the hope that it will make things easier.

    An example from my world is Azure Resource Manager. At the core, it's a RESTful API that takes in JSON configuration files and tells Microsoft's cloud back-end what needs to be configured. ARM is almost a language in its own right, and it's nearly impossible to write configuration files without some guidance. So, someone at Microsoft wrote a Node.js wrapper on top of ARM that I found out about the other day (Azure Building Blocks.) So, you have an ARM framework, written in a JavaScript framework, sending commands via insert-your-language's SDK to a RESTful interface that hides unfathomable levels of complexity behind it!

    The push to wrapperize everything is going to get to a point where some levels of complexity are permanently locked away. People who are totally new and starting out at Node.js or a similar framework will be able to make things work, but they won't know _how_ they work.

    I'll make one "get off my lawn" statement -- we've overloaded HTTPS to perform way more duties than it was ever designed to do, and chosen to write applications in browsers running JavaScript, which was also never meant to do anything nearly as complex as it does. This is why you have the endless parade of new frameworks, wrappers, etc.

    1. Re:It's the abstraction that makes it hard by Anonymous Coward · · Score: 1

      https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f

    2. Re:It's the abstraction that makes it hard by ErichTheRed · · Score: 1

      The linked article is even better:

      Welcome to my world in infrastructure-land. Everyone wants to be seen as using the absolute latest DevOps and container tooling and it's a total treadmill run keeping up. The latest is serverless...IFTTT but in the cloud!

      I know that it was meant to be tongue-in-cheek, but that whole "Oh yeah, Platform X is dead, that's from 2014. We're using CloudCheetah this year!"

  9. Re:No by 0100010001010011 · · Score: 5, Insightful

    People from the 50s would say the same thing about your life and not knowing how woodworking, plumbing, electrical wiring, cars, etc worked.

    Your life is built on abstraction. How well do you know how most of the machines that run your life work?

    I'm sure some polymath will come in here proclaiming they own a homestead, repair their own cars, build their own silicon chips, et al but the reality is that for you to get any depth in a subject you have to neglect the depth in others.

    I learned to program on Hypercard at ~14. Scratch and NodeRed look like great modern day equivalents for the same age. A 14 year old doesn't need to know how to bit bang with assembly but a high level introduction may lead them down the road of wanting to know.

  10. Radio Shack Color Computer by Hasaf · · Score: 1

    My first computer was a Radio Shack Color Computer. It came with two great tutorial manuals for coding in Basic.

    There is a lack of material written at that level. Almost all I write in, anymore, is in Vbasic and Vensim (Systems Dynamics, I realize it is a bit obscure). Vensim has a great walk through; However, most of the manuals are either too complicated for beginners; or they don't take the user to the point where thy can do something productive.

    As a teacher, I would love to find something, a bit more applicable than hour of code, that will keep my students engaged and leave them with applicable knowledge.

    1. Re:Radio Shack Color Computer by MightyMartian · · Score: 1

      That's one thing Radio Shack had going for it, it had great manuals. My first computer was a TRS-80 MC-10 (a piece of crap with a 6803 processor and 4K built-in, though I had the 16k expander pack), but the manual was fantastic. And that really is part of the problem. A lot of programming languages have high level documentation, basically designed for those who already know how to program. It would be really nice if someone would come up with the kinds of manuals Radio Shack used to.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:Radio Shack Color Computer by Balthisar · · Score: 1

      You're probably the first person in the world that I've ever run into that had the same first computer as I did. It was a piece of crap compared to my friends' Commodores, but it was way more awesome to have computer than not have.

      Thanks to its implementation of BASIC not having a DEF FN, I learned what computer and mathematical functions were in third grade, because, you know, I had to know how to make "Star Trek" typed in from the red book work without functions.

      --
      --Jim (me)
    3. Re:Radio Shack Color Computer by MightyMartian · · Score: 1

      My first "real" program was written on the MC-10. A semi-functional Pac-man clone that used the semigraphic GET and PUT instructions. I got it to the point where I could move the "Pacman" (just a yellow block) around a maze and gobble up other blocks, but the semigraphics on the MC-10 and the Color Computers was so sucky that if a yellow block touched another colored block, it would turn it yellow. Still, as far as I got it, it was still pretty cool.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re:Radio Shack Color Computer by david_thornley · · Score: 1

      If you wanted to learn assembly language on the CoCo (and the 6809 was sweet compared to any other 8-bit CPU of the time), you got the single best manual I have ever seen for getting into assembly. I was already fluent in three or four assembly languages by then, so I didn't need such a good manual, but I did appreciate it.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:Radio Shack Color Computer by david_thornley · · Score: 1

      That would be it. The CoCo back then had problems, but I loved the CPU.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  11. TFA is wrong by chuckugly · · Score: 4, Informative

    Programming didn't get harder, using a computer just got massively easier. How hard is it to go to a site like http://www.compileonline.com/i..., choose a language, and start learning? If kids can find pornhub they should be able to find this if they are so inclined. People need to face the fact, not everyone will enjoy programming, and not everyone will be good at it.

    1. Re:TFA is wrong by jareth-0205 · · Score: 1

      I think one of the problems is the nonstandardisation now. There is so much choice - I remember when I was a child and had my Spectrum, and there was also C64 and BBC Micro etc but they all ran BASIC, and it was all mostly the same. There were child-focussed programming magazines like http://www.acornelectron.co.uk... that had cartoons and code listings. That all doesn't exist now. There's a bunch more distraction (the entire internet) and a lot less single-point-of-entry. It's not harder exactly, but it is more diverse and that means guidance is spread more thinly.

  12. software availability and incentive changed too by isj · · Score: 3, Insightful

    Nowadays you can get pretty much any niche program you need. In last millennium access to programs was much harder, so sometimes you had to figure things out yourself. That means that people now have less need to dive into the technical details about eg. printer drivers and configuring them. Now you just download the latest driver from the manufacturer, or perhaps it worked out-of-the-box because the driver was included in the OS.

    I'm not saying it was better in the good old days. But you did have the need to be a bit technical when computers didn't do everything you wanted. And that gave some people the push to going deeper and making programs.

    Car analogy: it is harder today to become a mechanic, because the engine is typically just a big inaccessible block. No more easy access to spark plugs, carburetor, or adjusting the choke. Is that sad? Maybe.

  13. Well not all of us by kilodelta · · Score: 1

    Some of us grew up with those command line machines and we still know command line to this day. Plus programming - you had to write your own software back then and it meant understanding how to break problems down into codeable pieces.

  14. Apple by fluffernutter · · Score: 4, Interesting

    I had an Apple ][+ and I ended up in the computer industry. I don't really agree with this article. I had many friends at the time who know how to CATALOG and BRUN but I'm the only one who went on to be a developer. The reason why I got interested in developing is because my dad would buy Byte magazine and we would enter machine code programs together. This got me interested in 6502 and later C (when I got an IBM XT). It was only one or two years after the Apple ][+ came out that disks started to get formatted with the 'HELLO' menu-based entry screen anyway, I guess later when IBM XTs came out it was command line again but again that period was relatively short before windows took over.

    I guess the point here is that making technology easier to use is nothing new. It has always been just the people who want to know more who look under the hood and learn.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
  15. Many users don't know how to install software? by Knuckles · · Score: 1

    I get the feeling that programming may not yet be within these people's grasp

    --
    "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
    1. Re:Many users don't know how to install software? by OffTheLip · · Score: 1

      Agreed. "Click, click, click, install, finish" is pretty rigorous. Takes me back to the days of building gcc when the compiler compiled the compiler.

  16. Why? by ELCouz · · Score: 4, Insightful

    Why the sudden push for kids and newborns to know how to code? .... Like this will miraculously improve their life later on...

    1. Re:Why? by fluffernutter · · Score: 1

      I think you have raised the true root of the problem. What is the tech industry doing to motivate kids to want to be developers one day? Large companies seem to forget that they must compete for workforce as kids come out of school and decide what they want to do in life. Unless a kid grew up in Silicon Valley, they probably don't even know someone who has a secure, successful job in computers. Heck, right now plumbing looks a lot better.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    2. Re:Why? by AHuxley · · Score: 3, Interesting

      The money and the sale of educational software, support needs a reason to keep selling.
      Governments and the private sector are sold on the idea that everyone has to do "computers".
      The sale of the needed new better computer systems, support, robot kits, GUI, networking is then offered state and nation wide for every generation.
      People who won't and cant study are put in front of computers provided. The more they fail tests, the more new support is needed.
      The test results don't show any improvement over decades and generations.
      Political correctness and virtue signaling then provide a nice way of saying the "computer" was wrong for the people.
      So the tax payers and a private partnership invest in more and better "computers". It has to be something with the computers, the code, the teachers, the amount of funding.
      Same failed tests. Buy more advanced computers, new GUI code, robot kits, laptops, tablets.
      More failed tests.
      Fast internet. Cloud. More GUI, different code. Better teachers?
      The funding numbers per person per city and state grow with no better test results.

      Re 'Like this will miraculously improve their life later on"
      That could be seen with the spending in the UK in the 1980's. That most people would get to use a computer and be educated on a new generation of UK computers. Computers designed in the UK with new jobs building and supporting computers from fully imported low cost computer parts.
      Education and new computer jobs wins elections. Production lines and computer support jobs.
      Did it turn the UK in to some computer super power?
      People played computer games and later imported the best and most advanced US tech. US computers as needed for their work, games.

      Now the "computer" is some virtue signaling opportunity to show "everyone" is getting a free computer.
      The brand and the political leaders all get to show the funding and their private sector support for free computers for "everyone". Their brands computers, networks, software.
      The results are great for the brands and the gov. The failed test results every decade never improve so more support is always needed and sold.
      Its not the below average people that cant be educated, its the bad computers. Buy new computers, new code tech and the results will be better.
      By selling new computer to people who will never learn, more new computers will always be needed to get better results. Thats more education funding for that city, state.

      --
      Domestic spying is now "Benign Information Gathering"
    3. Re:Why? by jetkust · · Score: 1

      I'm working on a system to teach embryos how to code. May as well get them familiar early, so they are already familiar with it when they're born.

  17. Are they serious? by alvinrod · · Score: 5, Insightful

    I think that they're completely wrong and that learning to program is so much easier today than at any point in history.

    First of all, there are a wealth of online resources that anyone can access with a web browser than there are loads of them that are freely available. There are loads of websites, videos, etc. dedicated to learning programming languages. Some like Python or Java have such an abundance that it's almost difficult to be able to determine which to use. On top of that, there are plenty of websites like Stack Overflow that are dedicated to answering people's questions, so you can even get by with learning on your own outside of a classroom and still be able to get some feedback and mentoring from more experienced programmers.

    Development environments are easy as hell to install. You can a one-click installer from Oracle that will install and configure the JDK and an IDE for you. Most languages don't even need an IDE at all and just require running a script you can bang together in any text editor. It can't get much easier than that. Similarly, most kids figure out how to use a GUI on their own through trial and error. Their parents certainly didn't teach them how to become proficient computer users. Cloud computing has made things like Scratch possible where children can learn programming concepts and share their programs with friends and others. I fail to see the merit in any of the points that they make.

    If programming seems hard, it's because it has become so widespread that we're trying to teach it to everyone instead of as in previous generations where people mostly seemed to seek it out and dedicate their own time and efforts towards it. It looks like the past was more successful because we don't see the people who tried and failed in the past. The old generation that seems to understand it more intuitively or didn't struggle as hard are the survivors of far more niche group.

    1. Re:Are they serious? by bhiestand · · Score: 1

      I think that they're completely wrong and that learning to program is so much easier today than at any point in history.

      I agree that programming is drastically easier to learn today, but I think the article may also have a good point. Most computer users these days will never have an obvious incentive to program, whereas most of us did 20+ years ago.

      I learned operating systems because I had to understand them to do anything when I started with computers. I never started with the intent of "I want to program", I started with the intent of "I want to get these things done on this computer". To do that, I had to use the command line and write scripts. To do more things I had to learn to program.

      Of course that turned into writing scripts for Trade Wars 2002, IRC chat bots, etc. and eventually led me to my current career path. But I don't think that would have happened if I just started playing games and reading articles on an iPad.

      --
      SWM seeks new sig for a brief fling
    2. Re:Are they serious? by dgatwood · · Score: 2

      I agree that programming is drastically easier to learn today, but I think the article may also have a good point. Most computer users these days will never have an obvious incentive to program, whereas most of us did 20+ years ago.

      Sure they do. A six-figure starting salary. I'm not saying it's a good incentive, as it tends to attract a lot of people who can't code along with the people who can, but it is at least an incentive. :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    3. Re:Are they serious? by david_thornley · · Score: 1

      There's another thing I'd like to point out. Money.

      Through the 1990s, I paid for development system after development system. Macintosh Common Lisp was great, not cheap. Unless I wanted to use the Macintosh Programmer's Workshop, when Apple finally made it free of charge, I paid for C compilers, then C++ compilers.

      The result was that I had to be pretty sure I was going to use a language system before I had real experience with it, and I spent a lot more money than a modern teenager is likely to have. Currently, I can get high-quality development systems for a tremendous array of languages without spending a penny.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  18. RaspberryPi's Niche by 0100010001010011 · · Score: 2

    I finally started playing around with Raspbian and it's a great OS that addresses all of the above.

    It has multiple IDE's built in like Node-RED, Scratch, Python (Thonny). A command line terminal is built in as well as apt-get.

    1. Re:RaspberryPi's Niche by Locke2005 · · Score: 1

      Raspberry Pi is Linux and it's cheap AF. Also reasonably well supported if you know how to use apt-get and pip. What's not to like?

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
  19. Fundamentals by Anonymous Coward · · Score: 1

    Coding is difficult for most people not because of the layer of obfuscation in modern computers and devices. It's difficult because it requires a certain mindset to understand - logic, spatial reasoning, mathematics, are all required to code well. Most people don't have it - which is why most people don't code, or become engineers or scientists. There's nothing wrong with teaching kids to code a computer in BASIC or Python or whatever - but it won't stick with most of them because they likely will never have to do it in their professional lives.

    Even people with all the requisite skills still struggle to code well - like most of Google's or Microsoft's employees.

  20. This is news? by BartWillems · · Score: 1

    For someone who grew up with a Commodore 64, learning to program was hard enough. For someone growing up with a cloud-connected mobile device, it is much harder.. Wow. Who knew?

    1. Re:This is news? by Oligonicella · · Score: 1

      That quote makes an invalid assumption - that "learning programming" means learning all the newest bangs and whistles. One can program without once accessing 'cloud', or for that matter a mobile device.

  21. Supply and demand by Locke2005 · · Score: 2

    Programming jobs are the easiest jobs in the world to ship offshore; most software can be written literally anywhere in the world. STEM education is still important, but you're better off training for a career like medicine or pharmacy where you literally have to be in the same room with your customer -- those jobs can't be offshored! Also, automation is going to take a lot of jobs away... shouldn't automation eliminate programming jobs too?

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
    1. Re:Supply and demand by angel'o'sphere · · Score: 1

      Only ine who is not confident in his craftmanship is concerned about jobs getting off shored.
      There are plenty of development that can't be easy offshored, e.g. stuff that relies on local laws as e.g. energy production and trade in the EU.
      And on top of that there are plenty of countries where it is fun to work, if my job would be 'off shored' I would 'follow' the job and work in a similar job off shore, nothing is easier than that in our times.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Supply and demand by tepples · · Score: 1

      And on top of that there are plenty of countries where it is fun to work, if my job would be 'off shored' I would 'follow' the job and work in a similar job off shore, nothing is easier than that in our times.

      Even with countries tightening their work visa requirements?

    3. Re:Supply and demand by angel'o'sphere · · Score: 1

      Yes,
      as the visa work is usually done by the company you work for.
      Who cares about the requirements or amount of paper work?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:Supply and demand by Joey+Vegetables · · Score: 1

      Exactly this. You get what you pay for.

      Offshore devs can do very good work given very clear and specific directions, requirements, specs, test plans, and so forth.

      But: (a) Most organizations can't produce those. (b) Most organizations that can do those things already develop software very cost-effectively in-house. (c) Most organizations that can't, will not succeed at offshoring, because, no matter how good they might be, offshore people will not have the business or domain knowledge (and will not stay around long enough to develop it) to build anything more or better than what your specs and requirements have instructed them to.

      Software development done right is not labor-intensive; it is knowledge-intensive, and by that I mean mainly problem domain knowledge, not solution domain. The only time I've ever seen offshoring done in a cost-effective manner is when there is an onshore coordinator, typically from the culture in which the work is to be done, who can both build the domain knowledge, and also facilitate communications between the client and the offshore team.

      But these guys are very, very expensive. They add tremendous value. And what you have to pay for a good onshore coordinator, would pay for at least one, probably more than one, well-above-average programmer. So, for a project big enough to require multiple onshore devs, offshoring is almost never, in my experience, a good solution.

  22. Arduino by DontBeAMoran · · Score: 1

    Step one, see title.

    --
    #DeleteFacebook
  23. Well, then there's always Arduino... by MindPrison · · Score: 4, Interesting

    ...which hides the framework, and lets the user use simple calls or commands to do advanced things like outputting text or graphics to almost any TFT/OLED/LCD screen you can imagine (small form factors usually, we're not talking HDMI screens here).

    And it's almost like having a Commodore-64 on a chip, lots of I/O ports, way more forgiving on the inputs/outputs than the 6526 ever was (touch this one and you'd literally say goodbye to an expensive I/O chip), the interface is ugly...but easy to use, it's free aka gratis, it's open, it's got a huge community with tons of drivers for basically any hardware you want drive/throw at it/use with it. I put a complete weather station together in 2 hours, didn't even have to find software for that, as drivers and libraries are available for almost every sensor/screen out there. It's almost like combining a commodore 64 with lego.

    I won't count Raspberry PI into this "easy" category, because albeit the raspberry is cheap, it's far from easy for kids to get started with, and if they do - the learning curve is hideous as it's almost as complex (hardware wise/programming) as a PC. With the Arduino range (especially the Nano V3 one's that can be had on ebay for a couple of dollars) are so ridiculously easy to use that your kid (or you) will be up and coding in minutes with actual real life results instead of having to learn endless libraries and code just to actually make an executable that will actually do something useful or meaningful.

    And if we look at how many gazillion Arduinos are sold on ebay by random (often totally clueless sellers that have no clue what an arduino actually is), it's literally selling like it's hot - all the time. That's gotta count for something.

    --
    What this world is coming to - is for you and me to decide.
    1. Re:Well, then there's always Arduino... by Anonymous Coward · · Score: 1

      The Pi/Arduino is not a "babby's first programming" or even "babby's first computer"

      The problem is that there is nothing you can give to someone in grade 3 and go
      10 print "wow"
      20 goto 10

      You need something that is complete, out of the box. The 6502 computers only had at most 64K of memory, and the various machines that used it (eg C64, Famicom) came with BASIC that was designed to use that hardware.

      Today imagine a version of BASIC that works on anything, can access any amount of virtual memory, and poke "virtual devices" that are standard everywhere.

  24. Programmer like mechanic? by tgibson · · Score: 3, Insightful

    Cars have become easier to use (GPS, stick shift is a rarity, who changes their own oil anymore). The technical innovations underlying today's vehicles certainly makes it harder for users to become mechanics. A person may be introduced to the intricacies of car repair/maintenance by a friend or relative, or by taking a training course. I don't believe making cars more mechanically accessible is going to significantly increase the population of mechanics. By and large those who become mechanics have both a knack and passion for it.

  25. Too bad... by blahplusplus · · Score: 1

    ... microsoft has made an idiocracy through getting rid of the command line based section of the OS as it's own thing largely. Old operating systems like MS-dos and other programs like games, etc should be required part of any computer course so they actually learn to trouble shoot computers and actually have a course in computer history. Some enterprising company should really make a whole virtual machine that emulates what it is like to run early computer software and configure a virtual computer inside a vm to teach these kids.

    Those of us who grew up to program had to read the dos manual and put in the hours. It wasn't really that hard because it forced you to learn how your computer actually worked to some extent. They didn't need total electrical engineering type knowledge but at least you had a clue what your machine actually did. The fact that "programmers" are becoming idiots may just be a reflection that dumber people are going into programming. Those of us with a genuine interest in computers put in the hours because it was a hobby first long before it became a job.

    1. Re:Too bad... by MemeRot · · Score: 1

      Microsoft did?

      Everyone did, but microsoft was a follower, after apple, amiga, etc

    2. Re:Too bad... by blahplusplus · · Score: 1

      Microsoft did?

      Everyone did, but microsoft was a follower, after apple, amiga, etc

      Microsoft is the dominant OS, and for most programmers you'd be programming on or for a microsoft OS.

  26. No, it's getting easier to use a computer by JonathanP.Bennett · · Score: 4, Informative

    They are on to something, but have it *completely* backwards. Learning to code has never been easier. At the same time, using a computer has become much much easier as well. Part of the barrier to entry of older computers was the need to know something about the computer. That barrier to entry has been removed, and people aren't learning about the machines they're using.

    I don't know what the answer is. It doesn't seem correct to intentionally make computers harder to use. Perhaps moving away from the mindset that a computer is an appliance *looks at Apple significantly* would be a decent place to start.

    1. Re:No, it's getting easier to use a computer by blahplusplus · · Score: 1

      Using a computer and the motivation to be forced how it works are different, if you think back to the original generation of techies they were pretty much forced to learn via how the OS was structured closer to a programming language via command line. Many kids will never learn about 640K memory limits, etc. Nor the history of computing. There's nothing there to force you to learn what is actually going on. As tedious as say early dos and win 3.1 were it forced people to learn or else you couldn't really use a computer it was basically an IQ test. If you were too dumb you couldn't use it. Making computers easy to use does not in any way increase the odds of people being curious or interested to learn how these systems work.

      The real nerds will still be real nerds and doing nerdy things. Big companies are just sad most people aren't cut out for coding nor have any genuine interest in technology. That's the reality.

  27. Higher expectations? by Kjella · · Score: 1

    I think it's easier. I'd kill for Google and YouTube to get answers and tutorials when I learned BASIC. All I had was my C64, the programming manual and curiosity. Complete games were just a wall of text, even those that were actually readable and not just lots of PEEKs and POKEs to memory addresses. The difference is that the software I looked up to was also made by one or few developers with rather crude graphics and sound. Particularly something like Lazy Jones with lots of mini-games, I could make something like that. Today I play Overwatch and it's like this would take me 1000 man years and a bunch of art and music talent I don't have. You can't have that kind of motivation today. And I think games was the only thing I cared about when I was like ten. I don't see that I'd be making any other kind of apps with interest.

    --
    Live today, because you never know what tomorrow brings
  28. Re:pico-8 is a step in the right direction by Feneric · · Score: 1

    Lua isn't an issue. In fact I'd suggest that Lua serves kids today better than BASIC did in the early '80s, as it provides a better intro to modern, more maintainable programming. The modified Lua of PICO-8 also does a good job of exposing the internals of the VM underneath. Probably the only issue with PICO-8 is that it's a commercial platform that's not pre-installed anywhere except on the PocketC.H.I.P. (which is also a great little computer for kids to play with and learn from).

  29. Walled gardens by Ken_g6 · · Score: 1

    Programming on a computer is easy enough to set up. But how do you program on a phone or tablet? Last I heard Apple forbids programming on their phones. I don't know of any way to develop an app on an Android phone either. You can't even script at the command line because there isn't one.

    --
    (T>t && O(n)--) == sqrt(666)
  30. Re:No by FatdogHaiku · · Score: 2

    ... A 14 year old doesn't need to know how to bit bang with assembly but a high level introduction may lead them down the road of wanting to know.

    And that's it in a nutshell. I get asked all the time how I learned to do the stuff I do... if you WANT to do something and you have an internet connection, you will find what you want and learn how to do what interests you. Along the way you should discover your limitations, and if you are a motivated person, how to stretch those limitations into challenges. Challenges should lead to growth. Alas this is where things seem to be broken for some people, the "If you can't do it that's OK" mantra that has been used for the last twenty or so years.
    What we need to teach is "If you can't do it, figure out another way, if that fails, ask someone that already learned what you want to know".
    The problem is teaching a wrong attitude about accomplishment...

    --
    You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
  31. Nonsense. by Qbertino · · Score: 3, Insightful

    It's way easyer. The incentives may be lower, that's for sure. Unreal tournament is way more fun than going through the first bits of coding, but getting into programming is easyer.

    You need an editor and a browser and perhaps an active internet connection and your good to go. All this is bog standard these days, you can even do it on a phone.

    --
    We suffer more in our imagination than in reality. - Seneca
  32. They simply do not WANT to learn. by Voice+of+satan · · Score: 3, Insightful

    I am a happy nerd.

    I love my nerd world, my nerd friends and colleagues. But there are simple stuff that doesn't go trough our thick skulls. It never came to your minds people do not learn to program simply because they do not specially desire to do so ? They do not consider it an important skill, they have no curiosity about "how it works in the inside" and often consider an electronic device that needs any intellectual effort a poorly designed device.

    I loved my commodore 64. I learned to program a little bit on it. But it is because i was curious and educated by parents that encouraged that trait. If we lived in a world where computers were ubiquitous but similar to commodore 64's, they would not learn to program because you have to to make a C64 work. They would buy consoles.

    I have similar conversations with some of my nerd brethren about maths. I mean, the few ones that more or less realize that most people know very little maths. They speak about the difficulty of some abstract concepts, the quality of the teachers, the small number of math hours at school. But they do not get that most people do not desire to become whiz kids. Eventually they find them annoying, or pedant, or arrogant. They are not curious and are not raised to become that way.

    They may be embarrassed by the social consequences of their ignorance. But it is a pecking order question for them, nothing more.

    Same kind of reasoning when talking about why people are not athletic while they have an able body like everyone else, etc...

  33. Learning achievement requires values by Kohath · · Score: 1

    When people genuinely value learning and knowledge and achievement, then children learn. They don't complain about it being too hard, they talk about how it was hard but they put in the effort and learned it anyway. Or they talk about how they put in the effort but they still weren't able to master the material, but they were able to accomplish something else instead. They encourage each other.

    If you want learning, then value it socially. When you have conversations, are they about how you learned a new skill? Or about how someone else learned a new skill and how good it is that they did? Probably not. You talk about what you value. Don’t expect others to value what you don’t value yourself.

    1. Re:Learning achievement requires values by Voice+of+satan · · Score: 1

      We sent posts with more ore less the same meaning at the same time. :D

  34. Re: Apple Hypercard by SteveSgt · · Score: 2

    Hypertalk made the whole process of creating a usable program of significant complexity quite easy--easy enough for an early grade school student. Apple really, really didn't know what they had.

  35. Re:No by ShanghaiBill · · Score: 5, Informative

    Or maybe just look on the web?

    Indeed. Programming has never been easier. Here is how you start:

    1. Type "scratch.mit.edu" into your browser
    2. Start coding

  36. What the past got right by AHuxley · · Score: 2

    Maths, more maths and maths.
    Basic, ada, pascal, logo.
    Study, learn and pass tests. More learning, more computer time.
    People who could learn, wanted to learn got computers. People who could afford computers to learn. That was what the cost of a computer did in the past.
    Programming is not getting harder. People with no skills and no ability to study are expected to use computers, robot GUI kits now.
    Kits, computers, new GUI software is been provided along with support. The results show nothing better is happening with computer education after all the decades of tax payer and private sector support.
    Find out who can study, pass a test and do math. Support the people who can do math and then the results will reflect the past generations of great results.

    --
    Domestic spying is now "Benign Information Gathering"
    1. Re:What the past got right by MemeRot · · Score: 1

      What does math have to do with anything?

      I'd rather stab my eyes out than do math. I am quite happy writing code 8 hours a day though

  37. I wouldn't say harder, just less satisfying by EmperorOfCanada · · Score: 1

    I agree that the C64 was certainly a great place to start, but in those days computers were fairly useless and the games pretty crappy by our standards. Go a bit further back and all was more so.

    Therefore you could make a little program that might actually do something cool. Plus computers were a novelty so making them do anything was cool.

    If you started to get a bit serious you could reasonably make a game or a program that others might use. Not a blockbuster, but something interesting. Get 5 friends and spend a few months and you might actually make something worthwhile that made money.

    Fast forward to today and there is no novelty, everyone has a computer in their pocket, and short of finding some bizarrely unfilled niche you aren't making anything useful alone and in short order; and if you do, you are probably just using some crass tool that simplistically pounds out an app or other "programming" like wordpress.

    And as far as you and 5 friends making something in under a year, good luck with that. There are exceptions, but not that many.

    This all boils down to reward for effort. With my Vic-20 I could put in little effort before it started to reward me. Thus I was hooked. Give the same zillion years later me visual studio 2017 and I don't know where I would begin. Maybe it would be rewarding enough. Maybe not. Printing my name over and over again would impress my friends decades ago. I don't know what I would have to create these days to impress them.

  38. No,learnign to programming hasn't gotten harder. by Chainsaw76 · · Score: 1

    When you powered on the Commodore 64 (or computers of that age).. sure you were in a 'development environment".. a terse prompt and a blinking cursor.. period. There was no help, there was no internet, no youtube, there was no browser. You were on your own with no easy way to get help.

  39. Hasn't changed by ebonum · · Score: 1

    20 years ago. Buy a book:
    https://www.amazon.com/Structu...
    Learn to program.

    Today. Believe it or not it is still possible to: Buy a book and learn to program!
    https://www.amazon.com/Structu...

    Contrary to popular opinion, people did learn things in the days before web-enabled-group-assignments. Now we have teachers ready give you the answers to any hard questions so that your sense remains at permanently elevated levels.

  40. Re:No by supremebob · · Score: 5, Funny

    Back it the day, it was as easy as typing this into your Commodore 64 when it booted up:

    10 PRINT MY SISTER IS A BUTT
    20 GOTO 10
    RUN

    Bingo, you just wrote your first program, and got the satisfaction of annoying your little sister in the process. I bet that most people's first program looked something like this as well if they started in the 1980's.

    Now, you need to download and install something like Python on your Windows PC, probably getting prompted by a few scary looking security prompts along the way, and then write something with a more complex syntax to get a similar "MY SISTER IS A BUTT" result. So, yeah, the barrier to entry is higher now.

  41. BASIC?!?!!! by javaxman · · Score: 2

    LOL!!! Look, I myself learned to write code in BASIC on a CP/M system, but really folks... it ainâ(TM)t 1984... Python or something OO at least, please... teach folks to write an Android app or something... BASIC lol...

  42. Re:No by supremebob · · Score: 1

    Even that's not as easy as the Commodore 64 era, since you need to open a web browser, go to the URL, give Chrome permission to run Flash, wait for the IDE to load, and then do the tutorial.

    On the Commodore, you just need to turn the computer on, and get a BASIC interpreter prompt.

  43. Wrong way to look at it by Begemot · · Score: 1

    The only difference is that today you can do with programming immeasurably more than you could in the past when pac-man was state of the art. Building the same level of software has to be simpler today using modern tools.

  44. GUIs and scripting by quantaman · · Score: 2

    I don't think SDE availability is a big issue, Linux usually has gcc installed by default, XCode is fairly easy to install on Macs, and I'm sure Windows has lots of easily installed stuff.

    I think the issue is GUIs, but not for the reason he thinks. To the current kid a program isn't a real program without a GUI, and GUIs tend to be a lot tougher and more annoying to write. It just makes the gap between what a new programmer can accomplish and "real programs" that much bigger.

    I suspect the best approach for a new programmer is scripting. Just yesterday a friend expressed a desire for some bizarre set of image transformations and within an hour I learned enough ImageMagick to fire off a python script. This is partly a consequence of being a command line user, but you can automate a lot of tasks with scripts and are you are honing your programming skills at the same time. OpenSCAD is a good way to pseudo-program if you have a 3d printer. I suspect there are a bunch of games with scripting interfaces as well.

    Though for the windows user for whom the Command Line is still a foreign land I think phone apps are the easiest gateway. There's a lot of tutorials where you can get a "real program" with a graphical interface with very little effort. The main downside is that kind of coding tends to be a lot of interfaces and API calls which aren't as much fun.

    --
    I stole this Sig
    1. Re:GUIs and scripting by tricorn · · Score: 1

      You don't even need to install XCode. Just open a terminal window and type gcc or make or some other command that's not installed by default, a prompt will come up to download and install a fairly complete command-line environment. Not a large download, doesn't take up all that much space. Now you can do C/C++, Tcl/Tk, Python, Java, PERL, awk/sed, bash, bc, etc. I think they even include units by default. That's enough to download, compile and install most source packages, or you can add various package-manager/build systems on top of it (ports and equivalent).

      If you later install XCode to do GUI app programming, everything keeps on working, you just add the IDE and support for building Mac and iOS apps.

  45. My pet peeves by TheSync · · Score: 1

    1) Git is horrible for introductory usability. Just today I saw a tweet from a veteran programmer who complained about not remembering how to roll back a commit and needing to Google it.

    2) Overly complex object libraries. No, you don't have to inherit 12 different levels. And "Hello World" should not be a hundred-line program.

  46. Even finding files can be hard by techdolphin · · Score: 1

    I was a programmer and DBA for many years. I learned on command line interfaces, so I have a good understanding about directories and files. Even with that knowledge, sometimes I find it hard to find files in a GUI system. I currently use a Mac. If I use the Terminal program, I sometimes have a hard time locating the files. I can do it, but it is often a pain. I also have the same problem when using windows systems.

    Likewise for my Android phone. Moving a file from my Mac to my phone or vice versa is a real pain. Then opening the app, and finding the file can be a frustrating experience. If I save an attachment from email to my phone, again finding it can be pain. There is no excuse for it being so hard.

    1. Re:Even finding files can be hard by angel'o'sphere · · Score: 1

      If you can not find 'files' in a 'file system' ... you probably have some kind of mental disability. Think about it, I guess you will find a way around it and 'find your files' more easy afterwards.
      E.g. you could figure if you can configure a downloads folder for your email program ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  47. Re:No by Anonymous Coward · · Score: 1

    Run flash? That's a big fail right there.

  48. Expected for maturing technology by joe_frisch · · Score: 1

    When cars and aircraft were first invented, someone with modest mechanical talent could modify or even build one in their garage. Now they are so sophisticated that its very difficult for a non-expert to make any useful improvements.

    Going back further, when people used dug-out canoes and rafts, a little training would let someone build a boat. Later it became a job for experts.

    This may just be what is expected for a mature engineering field.

    BTW - people *can* do home-made modified cars, planes and boats, but its generally at a hobby level and the skills are not that closely related to what is needed for commercial systems. This is similar to learning program rasberry pi, or similar.

  49. It's easier! by tommeke100 · · Score: 1

    Any language like Python or Javascript comes with tons of libraries. I also grew up in the C64 and did some easy BASIC programming. Opening and reading a text file? no clue. Doing that with Python? open( "blah.txt","w").
    There's also this thing called the internet now. It's been around for the public for almost 25 years. If you want to learn how to program, just google it.
    Try learning BASIC with a reference book and no internet and see what happens when you want to do something different than reading in some input and printing "Hello World".

  50. Re:No by Dog-Cow · · Score: 1

    While that is true, I was teaching myself X86 assembly at just about that age. I had already learned several flavors of BASIC and some basic C at that point.

  51. Starting with the Basics by mrbumptz · · Score: 1

    I'm a programmer (started on TRS-80), and I'm helping my 17 years old nephew learn to program. We've done a little of everything over the last few years, but recently we watched Ben Eater's 8 bit computer series on youtube, where he literally builds a computer from logic gates and simple chips on breadboards. He does an incredible job of explaining how computers work, and I think anyone learning to program would benefit from his series.

  52. Nope by Oligonicella · · Score: 1

    anyone learning to program has to start by installing an SDE

    When you start with a false premise, the rest of what you say is suspect.

  53. Backwards by zieroh · · Score: 5, Insightful

    I was a programmer when the Commodore 64 came out, and I'm still a programmer today. So I think I'm reasonably qualified to comment on this topic.

    There is in fact an increasing gulf between computer users and computer programmers, but TFA has it completely backwards. It's not getting harder to code. There are two (and only two) factors at work here:
    1. Computers have gotten substantially easier to use by non-programmers. My parents wouldn't have been able to do anything with my Commodore 64. But they can use a modern computer for normal user-level tasks just fine.
    2. The expectations of what software should do has increased substantially, which means programmers need to be able to create much more complex code to meet minimum baseline expectations. At the same time, though, modern software development has rapidly evolved over the years and now offers better tools, better frameworks, better access to information and documentation, better back-end services (e.g. "the cloud"), better debuggers, and a whole host of other improvements that allow one programmer to do more than they were ever able to do before.

    I will concede one point here: programmers today need to be familiar with a lot more different things (e.g. frameworks) than the days when they had literally no frameworks at all. That said, programmers need much less depth in their understanding of those various pieces, since documentation is literally a mouse-click away in nearly any decent IDE.

    Also, it's called "IDE". This "SDE" acronym is just bullshit and demonstrates that the author of TFA is a bit light on actual industry experience.

    --
    People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    1. Re:Backwards by labnet · · Score: 1

      I think you are fairly close to the mark.
      When I had VIC20 then a C64, you really needed to understand machine code. Back then a basic interpreter sat on top of 6502 cpu, and a non genius could understand it.

      From there I went to VB6, for GUI stuff and C for embedded stuff. Then the WWW came along, and that's when things got complicated.
      When you multiply the number of languages by the number frameworks, you are left paralysed.

      --
      46137
  54. Not harder, but teaching is wrong by HiThere · · Score: 1

    The problem isn't that learning to program is getting harder, it's actually slightly easier. But the approach to teaching it is wrong. If you want to teach the mass of students (a bad idea, by the way) then you need to introduce them to programming with something like Scratch, or Logo and turtles. The assembler level is totally the wrong place for anyone these days. An IBM 7094 or Z80 or I6502 was relatively simple. Even the M68000 wasn't too bad. But modern processors are just to complex to be a reasonable starting point.

    Now for a motivated subset of students Python or C (or Ruby or, perhaps, Go if there's ever a decent introduction) is reasonable. C will give them a better understanding of how computers work, but Python will let them get interesting results faster. It's a trade-off. If you could get anyone to use it MIXX would be a good place to start, but that's going to require a lot of external incentive. If you want to really understand the basis of programming, build a FORTH or Lisp interpreter in C. But that still won't introduce you properly to concurrency, unicode handling, graphics, or even objects. Programming is a lot wider now than it used to be, and it takes a lot longer to master...most people never do master all of it. I'm really weak on graphics programming. (Well, I started on Fortran IV, and even character strings were strange. To me they were fixed length byte arrays, but just try to map than onto a Python3 string.)

    So there's several issues. One thing is picking the right entry point. This has to be varied with the student. Another is limiting your expectations. Very few kids, perhaps none, are going to master all of programming. And the ones who do will spend a decade doing it. But they can learn to handle particular areas fairly quickly.

    One nice book for that that I ran across recently was about constructing mazes in Ruby. It used libraries to make the graphics simple, and focused on the maze algorithms. That would be suitable after they already had some basic knowledge.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  55. Half nonsense by angel'o'sphere · · Score: 1

    I only agree that learning to program is harder in our days because languages are more complex and tools as well. E.g. persistance annotations etc.

    One the other hand:
    1) is wrong. Worst case you have to download an IDE, there is nothngi to install. Linux and Macs come with IDEs/programming languages pre installed, e.g. Python.
    2) is wrong. Modern IDEs give you information, what exactly would they hide? Folding away doc comments?
    3) what has that to do with programming? And we all know where the information os going to: FB and NSA. Where it comes from is irrelevant, most of it is either fake or tits ... who cares?

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    1. Re:Half nonsense by tepples · · Score: 1

      Worst case you have to download an IDE

      Until very recently (Swift Playgrounds), there wasn't a first-party IDE for iOS because of that platform's security restrictions.

      Modern IDEs give you information, what exactly would they hide? Folding away doc comments?

      Inability to debug into the system libraries of a proprietary operating system, for one.

    2. Re:Half nonsense by angel'o'sphere · · Score: 1

      Inability to debug into the system libraries of a proprietary operating system, for one.
      And how so?
      Regardless what IDE I use I can debug just quite fine.

      Until very recently (Swift Playgrounds), there wasn't a first-party IDE for iOS because of that platform's security restrictions.
      That is off topic as you can have those IDEs on a desktop and for Android there are no viable IDEs either that run on android devices.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  56. Equivalencies by Tenebrousedge · · Score: 1

    Starting from functional abstractions is not actually harder than starting with ones and zeros. I've known plenty of people to jump straight into higher level functions without ever writing a for loop. I vastly prefer the person who only knows the higher abstractions to the person who writes C in every language.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  57. Re:Total DRIBBLE. by Oligonicella · · Score: 1

    So, you with your telepathy *knew* he meant "silly nonsense" instead of verbal spew leaking onto a keyboard?

  58. Re:No by BlueStrat · · Score: 1

    [No] It's getting dumber.
    Abstract concept after illogical process.
    Teach people how these machines really work and kids can do it.

    You're kind of on the right track.

    It's not that programming is significantly harder, it's that good programmers need to have the ability to learn how to think logically and critically, which in the modern US "education" system, such skills are anathema. Not only are the skrools not teaching critical-thinking skills, those skills are actively dis-incentivized and even outright punished in some cases.

    Today's US high-school seniors in many regions are being taught only about 50%-60% of the amount of stuff I learned in 6th and 7th grades, hardly any history or civics, and all the rest filled with SJW "socialization" bullshit and learning to feel and vocally accept guilt if you're a cis white male.

    Programming is not harder, people have intentionally been dumbed-down by those in power over education such that they simply are not as capable in general as people once were. Ranchers don't want educated cattle that can oppose their agendas. It has a few downsides, but hey, that's what H1B and offshoring is for, right!?

    Strat

    --
    Progressivism (aka US 'Liberalism'): Ideas so good they need a police/surveillance-state to enforce.
  59. Re:No by Balthisar · · Score: 2, Informative

    Need the quotes for every version of BASIC that I know of. I don't remember if C=64 print command accepts space-separated variables, but you didn't define them, and even if you did, Commodore basic requires a dollar sign to indicate string variables.

    There was a POKE command that would disable RUNSTOP+RESTORE, meaning that you could call your sister a butt, and not be able to stop it, short of a power cycle.

    --
    --Jim (me)
  60. Re:No by 0100010001010011 · · Score: 1

    And some 14 year old was hunting and gathering. Not everyone learns the same or at the same rate. We learn time and time again that 'one size fits all' doesn't ever work.

    I wasn't "properly" introduced to Assembly until a college controls course where we made a PID on a 68k. The goal wasn't to do assembly, it was to make a PID. But that was the motivation (on top of a grade) for me to get into assembly.

  61. Was tried in the Toronto District School Board by mykepredko · · Score: 2

    I think you're confusing what's easy for you with what it would be for somebody starting out or a public school teacher who's setting up a programming course.

    Take a Grade 8 teacher, which is a good age to start programming, who's training specialty is English, French or History, can send an email on a board supplied system, make a powerpoint or word file (or Google equivalent) as well as a FaceBook post on their phone and tell them they now have to setup a Raspberry Pi, support it with the students in the class, learn how to use the file system and now they can start programming.

    This isn't a theoretical example, somebody following your line of thought convinced the Toronto District School Board to buy several thousand (I've heard 8,000 and 80,000) Raspberry Pis for grade 1-8 classrooms and, two years later, maybe a couple of dozen of them are now being used.

    The only successful thing that was done was to convince teachers and the board that it's hard to teach programming using Raspberry Pis.

    1. Re:Was tried in the Toronto District School Board by J.+T.+MacLeod · · Score: 1

      The Raspberry Pi, great as it is, still involves some up-front complexity in a lot of ways that people don't expect. Sure, it's easy to open a terminal and run Python, but knowing what you need to do in order to type and run a program is a barrier without a manual and icons set up on the desktop.

      But if someone bought Raspberry Pis and just handed them to teachers without setting it up for a specific purpose, that's just an idiot move by the administration. This isn't the 90s when people bought PCs for every classroom with no aim because no one had any idea what they might be able to do.

    2. Re:Was tried in the Toronto District School Board by mykepredko · · Score: 1

      Actually, it is like the '90s where schools and teachers are told to bring programming into the classroom and nobody has any idea how to approach the issue.

  62. :Your Past Reinforces Stereotypes by mykepredko · · Score: 1

    I agree with a part of your statement, but what's missing is giving students a chance to see what programming is and whether or not they like it/can do well at it.

    What's needed are platforms that appeal to all students to at least give programming a try and work at a level that all teachers can support.

  63. Re:No by Z00L00K · · Score: 4, Insightful

    Basic of today is Python. It's decent for beginners.

    Back in the 80's computers were a lot simpler and you could assert full control over every aspect of them - and discover the actual limits of them. All you had at that time were information provided in the manuals, either for the computer or for the chips in the computers and by others - and often shared in computer magazines.

    But the problem with computers today is that even if you have the computer with even Linux installed on it you don't have full and total control over the computer. With Windows you have even less control over your computer and can only do what the great leaders in Redmond decides you should be doing. Also look at the Management Engine that is completely outside the control of the person owning the computer. And there's a huge amount of functionality that's provided only if you sign a NDA and pay a huge amount of money. The UEFI is also adding constraints to computers today that weren't an issue in the 80's.

    Today the best bet is still regardless of stated above to do development work on Linux, at least there the ability to access the code of others for learning still exists and you can make your own mistakes. The environment that's most similar to what could be experienced in the age when teenagers and even younger were starting with computers is probably the Raspberry Pi and Arduino.

    What we miss today is also all those small teams of programmers that made for the time really awesome graphic demos on Amiga and PC in ways that really looks good even today. Some of that was done by "cheating" by modifying the color palette instead of just drawing the full picture over and over again. But why waste CPU cycles on redrawing a whole picture for recurring graphics?

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  64. JavaScript ain't the single word by mykepredko · · Score: 1

    I can see Javascript being a good way to be introduced to basic programming for the reasons that you state.

    The problem with Javascript is it's terrible execution model for catching run time errors (it basically doesn't which makes it harder for students to see and debug their mistakes), it's event driven execution which doesn't work in a way that follows any other model and going from simple programming to even using it in web pages requires a step function in understanding and learning that requires a lot of time.

  65. Re:No by Z00L00K · · Score: 1

    You forgot the quote marks.


    10 PRINT "MY SISTER IS A BUTT"
    20 GOTO 10
    RUN

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  66. Demand by More+Trouble · · Score: 1

    When demand was low, the handful of people for whom programming was exciting were all that was needed. Now, demand is very high, and learning to program will be quite difficult for the masses need to fill this demand.

  67. Re:No,learnign to programming hasn't gotten harder by MightyMartian · · Score: 1

    Well, that's not really true at all. I had a small library of programming books; some specific to my home computers, some general programming books (Introduction to Algorithms is still one of the great programming books of all time), not to mention generalist magazines like Byte as well as pretty much every home computer or at least line of computers having its own dedicated magazine. Yes, it wasn't as convenient as Google or Youtube, but help was there. There was also a local computer club in my town, which meant a couple of times a month, and if I was really in a bind I could usually call up one of the smarter guys, who were always happy to share their knowledge.

    I mention elsewhere that my crappy TRS-80 also came with a very good manual with an excellent introduction to programming, and I know there were some very good books for programming on C64s and Apples and the like.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  68. Profitable software on Floppies by Invisible+Now · · Score: 1

    Like many others, here. I once wrote commercially useful software "Lessor II "that booted off a 5.25 " floppy. The original floppy floppies! Don't want to draw flames by identifying which standalone, language it was written in. Many could boot from the A: drive and a ROM'd motherboard (ahhh... "Motherboards"...sigh) It solved a business problem and licensed for over $1,000. Recently I have tried to develop within the newer Frameworks environments, and found it frustrating to developing with NPM,always downloading some knucklehead's newest contribution to an already good enough to begin development codebase. Watching some communities flaming amongst themselves and chasing the newest cool makes coding like watching two drunks play eightball.. they scratch so often you begin to wonder if they will ever get all the balls to stay down in the pockets. And when the cloud goes down; only needing 115 V. A.C to do useful computing will seem as robust as cockroach biology!

    --

    "Knowing everything doesn't help..."

    1. Re:Profitable software on Floppies by OrangeTide · · Score: 1

      frustrating to developing with NPM,always downloading some knucklehead's newest contribution to an already good enough to begin development codebase

      That's the NodeJS community for you. Half the people are developing some whizbang new framework, yet have no real applications of their own under their belt. Total amateur hour.

      I wonder if anyone will catch on that developing software that is semi-connected is not much more difficult than 24/7 connected cloud software, yet way more robust. Being able to operate my business while systems are temporarily offline, yet quickly sync them back on when connectivity is reestablished just makes good sense. Businesses that plan only for ideal conditions, like having perfect Internet access, are not robust businesses.

      --
      “Common sense is not so common.” — Voltaire
    2. Re:Profitable software on Floppies by ichimunki · · Score: 1

      The original floppy floppies were 8". Just sayin'. :)

      --
      I do not have a signature
  69. No, CS school programs are ruining it by darkain · · Score: 1

    No, Computer Science programs in school are ruining it. Their idea of "programming" is "what the fastest way to solve (X)", when (X) is an already solved problem that we could all just go look up. Or, alternatively, they'll give you a specific name of an algorithm, and ask you to reproduce it. How many people memorize every single array sorting algorithms by their names, and can reproduce them purely off memory?

    In the real world, these are already solved problems, AND those problems are very well documented, AND we have direct access to this documentation while on the actual job or doing hobby work at home.

    But when programming is brought into grade school, this is where the focus is. Why? Because there is where the university focus is. Why? Because it is easy to test on. That's it. It isn't critical thinking, which is what programming REALLY is all about. It is just about instructor's laziness to come up with testing requirements for students. And then this very same mentality is used for job hiring processes too.

    When I learned how to program? We were still in the DOS and Windows 3.1 era. DOS came bundled with QBasic. And what did QBasic come bundled with to help learn how to program? Not a bunch of CS algorithms, but instead it came with Snake and Gorilla, a pair of games you could easily load up and instantly play. Wanted to change the color of the banana? Just start reading the source code and start playing around with it. Wanted to mess with the field layout? Same thing. It was simple. It was fun. It was engaging. It was exciting....

    But, it isn't something that could easily be tested. So educational resources shifted away from this style of learning.

  70. Re:No by ShanghaiBill · · Score: 1

    On the Commodore, you just need to turn the computer on, and get a BASIC interpreter prompt.

    And then what? A prompt is useless if you don't know what it is, and don't already know BASIC.

    Web programming interfaces are drag-and-drop, with plenty of sample code and Youtube tutorials for almost anything you can imagine.

    I volunteer at my neighborhood school. We teach Scratch to 4th graders, and most of them are able to write their own programs in the first week. The 6th graders use Python, which is easier to learn and use than BASIC, and only about 20-30% are writing original code the first week.

  71. Re:SDE is Necessary? by Z00L00K · · Score: 1

    VIM is too good - start with an editor like Edlin or a pure Basic interpreter where you do the editing in the interpreter by utilizing the line numbers.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  72. Here's my take by DaMattster · · Score: 1

    Programming is probably becoming harder because computers are far more complex than they were in the days of Commodore 64. In order to be a good programmer you have to understand how to write software that can take advantage of multi-processor and multi-core systems. The article is wrong that programmers should not have have strong system administration skills. True masters of BSD and Linux are both competent systems admins and developers. Good developers must understand how their computer operates. In fact, I would go as far as to argue that anyone that aspires to software development should first become a competent system admin. If you do not know how your computer operates, performance tuning, good security practices, etc., how can you write good code - you end up with stuff that is riddled with security holes and memory leaks.

    1. Re:Here's my take by david_thornley · · Score: 1

      The real question is whether it's easier to be a crappy programmer then or now. Becoming a good programmer requires more knowledge than it used to, but if you become a crappy programmer you might well have the incentive to become a good one.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  73. Re:No by Stephan+Schulz · · Score: 1

    Well, Apple has been putting Python on all Macs since about forever, and I would maintain that Python is as easy as, and in many respects much better than, most versions of BASIC. Of course, to run it you need a terminal, and most Mac users don't even know they have Terminal.app, much less what to do with it. You also need an editor, and while vi/vim is also installed, it's not the most beginner-friendly editor around.

    --

    Stephan

  74. Re:No by DontBeAMoran · · Score: 1

    Before you can program anything useful, you need to learn to program. The C64 still has the advantage.

    --
    #DeleteFacebook
  75. Where did QBasic go? by OrangeTide · · Score: 1

    I think something like QBasic should have been bundled with Windows and installed by default not unlike other basic utilities like Calculator (calc.exe) and Notepad. Installing it after the fact is not ideal but acceptable too. There were a lot of quick and dirty bits of work that people could throw together in a few lines of BASIC back in the day. Kind of the point of a computer is to have it do tedious repetitive work with only a few instructions.

    But don't forget, every PC, tablet, and phone has a JavaScript environment installed.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:Where did QBasic go? by Mal-2 · · Score: 1

      It took a while, but you have QB64.

      --
      How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
    2. Re:Where did QBasic go? by OrangeTide · · Score: 1

      QB64 is an excellent product, and I've used it in the past to port old GW-BASIC code.
      But it is not distributed by Microsoft with every computer. Which I think is a valuable piece that gets people used to the idea of programing their own computer.

      I also recommend Lazarus IDE if you want to to flex your Delphi/TurboPascal muscles. I think Pascal is a bit easier than C to pick up the basics, and that particular IDE is easier than most of the free ones for C. Sure Visual Studio Express is more powerful and free, but that level of complexity is not really what I was aiming at and kinda why we have fewer people picking up programming as a hobby.

      --
      “Common sense is not so common.” — Voltaire
    3. Re:Where did QBasic go? by Mal-2 · · Score: 1

      QB64 is not Microsoft's product, and frankly I wouldn't want it to be. Their current development practices are rather messy and non-optimal, but they're getting results.When I filed a bug report, they asked me to help define what the correct behavior should be and to help test the fix, which came inside of two weeks. Not only did they enable proper support for stereo sound (it had been getting downmixed to mono due to a poorly written routine), they decided to really fix it and implement full surround sound with an arbitrary number of channels -- because they knew someone would ask, even if I personally only wanted stereo to work. When I filed a report of missing functionality, they disagreed that it qualified as such but implemented it anyhow because I was able to demonstrate how it would make certain operations much simpler to perform. I don't think I would have gotten either of those results from Microsoft.

      As for the disadvantage of not being bundled in the OS, merely having enough exposure that people check things out on their own is a serviceable substitute.

      --
      How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
  76. Ob by Hognoxious · · Score: 1

    High School/Jr. High

      10 PRINT "HELLO WORLD"
      20 END

    First year in College

      program Hello(input, output)
      begin
      writeln('Hello World')
      end.

    And so on ...

    https://www.gnu.org/fun/jokes/...

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  77. Re:No by Jhon · · Score: 1

    "On the Commodore, you just need to turn the computer on, and get a BASIC interpreter prompt."

    If it involves any disk IO there was a hell of a lot of "waiting" involved.

    Atari, on the other hand was substantially faster. Hell, the Atari tape drive wasn't much slower than the C-64 disk drive -- but it could also play an audio track through the TV speaker as it loaded.

    Oh, how I miss the Atari vs. C-64 wars...

  78. Abstractions by Tenebrousedge · · Score: 1

    Yes, the fundamental tool of the programmer is not ones and zeros, but abstraction. Both binary math and functional abstractions can be used as the basis of computation, but if you are going to focus on one to the exclusion of the other, then learning functional abstractions will serve you better in the long run. How computers work is incidental to the mathematics of computation, and a university course should be teaching you far more about the Church-Turing thesis than bit-banging.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  79. Re:No by HornWumpus · · Score: 1

    Damn kids.

    When I was a kid, if we wanted to program anything, we started by getting an account, then we found our way to the card punches.

    Don't assume your single data point is all there ever was.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  80. Problem is deeper rooted by DaMattster · · Score: 1

    The US Education system does not reward critical thinking skills, maybe it actually does a lot to discourage it. Here is an example. Until my 11th grade year, I was always taught history from a text book. My 11th grade history teacher actually said that he refuses to use history books because they water down and distill history to one point of view and that they discourage critical thinking. In fact, he opened our eyes to the fact that history is taught from a single perspective, the white, male one. This made me finally understand why sections on outright Native American abuse and ethnic genocide was relegated to small blurbs inside the book. The text books all taught American History from the manifest destiny, white male superiority perspective. History came alive for me that year because he really and truly taught it from as many different angles as possible. Instead of relegating the Cherokee Trail of Tears to a small blurb that we had to read, we dove into it head first. We were assigned readings by research historians on the topics instead of reading some distillation calculated to indoctrinate a the white male superiority particular way of thinking. In most classic textbooks, Andrew Jackson was a storied hero. More accurate accounts portray him as being quite a bit more human: i.e. theories he suffered from alcoholism and that he was a scoundrel being not of any great upstanding character. Furthermore, the readings he assigned did not paint the Cherokee as perfect and they have done some things that are abhorrent too. The best way to encourage learning is to foster critical thinking. Critical thinking makes learning exciting.

    1. Re:Problem is deeper rooted by sfcat · · Score: 1

      The US Education system does not reward critical thinking skills, maybe it actually does a lot to discourage it. Here is an example. Until my 11th grade year, I was always taught history from a text book. My 11th grade history teacher actually said that he refuses to use history books because they water down and distill history to one point of view and that they discourage critical thinking.

      Couldn't agree more. However you continue...

      In fact, he opened our eyes to the fact that history is taught from a single perspective, the white, male one. This made me finally understand why sections on outright Native American abuse and ethnic genocide was relegated to small blurbs inside the book. The text books all taught American History from the manifest destiny, white male superiority perspective. History came alive for me that year because he really and truly taught it from as many different angles as possible. Instead of relegating the Cherokee Trail of Tears to a small blurb that we had to read, we dove into it head first. We were assigned readings by research historians on the topics instead of reading some distillation calculated to indoctrinate a the white male superiority particular way of thinking. In most classic textbooks, Andrew Jackson was a storied hero. More accurate accounts portray him as being quite a bit more human: i.e. theories he suffered from alcoholism and that he was a scoundrel being not of any great upstanding character. Furthermore, the readings he assigned did not paint the Cherokee as perfect and they have done some things that are abhorrent too. The best way to encourage learning is to foster critical thinking. Critical thinking makes learning exciting.

      This really seems like you were taught history in this class from a very specify and disingenuous point of view. Just as problematic as the POV you rail against. Those events are extreme examples for sure, but the US is a big country and has been at various points the "good guys" and at various points the "bad guys". When you study history the way your teacher did, you forget that and even worse, project modern morals on historical figures. Likely without any perspective on the society and culture in which those people lived. Its a viewpoint that's attractive as it makes one feel morally superior but generally it has a very negative impact on the students as they fail to notice the historical similarities between the past and now as they see historical events in a simple, good vs evil way. For instance, Tammany Hall is much more interesting to study than anything you mentioned, far more representative of US history and probably a lot more useful to students in the age of Trump. But I'm glad you enjoyed your class.

      --
      "Those that start by burning books, will end by burning men."
    2. Re:Problem is deeper rooted by david_thornley · · Score: 1

      GP was exposed to two different points of view, and had to learn to reconcile the accounts. That's one of the most important lessons about history you can learn, that it is written from points of view, and no point of view is perfect. It hardly matters what the actual history is that's being learned as long as that lesson is taught.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  81. Re:No by tepples · · Score: 1

    Result:

    Oh no! We're having trouble displaying this Scratch project.
    If you are on a mobile phone or tablet, try visiting this project on a computer.
    If you're on a computer, your Flash player might be disabled, missing, or out of date. Visit this page to update Flash.

  82. Re:No by HornWumpus · · Score: 1

    C and at least 2 assemblers should always be among the first 5 languages. Otherwise it's too late, might as well only learn Java.

    Add a 'Lisp like' to the first 5 and you don't have much room for pure learning languages. Select carefully.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  83. Re:Hence all the foreign IT workers by HornWumpus · · Score: 1

    I need TP too.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  84. Re:SDE is Necessary? by HornWumpus · · Score: 1

    What? Autocomplete and reflection from libraries/webmethods is a huge learning aid at all stages.

    As always: Languages are easy, libraries are hard. You should pick up languages in a week, after the first dozen. Libraries can be almost as fast, if you've seen it all before and don't have to memorize the new deckchair arrangements.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  85. Re:No by angel'o'sphere · · Score: 1

    You could have made it more essy by providing a link people could click on :)
    Muhuhuha!
    But that would be to easy :)

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  86. Easier. by SeattleLawGuy · · Score: 2

    And they are all harder to find than writing your first '10 print "hello"' one you calculator/C64
    Going from not having a clue about programming to writing your first simple line in any language is by far the hardest and most important step when it comes to programming.
    The rest is breeze compared to that.

    I think the rest is harder--not for any of us since we know how to do it, but for someone learning to program, debugging is incredibly frustrating and a huge barrier to entry.

    Even that's much easier, primarily because (1) stackoverflow and (2) there are MUCH better IDEs than there used to be.

    Still, kids may get frustrated more easily. Being a programmer takes a certain amount of being stubborn in the face of unparseable errors.

    --
    Real lawyers write in C++
    1. Re: Easier. by javaman235 · · Score: 1

      There's a really big cultural shift, between the great industries of yore, like Ford selling farmers pickups and tractors so they can do new things, and modern silicon valley trying to do things FOR people, total control, centralized power. Programming skills aren't conducive to the latter, one of many ways the latter is a bad direction.

      --
      -The art of programming is the pursuit of absolute simplicity.
    2. Re:Easier. by Anne+Thwacks · · Score: 1
      debugging is incredibly frustrating and a huge barrier to entry.

      Especially when the only error message is:

      Syntax error at or near: line 1, column 1

      Maybe BASIC is not the best way to go, after all.

      I think the real issue is, as was pointed out earlier, it is very easy to create a command line UI after seeing one. However, most kids today have not seen one. It is, however, also very easy to create a web page and not have to worry about "creating the whole GUI" - however, you need a server for your web page, You are probably not going to have access to one without significant effort. Installing and commissioning Apache is hardly "dead easy for a beginner" even on Linux.

      Many years ago, in the days of HTML 1.0, I had a web server running, and people who today find it hard to post on Facebook were able to create web pages. (I am not claiming the web pages were any good, but nor would I claim anything on Facebook is much good either).

      The ideal learning environment is a system that starts by taking people from dumb terminal interaction on the command line, though the level where you had terminals with programmable fields, that sent the contents when you pressed [RETURN] and then to HTML. I suggest that is one to three hours learning. After that, they need access to a web server where they can put their stuff on their local machine.

      I know in theory the default installation of Apache on Linux is supposed to do that, but, as they say:

      in theory, theory and practice are the same.
      In practice, they are different

      Yes, I run Nginx on OpenBSD, and my youngest son uses something else on OSX to develop websites professionally. He started by using Apache on FreeBSD hosted by me at the age of fifteen. He had no need to know anything about Apache - just put the stuff in a specific directory on the server - and he has also done the same on "a popular hosting company" which is not exactly expensive. He is now doing Ruby on Rails professionally, but has PHP and C experience.

      I think the answer is as simple as preconfiguring Linux installations to serve any directory off user's home directory called www as http://localhost/<user>/ and jailing the directors of browser companies that stick up error messages when serving http.

      Any kid who is not inquisitive enough to use the command line interface in Linux will never become a coder, and anyone who does not have access to a PC with Linux is doomed.

      I do not recall either of my sons ever asking for help debugging - but we spent many hours playing Commander Keene - which is the ideal tool for teaching persistence. I am not sure Mario Kart has the same benefit. I await a flame war between GTA and Leisure Suit Larry fans with interest.

      --
      Sent from my ASR33 using ASCII
    3. Re: Easier. by Cryacin · · Score: 2

      Horsecrap it's harder today.

      I learned C++ in 1990. Whenever I had a problem, I couldn't google it. I didn't have peers of students and professionals on demand at stackoverflow, hell no.

      I had the shitty floppy disks that came in the back of magazines, and when really desperate, programming BBS's that I would need to dial internationally to post questions on. Oh yeah, each question was like $10. Yes, back in 1990. That dial up was an expensive lunch.

      And if you want to talk barriers to entry back then? How about a computer being roughly the same price as a second hand car?

      --
      Science advances one funeral at a time- Max Planck
    4. Re: Easier. by Bruha · · Score: 1

      FidoNet would of been cheaper via a local bbs back then.

    5. Re: Easier. by cthulhu11 · · Score: 1

      We also didnâ(TM)t used to have the rapid turnover of language trendiness we have had for years now. Itâ(TM)s hard to keep up. Perl! No now itâ(TM)s Ruby! No now Python is back from the dead with its punchcard anachronism. No now itâ(TM)s golang!

    6. Re: Easier. by david_thornley · · Score: 1

      I've been getting by with C++, Perl, and Common Lisp as my favorite languages for a long time. If I have to learn another language for a particular purpose, I can.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  87. AIDE or Swift Playgrounds by tepples · · Score: 2

    But how do you program on a phone or tablet?

    Try AIDE on an Android tablet.

    Last I heard Apple forbids programming on their phones.

    Since you heard last, Apple has loosened the policy, allowing things like Swift Playgrounds for iPad.

  88. Tools by Tenebrousedge · · Score: 1

    Actually I think that people who use the word 'coding' have no clue about computers and software anyway ...

    You overvalue the utility of low-level abstractions, and your own knowledge. "Knowing about computers" as you have defined it, is not as important or as useful as higher level abstractions. If things were otherwise, we would not have bothered to invent higher level languages. Further, the computers you describe are merely computing toys, extremely limited in expression and ability. If you reduce what can be done to the level of PEEK and POKE, then you can indeed say that your system is simpler, in the same way that a tricycle is simpler than a car, but PEEK and POKE are not going to help you build web pages, or anything else of interest.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  89. Much misinformation and ignorance by duke_cheetah2003 · · Score: 1

    The fundamental problem is that the barrier between using a computer and programming a computer is getting higher.

    No, it's not. It's never been easier. Visual Studio is free, for Windows development. The Android SDK, free. GCC and Linux development, all free.
    In the era you're referring to, you had to pay Microsoft quite a hefty sum to get your hands on their C compiler. Linux didn't exist. Development for computers was never as difficult as the early days. And I'm afraid referring to the BASIC interpreter on the C64 doesn't count.

    1. Computer retailers stopped installing development environments by default.

    And for good reason. Those development tools and environments are costly in terms of storage. Most people don't use them. Why waste all that space on something 99% of end-users won't ever touch. This is a good thing.

    2. User interfaces shifted from command-line interfaces (CLIs) to graphical user interfaces (GUIs). GUIs are generally easier to use, but they hide information from users about what's really happening. When users really don't need to know, hiding information can be a good thing. The problem is that GUIs hide a lot of information programmers need to know. So when a user decides to become a programmer, they are suddenly confronted with all the information that's been hidden from them. If someone just wants to learn to program, they shouldn't have to learn operating system concepts first.

    Really? Someone shouldn't learn about the environment they're intending to develop code for? This is so stupid I don't even have words. It's kind a given, if you wanna do development, you need to be a power-user first, and understand the underlying systems if you ever hope to manipulate them into doing something. This is soooooo wrong. Couldn't be any further from the mark.

    3. Cloud computing has taken information hiding to a whole new level. People using web applications often have only a vague idea of where their data is stored and what applications they can use to access it. Many users, especially on mobile devices, don't distinguish between operating systems, applications, web browsers, and web applications. When they upload and download data, they are often confused about where is it coming from and where it is going. When they install something, they are often confused about what is being installed where. For someone who grew up with a Commodore 64, learning to program was hard enough. For someone growing up with a cloud-connected mobile device, it is much harder.

    If a person had a basic understanding of the operating systems they're intending to develop for, it being remotely located is a non-issue. This is just dumb for dumb sake. This doesn't even belong here. It's irrelevant -where- your application is running, be on your machine, someone elses, or a remote (Cloud) server. It's all computers. You should be learning the basics so these new concepts are easier to grasp and understand.

    Bottom line: Whoever wrote this is brain-dead. They don't know anything about computers or the software development cycle. I'd be surprised if they ever did anything other than load Archon on that C64 he's getting all nostalgic about.

  90. Re:No by Dutch+Gun · · Score: 1

    1 - It's just a few clicks to install a modern software development environment like Visual Studio, Xcode, NetBeans, whatever. If you can't get past that, you're probably going to have problems. Besides, that, there's already a development environment installed on any computer - just fire up a web browser, and you've got a basic interpreted Javascript programming environment.

    2 - I learned C++ a few decades ago using Turbo C++. Never knew what was happening on the command-line, and didn't really care. Saved me a lot of fussing about that sort of thing, allowing me to focus on learning the language. Working from a command-line prompt doesn't magically make the job easier. It's just a different way of working.

    3 - Most programming in general, even today, has jack-all to do with cloud computing. But the web has made getting good information about a hundred times easier than it used to be - not to mention for free. Overall, I'd still call it a win.

    I think the author missed a big one. It's not that graphical interfaces make programming harder - in fact, I think the opposite is true. But programming for GUIs is harder than writing a simple command-line app or utility. I also think much more is expected of modern applications, and they're much more complicated in general, simply because they DO so much more than they used to.

    So, yes, it probably takes longer to get up to professional speed, but it doesn't necessarily mean it's harder to learn how to program in general - there's just much more to learn about the environments you're programming for. Several decades ago, computers were vastly simpler than they are today, and so yes, young programmers now have a lot more to learn.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  91. IDE != SDE by rundgong · · Score: 1

    You can very well have a Software Development Environment without having an Integrated Development Environment.
    GCC + a crappy text editor is a SDE, but it most definitely is not an IDE.

    I guess an interactive python interpreter and nothing more could also be considered an SDE but not an IDE

    1. Re:IDE != SDE by zieroh · · Score: 1

      You can very well have a Software Development Environment without having an Integrated Development Environment.
      GCC + a crappy text editor is a SDE, but it most definitely is not an IDE.

      I guess an interactive python interpreter and nothing more could also be considered an SDE but not an IDE

      My point was that SDE is a meaningless term in the industry.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
  92. Re:No by ClaraBow · · Score: 1

    That was my first thought. If an inspiring programmer can't install a program using a simple GUI installer, then It's going to be a very rough road to writing "Hello_World."

  93. True, but what if you wanted to do more? by rsilvergun · · Score: 2

    If your dad was an engineer, good for you. Also good for you if you were some kind of Savant or if you had a well stocked library or the dude at the computer store wasn't just some pimply faced teen but knew stuff.

    For the rest of us we kinda hit a wall on programming after the limited information we had was exhausted. It was '93 before I got my hands on copies of Computer! Gazette and learned that machine language was a thing. My teachers were all pretty useless too (and I went to a tech themed "magnet" school).

    Nowadays I can open a browser, start typing in stuff like "How to make games", find Stackoverflow and away I go. Learning to program is way, way easier.

    Now, getting a _job_ is way, way harder. H1-Bs + outsourcing means programming jobs are impossible to get without a 4 year degree (at least in the States).

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:True, but what if you wanted to do more? by dcw3 · · Score: 1

      Now, getting a _job_ is way, way harder. H1-Bs + outsourcing means programming jobs are impossible to get without a 4 year degree (at least in the States).

      Many career fields, not just programming, have gone that way over the last few decades. A BS only a little more than the HS Diploma of the 70s.

      --
      Just another day in Paradise
  94. Re:No by StormReaver · · Score: 2

    And then what? A prompt is useless if you don't know what it is, and don't already know BASIC.

    Then you open the programming book that came with the computer. When I got my first TRS-80 Color Computer 2 in 1985, it came with a two hundred (approximately) page book describing how to use the computer and program it in BASIC.

    Like the C=64, the computer booted, instantly (seriously, a couple hundred milliseconds), into a BASIC-ready command prompt. Then the excellent manual walked through programming it. Nothing since has reached that level of easy. Once IBMicrosoft took over, computers became increasingly newbie-unfriendly.

    So yes, the article is correct to a large degree. That being said, though, kids nowadays are born into a technological saturation to the point where most of the things they need to do to begin learning to program come fairly easily to them. It may not be as easy as the Color Computer/C=64/Atari days were, but it's within their reach with a little assistance.

    But to drive the point home: back in the 80's, kids could do it all with NO ASSISTANCE WHATSOEVER if they were interested. The whole home computer paradigm revolved around that notion.

  95. Re:No by DontBeAMoran · · Score: 2

    Just stop. You can't be serious. Memory allocators? Memory interrupts? Memory pages? Seg faults?

    The C64 had a flat 64KB RAM directly accessible by the CPU. Really simple, none of the things you're talking about. Also, what you're talking about is for ADVANCED USERS and some of those things for x86 processors only. We're talking about people who are just learning how to program, basic concepts like variables, arrays, that kind of stuff. You can't go from zero to 100% instantly. The basics - stuff you now take for granted - have to be learned.

    We're talking about kids learning to ride a bike and you're talking about the complexities of a formula 1 engine. Just stop.

    --
    #DeleteFacebook
  96. Windows-specific problem? by michael_cain · · Score: 1

    A good deal of the problem described in the original post -- lack of any sort of IDE -- appears to be mostly Windows-specific. Macs come with Python, Perl, and vim installed. Most Linux distributions come with all of those. Heck, most Raspian distributions for the Raspberry Pi come with all of those (one of the first things I did when I fired up my first Pi was to write and run "Hello, world!" in all of C, Perl, and Python, without installing anything extra). The Python standard library includes a GUI. Tcl/Tk may be a terrible GUI, but you can learn to open windows, add buttons, listen for events, etc.

    Fuss at Bill Gates, or whoever's in charge these days.

  97. Re:No by BFlatSeven · · Score: 1

    That is EXACTLY the kind of thing I used to do in the beginning! It's like you were there. It's amazing how messing around on the computer back in the day has turned into a full time profession now, and I'm fairly certain that it would never have happened if I had to go out of my way to do it. It was all right there, and dead simple.

    --
    If only you could see what I've seen with your eyes ...
  98. Re:No by ShanghaiBill · · Score: 1

    Then you open the programming book that came with the computer.

    How many 10 year olds could understand that manual?
    How many 10 year olds can understand an animated tutorial for Scratch?

    back in the 80's, kids could do it all with NO ASSISTANCE WHATSOEVER if they were interested.

    For a very small percentage of intelligent self-motivated kids, I am sure that was true. But it is EVEN EASIER TODAY. Barriers have gone down.

  99. Re:No by MemeRot · · Score: 1

    All I ever did on my TRS-80 was type in programs from a book that did silly animations. I learned nothing from it

  100. Re:No by MemeRot · · Score: 1

    Get a lot of job offers for writing assembly?

    Programming is a trade. Learn the languages that are in demand. If you're a woodworker you want to know how to use the tools of a modern woodshop, not how to do everything with antique tools

  101. Yes and no by basic.gongfu · · Score: 1

    I started out on the C64 back in 85. The fact that BASIC was basically staring you into the face first thing when you turned it on, compared with reasonably interesting examples in the manual; probably played a big part in getting me hooked on code. Today there is so much more to choose from, and the information is much more accessible. I remember saving money to buy very expensive programming books from one of the students in school who ran group orders from a catalog, and copying Turbo C++ from the school software library. Downloading Python and hitting a tutorial sure is easier; and Stack Overflow, for all its faults, saves a lot of time. Everything is more complex today, that's the biggest issue from my perspective; it's more difficult to get traction.

  102. Re: No by bondsbw · · Score: 1

    And PS is a relatively intuitive shell (for newcomers).

    I find it odd that the author mentioned the problem of GUIs hiding information, when generally they can provide much more information density than command line. Even if you manage to get charts or graphs from a CLI interface, you are still limited in resolution and color space... delimiting elements like lines can be much finer and even take advantage of subpixel rendering in a GUI.

    The problem is when a GUI doesn't provide any way to make the info accessible--not whether it is easy to find. But it's not like the CLI specifically solves this issue, many CLI applications do not make all information within the scope of the application accessible.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  103. Is $200 million supposedly significant? by RhettLivingston · · Score: 1

    So, with the Feds budgeting $200 million a year for K-12 CS at the behest of U.S. tech leaders, can't the tech giants at least put a BASIC on every phone/tablet/laptop for kids?

    $200 million is a token amount to pretend that action is being taken. It is less than $4 a year for each student. There are about 56 million K-12 students in the U.S. Multiply that by at least 50 to get near $200 per year and we might start seeing "programming" take baby steps towards becoming a basic skill as it should.

  104. Wrong as it may be... by cloud.pt · · Score: 1

    ...and by "it", I mean the conclusion about "putting a BASIC on every device" - there are some good points here:

    Not knowing what a browser is happens to be one of the recurrent, quasi-omnipresent aspects I am faced with on the many instances I provide tech support. Even for my somewhat most tech-literate solicitors. I no longer even hear the "oh you mean Internet Explorer/Chrome" so much - it really is not knowing there is a program where you put www urls in and get a page. People are to used to link clicking and glorified bookmarks on a desktop icon. Those are well and good for the elder, but when I see little kids on my environment do this, it both makes me feel old and makes me feel we are in for a dumb generation.

    Another one that really stuck was about the "where is this stored/installed?" Android/iOS, Chrome (extensions), MacOS, Windows and even Linux are becoming very seriously addicted to this "app ubiquity" and transparency through centralized, curated, SANCTIONED store systems, so much so that newcomers fail to figure out unavailability of a program is, most of the times, internet connection. Or worse, they can no longer remove resource-heavy apps themselves because they couldn't figure out they're installed and/or running in the first place. It's stupid, and it's a lot more serious than missing out on programming - it's missing out on self-awareness and self-support.

    But well, there will be more jobs for us enthusiasts and pros.

  105. Re:No by lsllll · · Score: 1

    For a very small percentage of intelligent self-motivated kids, I am sure that was true. But it is EVEN EASIER TODAY. Barriers have gone down.

    lol. You mean the bar has gone done. Like in a pole vault. I can pole vault over a 3 foot barrier. Hell! I don't even need to use a pole vault.

    Kids overcame what you describe as "barrier", so it wasn't a barrier. It just set people apart, like they should be. It's the same as a medical school entrance criteria based on MCAT score. If you can't memorize a bunch of mumbo, jumbo to get a good grade on an MCAT test, then you're not worthy of attending medical school.

    --
    Is that a roll of dimes in your pocket or are you happy to see me?
  106. Re:No by lsllll · · Score: 1

    All I ever did on my TRS-80 was type in programs from a book that did silly animations. I learned nothing from it

    Are you a programmer today? Think before you answer that question. You may be working with computers, but I doubt you'd be considered a programmer.

    --
    Is that a roll of dimes in your pocket or are you happy to see me?
  107. Re: No by Luthair · · Score: 1

    Consider access, how many people actually had access to the TI versus the number of people with access to a PC today.

  108. Re:No by LWATCDR · · Score: 1

    It isn't really about the tools. The truth is the tools are cheaper and more available than ever. Eclipse CDE and g++ for example. Computers are cheap and available as well. Want to learn? You have all the information you want online.
    What it is really about is complexity and expectations.
    Back in the C64/Atari/AppleII/TRS-80/Coco days you could understand the systems. It was also possible for a single person to write a game or utility. Today people expect more and the systems are more complex. A Pi is more powerful than the workstations and minicmputers I lusted over as a kid.
    Would it be great if Microsoft included Visual Studio? Sure but that is not the limiting factor? No. Now all the cool little SBCs out today are really cool options and very much like the old C64a

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  109. Re:No by e**(i+pi)-1 · · Score: 1

    yes, while funny it hits the spot. It had never been easier to program than with these computers. I myself had a Tandy imitation). When the machine was turned on, all you could do is program in basic. backing up a program was tougher (audio tape!). Today, we not only have the the task of finding the programming language but also which version and which tools. Even for well groomed programming languages, textbooks are rather quickly obsolete, often not so much because of language change but because libraries change.

  110. MIT Libs by wolfheart111 · · Score: 1

    I love reading other peoples work, and to see how they design a solution to a problem. Some brilliant coders out there.

    --
    [($)]
  111. Check it: by fyngyrz · · Score: 1

    For someone growing up with a cloud-connected mobile device, it is much harder.

    Found the problem. Programming on your mobile device? Please. That's like trying to have a dinner party inside your kitchen's trashcan.

    That Commodore was a desktop device. Today's equivalent systems are also desktops: Linux, mac, both come with pre-installed Python, among other things. Hugely more powerful than the author's Commodore SDE. You want it on Windows, it's one free-and-easy install away (or maybe it's pre-installed now, haven't used newer Windows OSs... you'd think it'd be there, because duh, but anyway it's not like it's hard for it to be there.)

    Ask one very basic question "how can I write a little program" get one easy answer "go here, download X."

    Seems to me that if you can't navigate those waters, you're going to drown trying to take a leak in your toilet before "learning to program" becomes a problem.

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Check it: by Luthair · · Score: 1

      Every PC comes with a text editor and a web browser and that is all that is required to write code really.

    2. Re:Check it: by minstrelmike · · Score: 2

      Yup. Write a hello world web page in straight html. If that felt like fun, add a button and some javascript. It's pretty damned easy and there are zillions of web pages that show you how to do simple stuff.

      Pre-1995, there weren't any web pages to peruse and _if_ you had an internet connection, all you could do was ask for help on usenet which was full of foul-mouthed trolls and old fuddy duddies telling you to RTFM kind of like slashdot and wikipedia are nowadays.

      It's a lot easier to program now unless you're trying to program in java or trying to use your smartphone.

  112. They don't even support their own conclusion. by Mal-2 · · Score: 1

    The entire summary is about how using a computer has gotten much easier, widening the gap between users and programmers.

    If someone just wants to learn to program, they shouldn't have to learn system administration first.

    Yes, they should, if only to know where the hell they're writing their output files.

    If someone just wants to learn to program, they shouldn't have to learn operating system concepts first.

    Yes, they should, because computers multitask now and a program simply cannot be allowed to stomp all over the operating environment as it could in the DOS days.

    For someone who grew up with a Commodore 64, learning to program was hard enough. For someone growing up with a cloud-connected mobile device, it is much harder.

    No, it's not. It's that the population of computer users has widened enormously while the population of people that want to program has not widened by the same ratio. It's exactly as hard to learn to program now as it was then -- you can just program vintage hardware or emulations thereof if that's the point. Or you can write in QB64, which is no harder than Qbasic was and in many cases is far easier.

    --
    How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
  113. Programming is FAR easier these days by Tony+Isaac · · Score: 1

    Your Commodore 64 example doesn't show that it was easier back then, it only illustrates that there weren't any "users" back then. If you wanted to use a computer, you had to become a programmer.

    In those days,it took a lot more effort to create anything useful. There were no libraries to do things like Zip/Unzip files, perform encryption, display windows, use fonts, establish an Internet connection, send an email. You had to write all this stuff yourself if you wanted it.

    These days, the typical user doesn't know how to program. In those days, such people simply didn't use computers.

    Using computers, and programming, have both gotten much easier.

  114. This is one thing HP RPL calculators got right by jensend · · Score: 1

    HP calculators got a rap as "hard to use" because you needed to learn to enter operands first and then the sequence of operators rather than using infix math. But once you wrapped your mind around that - and it's not difficult - the sequences of operators you had to enter just to use your calculator were really already programming. All you had to do was enclose the operators you'd enter in double angle brackets and store that somewhere, and BAM, you've created a program.

    Spreadsheets, HyperCard, and good macro systems all have some of this same element - merging use and programming, making normal use more powerful and programming more accessible.

    We should be looking harder at how to bring that kind of success to broader problem areas and modern platforms.

  115. Re: No by johnsnails · · Score: 1

    Mine was on the sharp touchscreen EL-9650.

  116. Re: No by iggymanz · · Score: 1

    How strange, I did Z80 assembly on the TRS-80 at age 12, one program I wrote copied any program tape, even the "copy protected" ones with initial loader section to then load different baud rate main section. Motivation and interest make the difference in whether someone with a computer learns something

  117. 6M C64 sold, 3M programmers in the US by guruevi · · Score: 1

    I would say that the "we had to learn to program because we only had BASIC" trope has been largely disproven. There were at least 10x as much computers sold that booted into "just BASIC" to the number of computer professionals that era spawned, not to speak about the number of people that were exposed to computers in that time through friends, schools, libraries etc.

    Everyone that could afford a computer back then knew just enough to load the game, it was treated like a password in that way, most people now that owned that computer would have a vague recollection of what it is they had to do.

    I remember learning programming in classes going from first grade (LOGO) through the end of my education (Turbo Pascal and C) - yet there is no glut of programmers my age.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  118. Your observation misses the forest for the trees. by default+luser · · Score: 1

    Sure, the C64 was the perfect development system for teaching the self-driven programmer.

    Now stand back and remember how many SELF-DRIVEN PROGRAMMERS you knew? There were maybe a dozen of them in my entire high school class - of 430 students!

    This despite being born right before the era of the C64/VIC-20, and being required to buy TI-82s in high school. Those are the two easiest platforms to program on that were invented at the time (one the perfect desktop development environment, and the other the perfect portable for killing time programming in class).

    So, as long as you don't mind settling for the top 3%, we can easily supply the world based on tough self-driven programmers.

    But our needs have grown way beyond that, so now we need something EASIER TO USE than the old standby.

    --

    Man is the animal that laughs.
    And occasionally whores for Karma.

  119. Re:No by SuricouRaven · · Score: 1

    Conspiracy theory much?

    I can't say about the US, but I actually work in the education sector in the UK. The biggest problem I see in education here is 'teaching to the test.' Grades have become the goal above all others, so much lesson time is spent on endless practice exams. The curriculum is followed to the letter. Curiosity is discouraged, because it leads to students 'wasting time' learning things that are not on the test - or worse, learning things in a way that does not maximise their exam score. Logical and critical thinking is not something that can be easily graded in a standardised exam paper. Science focuses on memorisation of tables of facts, maths focuses on solving the standard exam form questions over and over. Even english lit is about learning the appropriate notes on each study text, the key points that must be mentioned to get marks.

    There's no grand scheme in play to make the students stupid. Just a lot of teachers and administrators who realise that if their students don't get better grades than the school down the road, it's their job on the line.

  120. All technology goes this way. by SuricouRaven · · Score: 1

    I remember, when I was very young, my father's car. It was an old car even then. This car was so old it had a choke. Operating it required monitoring of oil temperature. Just starting the thing up could only by done by someone who knew how the engine worked, the effect of adjusting air-fuel ratio and the changes in performance of the engine with operating speed and temperature. It frequently had minor mechanical issues which he had to diagnose and repair - congealed gunk in the oil sump, a drained battery after leaving the headlights on, a slipped fanbelt, ignition timings thrown off by general wear, misfirings due to spark plug age.

    This was the microcomputer of cars: It did what it needed to do, but it needed a skilled operator able to invest a lot of time in learning to use their tools. People didn't want to go through all that, but they needed cars, so they learned.

    Now look at a modern car. Reliability has improved to the point that hardly anything ever goes wrong. Even if the user does something silly like leave the headlights on, the onboard computer will shut them off again before the battery is damaged. The ECU constantly monitors engine state and automatically adjusts it for optimal operation. The driver is happy: They can drive to where they want without needing to spend hours studying a manual, learning the theory of operation, and becoming familiar with all the quirks of their particular model.

    The downside is that when anything does go wrong, the driver is utterly helpless. They may be vaguely aware that there is a thing called a 'piston' in that engine somewhere, but that's the depth of their knowledge. They have no hope of fixing it. The car is designed to reflect this too, as the space shuttle console of dials is now reduced to a single 'check engine' light. When it breaks down, which isn't often, they need to go to a professional.

    That's where computers are now. They have advanced in user-friendliness to the point that the user need not know how they work in depth, and the user does not want to know. It's a good model, but it discourages curiosity too. The inside is a black box, sealed away behind that 'check engine' light - or the software equivilent, an easy-to-use graphical interface that shows the user only what they need to see to accomplish their task.

  121. Re:No by Khyber · · Score: 1

    "Just stop. You can't be serious. In the era of the C64, you had to write your own memory allocators to do anything interesting."

    That's one of the reasons we have such shit security today. People don't understand these fucking concepts and think they can just spam shit code all over the goddamned RAM stack and things like garbage collection and 'safe coding languages' will magically fix everything.

    You can't be fucking serious.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  122. Re:No by Khyber · · Score: 1

    "How many 10 year olds could understand that manual?"

    I had no problem understanding the TI-BASIC programming manual when I was 6.

    That was in 1988.

    Today's droolers? I don't know.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  123. Re:No by autismuk · · Score: 1

    But they've also gone up. I'm British, but there is a big difference between children today and those in the mid 80s when I started teaching. There's an instant gratification requirement combined with a desire to persist. So for example, when I started, you could produce a list of instructions on (say) how to program, a bit like some of the BASIC manuals and virtually all the kids could do it. Some might get it slower than others, some might zoom ahead, but they all had the concept of 'reading and following instructions'. Now, it's a minority, you get choruses of things like "what do I do ?" and other demands, which are really about limiting effort i suspect. They've probably learnt from parents and early schooling that if they whine they will be helped rather than being encouraged to persist at a task. Most non teachers of a certain age would be amazed how inefficient education is in terms of time spent learning things.

  124. Re:No by autismuk · · Score: 1

    Maybe, but a lot of people typed in programs and then wondered how they could make their own animations ...

  125. Re:No by autismuk · · Score: 1

    Coding for minimal systems avoids waste. I started off with 256 bytes of RAM. Lucky me. What it teaches you is that resources ; CPU time, memory, storage are finite. You cannot just scrawl it in Java or C#, chuck things around like there's no tomorrow and sulk about the garbage collector or insufficiently powerful computers when it runs like a dog. Many times as a professional I had to sort out messes written by theorists, who were using ridiculous amounts of memory or slow algorithms. BASIC has many defects, but it can be a *lot* better. You American folks mostly had Ataris and Commodores. We in the UK were moving towards more structured BASICs like the BBC Micros, which still wasn't fabulous but had long variable names, procedures with parameters, locals, repeat loops and so on. No real data structures, but far closer to Pascal than the CBM 64s BASIC was.

  126. Re:No by autismuk · · Score: 1

    Same here in the UK. There is also zero persistence. Children are pretty much encouraged to screech for help at the first hint of a problem. Following instructions is terrible. Nuclear Power is my favourite example. We learnt about things like alpha and beta and gamma radiation, energy released by nuclear fission of certain elements and so on. We knew - sort of - how a Nuclear Power station worked. Nowadays they can tell you all about the environmental effects and so on but have no clue what is actually going on. We knew radiation was dangerous ; our Physics teacher keeping his sources in lead lined boxes on the end of a long pole kinda gave it away.

  127. Re:No by Hognoxious · · Score: 2

    We used to type in programs from magazines and then wonder why they didn't work.

    Most of the time we'd spot the bug. Probably learned more than if it'd just worked.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  128. Nonsense! by drinkypoo · · Score: 1

    It's so much easier to learn to program than it used to be that I can't even. Just all the help you can find, both documentation and actual humans who will answer your questions, is totally transformative.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  129. Not really by Casandro · · Score: 1

    This is off-topic, because you don't learn much from using a library or framework, except for perhaps that most of them are utterly useless.
    Essentially if you follow that argument you'll get something like Web developers who often have no idea what they are doing, but do a lot of it. I've once asked the developer of a web app with a particularly anoying bug (you cannot copy text field, every time you select something, the selection will be empty again) why that bug even exists, after all web browsers allow that by default. He openly answered that he had no idea, he was just using a framework.

    Yes, you can now easily click something together simpler than in the 1980s, but what have you learned then?

    1. Re:Not really by Tony+Isaac · · Score: 1

      Are you a worse plumber if you don't have to make your own pipes? Are you a worse carpenter if you don't have to cut down your own trees? Your local mechanic may not know the basics of metallurgy, but they can still fix your car. That's the point. These days, you can focus more on the task at hand, instead of having to first build your own tools. And you might not know the details of the LZW compression algorithm, but you can still write good software that makes use of a Zip library.

      In fact, I would argue that software is better overall when you don't have to build your own basic tools. Although I could implement LZW, I don't think I'd be able to devote as much time and energy into that component as the developers of a dedicated library would, so mine is going to be worse.

      Yes, we do have Web developers who don't know what they are doing. But those guys would be completely lost in a world where they have to create their own input field. That doesn't argue that programming is harder these days, but easier, because even a DIY hobby programmer can make something that actually works, even if it has annoying quirks. On the Commodore 64 days...forget about it.

  130. Depends by b4_the_looking_glass · · Score: 1

    It all depends on the type of programmer you are looking to breed.

    To me, it looks like we are heading in the direction of extreme compartmentalized programming. You only need to know how your code relates to the other parts of the project. You learn more and more about what your specific role as a developer is. Then you are used to duplicate that role from project to project. Understanding the detailed ins and outs of the entire system, would then be kind of a distraction. That was one of the goals behind OOP. We are not totally there right now. But unless you are blind, you can see that this is where we will be going. For the sake of "security" systems programming will become a very esoteric art, and not what we commonly refer to when we say programmer. If you look at the closed nature of most devices used today, you see that the average user is very seperated from the OS. For all intents and purposes most UIs are not much different than a webbrowser. Soon that difference will not exist. The system will present the use with a UI that connects them to a cloud stored userspace. You will have that same userspace from device to device, and will not have access to that userspace without a network connection (network based workstations basically). Your device will have a high powered GUI and the cpu crunches local JIT code like javascript or python does now. But all of that code comes from a cloud like service. So development in large, will manly take place in very high level programming environments. Essentially programmers will be basically writing scripts. There will still be people writting compiled code. But more and more we are going to see scripting as the default meaning behind porgrammer.

    So to understand how to write scripts, you just need a very limited knowledge on the systax used to write in the scripting language you are using, and the commands relevant to the task you are performing. So you could walk in knowing almost nothing about programming, and write a simple GUI or task, and what you need to know most is how to access the information that provides you with the commands you need. In a more specific and complex senario, you'll need to know how to work with a database or utilized a graphics engine.

    I totally agree with the article. But that is because I mean something less modern when I say programmer. I'd like to see systems where you still have the freedom to poke and peek memory. But I'd also like "user" to mean someone that can compile their system to their specific CPU in an architecture family, and administer what running services they do and do not need running in the background of their system.

  131. Re:No by Bengie · · Score: 1

    Assembly is how programmable computing units work. Once you learn how computing works, learning a new language is easy. A language is just a problem domain specific short-hand for assembly. It only took me a few days to catch up in SQL to specialists who had been doing it for a decade or more. I may not have known all of the details of replication and other specific features, but I was better at writing high performance queries, debugging query performance issues, and architecting schemas. I also have the benefit of not needing to use server traces or query plans to figure out why a query is running slowly. I just pretend that I'm the query planner and based on the information supplied, what decision would I make about combining the sets.

    SQL is just short-hand for set manipulation. I just think how I would solve the issue if I was writing a custom program in ASM, then I translate that into SQL. Easy-peasy.

    I do this for all languages. Once I understand the problem the language is trying to solve, understanding how the language works is trivial. There is rarely more than one good way to solve a problem. If I can solve that issue myself, then my solution is probably the same as whomever implemented the language. I am coming from the angle of performance. Understanding some languages is not useful because maybe they're just scripting languages where I don't care about performance, just a main goal of quickly clobbering together code to get something done.

  132. What kind of Library did you have? by rsilvergun · · Score: 1

    Mine all had the same mix of Basic programming books. Also, even if you did find a book you needed software. It wasn't until GCC and the like that compilers and assemblers were free. A good assembler would be $200-$300 bucks (adjusted for inflation). The books needed to make good use of it could be another $200 bucks easy. And that assumes you never get stuck _anywhere_ because if you did odds are there wasn't anyone there to help you out.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  133. Re: Way Easier by ProgrammerInMA · · Score: 1

    I was that person. I think you're all forgetting about the fact that the manual didn't contain anything about programming in basic. There was no internet. I remember when I bought my first IBM XT and sat there looking at the C prompt and not knowing what to do. I couldn't do anything until I went to the store and bought a book, of which there weren't many. Learning a new trade is never "easy" so I really don't even know what this rant is about. I disagree with the entire thing. It's never been easier for someone with the drive to write code that actually does something and looks good at the same time.

  134. Python by synp71 · · Score: 1

    Macs come with a Python environment. Not PyCharm, but the command line environment. Fire up the Terminal app and type "python" All Linux distributions come with the Python environment pre-installed. Fire up the terminal app and type "python" On Windows, fire up your browser, type "python download" and you can have a Python environment installed in two minutes. Not as easy as having the Apple ][ boot into FP Basic or MS-Dos boot into a command line environment where you only needed to type "basica" or "gwbasic", but it's close enough.

  135. Re:No by Boronx · · Score: 1

    Today's droolers would be fine. They are as smart or smarter than we were. The advantage we had back then was the computer wouldn't do anything unless you programmed it.

  136. Company prefers locals because of paperwork by tepples · · Score: 1

    the visa work is usually done by the company you work for.

    Who cares about the requirements or amount of paper work?

    The company I work for, as such a company might prefer hiring a citizen or permanent resident instead of a foreigner precisely because of the paperwork.

    1. Re:Company prefers locals because of paperwork by david_thornley · · Score: 1

      We deal in stuff subject to ITAR. It's easiest to hire US citizens, although we have some people with other qualifications (basically, people who are legally defined as US persons).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    2. Re:Company prefers locals because of paperwork by angel'o'sphere · · Score: 1

      The company I work for, as such a company might prefer hiring a citizen or permanent resident instead of a foreigner precisely because of the paperwork.
      Does not change my argument.

      There are thousands of companies that hate the paper work ... nevertheless there are plenty that do it.

      And: frankly, I'm a european ... why the funk would I work in the US? If I go abroad I go to a nice country like New Zealand, Australia and more importantly an emerging country in Asia: Thailand, Vietnam or Laos, or perhaps Indonesia, or ofc. Japan or China.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  137. Is an IDE worth the price of a desktop? by tepples · · Score: 1

    Regardless what IDE I use I can debug just quite fine.

    When a call into a proprietary library doesn't do what you expect it to do during debugging using your IDE, what steps do you take to determine why the call isn't doing what you expect it to do?

    you can have those IDEs on a desktop

    Is an IDE worth the price of a desktop to someone who does not already own a desktop because he regularly uses a smartphone and/or tablet to satisfy all of his other computing needs? If so, how can I convince people that this is the case?

    and for Android there are no viable IDEs either that run on android devices.

    In what way is AIDE not "viable"?

    1. Re:Is an IDE worth the price of a desktop? by angel'o'sphere · · Score: 1

      In what way is AIDE not "viable"?
      For starters: the demo mode does not work.

      When a call into a proprietary library doesn't do what you expect it to do during debugging using your IDE, what steps do you take to determine why the call isn't doing what you expect it to do?

      Sorry, no idea what this question is about. I single step through the invoked function, what else would I do? (Which would be assembly) Question is: could you fix it ...

      Is an IDE worth the price of a desktop to someone who does not already own a desktop because he regularly uses a smartphone and/or tablet to satisfy all of his other computing needs? If so, how can I convince people that this is the case?
      If a desktop is to expensive, buy a laptop?

      If you want to do professional development, get professional tools. Or write your won IDE ... ok, that was lame by me. You probably need a decade for that :D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Is an IDE worth the price of a desktop? by tepples · · Score: 1

      For starters: the demo mode does not work.

      Could you describe what failed to work about the demo mode of AIDE, and on what device?

      If you want to do professional development, get professional tools.

      What tools do you recommend for people who want to do development other than as a profession?

    3. Re:Is an IDE worth the price of a desktop? by angel'o'sphere · · Score: 1

      Why don't you read my bug report at aides web site?
      The demo mode is supposed to be a full mode for a certain amount of time and then degrade to a simple mode. However it is only a simple mode. Hence I have no idea how good it would be in full mode. As I have my Mac Book with me everywhere I go, it is a lost sale for AIDE. (A shame that they reside in the same town as I do)
      The device should be irrelevant, but FYI: it is a Lenovo Yoga Book.

      What tools do you recommend for people who want to do development other than as a profession?
      For Android? Android Studio, that implies a laptop or desktop with Windows, Mac OS or Linux. Obviously enough knowledge to have a local git repository and backups of it, or knowledge and internet access for a repository at http://github.com/ or http://bitbucket.com/

      Beyond that it really depends what you want to do. Gradle knowledge and basic shell scripting would be helpful. If you want to top that, a jenkins CI environment (http://jenkins.io) and an Android installation in a VM (https://www.virtualbox.org) might be interesting. However on Mac OS I had bad luck to integrate Android VMs with Android studio. (A VM would only be useful for programming without attaching a physical device and/or automate UI testing with click robots)

      All those tools are "free", so it does not matter if you develop professionally or as a hobbyist.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  138. Re:No by twms2h · · Score: 1

    Simple programs like that can easily be written as a batch file. And those run any real computer (but not on tables and smartphones).

  139. Re:No by Khyber · · Score: 1

    Oh, easy.

    Let's do Discord versus Camfrog. Minus encryption and chat history, Camfrog actually offers more in a smaller package, and if they did add in encryption and chat history, it would STILL be smaller versus Discord (47 vs 55 megs currently.) Camfrog wrote a lot of their own libraries and code instead of using slightly-customized bolt-on crap like Discord uses. Good enough Paltalk bought them out then

    Wake me up when Discord can do thousands of videos at once as an actual chat room, like Camfrog, with actual TV+ quality and framerate.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  140. Re:No by david_thornley · · Score: 1

    There is no US educational system. There are many systems with some commonalities. The instances I am familiar with rewarded intelligent thinking. I don't know where you live, so I can't comment on the schools there.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  141. Re:Nonsense:typing. by david_thornley · · Score: 1

    The ability to type fast is way overrated. The ability to think and have typing come out of the fingers without further mental ado is extremely useful.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  142. Re:No by dcw3 · · Score: 1

    If it involves any disk IO there was a hell of a lot of "waiting" involved.

    Kids these days...you lack patience...

    I learned basic in high school back around '74. A classroom full of kids used three teletypes that were connected to acoustic modems. We'd dial up the local community college (where the actual computer was), and put the phone onto the modem. We'd wait for the prompt, and if we had a program ready, we'd feed the paper tape into the reader on the teletype. The printer on the teletypes was capable of 10 characters per second, and by my senior year they were replaced with new models three times faster. It was a challenge to do much more than things like blackjack, tic-tac-toe, and the occasional complex program like lunar lander. Since people weren't so concerned with instant gratification back then, watching the teletype spew out your answers ever so slowly wasn't a big deal...not that we had a choice. In our school of ~2000 kids (grades 10-12), you could pick out the geeks...they were carrying paper tape wrapped into a roll or figure eight.

    --
    Just another day in Paradise
  143. Re:No by dcw3 · · Score: 1

    You had card punches?...Rookie ;-)

    --
    Just another day in Paradise
  144. Re:No by dcw3 · · Score: 1

    This, only in the early 70s on a teletype! Thanks for the laugh!

    --
    Just another day in Paradise
  145. Re:No by HornWumpus · · Score: 1

    By 'card punches' I ment swiss army knives. The we used to cut holes in cards we made from recycled newspapers, while living in the middle of the road and eating ice cold poison from cracked plates.

    We took turns being the card reader, CPU and printer.

    If you tell that to kids today, they won't believe you.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  146. Re:No by dcw3 · · Score: 1

    Yup...I was briefly trained on repairing them, but never actually did work on em. Helped build an Altair 8800, worked on 64k Data General Nova's, teletypes, IBM Selectrics (connected to computers), made my own "flip-flop" out of components in tech school, and had more experience with vacuum tubes than I care to get into. I was lucky enough to have a high school that taught digital electronics & logic back in 74-75, and then mostly slept through the training I got from the AF on computer repair...nothing new.

    --
    Just another day in Paradise
  147. Re:No by HornWumpus · · Score: 1

    I know a dude, one of his prized possessions is an almost cherry card punch.

    Apparently a bay area city thought they'd be screwed if there's broke, so bought a brand new one in the mid 80s (super genius). 10 years later, he bought it at surplus, don't know why (neither does he). Punched less than 100 cards.

    I wish I had one of the banks of solenoids style electric typewriter/printer conversions. I'd have bought it too, but I didn't own an electric typewriter.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  148. Re:No by dcw3 · · Score: 1

    Nice. I don't have anything quite so good, but a couple of my prized possessions are HP and TI's first calculators, a Mac 512k (unfortunately sold my original 128k)...along with my Toshiba Beta VCR, Lafayette Quadraphonic receiver, and a five cartridge 8 track player.

    --
    Just another day in Paradise
  149. Re:No by HornWumpus · · Score: 1

    Only thing I've got (worth mentioning) is the prerelease, developer version, of the original Amiga. Most of the docs too.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'