6 ms·
Because you only need a browser. When you're just a beginner, setting up an environment can be extremely painful.
by atarian 10y ago
Because you only need a browser. When you're just a beginner, setting up an environment can be extremely painful.
- misingnoglic 10y agoWith python you just need a browser too: www.repl.it/python
- Ductapemaster 10y agoWhile that's true, you learn a lot from going through those troubles. I disagree that we need to make it "easy" for students to get into programming by glossing over very important details like environment configuration. Someday they'll have to do it at their job - why not prepare them for it?
- lazyjones 10y agoIt's 2017. We have other options available in a browser: https://trinket.io/python https://trinket.io/python
- ghaff 10y agoI've gone through a couple online courses and some percentage of people obviously really struggled to get setup. It's probably significantly less of an issue at schools where "Intro to Programming" mostly assumes that you already have at least the basics of hacking around with a computer down. But it's probably hard for most people here to appreciate how daunting "never seen a command line before" is for many beginners.
- wlesieutre 10y agoEspecially once you get into managing dependencies. Virtual environments (whatever this year's flavor is, venv I think?) are a mess. I was trying to get VS Code to execute a python project in its virtual environment but gave up and just went back to running it in a terminal. There's probably a way to do it, but I poked at it for a while and didn't figure it out. Javascript might have its hassles, but even when you get to dealing with npm it's still more of a self contained thing.
- hackermailman 10y agoI replaced all that with guix environment https://github.com/pjotrp/guix-notes https://github.com/pjotrp/guix-notes it works well for Ruby too https://dthompson.us/ruby-on-guix.html https://dthompson.us/ruby-on-guix.html
- ferdterguson 10y agoI had the same struggles. Eventually I just went to pycharm, which is great and has full support for any environment you want.
- wlesieutre 10y agoIf I were programming as a profession I'd consider it, but $200/year is more than I'm willing to spend on an IDE for a hobby. Especially since I'm writing more C/C++ than Python lately.
- weberc2 10y agoWhile the Java ecosystem is terribly and unnecessarily painful, working in a browser isn't exactly trivial either. Personally, I think Go wins the "easy setup" award--download the toolchain, `mkdir -p ~/go/src/project`, edit your files with your favorite text editor (they all have Go plugins), and `go build/test/install/etc`. No ANT/Maven/Gradle/etc files, no CLASSPATH, no IDE, no runtime or runtime dependencies, etc.
- RandomInteger4 10y agoAs a beginner in java, you really just need java, javac and a text editor. The problem is less the ecosystem and more just the language isn't a good starting point for a beginning programmer in a formal education setting.
- weberc2 10y agoUntil you depend on anything, like a unit testing library. Manually managing CLASSPATH isn't fun. I think Java is a fine way to learn OOP (it was my introductory computing language), although I'm now of the opinion that OOP is a big distraction.
- jnbiche 10y agoGo would be another good learning language, I agree. But you still have GOROOT/GOPATH to worry about, I think it's about the same as Java in terms of complexity. Besides, you don't need an IDE for Java, it's just that most people use one. I personally use gradle and vim when progamming Java.
- weberc2 10y ago> Go would be another good learning language, I agree. But you still have GOROOT/GOPATH to worry about GOROOT and GOPATH are set automatically by default, you don't need to mess with these unless you want to. > I think it's about the same as Java in terms of complexity. Even if GOPATH/etc weren't set automatically, you still need to learn Maven and Gradle and friends. I've been programming for a decade or so, and every time I try to play with Java I have such a hard time getting projects set up. I don't know if the tooling is really so complex or if the happy path is just poorly documented (perhaps because everyone assumes you're using an IDE?). A few things I had trouble with: - Getting the Gradle server set up so I didn't have to wait for the JVM to boot every time I wanted to compile anything - Configuring Gradle to compile a native dependency like OpenGL - Configuring Gradle to produce a fat jar - Configuring Gradle for unit testing By comparison, with Go does all of that out of the box (`go build` doesn't have a VM to warm up, and Go's tooling supports native dependencies, static compilation, and testing by default). I don't think this is a big problem if you already understand Java's ecosystem or if you have someone to hold your hand until you get a project set up, but I had a terrible time finding the right documentation. > Besides, you don't need an IDE for Java, it's just that most people use one. I personally use gradle and vim when progamming Java. Last I checked (a year or so ago), there were no reasonable vim plugins for Java. Certainly nothing as mature as vim-go.
- anthonybsd 10y agoAs others have pointed out there are plenty of sites that allow you to run Python in the browser. Whereas something like the aforementioned alert('Hello World'); can actually be blocked by something as innocuous as pop up blocker. If anything console.log() is probably a better bet since it'll at least require students to understand what their environment consists of.
- jnbiche 10y agoIf you're going in CS or software development and don't learn the command line quickly, you'll be at a distinct disadvantage to many of your peers. Besides, everyone in a CS program these days gets a shell account, right? I mean, login from home using whatever SSH client is hip on Windows these days and then it's just a matter of doing: javac YOURFILE java YOURFILE (making sure that your class path is set up to your cwd). You don't even have to use vi/vim, nano is available on most any linux/unix distro. No complex environment to set up at all, although even setting up a Java IDE is not that hard (my friend's HS students do it with little problem).
- toxican 10y ago? It's a university. If they can't convey "advanced" concepts such as setting up a dev environment, they shouldn't be teaching programming.
- cpburns2009 10y agoSetting up a Java environment is about as simple as you can get: you use the JDK installer, and maybe the installer for a Java IDE.
- deleted 10y ago[deleted]
- smsm42 10y agoThis can be solved in so many ways, from writing good instructions to giving people pre-made environments to having one install session at the beginning of the course (if you can't get Java/Python running in 1hr something on the system is horribly wrong) to using one of those online education platforms that allow to run tons of stuff from the browser. But if you're introducing people to programming, letting them know command line exists may also be not that bad of an idea :)