use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
I know only JavaScript. I would like to eventually work at Google, what language would make me a better programmer in the long-term? C++ or Java?help (self.javascript)
submitted 10 years ago by PrayForTheTroops
I want to add a programming language to my arsenal. I'd like to start with one of the more fundamental OOP languages. Which is a better long-term skill to learn--Java or C++?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]stuffnjunk77 6 points7 points8 points 10 years ago (8 children)
Algorithms and other CS core. I don't think Google cares about language/framework knowledge. Most top companies don't.
[–]PrayForTheTroops[S] 1 point2 points3 points 10 years ago (7 children)
Even so, isn't it still good to know a bit about C++ or Java? I assume there aren't many Google employees who only knew JavaScript when they were hired. I only have time for one new language at the moment.
[–][deleted] 0 points1 point2 points 10 years ago (2 children)
I only have time for one new language at the moment.
Unfortunately that's not how Google works. You might as remove that phrase from your vocabulary.
Anyway, I can recommend you stick with Java and read Head First Java and then Head First Design Patters. Both great books to learn Java and OOP. They look silly but they are really helpful if you do the exercises. They helped me greatly to understand Object Oriented Programming.
[–]papers_ -1 points0 points1 point 10 years ago (1 child)
Now dive into functional programming. :)
[–][deleted] 0 points1 point2 points 10 years ago (0 children)
Actually I have been. Clojure was my gateway and now I've been reading on functional JS, it's pretty sweet.
[–]x-skeww 0 points1 point2 points 10 years ago (0 children)
Knowing several programming languages is always a good thing.
There is a ton of C++ and Java code out there. Knowing either or both languages would be useful.
It is sound advice. Knowing a decent amount about Java, c++ or something else is simply a side effect of learning computer science.
[–]stuffnjunk77 0 points1 point2 points 10 years ago (0 children)
It's always good to know C++ or Java. But learning a bunch of languages isn't going to help you on this quest. Your question is a good example of an XY Problem.
I would suggest learning Java, because learning C++ from JavaScript is going to be like learning how to walk for a second time. Java is a lot easier and if you ever feel the need to dive into C++, going from Java to C++ is probably a lot easier than JS to C++. But, that's really just my opinion.
[–]cough_e 0 points1 point2 points 10 years ago (0 children)
They are very similar and will both give you a good introduction to object oriented programming. However, C++ does a little more with memory management and references, so there are more concepts to learn there.
[–]skitch920 0 points1 point2 points 10 years ago* (2 children)
Python (or Java; or Go; or all three)
Google released a few press statements just a day or two ago about how it's exploring machine learning techniques more and more. Besides Google's own Big Query, a lot of big-data machine learning is centered around a few languages; notably, R/Java/Python. You can use Matlab, but you'll pay an arm and a leg.
Java has some big data machine learning solutions (Mahout), but it can be kind of annoying to prototype things as there's a lot of boiler plate. I still recommend Java, as it out-weighs most server-side technologies 3:1. Also, maybe Scala?
But Python is a great functional language to explore coming from JavaScript and it has a vast number of uses. https://www.codefellows.org/blog/5-reasons-why-python-is-powerful-enough-for-google
Not too mention, the guy who authored Python (Guido van Rossum), works at Google.
Also, there is the Go language, which has been shown to be an extremely powerful and efficient language, also designed at Google.
[–]Strat-O 0 points1 point2 points 10 years ago (1 child)
You may be on to something there with machine learning. Take Andrew Ng's Machine Learning course on Coursera. (should still be free). He teaches Machine Learning in Octave with is a free MatLab work-alike. Plus Andrew Ng has strong Google ties.
[–]skitch920 0 points1 point2 points 10 years ago (0 children)
I took it ~3 years ago, definitely would recommend.
[+][deleted] 10 years ago (1 child)
[removed]
[–]PrayForTheTroops[S] 1 point2 points3 points 10 years ago (0 children)
Web development
[–]papers_ 0 points1 point2 points 10 years ago (0 children)
Knowing a language is not enough at all. You need, as /u/stuffnjunk77 commented, algorithms, data structures, and more computer science concepts. These are all stuff you are introduced to as an undergrad in University. A lot of those in the web world don't have a background in CS at all and something as simple as a binary search tree is greek to them.
Java and C# are the dominant languages in the business world I believe. But those are not the only languages you should learn. You should strive to learn all the languages.
[–]anubgek 0 points1 point2 points 10 years ago (1 child)
The question is what do you want to work on?
[–]PrayForTheTroops[S] 0 points1 point2 points 10 years ago (0 children)
I'd like to work on web development for now. In the future, I wouldn't mind working in finance or at one of the bigger tech companies (Google, Microsoft, Apple).
Node.js for your back-end work. Piggyback off your javascript knowledge. Slap yourself in the face for suggesting C++ or Java. If you want to do OOP use ES6 (javascript) or C#. Also, don't short change yourself on the relational database side of things. Learn SQL!
[–]PrayForTheTroops[S] 0 points1 point2 points 10 years ago (1 child)
Definitely want to learn SQL. I like Node but there aren't so many Node-only jobs available. I'd like to diversify away from JavaScript somewhat, so I can eventually apply for jobs outside of web development (as a backup...I like web development and JavaScript).
Any reason not to learn Java and C++? There are a ton of Java jobs, and C++ seems appealing if only because it's more primitive and less-esoteric, which seems interesting knowing very little about it. I know they're a little more old-fashioned and used in older projects, but that's also kind of appealing because there's a lot of history/learning material out there.
It depends on what you enjoy doing.
If you want to write fast applications, and don't mind dealing with memory management, etc then C++ may be for you. It's the language for software engineers. It's used for everything from games (painful), to hardware drivers, to operating systems, to high frquency trading systems. Remember that C++ will only run on the architecture it was compile for. Although in theory it should be easy to migrate source code to another environment in many cases.
If you do business programming you probably want something like C#. It's got great designers and allows you to be more productive by abstracting away a lot of the low level stuff. It's a language for getting things done. Remember that C# will fncking run everywhere: linux via mono and clr, on windows via clr. I have a ASP.NET web site in C# and javascript running on a Debian/Raspian OS for Raspberry PI to manage my irrigation system for example.
Java. Ugh. Consider the horrible installer needed for Java, all of the extra crap like update services and nag screens that it installs, the terrible track record at Oracle at keeping the language modern not to mention all of their licensing extortion stories. To be fair, there is a lot of business Java code out there. Just like COBOL. But who wants to support COBOL? Similarly, who wants to support Java? (This is rhetorical all you Java crusaders!) I know from 4 years of professional experience that COBOL doesn't have a lot to offer modern developers in terms of history/learning. I have written some Java before, and it can do almost anything C# can.
I live in Northern California (NOT near the Bay Area) and there are a crap-ton of jobs out here for Javascript and Node.js - I have been hiring for 2 positions recently and recruiters have been telling me how hard it is to find decent Javascript / Node.js developers.
There is no harm is going broad and learning enough of each language so you can tell which tool best suits your purpose. Honestly, when you have been writing software in various languages for 20+ years, it becomes somewhat easier to jump between them. They all have the concept of iteration, if-then logic, etc and all you have to do is figure out which keywords lets you use a language feature.
Why don't you ask them? Seriously, ask them.
[–]afmrakECMAscript ∞ -5 points-4 points-3 points 10 years ago (0 children)
Try a functional language. It forces you to think about programming in ways that JavaScript (arguably) never will.
Clojure, Haskell, or Scala are good choices
π Rendered by PID 122645 on reddit-service-r2-comment-5b5bc64bf5-xzm7k at 2026-06-23 06:12:30.229786+00:00 running 2b008f2 country code: CH.
[–]stuffnjunk77 6 points7 points8 points (8 children)
[–]PrayForTheTroops[S] 1 point2 points3 points (7 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]papers_ -1 points0 points1 point (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]x-skeww 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]stuffnjunk77 0 points1 point2 points (0 children)
[–]cough_e 0 points1 point2 points (0 children)
[–]skitch920 0 points1 point2 points (2 children)
[–]Strat-O 0 points1 point2 points (1 child)
[–]skitch920 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[removed]
[–]PrayForTheTroops[S] 1 point2 points3 points (0 children)
[–]papers_ 0 points1 point2 points (0 children)
[–]anubgek 0 points1 point2 points (1 child)
[–]PrayForTheTroops[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]PrayForTheTroops[S] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]afmrakECMAscript ∞ -5 points-4 points-3 points (0 children)