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?

408 comments

  1. No by Anonymous Coward · · Score: 0, Insightful

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

    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. Re: No by Anonymous Coward · · Score: 0

      10 print "hello world"
      20 goto 10

    3. 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?
    4. 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.

    5. Re:No by Anonymous Coward · · Score: 0

      there are a million easier (and better documented) learn-to-program web sites out there now.

      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.

    6. 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
    7. 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

    8. 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.

    9. 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.

    10. Re:No by Anonymous Coward · · Score: 1

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

    11. 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.

    12. Re: No by Anonymous Coward · · Score: 0

      Powershell.

    13. Re:No by Anonymous Coward · · Score: 0

      This is all overlooking how ridiculously difficult it is to program anything useful on a Commodore 64 as compared with any modern system...

    14. 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.
    15. 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)
    16. 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.

    17. 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.
    18. 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.
    19. 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.

    20. Re: No by Anonymous Coward · · Score: 0

      You had to get a screwdriver (or knife, and sometimes even a spoon) to hook your computer up to the TV every time because the stupid switchbox didn't work right and annoyed your tv watching family. And this is to say nothing about managing your computer time around their precious viewing schedule.

    21. 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

    22. 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
    23. Re:No by Anonymous Coward · · Score: 0

      such skills are anathema

      This is so literally true. High level educators have publicaly made this statement. Look up Morley Winograd. If people want to chase Russian conspiracy theories, I can't think of a more perfect example.

    24. Re:No by Anonymous Coward · · Score: 0

      The poke on the TRS80 was

      POKE 16396,175

      I used it all the time in computer lab, the librarian wondered what was going on.

      Funny what stays in your memory.

    25. 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...

    26. 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'
    27. 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.

    28. 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'
    29. Re:No by sfcat · · Score: 0

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

      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. Writing something that did networking was borderline impossible. The languages were much harder to use and the code was better written in that day. I doubt 90% of the professional programmers today have the skill to program in the 80s when you had to handle your own memory interrupts if your allocated block of memory spanned two memory pages. When you just got a seg fault with no indication of where the problem occurred. When all memory management was manual. When programming was many times harder and more frustrating than what we do today.

      This has absolutely nothing to do with the computers themselves. This is about trying to get people with no talent or interest in programming to be good at programming. Won't happen, not now, not ever. Centuries from now when we are living in Star Trek levels of technology, there will still be a smaller group of folks who program the software to make the technology go. Regular folks will not be able to pop over to their terminal window and write some quick code to solve their problems. They will still call in an engineer who will fix things for them.

      --
      "Those that start by burning books, will end by burning men."
    30. 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.
    31. Re:No by Anonymous Coward · · Score: 0

      Totally wrong that you just suggested he POKE his sister. Hopefully he didn't also PEEK.

    32. Re: No by Anonymous Coward · · Score: 0

      seg faults, memory allocation on C64? uh, just no. no page swapping, either, unless you count loading a bootstrapper in, swapping out the 16k that has BASIC in it, loading & running your own dos code to load your own stuff off disk. generally, what "fast loader" cartridges did.
      still, kind of amazing that Geos on C64 was marginally usable, despite the poky floppy disk (I never got a 1581).

         

    33. 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.
    34. 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."

    35. Re:No by Anonymous Coward · · Score: 0

      Agreed. Modern programming that is being taught is at the mile high level. Most programmers seem to spend most of their time attaching pre-built components to pre-built frameworks. If you ask them to build a component, they look at you funny and wonder why you don't just download one instead.

      There's a big server application working behind the scenes that has a bug in a third party library. The programmers refuse to fix it, instead they tell us to massage our data so that is reduces functionality but also doesn't cause the bug to happen. My gut feeling is that they honestly don't have programmers who know how to fix such things.

    36. 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.

    37. 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
    38. Re:No by Anonymous Coward · · Score: 0

      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.

      Those people hang out on shadertoy these days.

    39. 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 ...
    40. 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.

    41. 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

    42. 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

    43. 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.
    44. Re:No by Anonymous Coward · · Score: 0

      It doesn't matter whether a language is in demand or not. Like you said, Programming is a trade. In order to master it, you must necessarily be exposed to *all the concepts*, which not all the languages do... thus you really need to be exposed to a broad variety to complete your understanding of not just what your current tool can do, but what it can't do that other tools can. How else can you even know to decide which tool is the right tool for any particular job?

      Furthermore, besides learning at least one assembly language (preferrably two--one CISC and one RISC), I recommend that any programmer worth his salt must also *write* at least one compiler, so they can understand what happens under the hood.

      Using tools as black-boxes is simply dangerous.
      It's great to not have to think about the abstracted details most of the time--but at least understanding them so that any strange behavior or bugs can be reasoned about with complete knowledge is empowering and more productive.

    45. 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?
    46. 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?
    47. 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.

    48. 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.
    49. 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.

    50. Re:No by Anonymous Coward · · Score: 0

      Programming has nothing to do with coding. Programming is problem solving and breaking a process into its fundamental parts. You can practice entirely in your mind. At least that's how I learned. Saw a computer around the age of 6. Had screensaver running. Within seconds I deducted the colors were represented as numbers, as soon and someone told me it was generating the images. I thought it was a really clear VHS. The numbers that represented the colors were kept in some form of memory, and that the location of the data was probably yet more numbers. Then the animation must have been math changing the screen one part of the screen at a time, yet really really fast to do it in real time.

      Around the age of 10, my dad built a computer. Got a book for basic, but I couldn't understand it. Basic was not how I envisioned the computer working. The only thing I knew about programming was what I envisioned it to be, and I had been "practicing" since I saw that computer. Computers couldn't use English. None of it made sense to me. My dad got me a book on ASM. Now that made sense. Jumped to C once ASM became too labor intensive, so a few days. I loved C. It was like short-hand for ASM.

      I probably had more experience programming by the time I got a book on programming and access to a computer, than most people get in a lifetime. Now I "specialize" in non-reproducible errors, performance optimization, multithreading, and distributed systems. I used "specialize" loosely because everything I've tried just comes naturally to me, except UX. I like to stick to libraries and critical infrastructure. Specialization is for insects and my memory disability makes acquiring knowledge very difficult. I cannot rely on my memory, forcing me to rely on my reasoning for almost everything. Programming is all about reasoning and almost nothing else.

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

      Mine was on the sharp touchscreen EL-9650.

    52. 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

    53. Re:No by Anonymous Coward · · Score: 0

      You just printed a dumpful of zeros, you shitbrain. If you don't put what you want to be printed between quotes, it will be interpreted as a variable and since there is no LET statement it will be set at zero. Put your head into a 3D printer and remake it.

    54. 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.

    55. Re: No by Anonymous Coward · · Score: 0

      Yes, this.

      I'm stupid, but for some reason BASIC

    56. Re:No by Anonymous Coward · · Score: 0

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

      And they were right.

      The fact that you chose to go to distance into some esoteric subject (like programming or electrical engineering) doesn't excuse you from having a rough idea about the rest of the world around you.

      You don't have to be a master carpenter in order to change some tiles on a leaking roof or a master plumber to change a sink faucet. It's a fun little work, and orders of magnitude easier than to navigate some bureaucratic endeavour (like renewing your driving licence) -- it's quite funny that most people assume you need special professional training for the former and not for the latter.

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

      Pretty much that. Most people couldn't enumerate their bones or internal organs, and when they get ill they fall prey to charlatans that pretend to heal their liver by massaging their feet.

      There's a whole spectrum between "polymath" and the complete moron who only knows how to string together javascript frameworks.

    57. 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.
    58. 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.
    59. 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.

    60. 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 ...

    61. 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.

    62. 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.

    63. 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."
    64. Re: No by Anonymous Coward · · Score: 0

      Better: https://golang.org/

    65. 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.

    66. 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.

    67. Re:No by Anonymous Coward · · Score: 0

      "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.

      Can you provide an actual concrete example of the sort of thing you are talking about here?

    68. Re: No by Anonymous Coward · · Score: 0

      And from the prompt, itâ(TM)s totally intuitive what to do next?
      Seems to me at that point youâ(TM)d be having to read the manual, which seems like a bigger barrier to entry than opening up scratch in your browser ...

    69. Re: No by Anonymous Coward · · Score: 0

      a browser is effectively a basic replacement.

      that professor is a fucking idiot, i tell you that.

      look, our dos pc came with just qbasic. does he have any idea how hard it was to get a c compiler for free in 1992? without a modem and knowing some dev? it took us months from when we knew we wanted one to getting one warezed.

    70. Re: No by Anonymous Coward · · Score: 0

      the pc's we had most definetely didnt come with compilers and guides.

      just getting that was hard. learning to program is much easier today. much, much easier.

      its just that most people dont want to.

    71. 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).

    72. 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.
    73. 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
    74. 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
    75. Re:No by dcw3 · · Score: 1

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

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

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

      --
      Just another day in Paradise
    77. 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'
    78. 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
    79. Re:No by Anonymous Coward · · Score: 0

      Hence the phrase: jack of all, master of none.

    80. Re: No by Anonymous Coward · · Score: 0

      When the C64/128 came out, we didn't have all the other electronics. 110 baud mod was my first, then 300, 1200, 9600 etc. I learned ASM, basic. In basic we were very limited on memory so we learned to do direct memory over loads - remember Cnet64 BBS, there were loadable modules that loaded over blank lines in the code. This is how we got over limitations. We thought outside the box.
      -TC- 9600 Club

    81. 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'
    82. 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
    83. 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'
  2. SDE is Necessary? by Anonymous Coward · · Score: 0

    VIM and command line is where people should start with learning to program. SDE is a crutch.

    1. Re:SDE is Necessary? by Anonymous Coward · · Score: 0

      SDE is a crutch.

      Not even a crutch.

      Programming an SDE is like having a person help you out with everything you do.
      If you already know how to program it can be a convenience. (Assuming that the SDE doesn't do things in a way you don't want it to.)
      For learners it really sucks since you never get to do things yourself.

    2. Re:SDE is Necessary? by Dog-Cow · · Score: 0

      VIM and the compiler tools are an SDE, you fucked-up illiterate.

    3. 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.
    4. 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'
    5. Re: SDE is Necessary? by Anonymous Coward · · Score: 0

      And to start a fire you should rub two sticks together? Building a house, learn to use a lathe?

      No, there is no value. The language and tool doesn't matter. Critical thinking and phenomenon solving arent enhanced by using a command line.

      While there are some languages that are easier than others to start with, in the end, you learn what is available and what is in demand.

  3. 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: 0

      ...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.

      without ever learning any of the fundamentals of how computers work. That's the problem!

    2. 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.

    3. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      You sound like my web development teachers. Your confusing a history lesson with accomplishing anything.

      When I was in college taking web development they made us take a course where we would do hex arithmetic along with binary division etc...suffice to say none of this had or ever will have anything at all to do with javascript.

      People like you took thousands of dollars out of my wallet then circle jerked over their own pet loves with little regard to how much sense it made in context.

      Part of the current problem is not access, it is terrible colleges, universities and teachers who are too entrenched in their own egos to look at what is actually required. They are still stuck in the past imagining we are learning how to program the at the level of binary or punch cards or whatever the hell and not at the reality that we are performing tasks at abstracted layers far away from these basic elements.

      The very first lesson of a competant web development course is learning javascript callbacks
      var func=function(options,callback){
        if(callback){callback(null,'func','hello world');}else{return 'hello world'}
      };
      func({},function(err,msg,res){
        if(res){ console.log(res); }
      });

      Without the ability to ensure that your function has completed its task and is now ready to return a result you have things like large database calls etc completely fall apart. I had to actually read up for quite awhile before I got this essential step 1 lesson and that was after I had a diploma in my hand stating I was a programmer, and for the 2nd diploma where it said I was a web developer. All because literally nobody had even said the word 'callback' to me before during 4 years of education.

    4. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Taking advantage of a browser as an IDE for anything more than casual "hello world" style examples is insanely difficult unless the person is always familiar with programming in general. Everything about browser debugging is geared towards people who already know what the are doing. I recently taught my daughter JavaScript over the course of a few months using this exact method (one that's also used in most books), and I probably spent half the time explaining how to actually use the browser dev tools.

      It might seem great for experienced programmers, but this is *not* the solution for bringing people into the fold.

    5. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Never been simpler? Maybe not in your lifetime.
      What was simple in my lifetime: turn on a Commodore 64. When it finishes booting a half second later it immediately dumps you to a terminal screen. Type: PRINT "HELLO, WORLD" and hit the Return key. There, my first program using the built-in BASIC interpreter.

      Not only that, but the computer came with a printed Commodore BASIC instruction manual. I spent many hours of quality time studying that manual as I began to learn how to program.

    6. 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.

    7. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Exactly this. My first experience with programming was when my dad opened up notepad, internet explorer, and gave me the book "Dummies 101: HTML" and showed me how to write Hello World with HTML. Eventually I progressed to javascript, again with only notepad, IE, and a book. Nothing has changed since those days except you wouldn't use IE anymore.

    8. 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.
    9. Re:One word: JavaScript by HornWumpus · · Score: 0

      You took 4 years to become a javascript monkey?

      I'm sorry...better luck next reincarnation.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    10. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      A debugger is not much use when Javascript is designed to hide errors whenever possible.

      But the really big problem with Javascript as a teaching language is that you need to use a framework to do anything with it, and all of them assume that you understand functional programming and Javascript's bizarre object model.

    11. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      The problem with the browser is:

      1) Web assembly is hidden and obsfucated

      2) Web sockets are hidden and obsfucated

      3) base64 is used to obfucate code

      4) jsmin is used to obfucate code

      5) jquery and other frameworks hide what really is going on.

      The problem here is not javascript, it's all the unneeded shit put on top that people can't even being to learn, and might be obsolete next year.

      It would be fantastic if there was an equivalent to BASIC that people could learn without being given these rapidly moving hurdles to learning it. Better yet, have people learn C (not C++, not C#) after BASIC because C is basically what everything is written in, even other languages. If they can get a grasp on C, then Javascript, C++, and other languages become easier to understand.

    12. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      2 years of college, the other 2 I took a general programming course.

      Also, there really is nothing monkey about it. Javascript is free, it is a very versatile language, it works server side, client side, and database side. It immediately gets anything you created exposed without needing to go through a 3rd party to distribute your work and that makes it very democratic. It is in fact changing the world and allowing people who previously could not reach out to be able to touch the world with their ideas and creations in a way that compiled languages don't allow due to cost barriers and distribution barriers.

      I'm guessing the real reason for the insult is that it is a powerful language that offers so much possibility and it is free. Javascript programmers are probably eating your lunch because the code written is immediately cross platform, cross browser and environment independent along with having things like dynamic real time update of data.

      Perhaps you should join the modern world and create something, put it out there, and see if people like it instead of hiding in a cubicle among a crowd and shouting down what you perceive to be a threat to your bottom line.

    13. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Er, how do you think javascript works?

      You create a dir on your linux distro of choice, usually /var/www

      you then use any common text editor to write your index.js file

      After that you would make a dir like /var/www/website in which you would have sub dirs like /public /css /js /data and you would put your text files for index.html, style.css, script.js and data.js respectively.

      You do not write javascript in a browser you write it on a text editor and save it to the hard drive of your server as a simple text file, you don't even need the .js extension on the files if you do not desire to do so.

      The index.js file runs the webserver and dictates where the files are located on the hard drive mapped to where the url is pointing to. The index.html file states what css and js files to pull in and run when the client loads up the website. The browser itself acts as your compiler and executes the plain text files according to the standards set out by the W3C so that each browser should perform actions dictated in the script the exact same way.

      --cue 'the more you know' theme song

    14. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      I use notepad. Save the javascipt as .js file and the html pages save with .html

      jsdo.it/canvastag

      If a loser like me can learn programming, I'd say this article is total bullshit.

    15. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Learning all that bullshit is useless if you have no mental model of what the fuck the computer is doing with that code though.
      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?
      Also, if that is the first piece of code you show people who have never programmed in their life you are a useless teacher.
      Any programming course should involve knowledge of stack, heap, registers, program counter, branching, OOO Execution, speculation and maybe even garbage collection. Add to that some fundamentals of boolean logic and how that is used to create adders, multipliers, dividers etc.
      Once you know that you are ready to start programming for real.

    16. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      No way! You are talking as somebody who already knows how to code. Javascript is a HORRIBLE onroads to programming. Object orientated programming in general is too hard for a first language. And in practice, running the code in a browser makes it ambiguous at times if the code is working correctly or even syntactically correct due to possible caching and so forth. The web debuggers are themselves difficult to learn and use. Compared to the likes of BASIC or even C, Javascript is a super hard language to learn.

    17. 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.

    18. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Teachers in practice though push out important elements (user logins, storing users in the database, server setup, dynamic real time data update) in favor of their obsessive love about how a CPU works. It is impractical and a waste of everyones time.

      Knowing everything in the world about how a CPU works and how the RAM functions will not allow you to gain employment writing a web application, knowing how to write a web application gets you a job writing a web application. Knowing the syntax and concepts of operational elements (how do you perform a financial transaction, how do you set up a server, how do you communicate with a database) is very important.

      All of that said, I do partially agree with you, I just believe that your prioritization of these low level elements is out of whack with the reality of how often they come into play and the amount of time spent on it. In my experience you do sometimes write something that is inefficient, and you notice it, and fix it (generally its obvious when you look at it and think about it) regardless of knowing anything about RAM or CPU.

    19. 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

    20. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      We took your jerb didn't we?

      Btw, did you happen to catch that 150 cyclical blue moon eclipse a few weeks ago? hell of a thing.

      I figure now that you no longer can afford living in a house you have much more time for astrological events of significance.

    21. 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."
    22. 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
    23. 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
    24. 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
    25. 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
    26. 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
    27. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      > What was simple in my lifetime: turn on a Commodore 64. When it finishes booting a half second later it immediately dumps you to a terminal screen. Type: PRINT "HELLO, WORLD" and hit the Return key. There, my first program using the built-in BASIC interpreter.

      That is also available right now. Raspberry Pi is $35, is more powerful than most computers that ran Windows 95, and can run many operating systems. RISCOS can be run to boot up into BASIC V that can be used just as you had. It can also run Raspian by changing the micro SD card for a full Linux desktop environment where it can be programmed in graphics languages such as Scratch or a version with Python, or in most other languages: Java, C/C++, Go, Kotlin, Python, ... even COBOL.

      There is also a strong community support for learning to program including a magazine that can be downloaded for free: https://www.raspberrypi.org/magpi/issues/

    28. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      This. For all it's faults rom basic was at least had a (mostly) sane, stable (for a given platform) and documented environment. Javascript and the shifting sands of framework hell... bleh, I'd rather code in assembly!

    29. 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.
    30. 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.
    31. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Stop being disingenuous. You know every OS comes with a text editor.

    32. Re: One word: JavaScript by Anonymous Coward · · Score: 0

      Iâ(TM)m a retired computer geek.

      First programmed in 1969 using Fortran on an IBM 1620 my high school leased.

      Now I only code for fun.

      Using JavaScript.

      Easy to access. Gazillions of free tutorials on the web. Even YouTube videos. Excellent debugger built into my web browser.

      Oh course it probably helps me that I have had loads of experience debugging C, C++, BASIC, COBOL, various Assemblers, PL/1, Python, Perl and other languages because I never did get any of my programs to âworkâ(TM) the first ( hundred :-} ) times after it assembled, compiled or interpreted. Or all 3 at once when I wrote forth.

      I like JavaScript much more than any other language I ever used.

    33. 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

    34. 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
    35. 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
    36. 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
    37. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Chrome console

    38. 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.
    39. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      Oh, come on! You're going to have to be able to handle the easy stuff if you want to get beyond "Hello, world."

      If you can't grasp how to save a file in an editor and load it in a browser, just give up now, you'll never be a programmer.

      This is about clearing the path for people who are smart and eager to learn, not about training monkeys to push a "FOOD" button.

    40. 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
    41. 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.
    42. 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
    43. 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
    44. 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.

    45. 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.
    46. Re:One word: JavaScript by Anonymous Coward · · Score: 0

      You're the only one here who's talking about using the browser as an IDE. Nothing in Raven's original post suggested that. All he said was that the browser comes on every computer and that it offers good debugging capabilities.

      You're not offering any kind of insight or telling us anything we don't know already, so either you're stupid, trolling, or just have nothing better to do than whack at strawmen.

      Actually given your posting history here, it's easy to conclude the answer is all three.

    47. 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
    48. 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. :)

  4. 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.

    1. Re:Crazy talk. by Anonymous Coward · · Score: 0

      +1 for this, had I had mod points. Particularly the bit about all the documentation being out there.

      I cut my teeth on a ZX81. A pretty awful machine by any standards, but what I loved about it was that it was presented with a manual, that told you all about the machine - what it could do and how. I'm pretty certain that both the 81, and the Spectrum (to which I migrated a couple of years later) gave you all of the z80 assembler op-codes in their manuals. These machines were designed to teach their users of the principles of computing.

      These days there's a plethora of languages that quite literally anyone with a computer can pick up and run with and an immense amount of documentation, worked examples and sample code. However writing reliable code is difficult, and I believe most people really don't want to make the effort.

      Still, less competition keeps my wages up I guess, so there's always a silver lining.

  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 Anonymous Coward · · Score: 0

      To this I would like to say that the "virtualisation" of the filesystem added left and right (Microsoft ofcourse (Search results, Fake items in the explorer shell) confuses most people needlessly

    2. 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.

    3. Re:administration by Anonymous Coward · · Score: 0

      *cough* FORTH blocks *cough*

      But HHOS jesting aside, you used to get that basic course "how to start the computer", "how to write a document", and so on, with your CP/M micro.

      Now it's "oh yeah it's all intuitive, no training needed", and people get shoved in front of a machine that perforce assumes it's smarter than you are, in fact knows better than you.

      (As an aside, Unix used to not assume that--it seems cryptic because it assumes you do know and only needs to tell you when something is obviously off. linux is going down that "the user is an idiot" hole again, anyway. Thanks lennart.)

      For me, that state of being a warm body in a seat in front of an arrogant bit of broken GUIified tech is already revealed when I get your top-posted reply email. I don't read down-to-top, what kind of thinking does that? The thinking that is absent, is what.

      TL;DR likewise does not belong at the bottom of any message. In this case, the message and the executive summary coincide.

    4. 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.
    5. 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
    6. 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. Linux, Vim, and Python by Anonymous Coward · · Score: 0

    Easy solution: Force every child to attend boarding school where they are required to use a desktop with Linux, learn Vim, and them program in Python. Problem solved.

    Jesting aside, Python is a huge advantage for learning how to program that was not available when I was growing up. Basic was the de-facto programming language for children, and every computer had a different version of it. Things ran so slowly, even loading programs and making changes to them took far longer than they would today. The initial barrier might be higher, but modern tools and computers really have improved things from the Commodore days.

    The problems isn't so much that is harder to learn to program: it's harder to see the programming behind things, and therefore to get interested in it or figure out how to take things apart and start.

  8. 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: 0

      ...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...

      I did some BASIC by myself when I was a kid, it was fun for a while until trying to write anything moderately complex then it just becomes horrible and painful, unfortunately I didn't have anyone to direct me towards something more sane - I just thought, "oh this is programming, nah". then a decade later I tried JavaScript, I know lots of people hate it, but I think it's a great language for beginners that holds you long enough to see the rest of the world.

    3. 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.

    4. 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.

    5. Re:I agree by Anonymous Coward · · Score: 0

      No, they are not. You can do document.writeln("bla") all day if you like. It is much simpler to do something useful in a web browser than it was on an 8-bit home computer. Anything "worth doing" required abandoning BASIC for assembler. That didn't come with the computer and was hard to get. Many people typed pages of hex numbers into a computer to get their first assembler. C64 (6502) machine language only has eight bit integer arithmetic, no multiplication or division or floating point numbers. Strings are bytes in memory. C is a walk in the park compared to assembly. Javascript cannot even accidentally crash the browser. Basically every mistake on a C64 meant restarting the computer, loading all files from floppy disks (or cassette tapes) and trying again.

      It is true that people naturally learned how to program back then, but it wasn't easy or easier. It was hard and people did it ANYWAY, because it was the only way to do anything with those machines. And that is the difference: You can use a modern computer without knowing anything about computers or programming. People don't need to program, so they don't do it. It's hard, so why should they?

    6. 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.
    7. 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
    8. 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
    9. Re: I agree by Anonymous Coward · · Score: 0

      Yes, old farts wrote databases in BASIC when they were kids and their mothers humored them by pretending that these contraptions were useful. You could do that in Javascript or any other language that is freely available with more documentation than you could ever hope for, including simple tutorials. But there is no good reason to do that, and that is the difference, not that there is no programming environment, because there is.

    10. Re: I agree by Anonymous Coward · · Score: 0

      But there is no good reason to do that

      Anything that teaches you something you don't already know is a good enough reason. But I guess you're just one of those people that popped out of mommy with all human knowledge of programming already available?

    11. Re:I agree by Anonymous Coward · · Score: 0

      Javascript and DOM are a helluva lot more complex an environment than, say, Microsoft BASIC circa 1982

      True, but the added complexity adds capabilities. All the simple stuff is still there.

      You can take pretty much any Microsoft BASIC program circa 1982 and replicate it using just prompt() and document.write().

    12. 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:
    13. Re:I agree by Anonymous Coward · · Score: 0

      Exactly, millions of Commodore 64s were sold, but only geeks programmed them. 'Real' home computers were expensive but the C=64 dropped to under $300 in 1983 (about $700 today for inflation) and I should have bought one then. I held out for a 'real' computer and didn't actually get one until 1994.

      The barrier to entry for programming was a lot lower at that time (buy a C=64, plug it in) but if you wanted to WORK as a programmer, your home BASIC experience was not going to be sufficient. You had to move on to assembly, Pascal and C to actually create software and not just upload your peeky-pokey BASIC on a BBS.

    14. 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.
    15. Re: I agree by Anonymous Coward · · Score: 0

      Old fart my ass. I'm in my 40s. This isn't Logans Run.

      All this talk of debugging assembler is making me nostalgic for my childhood.

    16. Re:I agree by Anonymous Coward · · Score: 0

      > The barrier to entry for programming was a lot lower at that time (buy a C=64, plug it in)

      A Raspberry Pi is $35 and plugs into a TV, is powered by a USB phone charger, the software and development systems are free.

    17. Re:I agree by Anonymous Coward · · Score: 0

      A Raspberry Pi is $35 and plugs into a TV, is powered by a USB phone charger, the software and development systems are free.

      It wants me to log in and set up a network and stuff first. :-/

  9. 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!"

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

      ...is what I am hearing a lot of lately! (/. needs an edit feature!)

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

      > we've overloaded HTTPS to perform way more duties than it was ever designed to do

      And we've done this because everyone allows port 443 through their firewall.

      What was the reason for firewalls again?

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

      Abstraction ensures everything is Enterprise Grade. Enterprise Grade Abstraction means that your message-passing custom python server can be containerized, automatically benefitting from parallelization and with merely 1,000 VM instances perform as well as compiled software on a two-processor machine.

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

      I always thought it was about job security, and why I left development when Java arrived.

      Yes, I know JS is nothing like Java, except that it's the same shit mentality behind it.

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

      Exactly this! As a (nerdy) 80s kid I loved to the point of obsession being able to learn every latest fragmentary detail about my computer. It was like the ultimate geek-quest. On my way to conquering this childhood Everest I learnt basic, I taught myself assembly, learnt the memory map by heart, reverse engineering large sections of the basic ROM, explored undocumented opcodes back when you couldn't just google what DD CB blah-blah did on a z80... hardware, software, interfacing, networking, the lot, there was nothing about the computer I didn't want to know.

      These days... I really don't think I would have bothered learning if I was born in the 00s. I suspect I would have taken one look at the shifting sands of programming, the inscrutability walls of frameworks and wrappers, the positive discouragement of exploring the edge-cases and undocumented corners and decided maybe playing outside wasn't so bad after all.

  10. Wrong about CLI vs GUI. by Anonymous Coward · · Score: 0

    The fact is that CLI interfaces are more effective to use, but they are effective specifically because they actively hide information from the users. In a GUI program it is possible to navigate the interface itself in order to find features. This is normally not possible in a CLI interface. In particularily strict CLI interfaces a new user might not even know how to discover the documentation from within the program itself. External help might be necessary.

  11. 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 Anonymous Coward · · Score: 0

      Well - my first computer was actually a Super Elf II, and programming was done in assembly. I have learned to write my first programs using the 1802 CPU instruction set.

      But the best computer I got after that was the Acorn BBC-B computer. It had BASIC, but it was not not the ordinary BASIC. BBC-BASIC had the GOTO command, but it was seldom used. The reason was that this BASIC had Pascal-like things like procedures and functions. And on top of that it also had a build-in compiler. As the computer was based on the 6502 processor, the instruction set was not very complicated. It was easy to learn, and compiling was done inside BASIC, using the standard representation of the instruction set. So - It was not uncommon to write programs, that where partly assembly for speed, while there where procedures and functions (both with parameters and return values) that made the program far more readable.

      Of course there where also other languages available. You could get ROM's or/and disks containing Pascal, LISP, BCPL, Forth and more.

      The documentation was top-notch also. Do not forget these computers where used in education. Man - Good times....

    5. Re:Radio Shack Color Computer by Anonymous Coward · · Score: 0

      > 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.

      https://www.raspberrypi.org/magpi/issues/ start with Beginners Book.

      https://helloworld.raspberrypi.org/ for educators and teachers

    6. 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
    7. Re:Radio Shack Color Computer by Anonymous Coward · · Score: 0

      Are you talking about this book?

      I never had a CoCo back then (I have a thrift-shop special now; unfortunately it doesn't work) but I learned some 6502 assembly via Leventhal's books, which were great.

    8. 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
  12. 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 Anonymous Coward · · Score: 0

      Problem is once I find pornhub, my work productively goes drastically down.

    2. Re:TFA is wrong by Anonymous Coward · · Score: 0

      Interesting concept. So maybe the barrier for entry has been the only change. The inherent difficulty in using early computers may have meant that the people who bought and found it easy to program were already predispositioned to enjoy that kind of activity. Those same people still exist today, its just they make up a less significant portion of computer users than they did in the 80's.

    3. Re:TFA is wrong by Anonymous Coward · · Score: 0

      Learning to programming is still dead easy. It has been since the mid 80s.

      Getting good at it that can be much more difficult. Usually from what I have seen at least 3-6 months of solid usage. After a year or two your are quite proficient at it or it will never click.

      Take for example the C++ language itself one everyone considers difficult to use and master. It is pretty tiny with a small handful of keywords and concepts. The std library that goes with it is massive taking months of noodling around to find out what it can do. Same with C, javascript, java and python. The languages themselves are rather small. You can pick them up in a couple of weeks. But the libraries that go along with these things is crazy huge. Most of them have a few dozen libraries and now you need to be a 'master' of all of them to be considered a 'rockstar'. Then many times you end up on a project where some previous 'rockstar' wanted to pad out their resume and you are stuck with some obscure library that is janky or has not been updated in 5 years.

    4. 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.

    5. Re:TFA is wrong by Anonymous Coward · · Score: 0

      > There were child-focussed programming magazines like http://www.acornelectron.co.uk... [acornelectron.co.uk] that had cartoons and code listings. That all doesn't exist now.

      Wrong!

      https://www.raspberrypi.org/magpi/issues/

  13. 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.

    1. Re:software availability and incentive changed too by Anonymous Coward · · Score: 0

      No it just means my car is python and your mechanic is perl. Incompatible.

  14. "Harder" by Anonymous Coward · · Score: 0

    It's more complex and a new paradigm in teaching the important parts first is required. If anyone doesn't know the difference between apt-get and unpack whatever.gz, that's not "difficulty" getting in the way really.

  15. Pushing people into something they don't want by Anonymous Coward · · Score: 0

    Everyone seems hellbent to push people into programming, whether they want to or not. Of course those are going to have a harder time compared to people who do it because they like it.

    In ye olden days people who had a real interest joined the field. These days every Tom, Dick and Mary Sue gets put in front of a computer and told they're now software developers, complete with a participation trophy degree.

  16. 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.

  17. 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.
  18. 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.

  19. 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.

    4. Re:Why? by Anonymous Coward · · Score: 0

      Because computers have gotten too easy. Now everyone can do it and the do so without knowing simple things like how to script basic repetitive tasks.

      Yes knowing basic coding skills will make your life easier. Coding does not mean training kids to become kernel maintainers.

    5. Re:Why? by Anonymous Coward · · Score: 0

      Cheap slave labour, nothing else.

      For real money, you gotta get closer, to the money!

    6. Re:Why? by Anonymous Coward · · Score: 0

      Kids and newborns need to learn how to code because a surplus of local coders will do away with expensive 401b visa's and allow companies to pay coders less.

      Right now coding costs companies to much so they are pushing the government and everyone else to learn to code, so they can do away with dedicated coders.

      Just like how we largely did away with typing pools when every one learned how to type, and how we did away with a significant number of accountants when everyone learned to use excel...

      If we can make coding just a skill we expect people to have then we don't need to pay people specifically to do it...

      It's not about the kids, and newborns, it's about the companies that are pushing the agenda.

  20. 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 Anonymous Coward · · Score: 0

      When I was young, programs did very small tasks and were usually written by a single person in a short period of time. Today we have big projects. E.g. if would be easier to write Linux today than what it was when Linus did it, but if you do that, your program is worthless, because it is compared to existing products. So while it is easier to write simple applications, to make something useful you need a lot more effort and skill than used to need.

    4. 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
  21. 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.
  22. All I can say is "KiCkStArT My HeArT"... apk by Anonymous Coward · · Score: 0

    See subject: KNOW YOUR HARLEY end-to-end (including system admin & OS commandset + layout). It's invaluable @ times for debugging/troubleshooting AS A CODER.

    * GUI's tougher (more to track & cleanup vs. commandline/tty/DOS window code by FAR) - in fact, TRY flowchart an eventdriven gui.

    Toughest 'leap' for me was going from Asm & C (non OOP) to OOP (Object Oriented) 'projects'.

    Once I got over that? Rest was history (see ps, even now while I am retired & into a diff. business, I still put out programs when they're helpful).

    APK

    P.S.=> See subject & in musical accompaniment (per the lyric "we're still KICKING ASS" APK Hosts File Engine 10++ SR-1 32/64-bit https://www.google.com/search?hl=en&source=hp&biw=&bih=&q=%22APK+Hosts+File+Engine%22+and+%22start64%22&btnG=Google+Search&gbv=1/ here) is this tune by MOTLEY CRUE KiCkStArT My HeArT ("I got the cops coming after me - Custom built bike doin' 103") https://www.youtube.com/watch?v=NrOemQaEJGU/

    1. Re:All I can say is "KiCkStArT My HeArT"... apk by Anonymous Coward · · Score: 0

      You couldn't program your way out of a wet paper bag, your life's work is garbage, you are a vicious troll, and a deplorable human. The planet would be improved if you were never born, and thousands will cheer your death.

  23. Writing anything even remotely useful became harde by Anonymous Coward · · Score: 0

    When there was no internet, and you needed a little tool to do something, there was a incentive to write it (having the tool to use it). Such things came with minimal complexity, a very low entry barrier, and a reason.

    Today everything (mostly) is three or four touches or swipes away. And piece of code that does anything meaningful is (compared to the old times) highly complex. Complexity, and no reason.

    On the other hand, documentation is often easier to access today.

  24. 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.

  25. 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.

  26. 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 Anonymous Coward · · Score: 0

      This. Programming was once touted as being "the future". It turned out to be shit, and shit boiled in piss at that. Computers are for chumps.

    4. Re:Supply and demand by Anonymous Coward · · Score: 0

      Telemedicine is a real thing. Who said you can't offshore doctors.

    5. Re:Supply and demand by Anonymous Coward · · Score: 0

      Also, automation is going to take a lot of jobs away... shouldn't automation eliminate programming jobs too?

      But then who will write the software to automate the automation?

    6. Re:Supply and demand by Anonymous Coward · · Score: 0

      Offshoring is becoming a nightmare. Barriers to communications - language differences, and even cultural differences - mean that your bug/rework rates are often much higher than if the software is written locally. This leads to blown budgets, lawsuits, liability....all things that a decent business does not want to deal with.

      From my personal experience, the agency I work for has off-shored work to Eastern Europe in the past, and the results may look good on the surface, but are not maintainable in the long run, and end up costing the clients more money in terms of support. Features that should be simple additions or upgrades are made very difficult, if not impossible, without requiring a large amount of code refactoring. In one instance, in the middle of the development process, the off-shore team decided to upgrade a core library, resulting in a completely broken build, and was unable to reverse the process. It took one of our senior developers (billed to the client at three times the rate of the off shore team) a full day of time to recover the project. It was discovered that the off-shore team had either no idea how, or desire to use git to retain history and there had been no commits for almost six weeks. No backups of the database prior to the upgrade attempt were made either.

      These are problems I have experienced regularly and also hear about regularly from others when talking about off-shoring work. You get what you pay for.

    7. Re:Supply and demand by Anonymous Coward · · Score: 0

      So, you up to speed with ML yet??

      No, because that's the future of most "programming".

      Oh yeah, and good luck competing for shit pay in shit countries with loads of Ph.D's competing for a job!

    8. 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.
    9. Re:Supply and demand by Anonymous Coward · · Score: 0

      That's a very broad statement, and quite insulting to many I know who've been replaced through decisions made by executives who have no idea what their people were worth and assumed every warm body was interchangeable regardless of the job. These execs also are quite good at keeping their blinders on when things break (we have seen many recently, airlines, banks, customs and others) due to substandard code practices, because their LCC resourcing decisions could never have been wrong, of course. The consultants told them so. If you believe there are plenty of countries where it would be fun to work, well that just says something about your judgment and knowledge... would love to see you 'follow' the job to Hyderabad. Super easy. Great fun.

    10. 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.

  27. Arduino by DontBeAMoran · · Score: 1

    Step one, see title.

    --
    #DeleteFacebook
    1. Re:Arduino by Anonymous Coward · · Score: 0

      Stop 2, kys faggot.

  28. 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.

    2. Re:Well, then there's always Arduino... by Anonymous Coward · · Score: 0

      > 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.

      Interestingly the Raspberry Pi with Raspbian can run the Arduino development system and it is probably easier to install that on the Pi than onto, say, Windows. But it is also just as easy to program the Pi to to do 'actual real life results' as it is to do the same with an Arduino. As for 'learn endless libraries', the Arduino has those too - why do you think those don't need to be learned ?

  29. Total DRIBBLE. by Anonymous Coward · · Score: 0

    Learning to code has never been EASIER. Every coding environment ever can and is trivially emultated on even the cheapest PC. The software is FREE. The online support mind-blowing.

    What is true is that simple coding seems POINTLESS (tough shit if you hate modern emphasis methods) because the gulf between your 'first' program and what 'real' programs seem to achieve looks 'infinite' to a beginner, and puts so many off.

    My first coding was a very early 'programmable' calculator that could take a handful of lines of 'code' to automate a few simple functions. Then Sinclair's FIRST computer, the MK14, that you both built and programmed. And then a time-shared mainframe link at school via a literal teletype and old school CRT.

    Coding to print out the classic 'mexican hat' on the screen and paper seemed like something. Simple basic games (like 'star trek') seemed like something, and with my first decent home computer (Compukit 101- a brit rip-off of some American design) I coded my own version from scratch.

    Today coding, and very powerful coding via libraries, is light-years more advanced (mistake is purposeful). But the coder often feels weak and powerless. Their code is but simple-mided 'glue' calling in the 'marines'- but it is the 'marines' that get the job done, not the glue. This disconnect is a real problem for starters.

    But what we still witness is natural selection in progress. Those that should code will. Those that fall by the way-side are probably no loss. It is said that the home computer revolution in the UK had millions code- but most coded nothing more than the 2 or three lines needed to constantly print their own name on the screen. The more ambitious coded user input to variables for a simple bit of maths- still nothing.

    How many went on to comprehend algorithms and data structures? Very few. I think the whining today is from people who THINK they should code, but when they try it find nothing but a mental disconnect (especially the females- inserted to wind up you SJW idiots). Formal 'education' can force people unsuited to code to self-fool, but the truth will out.

    But like I said at the top- there is NO EXCUSE. We live in a time of wonder. My calculator did dozens of 'lines' a second, but had memory for maybe 20. My MK14 did tens of thousands of machine instructions per second. My Compukit 101 (which I also built- and hardware hacked to add 'hi-def' block graphics) did a million a sec I think. You ARM based disposable "worthless" gizmos run at 100s of millions at a minimum, and have amounts of memory I never guessed back then could be owned by one person.

    But learning is now "harder" is it?- How slashdot loves FAKE NEWS!

    1. Re:Total DRIBBLE. by Anonymous Coward · · Score: 0

      The word is DRIVEL, moron.

    2. 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?

  30. 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.

  31. 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.

    3. Re:Too bad... by Anonymous Coward · · Score: 0

      I still use the console on a daily basis, even on my 'doze 10 laptop at work. I also regularly use vbscript and the odd bit of powershell. All of these languages have their peculiarities, some of which I'll grant you are thoroughly brain-damaged. Pretending that they don't exist however, strikes me as disingenuous.

      I've never seen an ms-dos manual. I grew up on the ZX81 as I posted above. For me, the idea that command /? would give me the synopsis of said command was a true luxury of which I had not hitherto experienced.

  32. pico-8 is a step in the right direction by Anonymous Coward · · Score: 0

    except that it runs LUA and is just to low a resolution has horrible aspect ratio

    i've been mulling the idea of building a browser based ide/environment for a 68000 based emulated computer, then build a basic on top of it, but at least have the dev bits into nice high res displays, not like trying to edit code on an emulated atari st screen!

    1. 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).

  33. 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.

    2. Re:No, it's getting easier to use a computer by angel'o'sphere · · Score: 0

      Learning to program is not easier.
      It is harder. Because languages are more complex. And to a certain exptend required tools are more complex.
      You never really needed to know something about computers in the old days.
      You started it and laned in a REPL for Basic. You had usually a mini assembler build in.
      Thats it, what exactly do you need to know to program on such a thing?

      The stuff you learned about computers you basically acquired by accident while you programmed on them. What is a POKE/PEEK and why do they have an effect, oh memory, oh IO-ports ...

      Oh, how do you savce a graphic to disk, how to load it, oh there is a special memory area holding the graphics? Etc. ...

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

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  34. 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
  35. You had to be smart to use a computer by Anonymous Coward · · Score: 0

    Now it is OK if you are stupid. Stupid users are never going to be programers.

  36. 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)
    1. Re:Walled gardens by Anonymous Coward · · Score: 0

      Exactly. Nothing about learning to program has changed. Learning how to be a stooge for the teracorps has changed, but you have to be real stupid to think that's something you should want to do.

    2. Re:Walled gardens by Anonymous Coward · · Score: 0

      You don't which is why a person is retarding their computer experience if their only computing device is an Apple iPAD or Apple phone. At least with an Android phone or tablet you can hook up a keyboard and download compilers but even then I wouldn't recommend it. A PC is the way to go when it comes to programming and most content creation.

  37. 4. by Anonymous Coward · · Score: 0

    Major search engines are getting worse. With smart phones skewing the search algorithms a simple search for "why is error x happening" or " how to sort data like x in the most efficient way" returns stupid click bait articles "first is your computer turned on dur dur". Unless you are a professional programmer you don't typically have peer review. When learning programming the Internet was my peer review. I used to be able to find advice from the worlds best software engineers in obscure areas. Now all you can find is trash websites the search engines algorithm served up because someone was using smartphone search as a spell checker.

  38. 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
  39. 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...

  40. 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

  41. 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.

  42. Real reason by Anonymous Coward · · Score: 0

    sorry advance for spelling errors.
    Computers were cool and new interesting 20+ years ago. If you look at the zeitgeist of the end of the 20th centery by looking at adversting. The focus on this future of technology and computers. Examples:
    https://www.youtube.com/watch?v=4PJcABbtvtA
    https://www.youtube.com/watch?v=IRWl94jeyDw

    These things mold the youth to what to be interested in art that is critical to develope one's skills into.

    Now they are not more interesting than a car to most people. They are everywhere and not interesting to the masses, just another tool like a hammer. The future from our past is here, and most people are indifferent. If you can get people learn more about how to fix and mantaince their car, the same thing might work for computers.

    If you look at pop culture now, its a lot of reality TV and other trash that doesn't look forward to the future. Most of it has a post-modern bent instead of a futuristic forward looking modarnism. Post-modernism doesn't promote someone to do hard things, because it has it emphasize all your work is meanless. The kinda of hard work it would take to learn to program to make something as impressive as th 3d graphics in a 80's TV ad given the technology. Or the idea a computer can be made aware.

  43. 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

  44. 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.

  45. The simple answer to this professor is... by Anonymous Coward · · Score: 0

    Have you actually identified the set of learning goals that are needed?

    No concrete goals to aim for generally makes it impossible to reach them.

    That, and it seems that this Prof is forgetting that Computer Science isnâ(TM)t programming.

  46. 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.

  47. Seriously? by Anonymous Coward · · Score: 0

    It's getting EASIER. It's so dumbed down now it's ridiculous. Kids get hired now where I work and they are LOST. I had one flip is shit because "omg, there isn't a library for that??? I actually have to write code?" I said, "welcome to software engineering."

  48. Obviously ... by Anonymous Coward · · Score: 0

    Any idiot can code. Many do.

    Programming is an entirely different matter and requires a completely different skillset ...

  49. 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.

  50. 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...

    1. Re:BASIC?!?!!! by Anonymous Coward · · Score: 0

      What's the big deal?

      http://www.quitebasic.com/

  51. The 80s by Anonymous Coward · · Score: 0

    C Compiler

    1982: $500

    2018: Free

  52. 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.

  53. Documentation by Anonymous Coward · · Score: 0

    I don't think the reasons listed in the summary are why programming is harder these days. The environment and pre-bundled tools aren't really a barrier, the lack of good documentation is.

    It used to be it was pretty easy to find a book of DOS and/or BASIC commands which would list all the available instructions for making scripts and small programs. I could check out a book at the library and teach myself BASIC, one function at a time with the detailed instructions provided.

    Programs, at least GUI programs, are more complex now, but the documentation is often worse. Even Qt, which has relatively good documentation, is woefully weak on useful examples and explaining the differences between methods.

    Students now need to either buy an expensive book or drudge through hundreds of bad or out of date examples to find what they need in giant libraries of functions. It gets worse if you need to deal with any kind of API. Good luck funding sane documentation for that.

  54. 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.

    2. Re:GUIs and scripting by Anonymous Coward · · Score: 0

      and I'm sure Windows has lots of easily installed stuff.

      The same tools used by professionals are now available free for the asking and have been for years now on Windows. Visual Studio Community Edition and Visual Studio code are both free to download and use. You can get them at VisualStudio.com and there's a vast wealth of programming knowledge, how to articles and countless reference materials available free of charge on Microsoft Docs. What more could you ask for if you wanted to get started with programming?

    3. Re:GUIs and scripting by Anonymous Coward · · Score: 0

      Not to disagree with you at all.

      But windows comes out-of-the-box with batch scripting (which is old and clunky, but still surprisingly useful) as well as vbscript, .hta (which is vbscript with a web front end) and powershell. All of these are very useful languages in their own right.

      Fair enough, they might well teach poor programming practices, but they're very easy to pick up and go with.

  55. 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.

  56. 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.
  57. wut by Anonymous Coward · · Score: 0

    Linux, OS X and Windows all come with development environments by default.

    Unless this dork means some kind of fucktarded GUI shit, which has never been a thing that has been installed by default.

  58. 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.

  59. 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".

  60. 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.

  61. 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.

  62. 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
  63. 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.
  64. 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.
  65. Olin College Weak CS Dept? by Anonymous Coward · · Score: 0

    Install an SDE? Whaaaat?

    All OSes have a terminal (Windows has Powershell or some equivalent, right?). Linux/MacOS have bash, python, and perl as part of the core OS installation. From there, it's fairly trivial to yum, apt, brew, etc. to other programming languages and MSFT has a straightforward installation process for Visual Studio.

    Then, once a young student has an itch to scratch. No matter what language they choose, there are copious amounts of examples and instruction on the Web. When I was learning, the best documentation was found in O'Reilly books. They were great, but it required a trip to the bookstore and cash to acquire them. Today, all a curious learner needs is their internet connection. Not to mention, all of the professional instruction from MIT's OpenCourseWare and the like.

  66. 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.
    1. Re:Equivalencies by Anonymous Coward · · Score: 0

      I'll take the C transmogrifier when things get hard. But it depends on what you do; if you do math on real world signals you need to be able to understand what the machine is doing to those signals. If you are doing squishy work (UI's etc) then you are correct -- the real work has already been done and abstraction is the only way to use the complex ecosystems that have been created. Both are arts, but they are different arts.

    2. Re:Equivalencies by Anonymous Coward · · Score: 0

      You've made not understanding the purpose of abstraction into a point of pride. Why don't you improve the field by retiring.

    3. Re:Equivalencies by Anonymous Coward · · Score: 0

      ....But you spend a lot of time wondering why your code is so bloated and why it is broken on weird edge cases where the high-level abstractions break down?

    4. Re:Equivalencies by Anonymous Coward · · Score: 0

      Yeah, 'map' and 'reduce' will get you into so much trouble, and it's completely impossible to write fast code unless you code like it's 1989. Or maybe your argument is puerile and trivially invalidated. Grow up, remove your head from your ass, and learn some computer science.

      Goddamn bit-bangers think they know everything. As if the "low-level" languages contained any lesser amount of abstractions. Zeros and ones are an abstraction, as is anything built on them, you just get off at the third floor and pretend there isn't valuable anything further up.

    5. Re:Equivalencies by Anonymous Coward · · Score: 0

      > Zeros and ones are an abstraction

      Yeah, I think Claude Shannon might disagree with you on that one...

      An abstraction is a simplified representation of something that relieves you from focusing on concrete details. You can't get much simpler and more concrete than ones and zeroes in information theory.

      Unless you're talking about abstracting the states of switches, electrons, photons, etc.?

    6. Re:Equivalencies by Anonymous Coward · · Score: 0

      Unless you're talking about abstracting the states of switches, electrons, photons, etc.?

      Yes. And Claude Shannon would agree with that one. A 'bit' in the information theoretic sense refers to presence or absence of a signal; the zeros and ones are an abstraction which allows for mathematical operations, and the bits that C programmers play with are an abstraction over all sorts of physical processes. Assembly language is an abstraction over those ones and zeros, C is an abstraction above that, and other languages build on C. In terms of code, loops are an abstraction over repeated statements, and higher-level iterators like 'map' or 'reduce' build on simpler iterators. There were a lot of programmers who protested every previous advance in abstraction. The complaints against the introduction of C have been repeated for every one of C's successors. Good programmers work at the highest level of abstraction which is practical. Sometimes this requires being extremely specific about what bits need to be transformed, and how. Most of the time this is not the case.

  67. TFM is hard. by Anonymous Coward · · Score: 0

    I say the same thing about math. Not everyone enjoys it, and will be good at it.

    1. Re:TFM is hard. by Anonymous Coward · · Score: 0

      Not everyone enjoys it, and will be good at it.

      Except girls. Girls all like it and are brilliant at it.

  68. Nonsense:typing. by Anonymous Coward · · Score: 0

    Forgetting the obvious (most do). Be an excellent typist. Fast and accurate. Touch-typists need not apply.

    1. Re: Nonsense:typing. by Anonymous Coward · · Score: 0

      And a good keyboard. So phones, phablets, buttlets, laptops etc are out of the question.
      Programming is the expression of a mental model of things to be done in various levels of abstraction. The more abstraction, the larger tasks can be done.

      This requires the means of expressing your self, which canâ(TM)t be done fast enough without a good keyboard â" and this requires a mental model â" and this requires the ultimate goal of something worth while to be expressed.

      These are the three major obstacles in starting to learn programming.

    2. 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
  69. No kids are just getting dumber by Anonymous Coward · · Score: 0

    I know itâ(TM)s not politically correct , but kids today are generally not interested in anything behind the presentation layer. To be fair , they donâ(TM)t have as much time as we did , social media seems to suck up all their time that could be spent learning and experimenting.

  70. But why should it be 'easy' to write code? by Anonymous Coward · · Score: 0

    I don't see anyone arguing that everyone should be able to practice medicine at home after getting a high school education. No one is suggesting that civil and mechanical engineering is something you do after taking an AP class in 11th grade. The complexity of the things we implement via code has increased at least as rapidly as the usability of the tools necessary to build them, so there has been no net reduction in the real barrier to entry for software engineering.

    Installing a software development environment in the late 70s meant loading a single binary and a relatively small library of system calls and little else. So sure, it was easy to access, but you had a huge knowledge barrier to make effective use of it. Now, an SDE consists of at least one application more sophisticated than an entire OS back then, libraries to provide a hugely varied selection of functionality (and all the potential dependency conflicts between them), and the resulting app is likely to have to integrate with a wide variety of external services and systems, while defending against sophisticated network-based attacks and being easy to use by a user who will never open a manual. And that's before we start in on the mathematical complexities of ML and other forms of AI, or even the common algorithms necessary to make effective use of the much more vast resources of a modern computer system.

    No, it's not rocket science. It's software engineering, and it's a heck of a lot more difficult that simply 'coding.' How about we stop trying to convince legislators and educators that absolutely everyone ought to be able to do a thing simply because we've miniaturized the hardware to the point that it fits in your pocket? Software and software engineering has driven the vast majority of economic efficiency gains of the last 40 years. It's hugely important. Just because your 13 year old can build a web page does not mean that software engineering is easy. It just means that software engineers have simplified certain functions to the point that a 13 year old today can do them as easily as a 30 year old with a decade of experience could 2 decades before. But that hypothetical 30 year old with a decade of experience isn't still busy building web pages (usually, and those that are aren't making good money). Coding hasn't gotten any easier because the things we build with code gain in complexity even as each piece of the larger puzzle happens to get easier to access. ML is hot right now, and requires a fair bit of knowledge and experience even as frameworks providing much of the functionality get more accessible. In 10 years, your 13 year old will likely be throwing together ML-based systems with little effort, but the software engineers will have long since moved on, whether to quantum computing or something else, I don't know, but the folks with actual expertise are ALWAYS going to be well ahead of whatever legislators think an 18 year old ought to be able to deliver. Software engineering is still engineering, even if far too many of those who claim to practice the art don't seem to have the first clue as to what it actually entails. There are enough of us out there who do that we still manage to keep the entire industry pushing forward at a rate that basic education is never going to be able to match.

  71. 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.

  72. :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.

  73. 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.

  74. 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.

  75. 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.
  76. 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
  77. 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.

  78. 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
  79. 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.
  80. 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."
  81. 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.
    1. Re:Abstractions by Anonymous Coward · · Score: 0

      Preaching to the choir brother.

      Incidentally I am the anonymous coward who posted above. The school I am speaking about is ALGONQUIN COLLEGE IN OTTAWA ONTARIO CANADA.

      I just wanted to put that out there to save so very very many people the pain, financial ruin, and death of their dreams that these charlatans brought to me and my life. That school needs a serious cleaning of their old staff and the hiring of new competent people who are actually web developers/web programmers. I was so stupid and naive to think they would actually give me an education in web development.

      I do not however believe that other schools would fare much better in comparison which is a sad fact, they exist to sell books not to give you an education and it shows. The biggest heartache? It really wouldn't have been difficult for them to teach us properly, I know that now that I know javascript, mongodb, nodejs, socket.io, apache, php, sql and wordpress. Honorable mention to stripe.com to facilitate online financial transactions.

    2. Re: Abstractions by Anonymous Coward · · Score: 0

      Hah, I remember crossing Algonquin college everyday on my way to Carleton University. I was a visiting "scholar" there for some months (from India actually). Very humbling experience working with people sufficiently smarter than myself.

      How different is community college compared to university? Is it significantly cheaper?

  82. 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
  83. Agreed 110%/Man after my own heart... apk by Anonymous Coward · · Score: 0

    See subject & "Are you ready girls"? (per a biker tune I used, lol KNOW YOUR HARLEY) https://developers.slashdot.org/comments.pl?sid=11758484&cid=56143262/ & you are DEAD-ON right!

    * I started out even 'lower' just learning basic *NIX commands, DOS commands & tuning the OS, networking next, & then scripting (DOS batch & shell - this was the KICKOFF in that last one that led to coding TRUE .exes of my own).

    APK

    P.S.=> It's not done in a day kind of thing as I'm SURE you know - takes time (decades imo & even then, there's more to learn due to so much change)... apk

  84. Wow by Anonymous Coward · · Score: 0

    Sounds like a total condemnation of 20 years worth of trends in commercial computer platforms in general.

  85. 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'
  86. Never been easier to try out some code by Anonymous Coward · · Score: 0

    Open a new tab and type this into the browser:
    javascript:{for (i=0; i10; i++) {document.write("hello world - ")}}

    No need to install anything.

    That's not even taking into account sites like 'jsfiddle' or more comprehensive online IDE options.
    For that matter, there's also no need to go to the library to get a book on programming like you did in the days of the commodore.

  87. 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 Anonymous Coward · · Score: 0

      Clearly you and your children are exceptional

      And are not like the rest of the population

      That need an easy entry into "coding" whatever that is

    4. Re: Easier. by Anonymous Coward · · Score: 0

      Fail.

      Apache by default already hosts http://[address]/~[username]/ - files must be stored in users public_html directory off their home directort.

    5. 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
    6. Re: Easier. by Bruha · · Score: 1

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

    7. 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!

    8. 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
    9. Re: Easier. by Anonymous Coward · · Score: 0

      He could of and should of used that service instead, I think I even of one of their advertisements still in an old magazine, but I ofn't much time to dig through my junk to find it. Of you got any idea how long that would take? I don't of much time in my day to do so. Ok, I think I of had enough of proving my point. English motherfucker, do you speak it?

  88. You're missing some key points. by Anonymous Coward · · Score: 0

    I too started on a c64. Back then you had a book on BASIC and had to learn by trial and error.

    You didn't have forums (nor the internet for that matter) like StackOverflow where you gained the benefit of others experience, knowledge, and advice.

    You didn't have libraries like .NET or IDEs with compile errors, intellisense, etc..

    You had to smash everything into 64K, now we have nearly limitless amounts of memory to work with.

    SYS64738

  89. 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.

  90. Victim of the home computing craze by Anonymous Coward · · Score: 0

    Programming is harder than it used to be, but the reasons why are completely different: once upon a time, you needed to learn COBOL, now you need to learn Java, which is a lot more complex. If the program your boss told you to build contains a GUI, then your task just became quit onerous, but that has nothing to do with learning programming. In the nigeties, 4 GLs were popular, now you have to program GPUs in assembly language. Many coders produce sequential programs, and those still contains bugs, when today's hardware is parallel.

    It's just that the coding has changed. In theory programmers can write code with pencil and paper, but common practice now requires them to access a terminal or computer and type in the code themselves. A computer in the home means the owner has to be a system and network administator before she can learn programming.

    Of course the microprocessor revolution lead to computers in many homes and suddenly millions of people learned to write simple BASIC programs, which meant a large number of hacker wannabees, but a much smaller number of computer science geniuses. These days, professional programmers who can't program create mobile apps or web sites instead of BASIC shareware.

  91. 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.
  92. Mod parent up by Anonymous Coward · · Score: 0

    He's right, except that ordinary people cold not afford to buy a computer before the microprocessor era. Kids that really wanted to often somehow managed to get access to a computer.

  93. Bah! You WISH you were ME... apk by Anonymous Coward · · Score: 0

    I'm going to continue using the Host File Engine. Your software is well written, functional. The Host File Engine performs exactly as promised by mmell February 16 2017

    (APK's work), I've flat out said it's good by BronsCon February 11 2016

    his hosts program is actually pretty good by xenotransplant August 10 2015

    his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources by alexgieg September 25 2015

    I like your host file system by Karmashock September 09 2015

    I do use APK's host file on all my systems at home by OrangeTide December 01 2017

    I personally use a HOSTS file blocker produced from a genius called APK by 110010001000 October 27 2017

    * My hosts engine != "my life's work" - it was done for FUN & helps others (others quoted disagree w/ you).

    APK

    P.S.=> See subject You UNIDENTIFIABLE "ne'er-do-well" (you're the one trolling 'jealous jowie' (lol), not I, ya hypocrite)... apk

  94. 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.

  95. Millennials in a nutshell by Anonymous Coward · · Score: 0

    Of course it's not that learners aren't working hard enough. It HAS to be someone else's fault because otherwise one would have to assume responsibility and that just isn't how it's done anymore.

    Damn the boomers for making languages too hard to learn.

  96. Bullshit, Bullshit, and Bullshit by Anonymous Coward · · Score: 0

    The web browser is the portal to the internet.

    Every web browser comes with a CLI. Yes, it is Javascript, what is your point? J/S embodies every aspect of procedural languages, and is orders of magnitude more rich than BASIC or Logo. They all have their strengths and weaknesses, there is no one-size-fits-all language for learning to program, and the pros/cons of any language is just as important to learn/

    Source code to every website is visible when it loads. Children can literally hack their favorite websites and learn how the work.

    I've been coding since the 70's. It has NEVER BEEN EASIER to get started in programming.

    Utter nonsense.

  97. The solution for kids of today by Anonymous Coward · · Score: 0

    I learned programming as a early teenager using C64, Atari 800 XL and loved very much since :-)
    I think RasberryPi looks like a very good solution for teaching kids programming today.
    But I think it has a serious packaging problem (if for kids)!
    I think RasberryPI should be made into a (full) tiny laptop for kids. like this for example:
    ZX Spectrum Next Laptop Prototype:
    "https://www.youtube.com/watch?v=wM9Q-RgPr9M"

  98. 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.
  99. 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 Anonymous Coward · · Score: 0

      Back then you had libraries, and thanks to no internet LOADS of free time.
      The stuff you'd get in libraries (or book stores, if you could afford it) would be of VASTLY higher quality than 90% or more what you'll find by an internet search.
      The internet might make solving programming problems quicker, but I have serious doubts it is better for learning than the old way.
      I even learned things from books not for the computer I had, I makes for a much broader background at least.

    2. 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
  100. Disagree with this. by Anonymous Coward · · Score: 0

    But the web has made getting good information about a hundred times easier than it used to be

    The way things are currently, good information is scattered among a lot of different sources on the web. Mining Usenet was my go to thing back in the day.

  101. 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.

  102. Sudden outbreak of common sense by Anonymous Coward · · Score: 0

    Definitely a story I would've labelled with this tag in its heyday.

    What happened to this tag? It's still my favorite!

  103. Gosh, Not BASIC by Anonymous Coward · · Score: 0

    For the love of life itself put something besides BASIC on it. Put Python on it. Anyone voting for BASIC is clearly not a developer (or at least one worth hiring anywhere),

  104. 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.

  105. 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.

  106. 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.

  107. 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.

    --
    [($)]
  108. 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.

  109. He writes bad guides... it's not harder by Anonymous Coward · · Score: 0

    After briefly reading the article it's clear that he just writes terrible user documentation. It's not harder to code. It's easier now more than ever. The problem is he can't write guides for people who don't already know how to program. He's become that angry old professor who believes kids these days just don't know anything, but the reality is his guides/documentation on how to set something up is making huge assumptions of what they should already know instead of starting from the basics.

  110. 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.
  111. 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.

  112. mostly bulls by Anonymous Coward · · Score: 0

    So educators should have access to the tools and training to become better at coding first. Then, the tech giants the monopolize the industry need to focus on providing SDEs or IDEs and some basic coding examples.

    Stop telling kids that coding is hard and gives them tools to problem solve. This issue is kinda like telling young girls that math is hard.

    Teach kids to be good problem solvers and lead them in the right direction.

  113. 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.

  114. this fucking crap again? by Anonymous Coward · · Score: 0

    what said we need more programmers? we NEED more plumbers/welders/candlestick makers/indian chiefs.

  115. 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
  116. 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.

  117. 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.

  118. screwed it up by Anonymous Coward · · Score: 0

    The problem is that the original pc had basic to program the parts that came with the computer but add-on cards did not provide hooks into basic, so you couldn't program them without buying an SDK which cost more than the card, and you needed a new SDK for every card. They should have prevented any card from using the bus unless it provided software that allowed basic programmers to program the card.

  119. why the LOL? by Anonymous Coward · · Score: 0

    first Integrated Development Environment was BASIC in ROM. There are more flavors of BASIC than C, and no waiting to learn because it looks like the bastard child of parents COBOL and Pascal. Back in the day, BASIC code was in magazines and books to be hand-copied, and more people learned to code BASIC because there was more intrigue between system administrators and application programmers and science.

    in-fact, I think prodictivity was higher back in the BASIC years because the concept of a gui multi-tasking caused brainfog when people tried to comprehend what they could run parallel while at-most BASIC was in-tandem.

  120. 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.'"
  121. I was such a 10 year old. by Anonymous Coward · · Score: 0

    My machine didn't even have a guide Just a reference book.

    I noticed the command "beep" with a frequency and duration. I entered it. It worked.
    In a few days, I had my own keyboard-controlled "piano".
    As long as nothing was ambiguous, I don't see how I could have failed to understand it.

    I wasn't exceptional. I merely was interested in that, and not something else.

  122. Re: Hence all the foreign IT workers by Anonymous Coward · · Score: 0

    Hahahahahaha!

    We the workers don't need scabs like you. The bosses want the cheap labor so they can line their own pockets. But no one NEEDS scabs.

  123. Programming didnt get harder by Anonymous Coward · · Score: 0

    Programming and its basic concepts did not get harder, it is still pretty much the same. The difference is in the education, it used to be that programming classes werte geared at the students proficent in math and science. This means that the concepts could be taught to students based on a preexisting framework of ideas. Now the idea is that EVERYONE needs to learn how to code, which is complete BS and also cannot be based on the logic and processes that a student with strong math skills is capable of. Think about it, how are we trying to teach kids how to do something when they dont even understand the basic concepts that all programming languages are based on. This means that programming classes are not teaching the basic concepts so when they then try and use the latest "framework" code they really dont understand what they are doing and have a much harder time with processes and debugging.

    Its rather simple, if we are going to require that every child learn to code, then we must also require them to learn the basic math and science skills required to fundamentally understand how computers work. The other thing is to stop teaching the framework flavor of the times, they need to teach basic coding and coding concepts first. The education system is to blame here, its co-opting by corporations to create more worker drones does us no favors and the results the corporations are seeking doesn't benefit society at all.

  124. It has not become harder by Anonymous Coward · · Score: 0

    You never really "programmed" a C64 or other microcomputer system. You were just playing with a toy. Nothing more. Real computers have never been like those hobbyist machines, and never will be. I'm sorry, but that's the truth: you learned a useless "language", BASIC, and that would not teach you the problem-solving, the discipline or the technical knowledge you really need to be a programmer. Besides, nobody today would want to be a programmer. It's not a well-paid job, it requires hours upon hours of tedious work and all the interaction you have is with machines or man-children who have no clue what real life is. Smart people do not become programmers. Smart people have goals in their lives, and computers are not a goal. Unless you're severely imbalanced.

  125. 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.

  126. 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.

  127. 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/
  128. 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.

  129. 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.

  130. I wonder if teaching it school makes it boring. by Anonymous Coward · · Score: 0

    The implicit thought process I get from a lot of educators is if weird smelly nerds could do on their own with no official teacher than surely everyone can do it with a teacher!

    Part of what made self-taught coders good at coding is they had the drive to self teach, and when they taught themselves they could just what to learn and when and didn't get ordered around by a teacher. Not this case when school teach code.

  131. 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.
  132. 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.
  133. They need to man up. by Anonymous Coward · · Score: 0

    Programming has always been hard and always will be. These days there's too many lazy, entitled snowflakes who think it should be easy and just don't get that to learn and become proficient at something, you have to make an effort.

    I mean, pyhsics doesn't get easier over time. Nor does maths, nor electrical circuit theory, etc. So why is it that programming is supposed to magically get simpler?

    1. Re:They need to man up. by Anonymous Coward · · Score: 0

      Hey, here's a tip: crawling sucks!

  134. Wrong, Wrong, Wrong by Anonymous Coward · · Score: 0

    >1. Computer retailers stopped installing development environments by default.

    The C64 did not have a programming environment installed by default.

    The only thing it had was CBM basic. If you wanted to get anything done, you did what I did, went down the local computer club with your 6502 manual and got people to explain it you, or learned yourself.

    2. User interfaces shifted from command-line interfaces (CLIs) to graphical user interfaces (GUIs). ...If someone just wants to learn to program, they shouldn't have to learn operating system concepts first.

    Correct. I didn't need to learn a thing about the OS to write games on my C64. But I did need to learn 6502 assembly, buy books on C64 architecture, understand how the video chip worked, understand how the sound chip worked, understand how the joystick worked, write 6502 assembler to interact with those various chips and ports and write a game. These days on a modern machine you just write in C/C++ (or language or your choice) and you never have to worry about the underlying chip architecture. The idea that it's harder now than it was in 1983 (when I wrote my first game) is bullshit.

    3. Cloud computing has taken information hiding to a whole new level.

    People don't learn to program with cloud computing. You learn to program, then at some later stage you may decide to do something on the web, and then only, then may you decide to abstract to the cloud.

    All three points are bullshit. Been there, done that. We don't need misinformation that this post is pushing.

  135. neh by Anonymous Coward · · Score: 0

    Your basic luser never had any intention of programming and doesn't even know how to use a computer and if they are using one, it's because their employer made them.

    And yes this literally includes people that work at tech companies or telecoms etc.

    Yes you should have to learn operating system concepts first. I had to when I got my programming degree. They're sort of vital things to understand when you're programming something that runs on an operating system.