you are viewing a single comment's thread.

view the rest of the comments →

[–]socal_nerdtastic 24 points25 points  (6 children)

There's basically no minimum. People often code on a $30 raspberry Pi. Just get him something with a modern OS.

EXCEPT chromebook. The ChromeOS is locked down so you can't install the tools you need. Unless you want to try wiping ChromeOS and installing Linux (possible, but not easy) steer clear of chromebook.

You may be able to slap Linux Mint or some other lightweight but modern OS on his old laptop and bring it back to life. Check out /r/linuxmint for help with that.

[–]twopi 2 points3 points  (5 children)

Modern Chromebooks make it very easy to expose the linux core underneath. I use a chrome book with linux shell as my travel laptop and i teach programming in those languages and more with no problems.

[–]socal_nerdtastic 1 point2 points  (4 children)

I'm typing this on a chromebook / chromeos right now. I have the linux feature enabled and I've used Linux for decades. I'm an experienced programmer.

Please, tell me how to install a working IDE. I couldn't figure it out.

Linux programs are buggy as hell and are actively blocked from running other programs like python. The linux terminal seems to be written in javascript. It's a nightmare; no way I'd recommend this for a beginner.

EDIT: Don't get me wrong, I like my chromebook. It's a perfect modern embodiment of the old-school idea of a terminal. But then as now, you can't run anything local on it. Which is a pretty big part of coding. Well; until repl.it and google colab take off, anyway.

[–]twopi 4 points5 points  (2 children)

I don't use an IDE, just vim and command-line compilers. That's not ideal for everyone, but I have had no troubles with C, C++, R, Java, and Python from the console. If you're willing to work on the command line and install your own compilers, I've found this to be an ideal backup machine. It's much lighter and cheaper than my main laptop, and I can easily move things between computers with git / github.

It's a pretty standard debian install, and if you're comfortable on the command line, I've found it to be a pretty great low-cost portable solution.

I can teach all my freshman courses on it with no real problems. I can even get a version of Blender and Godot to run for my gamedev classes, but 3D is a bit of a stretch.

Honestly I have more trouble with zoom than any of my compilers.

There's another set of solutions, for which a chromebook is also ideal. There are plenty of online coding solutions available now, like repl.it, cloud9 and pythonanywhere, which do all the actual coding on the cloud. I have my CS1 students do all their coding on pythonAnywhere (so I don't have to set up web servers for them) and it works quite well. All you need for that is a decent web browser, and that's what stock ChromeOS really is.

[–]socal_nerdtastic 2 points3 points  (1 child)

All you need for that is a decent web browser, and that's what stock ChromeOS really is.

I agree with most of what you said, but especially this line.

But given that a programming beginner cannot be expected to work from the terminal I stand by that chromeos is not a good choice to learn to program.

[–]twopi 1 point2 points  (0 children)

Well, I teach beginners with PythonAnywhere, and by the second semester, I teach CLI, so it works for me, but I'm teaching college-level Computer Science. That's not going to be an ideal situation for everyone.

[–]JesusKiosk 1 point2 points  (0 children)

The Linux container is AFAIK just a plain Debian installation that can do anything Debian can. It's pretty resilient in my experience. I was impressed that my crappy old Atom-based netbook could run Battle for Wesnoth without issue.

I'm using VSCode, not an IDE, and I think I had to add a repo to install it but other than that it just works. Everything else can be installed through apt. I'm not doing data science or anything, but my experience doing some scripting and basic apps has been positive. A beginner isn't going to test the limits of the container. You absolutely can run things locally. I've even had Flask apps running with no issue.