4 ms·
While 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"
by weberc2 10y ago
While 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.
- gech 10y ago>mkdir -p ~/go/src/project Where is the mkdir icon on my windows desktop?
- EliRivers 10y agoWindows is a brutal operating system to be learning on; I'd hope universities have something a bit easier for their incoming CS students. I bet they don't, though :/
- weberc2 10y agoI'm not sure what point you're making. It's easy enough to translate my unix shorthand for directory creation into windows instructions...
- btschaegg 10y agoWindows even has mkdir. I'm not sure if this particular line would work though (-p is the default behavior on Windows; I don't think it would understand the switch).
- deleted 10y ago[deleted]
- smsm42 10y ago"No IDE" is not exactly a plus in my book. Surely, you can write code in vim (or notepad) but doing any proper work requires proper tools, and good IDE is among the first ones you'd need.
- weberc2 10y agoI have no problem with `vim-go`. Go works without an IDE because the language has a simple project model which lends itself to good, modular tooling. You can still use an IDE with Go if you like, but no one is twisting your arm.
- smsm42 10y agoNearly everything works without an IDE. There are added services making working easier in IDE though. Saying "no IDE is needed because the modular system is so good" usually either a delusion or kind of misguided roughshod pride ("in my time, we just made bits by banging rocks together, you kids are so spoiled") that sacrifices productivity for no real reason.
- weberc2 10y agoYou're plainly misinformed. According to the most recent Go developer survey, only 12% of respondents use an IDE; the rest use text editors (in fact, more people use vim specifically than all IDEs combined). Developing Go without an IDE is quite feasible. The particularities of IDEs which make them more productive than text editors are artifacts of the poor project system found in most languages. If you fix the problem at its root, you're free to reap the efficiencies of a proper editor instead of the mediocre one that comes bundled with your IDE. Of course your conclusion that IDEs are more somehow productive than text editors is completely baseless (or perhaps only based on experience with Java and the like).
- smsm42 10y ago> According to the most recent Go developer survey, only 12% of respondents use an IDE; There are two possible reasons for this I can see: 1. Go is so awesome that unlike any other language I've used in my multi-decade carrier, it can not be improved with an IDE. It's just an ideal and any attempted improvement would just spoil it. 2. There's no decent IDEs for Go and Go developers are forced to do with what they've got. My experience shows the former is much more probable than the latter. > Developing Go without an IDE is quite feasible Of course, people programmed when ed was an IDE, and before that. It's humanly possible. Is it better? I highly doubt it. > The particularities of IDEs which make them more productive than text editors are artifacts of the poor project system found in most languages I'm sorry but this statement sounds both misinformed and fanboyish. There are tons of benefits to IDE which have nothing to do with "poor project system" - from module management to task management to refactoring to keeping integrated information about the project to code assist, etc., etc. I could spend an hour writing them. Claiming that Go "fixed" need for IDE sounds, excuse me for being blunt, laughable. It's like when iPhone was first released, I heard some fanboy claim that iPhone interface is so intuitive one doesn't need copy-paste (first version didn't have it). Of course, next update added copy-paste and iPhone users (including the said fanboy) are happily using it ever since. > or perhaps only based on experience with Java and the like Yes, it is based on almost 30 years of experience with programming in multitude of languages and environments, and this experience is why I find claims that Go is so awesome it needs no IDE so laughable. I'm sorry to look self-aggrandizing here, but you asked about it so I have to say it I guess.