4 ms·
When I was young I did all of my programming on a TI calculator (BASIC, and z80 assembly with an on-calc assembler). One of the biggest hurdles for me in movin
by gamegoblin 13y ago
When I was young I did all of my programming on a TI calculator (BASIC, and z80 assembly with an on-calc assembler).
One of the biggest hurdles for me in moving to a language on a computer was setting up a compiler, IDE, etc is tough for a 12 year old who doesn't know the vocabulary. From my experience at university, it is tough for college students who don't know the vocabulary and haven't done anything like it before.
I eventually started coding in Python since it is easy to install and use IDLE to run code.
A lot of people have the aptitude to learn to program, but this would be much easier if you could just "Download C++" and download the compiler, a simple IDE with a compile+run button, and have the installer do all of the PATH wiring, etc. I have seen many people give up trying to get started just because this process can be so finicky.
- DanielN 13y agoThis. I often tutor beginners wanting to learn to code and environment setup is by far the biggest hurdle. Frankly, think about the last time you started learning a new language, it's usually the biggest hurdle for experienced programmers as well. The next biggest hurdle for beginners is usually grasping basic design patterns or the request response pattern of client server interaction. This is usually difficult because a lot of the nomenclature isn't there yet. But that is nothing in comparison to the struggle it is to walk someone through basic environment setup for RoR even node.
- pjungwir 13y agoI think this is a great insight. Just think of how many professional Java programmers are befuddled by classpath issues. Or Ruby programmers who can't figure out rvm. When I was first starting to learn C, it took me a while to figure out compiling vs linking, Makefiles, and why I had to -lm. BASIC was so much simpler with just load and run. A lot of people are looking for a good teaching language, but really I suspect almost all languages are fine, and syntax is less important than an environment where you can jump right in without a lot of fuss.
- 616c 13y agoI was a ling-lang major, and I fondly remember us all having the usual Windows and Mac fare. The professor told us for our Intro to Programming Course (all in C++ mind, you terrible first choice) that we needed to SSH into a Solaris box and compile with GCC (or g++ rather). Failure to compile with that, regardless of compiling with MSVC, Borland, or anything else was a 0. I am so glad he forced me/us. He spent a day explaining Makefiles and their power, mentioning some people make their living fixing those up and paying attention could potentially help you out. That summer, I finally started using Linux, for personal interest, and I was so glad that class allowed to compile my own device drivers (back when wifi cards were still a novel PITA) and understand the basics of what was happening. Good times.
- cathustler 13y agoThis is insanely spot-on. It's almost like up until the moment you start diving into programming you've lived your life without this whole lexicon that you've got to learn–well, not almost, actually. There's just the unknown. Oh, debugging is what you call "fixing a problem that the console yells about"? There's a difference between an instance and a static method? I don't have to wear pants while I do this? I'm sure we all can admit we learn new things, new concepts, every day too–once the box is open it's like it never shuts. At least if you've got the drive to learn, then you'll never have to worry about stopping.
- tehwalrus 13y agofor C/C++ on Windows, I recommend DevC++[1] (it also runs on linux too, but apt-get install [ide of choice] would also work there.) It's bundled with the Mingw compiler, and basically works as you mention out of the box. I was delighted when I found it, a few years ago when my main systems were windows. [1] http://www.bloodshed.net/devcpp.html http://www.bloodshed.net/devcpp.html
- ANTSANTS 13y agoCode::Blocks is probably a better choice for that. DevC++ is very outdated: the bundled version of GCC is 3.4.2, released in 2006.
- gamegoblin 13y agoCode::Blocks is precisely what I get all newbies to download for exactly this reason. It's just download and run. It is as close to what I refer to as "just download C++". And it's a decent minimal IDE to boot.
- EliRivers 13y agoDev-C++, or at least the version of it you get at that particular website, is a terrible choice. [1][2][3][4] [1] http://www.cplusplus.com/forum/articles/36896/ http://www.cplusplus.com/forum/articles/36896/ [2] http://clicktobegin.net/programming/why-you-shouldnt-use-dev-c/ http://clicktobegin.net/programming/why-you-shouldnt-use-dev... [3] http://www.daniweb.com/software-development/cpp/threads/370755/so-whats-wrong-with-dev-c-all-of-a-sudden http://www.daniweb.com/software-development/cpp/threads/3707... [4] http://blog.vucica.net/2011/01/reasons-against-advising-beginners-to-use-dev-c-in-2011.html http://blog.vucica.net/2011/01/reasons-against-advising-begi...
- tehwalrus 13y agoThank you, as I mentioned I haven't used it for a few years, and it seems it was old and broken even then! Apologies.
- ANTSANTS 13y ago>When I was young I did all of my programming on a TI calculator (BASIC, and z80 assembly with an on-calc assembler). Those existed?! I remember reading articles on Z80 assembly language at ticalc.org as a teenager and desperately wishing I had some kind of calculator-native text editor and assembler that I could use to program in math class -- at least, that's how I would phrase it now. I assumed that none existed, and setting up a cross-assembler was beyond either my capabilities or comprehension at the time (not to mention, at the time programming was most fun in school when I was supposed to be working, not at home on a PC with a million other distractions). I didn't get that assembly language programming experience until years later. Instead, in between games of GALAXIAN and FALLDOWN, I messed around with horribly slow, illegible TI-BASIC, a language so crude that even Pong is an exercise in futility to write in it. I just searched the ticalc.org archives, and yep, here's at least one such assembler, loaded up with the familiar MirageOS: http://www.ticalc.org/archives/files/fileinfo/403/40304.html http://www.ticalc.org/archives/files/fileinfo/403/40304.html I'm not going to lie, I'm kinda sad right now, wondering what might have been, if only I had known the correct keywords to search for at the time... Anyway, I totally agree with the premise of your post. There's almost always too much to configure for novices to get a handle on, and novices don't know what the hell they're supposed to be looking for in the first place. If setup involves one step too many, or the novice is expected to figure too much out on their own before they can start, they think "I'm stupid, why can't I do anything" or "these programs are stupid, I wanted to implement that thing I read about but I wasted X hours setting up this completely unrelated thing and copying magic commands," and you'll likely lose them for good. Which is, incidentally, why I think anyone that prefaces their programming tutorials with "you should learn to use a real text editor like vim or emacs" deserves a swift kick in the ass.
- gamegoblin 13y agoAs an aside: I was (sorta still am) a pretty active member of the TI community over at http://cemetech.net/ http://cemetech.net/ (probably the biggest community since unitedti shut down). That on calc assembler you linked to was what I used, and it was made by my friend Brendan Fletcher (calc84maniac is his TI community handle) when he was 13 or 14. He went on to make various gameboy emulators for TI calcs. He's a year or two younger than I am, and I remember when he joined the community about a year after I did. He was slightly below my level at TIBASIC (neither of us did ASM yet) but very quickly soared past me in skill and made his on calc assembler (I started ASM with that). I just remember being blown away by how bright he was. Probably one of the more gifted programmers I've personally known. I think he's a sophomore in Uni now. Not terribly related, but a TI anecdote nonetheless.