8 ms·
Dropping a newbie into Eclipse or MonoDevelop makes them feel like they are walking around in a byzantine museum, afraid to touch things, while DrRacket f
by myth_buster 11y ago
Dropping a newbie into Eclipse or MonoDevelop makes them feel like
they are walking around in a byzantine museum, afraid to touch
things, while DrRacket feels closer to old-school personal computers
where you felt like you were in command of the machine.
I think this is a very important observation. As with most things, it's extremely important to get in during the humble beginning stage and then tracing your way up to grok more complicated systems. Similar to the "first principle" approach.
- ChicagoBoy11 11y agoHow widespeard of a belief is this in the teaching community? I happen to completely agree with it, but I've also heard the opposite -- suggestions that dropping kids into professional coding environments would give them the feeling they were doing something "for real" and help motivate them. I feel that the cognitive load of these kinds of environments is so high, and the possibility to click something that breaks everything unexplainably so great, that introducing kids to programming using systems whose environment they could completely comprehend seemed like a no-brainer. Was wondering if there was evidence to this intution (or contrary to it). The school where I work at is incidentally piloting a intro to computer programming course that uses Blender and Python for completely green 10yr olds. I don't see this turning out well; how doesn't it just devolve into a CTRL-C/CTRL-V bonanza?
- johnchristopher 11y agoThe only evidence I have is that game for adults called `Word'. I strongly believe they would be much better players if they sticked to Wordpad for a year or two before switching to Word (they might then realize they don't need it 99.9999% of the time).
- ErikRogneby 11y agoI've switched to markdown for most of my personal stuff. In Word my typing content to formatting content was around 60/40. In markdown I format as I type and it's maybe 5% tops.
- edgyswingset 11y agoThis is just a personal anecdote, but my first experience with programming was in an introductory CS course where Visual Studio was the default (but not mandatory) dev environment. Naturally, I used it instead of any CLI because I was an absolute beginner. This is coming from someone who loves VS, but it is not something beginners should have to deal with. Some of my questions that distracted me from actually solving problems (note the technically incorrect usage of certain terms; this is intentional): - Why is the options menu so huge? - What the hell is a project? - Oh my god I clicked in the thing and this red ball popped up and now the code won't move past it! - Why do I need to build the project? Can't I just run my code in the file? - Why do new menus pop up when I click "Run"? - What the hell does "step into" and "step over" mean? I think that a CLI or super basic IDE with minimal options and capabilities is the way to go when dealing with people who are beginners. On that same note, I do find it disheartening that many upper-division courses at college never bother with IDEs, and teachers tell students to just "figure it out on your own".
- hobs 11y agoYeah, a good rule of thumb is to ask yourself, "What am I trying to learn, an IDE or programming?" Both are valuable to know, but teaching someone how to be a mechanic without ever having them drive a car is a bit of a mess.
- paulmd 11y agoSmallBasic is probably a good idea for young students working through these problems. I'm a big fan of VS for C# and IntelliJ for Java. Neither of these are Babby's First IDE, but once you have mastered the basic ideas of working in an IDE they pretty much work the way you would expect. JetBrains' other IDEs and plugins have also been uniformly excellent, in my experience. The VC++ parts of VS are a lot rougher, but I suppose that's to be expected.
- hn9780470248775 11y agoFWIW, I am a professional coder, and find Eclipse bewildering.
- paulmd 11y agoSame. Seriously, it's a fantastic example of "user interface designed by an engineer". It's not that I don't understand how to use Eclipse - sadly, it's an editor I have spent all too much time working with in various incarnations/skins. It's incredibly powerful and extensible (which unfortunately leads to it being used as a base for further IDEs built on top of it), it's just incredibly painful and unintuitive to use. You can do literally anything, it'll just be buried five menus deep inside some control panel. Today I fired up Android Studio for the first time, and I literally cracked a smile and did a fistpump when I saw IntelliJ staring back at me instead of fucking Eclipse.
- voltagex_ 11y agoAndroid Studio has been the reason I've made $200+ of JetBrains purchases for personal use. I hope it's working out well for them.
- SmellyGeekBoy 11y agoAnother vote of confidence for JetBrains here. Making the jump from Eclipse to phpStorm for Magento development was worth every single penny!
- paulmd 11y agoMy experience TA'ing a classroom full of CS110 (introduction to programming for CS majors, taught in Java) was that the cognitive load of Eclipse was indeed very high. Most people preferred Netbeans. The people who did prefer Eclipse were the high-flyers who had done programming or worked in it previously. Unfortunately I have found that NetBeans is often missing some functionality around the edges. For example, it doesn't support parameterized JUnit tests (they run, they count towards success/failure, but don't display in the GUI). That's not exactly new functionality either, they've been around since what, 2010? It's a shame because Netbeans is definitely a more polished environment. I would suggest that you check out PyCharm and see if it suits your needs. Everything I've tried by JetBrains has been absolutely fantastic.
- a-saleh 11y agoWell depends what do you want to teach :) I personally was introduced to programming as a hobby when I was 10y old, in an after-school class, where we used visual basic for applications. This was early 2000's and VBA editor bundled with every Office was suprisingly decent, and I remember quite fondly creatin random poem-generators spamming endless streams of message boxes :D So, if they manage to make their way around some thing ordinary but complex such as spreadsheet/presentation editor, I don't think bloated IDE's would be too much of a hinderance. So even though in principle, I like the simplicity of repl for teaching somebody, my afternoon class 15 years ago didn't have problem with the "high cognitive load" :) Regarding blender ... If you want to teach them basics of graphics/3d modeling first and then showcase the basic, and make them interactive with its drag&drop/node-based actor model ... it might be fun. But I haven't used blender in more than 5 years, so I don't really know, how much it supports the "game-dev-teaching" angle.
- drjeats 11y agoIs the Blender Game Engine workflow mostly like shown in this video? https://www.youtube.com/watch?v=K5HEyoDb-tw&index=64&list=PL04Ny9kTFC8s4bt1HFzO6NikuwwSlAfC3 https://www.youtube.com/watch?v=K5HEyoDb-tw&index=64&list=PL... I don't understand the appeal of learning programming without the beginning programmer being in charge of control flow. Attaching scripts to things is useful for people with skills in using 3D tools, but now you have to introduce them to the concept of writing functions to be executed repeatedly in a loop without them being able to see the loop. Student: How does it know to keep running my script? Teacher: It runs every frame in a loop. S: What's a loop? T: teaches loops S: Where's the loop that runs my script? T: Deep inside the bowels of Blender. S: Oh.
- CyberDildonics 11y ago> suggestions that dropping kids into professional coding environments would give them the feeling they were doing something "for real" and help motivate them People that say this have almost never actually tried to teach kids programming from scratch. Throw someone in the ocean and they will drown. Build up starting in a kiddie pool and after practice, they could be a life guard. The same thing happens with computer science all the time. The very first thing taught is C++. I can't think of anything worse for someone who hasn't ever seen an if statement or a loop than to burden them with a deluge of functions whos motivations aren't clear until programming a large project for two years.
- RangerScience 11y agoI think of it as "hockey-stick difficulty". You need to start super easy so you know you're set up correctly, and then you can ramp as hard as you can to launch. Works really well with systems built from many simple parts, too. Learn the bag of small pieces (linear) then jump in and go crazy with the combinations (exponential).
- Rabidgremlin 11y agoSomething like PICO-8 would work great for young programmers I think http://www.lexaloffle.com/pico-8.php http://www.lexaloffle.com/pico-8.php
- lygaret 11y agoI had never seen that, thank you!
- Rabidgremlin 11y agoIt Rocks. Bought it yesterday, had a simple game up and running in 10 minutes....and 80's flashbacks the rest of the day :)
- bubblicious 11y agoThis is amazing, I was looking for something similar for my son. Thank you so much for that link.
- fr0styMatt2 11y agoI can't wait to get home from work to try this, looks awesome!! I've been looking for something that gives a modern, live-coding-ish experience similar to how you used to program in BASIC on the Commodore 64. No clutter, a fullscreen immediate editor/REPL in one window, nice big text, etc. The closest I've found to what I'm after (until now that is) is (fluxus) (http://www.pawfal.org/fluxus/ http://www.pawfal.org/fluxus/). Would really really love to hear of any others.
- a-saleh 11y agoThree environments are hitting the "close-enough" mark for me. 1. http://elm-lang.org/try http://elm-lang.org/try 2. Clojurescript + figwheel + reagent. 3. ipython notebook
- bliti 11y agoMy 7 year old is learning on a Raspberry Pi that does not load X by default. She gets around the terminal pretty well (changing, dirs, calling python scripts, etc.). The GUI is just overwhelming at this point. She prefers the terminal. In fact, she will boot it up and type: nano story.txt To start writing simple stories (she loves doing that). And yes, she saves it by pressing Ctrl-x, y, and enter. :D
- jonahx 11y agoI still feel the same way as your daughter.
- platz 11y agoI find this fascinating given that kids are exposed to things like the iPads which are purely graphical
- bliti 11y agoShe has an iPad, but treats it like I used to treat a TV back when I was her age in the 80s. The RPi is to her what the C64 was to me. Tablets and phones are entertainment (read music, video and games) gadgets. The RPi is more like something to tinker with. However, just like Carmack's son, the environment where she learns is heavily biased towards technology. Having designed and built her own little robot at age six because I build robots myself. She also breadboards for fun because all the required parts are at her reach. If I had a quarter for every LED she has burnt...
- platz 11y agovery cool, thanks for sharing
- fr0styMatt2 11y agoI had one of those "I must be getting old!" moments (I'm not that old, but still!). My niece is four and she's had iPads pretty much forever, so it was funny watching her sit at my desktop machine and immediately start swiping at the screen trying to drag things around and having the most puzzled look on her face of "why isn't this doing anything?". Keyboard.... how quaint! :)
- nadams 11y ago> Dropping a newbie into Eclipse or MonoDevelop makes them feel like they are walking around in a byzantine museum I tried really hard to use and like free/open source IDEs like Eclipse, Aptana, and Netbeans. They all felt clunky, didn't work, or worse took away features in later versions. I finally forked out the money for PHPStorm, PyCharm, and IntelliJ and it's been the best money I've ever spent. Trying to learn the internals of indefero using vi was a challenge (with file_put_contents as a debugging mechanism...) - but once I figured out how to use xdebug in PHPStorm it's just been amazing. It has the feel of Visual Studio without the extra bloat.
- developer1 11y agoHaha. You began listing off the IDEs, and I was going to post suggesting the IntelliJ line. There are still some clunky annoyances and bloat in the software, but overall it is the best line of editors I have ever used. You say you've forked out money for both PHPStorm/PyCharm and the expensive IntelliJ. I thought IntelliJ automatically supports all the language addons, so why separate copies of the language-specific bundles? Am I wrong about IntelliJ, or did you just happen to buy that one last?
- nadams 11y agoWell I have a mix of their free licenses (for open source projects) and paid licenses. I did pay for PyCharm and PHPStorm (and upgrades). Needless to say I do use commercial versions of all of them on an almost daily basis and I couldn't use anything else. I could be wrong - but the way I understand IntelliJ language plugins is just really code autocomplete/syntax highlighting. PyCharm and PHPstorm have strong integration with the languages (debugging, inspectors, etc). As an aside - for an individual license for IntelliJ $200 isn't a lot. Totally not rubbing it in but I've spent thousands of dollars on Visual Studio subscriptions (and I think they gave me a lifetime subscription of $50/month to Azure...). Check out bizspark - I definitely recommend it. Microsoft even waived the graduation fee for me.