3 ms·
If I could start over and pick one language, it would be Java. If I could pick two or three I'd add Python or Ruby but let's stick with one. Everyone knows J
by habosa 13y ago
If I could start over and pick one language, it would be Java. If I could pick two or three I'd add Python or Ruby but let's stick with one.
Everyone knows Java is great (or at least pretty good) for "building large systems" like the article said. You can learn a lot about software engineering from all of the practices that have built up in the Java community over the years. Note that I'm not talking about gross JavaEE stuff, but just good, solid OO programming with an incredible about of libraries for whatever you need.
The real reason I'd push for Java is Android. Android programming is an incredible way for a newcomer to get non-trivial code in front of a large audience in a production environment. Writing an Android app has a decently steep learning curve, but once you get the hang of it you can really make progress quickly. Then you can publish to the Google Play Store with no app review, no $99 fee, and no Mac required. You'll get some downloads and real feedback on almost any app.
The first app I ever made was a total piece of shit and it got 50,000 downloads. It had a ton of bugs that people asked me to fix and it taught me how to make something that people actually want in an environment where I had nothing to lose. Even ended up making a few hundred dollars on ads which 18-year-old me thought was pretty damn cool.
There is an intoxicating feeling when you realize that a few hundred or few thousand people out there are running your code in their pocket, and it makes you want to create even more. It's the same with iPhone/ObjC I'm sure but I think Java has more other uses and Android is definitely a less intimidating platform for a beginner to just put something out there.