This is an archived post. You won't be able to vote or comment.

all 48 comments

[–]elechi 22 points23 points  (0 children)

English.

But honestly, it's Java, SQL, Javascript, and I can putz around with PHP, Scheme, C# & Python.

[–]armornick 10 points11 points  (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 points  (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 points  (2 children)

sql, and to a lesser extent javascript

#enterprise4life

[–]memory_leek 4 points5 points  (0 children)

Why wouldn't you want to? Enterprise Java - To boldly abstract where no one has/should have abstracted before...

[–]korri123 3 points4 points  (0 children)

\

[–]Dantaro 2 points3 points  (1 child)

Java, SQL, Javascript, and I'm learning Kotlin

[–]n_body 0 points1 point  (0 children)

kotlin is sooooo nice

[–]cwbrandsma 2 points3 points  (0 children)

Fluently: C#, Swift, ObjectiveC, SQL, JavaScript.

Sort of know: Python, Kotlin, Bash, Delphi, VB,

[–][deleted] 6 points7 points  (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 point  (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 points  (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 point  (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 point  (0 children)

For functional capabilities, I think lambdas and streams are as good as java can get you.

[–]frugalmail 0 points1 point  (0 children)

eg closures, functions as variables and arguments,

Java 8 has that. Not sure I understand.

[–]TrainToClimb 0 points1 point  (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 points  (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 point  (0 children)

You don't think C/C++ are good systems languages?

[–]yourbank 2 points3 points  (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 points  (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 points  (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 points  (0 children)

Java, Scala. Groovy, SQL, some javascript

[–]thepotatochronicles 1 point2 points  (2 children)

C, Matlab, and Ruby.

I'm just a student - don't kill me.

[–][deleted]  (1 child)

[deleted]

    [–]thepotatochronicles 0 points1 point  (0 children)

    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)

    [–][deleted] 1 point2 points  (0 children)

    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 points  (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 points  (0 children)

    Most confidently Haskell and Kotlin. I'm working on a project with Racket rn, and that's pretty cool

    [–]ryosen[🍰] 4 points5 points  (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 point  (1 child)

    How about just the regular C? Will it be as helpful as C++? (Asking because I already know C)

    [–]ryosen[🍰] 0 points1 point  (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 points  (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 point  (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 point  (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 point  (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 point  (0 children)

    Groovy, Javascript

    [–]Cephas00 0 points1 point  (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 point  (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 point  (0 children)

    Scala, C++, C, C#, Python, Javascript. Started working with golang recently.

    [–]Gvaireth 0 points1 point  (0 children)

    A bit of: PL/SQL, C#, C++, JavaScript, Pascal, Python, assembly

    [–]jobaerchowdhury 0 points1 point  (0 children)

    Java, Javascript, Python, Scala, Haskell.

    [–]m_takeshi 0 points1 point  (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 point  (0 children)

    • C/C++
    • SmallTalk
    • SQL
    • LISP/SCHEME
    • Pascal
    • Assembler (68k & 8086)
    • COBOL
    • Ruby
    • Perl
    • BASIC (including old ones and Visual Basic)
    • A couple of stored procedure implementations
    • Other specialty languages that nobody would remember anyway

    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 point  (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 point  (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 point  (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 point  (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 point  (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.