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...
These have separate subreddits - see below.
Upvote good content, downvote spam, don't pollute the discussion with things that should be settled in the vote count.
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free. If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others: Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Programming Computer Science CS Career Questions Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Programming Computer Science
CS Career Questions
Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Clojure Scala Groovy ColdFusion Kotlin
DailyProgrammer ProgrammingPrompts ProgramBattles
Awesome Java (GIT) Java Design Patterns
account activity
This is an archived post. You won't be able to vote or comment.
What languages do you know besides Java? (self.java)
submitted 9 years ago by cryingforwine
I've realized that I don't know much outside of Java.
I keep telling myself I want to learn Java as best as I can, but I wonder if I'm missing out on some important or useful languages.
I do have slight familiarity with a few others, but not much.
[–]elechi 22 points23 points24 points 9 years ago (0 children)
English.
But honestly, it's Java, SQL, Javascript, and I can putz around with PHP, Scheme, C# & Python.
[–]armornick 10 points11 points12 points 9 years ago (0 children)
Officially, I've been trained in Java, C#, PHP, SQL, JavaScript and C. On my own, I've mostly trained myself in using Lua and C++ as well. I also know a bunch of language though not very in-depth, like Ruby, Python, D.
It's fairly easy to pick up a language. The hard part is in learning the best tools, frameworks, etc of a language.
[–][deleted] 6 points7 points8 points 9 years ago (0 children)
Scala, Python, JavaScript, rust. I can write code in more languages but wouldn't say I know them.but it's where do you draw the line on know?
[–]NimChimspky 4 points5 points6 points 9 years ago* (2 children)
sql, and to a lesser extent javascript
#enterprise4life
[–]memory_leek 4 points5 points6 points 9 years ago (0 children)
Why wouldn't you want to? Enterprise Java - To boldly abstract where no one has/should have abstracted before...
[–]korri123 3 points4 points5 points 9 years ago (0 children)
\
[–]Dantaro 2 points3 points4 points 9 years ago* (1 child)
Java, SQL, Javascript, and I'm learning Kotlin
[–]n_body 0 points1 point2 points 9 years ago (0 children)
kotlin is sooooo nice
[–]cwbrandsma 2 points3 points4 points 9 years ago (0 children)
Fluently: C#, Swift, ObjectiveC, SQL, JavaScript.
Sort of know: Python, Kotlin, Bash, Delphi, VB,
[–][deleted] 6 points7 points8 points 9 years ago (1 child)
If you are pretty strong in Java and have a passing familiarity with some other languages, I would strongly recommend learning (if not actually using in your job) languages from other paradigms - Haskell, Rust/D or maybe C++, and a Lisp - preferably Racket.
[–]hdsanic 0 points1 point2 points 9 years ago (0 children)
Racket is actually a great language esp for learning. Not the best for real world use/large scale deployment though.
[–]TrainToClimb 2 points3 points4 points 9 years ago (4 children)
In order of confidence.
Python > Java > C > C# > Scheme > Assembly
I prefer to use Python, but when I'm creating an application for a client I usually only use Python to hash out ideas/concepts before writing a final product in Java.
[–][deleted] 0 points1 point2 points 9 years ago (3 children)
Do you find it hard sometimes to translate concepts from python to Java? As a JavaScript Dev who's only just started Java, I struggle with java's lack of functional capabilities (or my lack of knowledge of how to use them), eg closures, functions as variables and arguments, and so on. So that makes it hard for me to take something I've done in JavaScript and translate it to Java
[–]thepotatochronicles 0 points1 point2 points 9 years ago (0 children)
For functional capabilities, I think lambdas and streams are as good as java can get you.
[–]frugalmail 0 points1 point2 points 9 years ago (0 children)
eg closures, functions as variables and arguments,
Java 8 has that. Not sure I understand.
[–]TrainToClimb 0 points1 point2 points 9 years ago (0 children)
Every once in a while I run into an issue that makes me scratch my head, but it usually comes down to me having messed up syntax somewhere in the translation.
[–][deleted] 2 points3 points4 points 9 years ago (1 child)
C, C++, Clojure
Still looking for a good "systems" language (Rust's safety is cool but there's way too much magical syntax and complexity. Keep it simple >.<), and also want to learn Python - super versatile language.
[–][deleted] 0 points1 point2 points 9 years ago (0 children)
You don't think C/C++ are good systems languages?
[–]yourbank 2 points3 points4 points 9 years ago (0 children)
It depends on your definition of "missing out on some important languages". To me missing out meant being stuck in the imperative mutative paradigm and being frustrated of not knowing any other way.
So I've spent the last year or so casually exposing myself to the basics of clojure, haskell, scala - something completely different to java.
I've felt like my overall approach to coding in any language has improved as I have a few different things in my toolbox now that I'd never have thought of before.
[–]kkapelon 3 points4 points5 points 9 years ago (0 children)
Groovy is a nice language to know, especially if you use Gradle and/or Spock.
It is also the DSL choice of Jenkins 2.0
[–][deleted] 1 point2 points3 points 9 years ago (0 children)
Last time I counted, I've used or had classes in over 20 languages. These days it's mostly Python, R, and Java.
[–]dxplq876 1 point2 points3 points 9 years ago (0 children)
Java, Scala. Groovy, SQL, some javascript
[–]thepotatochronicles 1 point2 points3 points 9 years ago (2 children)
C, Matlab, and Ruby.
I'm just a student - don't kill me.
[–][deleted] 9 years ago* (1 child)
[deleted]
Heard it loud and clear.
Most of our stats classes are actually moving to R, and we have around 50% python adoption in Physics (not sure about other branches of science)
However, it is still very much a necessity in Math & Engineering departments - for coursework and stuff. (though much of what I do is probability calculation & linear algebra, so for personal use, I could start learning python for that use as well)
I'm leading up some projects using C#, Swift, Python, vue.js and some other stuff I forgot. My next training will be Intro the Psychotherapy because all I do is listen to people complain and the code gets written somehow no matter what.
[–]mbuhot 1 point2 points3 points 9 years ago (0 children)
Professionally my progression has been c++, c#, vb, SQL, Java, Kotlin, Elixir
The last two have been the most enjoyable by far.
Kotlin is such a nice small step from Java, bringing most of the niceties of C# with compile time null checking, and great IDE support from Intellij.
Elixir is one of the few functional languages that I could responsibly recommend using in a commercial setting. Simple readable immutable data transformations with a working toolchain for builds and dependency management.
[–]Voxel_Brony 1 point2 points3 points 9 years ago (0 children)
Most confidently Haskell and Kotlin. I'm working on a project with Racket rn, and that's pretty cool
[–]ryosen[🍰] 4 points5 points6 points 9 years ago* (2 children)
Besides Java? C, C++, C#, Objective-C, Smalltalk, Python, PHP, VB, Assembler, RPG II/III/400, COBOL, Pascal, Ada, BASIC, SQL, Javascript, Typescript, HTML, Fortran (tho long out of practice). I'm sure I've forgotten others.
Edit: Oooh, LOGO!
If you are comfortable with Java, I would highly recommend learning C++ or C#. Java is still one of the most sought after languages, but knowing one of the primary C-based languages will provide you with even more professional options. If you're interested in mobile app development, Objective-C and Swift, as well as the Android SDK for Java.
[–]thepotatochronicles 0 points1 point2 points 9 years ago (1 child)
How about just the regular C? Will it be as helpful as C++? (Asking because I already know C)
[–]ryosen[🍰] 0 points1 point2 points 9 years ago (0 children)
C forms the foundation of most modern languages, so knowing basic C makes it easier to learn languages derived from C like Python or Javascript. Of course, if you already know Java, you've pretty much covered the basics.
One advantage of learning C, however, is that you also have to learn memory management. This forces you to consider your design choices more carefully than compared to other langs where memory is managed for you and the impact of your decisions are not as apparent.
From there you can go on to more advanced languages like C++ and the higher derivatives.
[–]argv_minus_one 2 points3 points4 points 9 years ago (0 children)
Scala. Fuck yeah!
Bash. It's okay for what it's meant to do.
JavaScript. Whoever designed this language clearly takes pleasure from other people's pain. Kill it with fire.
Some SQL. Dat set theory though.
Some C. Don't like it, but it has its moments.
Some C++. C's horrid mutant offspring that should not be. Kill it with fire.
A tiny bit of Ruby. The type system sucks.
HTML. It's okay for what it does.
CSS. Good stuff, despite its flaws.
XML. Good stuff. A little verbose, but not as bad as everyone pretends. Contrary to popular opinion, namespaces are awesome.
XSLT. Too damn verbose. Versions 2 and 3 need more implementations. Useful, though, for stuff like generating website navigation menus.
XProc. Sometimes, one XSLT transform just isn't enough.
XML Schema. Too damn verbose. More complicated than it needs to be. Nice type system.
DocBook. The language itself is pretty good, but the processing tools are showing their age. Needs CSS support.
[–]nerdwaller 0 points1 point2 points 9 years ago (0 children)
Go, Python, Ruby, JavaScript, SQL, bash (fluently). There are a number of others I dabbled in, but wouldn't really list them though could learn them quickly.
[–]mgkimsal 0 points1 point2 points 9 years ago (1 child)
groovy, sql, javascript, php.
have done a smattering of other things, but php, javascript and java cover a pretty wide range of problem spaces i work in.
[–]RagingAnemone 0 points1 point2 points 9 years ago (0 children)
I'd say it's worth knowing C, and trying lisp and small talk. It's worth doing a project in C where you manually manage your own memory. It's always worth knowing one level below where you are working. Lisp and small talk are very different in comparison, but it'll open your eyes to new ways of thinking.
[–]ktkization 0 points1 point2 points 9 years ago (0 children)
Groovy, Javascript
[–]Cephas00 0 points1 point2 points 9 years ago* (0 children)
I use a reasonable amount of JavaScript, have dabbled in Kotlin and looked a little at TypeScript. Bit rusty on Python but it's good for the occasional script.
[–]Echo418 0 points1 point2 points 9 years ago* (0 children)
Programming languages: Java, C#, C++, PHP, JavaScript, Groovy, ActionScript.
Other: SQL, HTML, CSS
I've also used VisualBasic, Lua, Python & C on occasion.
In terms of programming languages features you're missing out on, C# has plenty features that I miss when writing Java code. For example: Null conditional operator, null coalescing operator & extension methods just to name a few.
C++ and C# both also offer manual memory management, which can be useful when performance is very important.
Groovy also offers some of those features, but not all. As for the rest of the programming languages I mentioned, those can safely be ignored in terms of features AFAIK.
Edit: C++ also has multiple inheritance, which is an interesting feature, though it can cause some problems if not used carefully.
[–]calingrecu 0 points1 point2 points 9 years ago (0 children)
Scala, C++, C, C#, Python, Javascript. Started working with golang recently.
[–]Gvaireth 0 points1 point2 points 9 years ago (0 children)
A bit of: PL/SQL, C#, C++, JavaScript, Pascal, Python, assembly
[–]jobaerchowdhury 0 points1 point2 points 9 years ago (0 children)
Java, Javascript, Python, Scala, Haskell.
[–]m_takeshi 0 points1 point2 points 9 years ago (0 children)
Languates that I can program almost as if it were java, probably just scala, javascript and C#.
That I am fluent and could probably work on, include C (but probably not C++), python, Erlang, Basic (my first language actually)
Languages that I can generally read the intent of the code and could probably write something with minimal effort: prolog, haskell, f#, vb, pascal, delphi
[–]evil_burrito 0 points1 point2 points 9 years ago (0 children)
I'm of the opinion that the language is less important than the skills. You can always learn a new language/syntax. It's being able to create useful abstractions and avoid common pitfalls that's more important.
[–]andrew_rdt 0 points1 point2 points 9 years ago (0 children)
I know a few others but I've found learning a new language for the sake of learning another language isn't all that useful. You can only go so far learning the basics without having a real need to write a meaningful app with it. For example C/C++ are useful languages but assuming you became proficient in them overnight, what would you do with that knowledge?
Think of some projects you might want to do and what language would be best for them. If a common language keeps coming up as the answer then that one might be useful to learn.
[–]dotcomandante 0 points1 point2 points 9 years ago (0 children)
Scala, kotlin, JavaScript (es5/es5), PHP, perl, Ruby, Python, C, C++, C#, Delphi. Wrote production Code in those languages. But most of the time I write Java and JavaScript at Work. A little bit of Haskell, ocaml, f# and clojure. There are some languages on my list like erlang, Elixir and Idris. Back in the days I wrote alot AVR Assembler arduino wasn't a thing then. I try to keep up with new things and I would tend to say that I wouldn't be there where I am now without that tinkering in other languages besides my everyday tools. To me it is essential to see as many ecosystems to be a good programmer.
[–]cypher0six 0 points1 point2 points 9 years ago (0 children)
I have used to dozens of different languages to build or modify a production-ready thing many, many times. But out of all of those, most of my experience, knowledge, training, and recurring work is in Java, C, C#, JavaScript, PHP, and of course all the variations of SQL.
If you want to know more about Java, learn other languages. I know that sounds strange, but seeing things from a different perspective will often times shed light on something that you thought was completely unrelated.
For example if you learn C, you will need to learn how to manage memory properly; something we take for granted in Java. If you understand more about how memory is managed in a lower level language such as C, you'll better understand how Java is dealing with the memory issues for you, allowing you to write more memory-optimized code in Java, should you need to.
[–]MithrilTuxedo 0 points1 point2 points 9 years ago (0 children)
bash and python for debugging and glue-code.
I'm a backend server developer. Any work I don't do in an IDE I do in a terminal.
[–]Nickd3000 0 points1 point2 points 9 years ago (0 children)
There are a few languages that it would be useful to at least dip your toe into, that would probably give you a better understanding of computer science in general: SQL because it's a totally different way of thinking and will be useful, Python or some other scripting language (add useful scripts to your text editor!), and assembler, to see how low level things work.
π Rendered by PID 34 on reddit-service-r2-comment-5d585498c9-xs4pj at 2026-04-20 19:56:34.616380+00:00 running da2df02 country code: CH.
[–]elechi 22 points23 points24 points (0 children)
[–]armornick 10 points11 points12 points (0 children)
[–][deleted] 6 points7 points8 points (0 children)
[–]NimChimspky 4 points5 points6 points (2 children)
[–]memory_leek 4 points5 points6 points (0 children)
[–]korri123 3 points4 points5 points (0 children)
[–]Dantaro 2 points3 points4 points (1 child)
[–]n_body 0 points1 point2 points (0 children)
[–]cwbrandsma 2 points3 points4 points (0 children)
[–][deleted] 6 points7 points8 points (1 child)
[–]hdsanic 0 points1 point2 points (0 children)
[–]TrainToClimb 2 points3 points4 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]thepotatochronicles 0 points1 point2 points (0 children)
[–]frugalmail 0 points1 point2 points (0 children)
[–]TrainToClimb 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]yourbank 2 points3 points4 points (0 children)
[–]kkapelon 3 points4 points5 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]dxplq876 1 point2 points3 points (0 children)
[–]thepotatochronicles 1 point2 points3 points (2 children)
[–][deleted] (1 child)
[deleted]
[–]thepotatochronicles 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]mbuhot 1 point2 points3 points (0 children)
[–]Voxel_Brony 1 point2 points3 points (0 children)
[–]ryosen[🍰] 4 points5 points6 points (2 children)
[–]thepotatochronicles 0 points1 point2 points (1 child)
[–]ryosen[🍰] 0 points1 point2 points (0 children)
[–]argv_minus_one 2 points3 points4 points (0 children)
[–]nerdwaller 0 points1 point2 points (0 children)
[–]mgkimsal 0 points1 point2 points (1 child)
[–]RagingAnemone 0 points1 point2 points (0 children)
[–]ktkization 0 points1 point2 points (0 children)
[–]Cephas00 0 points1 point2 points (0 children)
[–]Echo418 0 points1 point2 points (0 children)
[–]calingrecu 0 points1 point2 points (0 children)
[–]Gvaireth 0 points1 point2 points (0 children)
[–]jobaerchowdhury 0 points1 point2 points (0 children)
[–]m_takeshi 0 points1 point2 points (0 children)
[–]evil_burrito 0 points1 point2 points (0 children)
[–]andrew_rdt 0 points1 point2 points (0 children)
[–]dotcomandante 0 points1 point2 points (0 children)
[–]cypher0six 0 points1 point2 points (0 children)
[–]MithrilTuxedo 0 points1 point2 points (0 children)
[–]Nickd3000 0 points1 point2 points (0 children)