Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Do you use more than one programming language?
9 points by gaiusparx on July 29, 2010 | hide | past | favorite | 19 comments
Would like to find out if it is common nowadays to use more than one programming language. I mean using the language professionally for work or projects, not just knowing how to use.



Not only do I use multiple languages professionally, I don't know some of them.


My day job is Java and Bash with assorted UNIX utils.

One major side-project is C++ and Lua. The other is Python(GAE), Django, JavaScript and Awk.

The only problem is constantly switching Python and JavaScript code over several hours. I can't count how may times I get something as simple as an if statement syntax wrong.


I've always had a favourite general-purpose language for personal projects. This has been Haskell for several years now. Yet, I regularly find myself writing things in other languages. I use Ruby at work. I did C++ on a previous job, LISP even before that. I've written side projects in C.

And I'm constantly looking forward to the next opportunity for broadening my horizon, basically looking for a good excuse to learn and apply a new language. But I'm also a person with a distinct thing for languages and their design.

Then again, like somebody else has already stated, learning a new language gets easier every time. I think everybody should learn a few.


If you include Javascript, it's very common.

Beyond that, I've pretty well stuck with one language in production work for about five years. But that's only because I've mostly done modest-scale web app development, which really only requires one backend language. If you stick to web apps, you can go a long way with a single backend language.

But my current startup is about 50% web app and 50% Linux app. So we're finding more and more need for C.


Well, I use one language primarily at work, that being Java. For my startup project, I use Groovy almost exclusively. But, particularly on the startup project, I can easily see the situation where different parts may be written in different languages. I could see trying Scala for some backend services, as it has a reputation for dealing with concurrency well. Erlang could be a possibility in the future as well, for similar reasons. I also won't rule out dropping into C or C++ for performance reasons if the situation arises. And since there's a heavy element of statistical analysis / machine learning / data mining in some of this, I may be incorporating R and or Clojure (for Incanter) at some point as well.

Also, if you count SQL as a language, then I routinely use SQL (and/or HQL) for data access.

And as somebody pointed out in another reply... if you include Javascript, then yes, definitely.


I work on an ML compiler for my day job, which means a lot of ML but also quite a bit of C for runtime and basis library stuff. That of course doesn't include M4 (blech!), bash scripts, LaTeX, etc.


Serious question that probably says more about my lack of knowledge than anything else: What does ML give you that you can't get from Haskell?


Am I the only hardware engineer here? SystemVerilog gets no respect :).


Hey! We need good hardware otherwise where is all that software going to run? Keep up the good work!


Thanks. Incidentally, I just wanted to say that I almost always use Python for scripting and design automation stuff. I wrote about it here:

http://svffap.blogspot.com/2008/09/why-python-for-hardware.h...


I use multiple languages in my day job. For the majority of tasks, I use Ada (with some low-level C and Assembly thrown in). For recent support tasks, I have used Python for scripting purposes and Visual Basic for creating macro-based spreadsheets.

Depending on your definition of programming language, I also regularly use LabVIEW to interface with test equipment and MATLAB for simulation and analysis.


On a daily basis I frequently get my hands into any of the following: emacs lisp, java, ant, drools, python, jython, sql, jsp, make, clojure, javascript, xslt, velocity, hibernate hbm, hql, bash, antlr, freemarker, scala, html, css, confluence markup, xpath, regular expressions, and countless APIs all of which are themselves little languages.


I use Python for work, for my startup, and for my personal projects. In the same capacity I use JavaScript when doing web development. I even use VB6 for legacy code upkeep at the day job. I like to use C++ for certain projects and I've had to pick up Java for Hadoop's MapReduce (which I use for my startup).

It's always good to use the right tool for the job.


At work, projects we get at work are very varied. Mostly web stuff (PHP, Javascript), but I try to squeeze in Python when I can. Some mobile stuff which usually means iPhone (Objective-C). I have a Java background so I end up on Java projects that come in which is a fair amount because the corporate world like Java.


At the moment I use only C and the various language of the GNU build system. But in the past I used C++ or a personal project and before that I did some smaller projects in Ruby, PHP, Python, Javascript and HTML (with CSS).


I'd imagine it's pretty common, especially if you consider CSS, HTML and Javascript different languages. Personally, I use PL/X, and z/Assembly daily, with REXX thrown in every now and then.


For my day job I primarily program in ada95. My startups are generally using Python (Django), some javascript, C and occasionally writing wrappers in various languages for API access.


It's pretty hard not to. I prefer Python. But need lots of JavaScript (both browser and server (NodeJS)). Lisp for some stuff and still a fair bit of plain ol' C.


I use PHP on a daily basis for my work but I also program in Python and I am starting Java.

I believe that if you know how to program then you can effectively use any language. You will only need to know the little quirks that each language has.

I will repeat what coderdude wrote: It's always good to use the right tool for the job.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: