Learning to program is getting harder
21–30 of 422 posts
Re: Learning to program is getting harder
#22It's getting harder because it's become fashionable to shun IDEs that make most of these issues obsolete, and have done so since at least the 90's. It's ridiculous to expect newcomers to a language and/or programming in general to slog through a 20 or 30-step environment setup process. This idea that using an IDE will discourage someone from finding out the more detailed workings of the language, compiler, etc. is no…
Re: Learning to program is getting harder
#23Today you have Google, Youtube and every programming language available from scratch to assembler at your fingertips. There is no way it is "harder".
Yea the C64 dropped you into basic. But this was my first experience on a Commodore 64:
"Play A Game" -Syntax Error
"Play a Game of Chess" -Syntax Error
"Let's play Global Thermonuclear War" -Syntax Error
Re: Learning to program is getting harder
#24Last fall, I helped in my son's grade 8 class to teach them python programming. There we wanted the students to be able to start coding with minimal effort, and minimal magic. They already had MacBook Airs, which had python 2.7 already installed, so there was nothing to install. Then we concentrated on a few core programming constructs (no classes for example), and no libraries. This was an attempt to recreate the environment I had when I learnt to program on the VIC-20.
I think it worked really well. The students were able to write fairly advanced (a few pages full of code) with that set-up. If you want to do more advanced programming, you'll need to install more, but for a start it was really good. I've written more about it here:
Re: Learning to program is getting harder
#25It's getting harder because it's become fashionable to shun IDEs that make most of these issues obsolete, and have done so since at least the 90's. It's ridiculous to expect newcomers to a language and/or programming in general to slog through a 20 or 30-step environment setup process. This idea that using an IDE will discourage someone from finding out the more detailed workings of the language, compiler, etc. is no…
Well, I don't think anybody is "shunning" IDEs just to be difficult; it's just really, really hard to describe something in the context of an IDE. For one thing, IDEs are (obviously) graphical, so you have to include a screenshot if you want to refer to something. Worse, IDEs change things around a lot (sometimes for no particular reason). Then of course, there are no standards in this area - in Java you have Eclipse and IntelliJ, so if you want to describe something in terms of an IDE you either pick both and double the explanations, or you pick one and freeze out the others... or you just do everything on the command-line which is unambiguous. And don't forget, eventually you're going to have to get out of the IDE comfort zone if you want to interface with a continuous integration system.
Re: Learning to program is getting harder
#26Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…
Learning to program is getting harder because the programs are far, far more complicated than they were 10 years ago.
Re: Learning to program is getting harder
#27Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling. Younger programmers seem to comm…
> Teaching these skills in CS curriculum would probably be a good idea. This is the one thing I don't agree with. A better placement for these skills is a generic course required for any degree, or an optional course that anyone could take to shore up these skills (and you could recommend it for your CS major). Importantly though, this isn't part of the field of computer science, and so it doesn't really belong in th…
Basic computer administration falls into that huge category of useful skills that are not worth teaching to a general population who have completely viable alternatives.
Specialization is extremely valuable for society and having more competent doctors etc is worth doctors having a more narrow focus.
Re: Learning to program is getting harder
#28And compiling it all into a Real Executable that would run on Windows like a normal program? Forget about it...not even to get into Web Start, applets, Maven and JavaFX (remember that disaster?), oh my!
Then I discovered Processing, which bundled everything (Java runtimes, libraries, etc.) together in a nice tidy package, and its own IDE where you could just open up the thing, type in some code, and hit the big obvious "Run" button. Want a library? Download it from the nicely curated set that are guaranteed to work! Wanted to create an executable, click "Export", and it just works! All the nastiness of linking native dependencies, bundling the JRE, handling classpaths and linker flags, it was handled once by the devs working on that project, and end users could just focus on code.
Things are getting better with other technologies these days, but it's still rare that I see an environment as zero-config as Processing, apart from web-based Javascript playgrounds. All it takes is a pure focus on usability, which I think is something that as devs we often overlook because once we've gotten over the installation problems that we're familiar with ("well of course brew is better than MacPorts, and you'll need to install nvm and pick the right version before this library will work, except for this one dependency that's only available through RubyGems, and this other one that") we forget that they can be confusing and really off-putting to newbies.
Python environments are particularly bad, IMO because of screwy webs of dependencies that more often than not fail to install cleanly and the Python 2 vs 3 split.
Re: Learning to program is getting harder
#29This is presenting a wildly rosy view of the past. In Commodore 64 days you got some book that was all you had. You couldn't email the author of the book or look online. If you got through the huge filter of the initial steps being much harder than today then you were doing well and would go on. However, the endless set ups and downloading every library that is used is going to make maintenance of programs in 5, 10 o…
Not just some book, usually lots of books, from the fundamentals of BASIC to technical references with complete schematics for the entire machine. I had a Commodore VIC-20 and it certainly came with all these. And even then, experts and resources were available online, for suitably primitive values of "online". Think CompuServe. Another thing we had back then but less so today was magazines, full of programming and t…
I tried to build games on the C64 using BASIC and, while I had some success, the results were always limited by the fact that it was in BASIC, it was going to be slow, and that planning and editing your code was extremely painful, you didn't even have a proper text editor.
The real way to develop on the C64 was with assembly. Unfortunately, finding information on how to do this was virtually impossible. Almost no books existed, and those that did were rare and expensive. Even when you got the book you were missing huge chunks of knowledge: The CPU itself is just 10% of the problem, the rest is knowing the memory layout, the supporting chips, and so on, stuff that wasn't well known.
The methods employed by actual production games were dark and mysterious, often close to protected secrets. You were welcome to painfully disassemble these games, but you also had no tools, not even a basic assembler, unless you went out and bought one.
Today it's easier than ever to build games for vintage hardware because everything, every little thing, is lovingly documented. This was absolutely not the case in the 1980s.
Re: Learning to program is getting harder
#30This is presenting a wildly rosy view of the past. In Commodore 64 days you got some book that was all you had. You couldn't email the author of the book or look online. If you got through the huge filter of the initial steps being much harder than today then you were doing well and would go on. However, the endless set ups and downloading every library that is used is going to make maintenance of programs in 5, 10 o…