TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Do you program in multiple languages in a day?

38 pointsby ratpikover 10 years ago
Which ones? Opinions about productivity?

61 comments

lxfontesover 10 years ago
Go, Ruby, Bash, javascript, coffeescript<p>- I try not to work with 2 languages at the same time<p>- Try not to carry paradigms over wrt var names, module functions, deployment options<p>- Keep a single editor (vim) for all of them<p>- I might need a few minutes to &#x27;warm up&#x27;, specially when dealing with go-routines, threads or a magical change in syntax (ex: from Javascript to Coffeescript)<p>- Warm up gets harder if I don&#x27;t touch certain language for a while. Ex: Focusing on a single language for 1 - 2 days makes me extremely comfortable with language X, but harder to switch to language Y
leephillipsover 10 years ago
I would be surprised if anyone said they only used one language. Even in the olden times my typical day had Fortran, Python, Bash, and [La]TeX, + sometimes C. And the variations on these, including various libraries that amount to mini-languages in their own right. (This list doesn&#x27;t include special purpose languages for job submission, etc.) Later, I added HTML, javascript, CSS, and SQL. Now I&#x27;m trying to add Clojure and Julia. Of course the cognitive burden has an effect on productivity, but I think we do this because we find that using languages well suited to the task gives us a net win.<p>EDIT: I see at least one example of someone who claims to use only javascript. I don&#x27;t even see how this is possible. Not even a shell language? How do you deploy your javascript?
评论 #8287535 未加载
评论 #8289975 未加载
评论 #8284724 未加载
评论 #8284772 未加载
评论 #8284757 未加载
moron4hireover 10 years ago
Definitely C# and JavaScript every day. The current state of one of my projects doesn&#x27;t need a lot of new SQL work right now, but that&#x27;s been a temporary lull while I reworked the UI. It&#x27;s not uncommon to be doing all three in one day.<p>I would say I&#x27;m &quot;equally productive&quot; in all three, in the sense that I am comfortable in all of them, produce about the same quality of work for each, and rarely get blocked on problems because of something I don&#x27;t know in the language. The volume of work in each is not the same, as they obviously are necessary for different things and at different times.<p>On a pure volume basis, I have a number of side projects that are 100% JavaScript (i.e. Node backend), so JavaScript is definitely the language I use the most. But in terms of expressiveness, I find C# to be the friendlier language over the long term, as my programming style has grown towards exploiting static checking for refactoring. Increasingly, I find myself prototyping things in JS, then translating portions to C#.<p>I would ultimately like to replace C# in my workflow, though. It&#x27;s difficult, as I don&#x27;t like the Java tool ecosystem. I like progressively enhanceable tools, stuff that one can do a very simple Hello World in without requiring a package manager or project template initializer, and add components to as you require more complexity in your projects. That&#x27;s absolutely tied to how I learn new languages by running side projects in them. I hate having things in my project directory that I don&#x27;t understand and thus can&#x27;t stand the modern trend of starting a beginner&#x27;s tutorial with a language&#x27;s own, custom package manager&#x27;s &quot;init&quot; command.<p>It depends on the language, but it&#x27;s usually the same project: either Tetris or a text adventure that eventually gets upgraded to be a MUD. I find it to be a great way to learn languages: you get the basics of data structures and control flow right up front, then you jump right into either graphics or networking. Tetris was how I first learned C# (coming from Java), and MUDs were how I first learned Racket and Node.
eddierogerover 10 years ago
I don&#x27;t as much as I used to, but for a stretch I was going between Ruby and Objective-C daily. It was a lot to keep up with, and I ended up with a lot of ObjC lines missing semicolons and Ruby strings prefixed with &quot;@&quot;.<p>If I had to do it over again (alright, when), I&#x27;d try to segment the work better. I was writing a service in Ruby (Sinatra) and consuming it from ObjC. I should have planned better upfront so I wouldn&#x27;t be hopping so frequently. Like, I don&#x27;t know, spec out my API instead of just writing it.
kristiandupontover 10 years ago
As I am typing this I realize how times have changed: I use Javascript, but only on the server. And then I am currently writing firmware in C++.<p>I find I typically mistype things 3 or 4 times per day, like var instead of int for variables, bracket positioning or === which has gone from looking completely weird to now looking correct, leaving me feeling that my comparisons in C++ are sloppy. I usually catch it immediately and if there is a productivity cost, it&#x27;s so small that I don&#x27;t notice it myself.
hypr_geekover 10 years ago
Since a year ago upto a few months before, my day was split in half while working on two projects. The first half had me working in C, bash and HTML&#x2F;CSS, Javascript for an embedded project and the latter half was Java (Android), HTML&#x2F;CSS and Javascript for a mobile&#x2F;web project.<p>Nowadays, (moved on to another company) the first half is in Scala (Play), HTML&#x2F;CSS and Javascript for a web project and the second half in Java (Android) for a mobile project.<p>It has been not been that difficult to manage switching between languages unless the programming paradigm changes (Java &lt;-&gt; Scala), but even that you get used to. The major goal is, in my opinion, to become so proficient with the language(s) that you&#x27;re working with, that it becomes second nature to transform your thoughts to source code. Very much similar to learning a second natural language. It&#x27;s not really necessary to learn the ins and outs of each language that you work with, but at least the stuff that would be required.<p>Some problems that I had,<p>* Realizing it takes time to get used to the context switch.<p>* Using different editors. I was doing C and bash coding in vi, but working and modifying Linux source in KDevelop, mostly due to changes in coding style like tabs vs spaces. Java(Android) coding was in Eclipse and HTML&#x2F;CSS&#x2F;Javascript was in Sublime Text.<p>* If you go off one lanugage for a couple of days, it takes some time to get back into it. Doing at least a few things daily keeps one in the flow.<p>* Static compilation helps a lot when we make mistakes after a context switch. Javascript and Bash proved to be a major pain for this (I did try out JsHint for Sublime, but it slowed the system down, so I went back to looking at errors in browser console).
pdovyover 10 years ago
Most of the core stuff I work on is in C++, but I regularly transition over to Python for automation tasks, data processing, testing, etc. As much as I like C++, Python is much better for manipulating data IMO - the cost of the mental context switch is way outweighed by how well the language lends itself to certain tasks.
aethertapover 10 years ago
I go between python, javascript, and c++ most weeks (not on the same project). I&#x27;m doing a little rust on the side just to learn it, same with haskell. I had a project in ocaml recently, but that probably won&#x27;t happen again for a while.<p>I find the biggest hassle working with multiple languages is trying to keep the libraries and data structure interfaces straight (i.e. push, extend, unshift, push_back, cons, :, ::, ...). Once I get into the language mindset the syntax itself doesn&#x27;t seem to be much of a problem.<p>I think I&#x27;m probably the most productive in python, mostly due to the huge ecosystem. I&#x27;m happiest when solving problems in haskell though, and increasingly I like rust (really hoping for higher-kinded types, which would put it in the running for my favorite).
groovy2shoesover 10 years ago
Python, C, C++, some Lua, and a bit of Perl and Tcl. I find that I&#x27;m most productive in Python or Lua. C and C++ slow me down quite a bit, partly due to the languages themselves and partly due to fighting with our internal build system (and the long build times associated with that).<p>At my previous job I got to use Racket quite a bit, and I was about as productive there as I am in Python.<p>I&#x27;m a proponent of using the most appropriate language(s) for a particular project, but sometimes the powers that be will demand something particular (around here, they usually want C++ or Perl). We&#x27;ve got a static analysis project slated to start next year, and I&#x27;m hoping to talk them into letting me use OCaml. We&#x27;ll see...
BruceMover 10 years ago
Every day is pretty much a mix of Dylan (<a href="http://opendylan.org/" rel="nofollow">http:&#x2F;&#x2F;opendylan.org&#x2F;</a>), some Python, some JavaScript and either C or C++. Occasionally shell scripts.<p>My productivity in any of them is usually pretty decent, but it depends more on what I&#x27;m doing. In Dylan, I&#x27;m often hacking on the compiler or the runtime, so that&#x27;s harder and slower going than doing some web services in Python, or Javascript for some visualization &#x2F; UI. C++ varies from fairly easy work to modifying the standard C++ library to add instrumentation hooks, so again, the productivity varies.
gintsmuransover 10 years ago
Web developers do it daily if we assume that html, css and javascript is also programming. As for me, I do html, css, javascript, php, python, objective-c. Not all days are the same but these ones overlaps very often.
评论 #8284928 未加载
fuzzythinkerover 10 years ago
Nimrod (for cpu heavy things), Moonscript (for lapis), Livescript (for web), and occasionally python and javascript, which used to be my main languages.<p>I&#x27;m now only using python for simple scripts. The one thing that kept me away from python (among few others) is modifying functions do not return values, which makes code unnecessary verbose and wastes my time in debugging since I always forget about that. I&#x27;m hoping someone will create a &quot;coffeescript&quot; for python since the python ecosystem has pretty much everything from web to machine learning.
mercurialover 10 years ago
Professionally: Java, Perl, Javascript, PHP On the side: Python, OCaml<p>Productivity: Java feels more solid than the scripting languages, but is extremely verbose. Python is the easiest dynamic language I&#x27;ve worked with, it strikes a good balance between speed of development and consistency. Codebases in dynamic languages don&#x27;t scale too well, though especially when your refactoring tools are &quot;sed&quot; and &quot;mv&quot;. OCaml is exceptional in terms of error-checking at compile time, readability, speed and small LOCs.
restlessmediaover 10 years ago
Coming from an agency background to more application focussed it&#x27;s not unusual to cover most, if not all of the following in a single day; C#, html, css, javascript (client), sql.
cemaover 10 years ago
I think many will say <i>Javascript and something else</i>.<p>Working in any web stack, you are likely to use Javascript (almost) on a daily basis. And much less likely to use Javascript or Javascript-based technology on the back end.<p>I think I would also add SQL, for the &quot;not no-SQL&quot; backing store. This is a funny beast: a programming language which (arguably) has not originally been intended to be used as a programming language, but often is.<p>(I use C# for the middle tier, but it could be anything depending on the stack.)
评论 #8287975 未加载
BrianEatWorldover 10 years ago
Recently, I have been splitting time between Clojurescript, Python and HTML&#x2F;CSS. I am not sure if its actually true, but I certainly feel more productive in Clojurescript. I think its because, when paired with the right IDE, you can move a lot of code, really quickly.<p>At home, I experiment with IBM 370&#x2F;390 assembly. However, since I have yet to figure out how to run anything even using an emulator, I think it would be more counter-productive than productive.
sharmanaetorover 10 years ago
PHP, JavaScript, Java<p>Setting up a Java project takes excruciatingly long but after that, it&#x27;s worth it. Having code logically organized saves time in the long run. PHP and JavaScript give you short term productivity gains but after a while, there is a feeling of being lost in the woods.<p>I have to say that since I&#x27;ve started working on AngularJS apps though, JavaScript seems much more pleasant.
wastedhoursover 10 years ago
PHP for normal work stuff and then Ruby for custom Rails apps which speed up my workflow (in fact, I once used a Rails app to output the PHP code for me to paste, was a glorious day).<p>I developed my dev skills more in RoR than PHP, so tend to feel more at home there, so switching isn&#x27;t as natural as it could be (partly because it&#x27;s mainly flat PHP, MVC feels more intuitive).
评论 #8286420 未加载
anacrolixover 10 years ago
Go and bash. Occasional Python, C, C++, and Javascript.<p>Python and bash are the most productive, but quickly become troublesome as program size grows, at which point I switch to Go. C and C++ are necessary to interact with system, third-party libraries, and extreme performance on occasion. Javascript is just an unfortunate necessity for the web.
WoodenChairover 10 years ago
A single day might span Objective-C, C, Swift, Dart, Python, JavaScript, and even PHP... usually just a pick of two of those. I do think it&#x27;s more productive to be heavily immersed in no more than one or two day-to-day because otherwise I start to confuse APIs&#x2F;syntax from one with another.
prseover 10 years ago
I regularly work on Ruby&#x2F;Java&#x2F;Javascript&#x2F;css&#x2F;sql, backend: mysql - C#&#x2F;javascript&#x2F;css&#x2F;sql backend:oracle,sql-server.Switching between languages isn’t issue but when i switch between ORM’s and Patterns, I have to read about certain things I am trying to achieve.
tbrownawover 10 years ago
C# (GUI with WinForms)<p>SQL and PL&#x2F;SQL<p>Java (server-side stuff that uses the db)<p>Perl (server-side stuff that doesn&#x27;t use the db)<p>Unix shell script (ksh93; server-side stuff that mostly just calls other things)<p>They&#x27;re each suited for different things, and I think my productivity is better than if I tried to do everything in a single language.
klintchoover 10 years ago
Usually Javascript (Node), but also Java. However I&#x27;m most productive in Python, for all and everything, from whipping up a small Flask REST service to doing some data crunching using Pandas. Unfortunately for me, where I work Node is the language of choice.
jyotheproover 10 years ago
Swift, Objective C, PHP<p>- Most of my time is spent on Objective C, Swift and PHP for side projects.<p>- Sometimes I use Objective C in Swift, PHP in Objective C, not super annoying as the IDE marks these as errors<p>- Productivity is not awesome but its a cost that I have to pay to work on more than one language.
jsmeatonover 10 years ago
I regularly switch between C#, Python&#x2F;Django, some bash, and some straight up SQL. I&#x27;m fairly comfortable with them all - so the productivity is pretty much the same as switching between multiple projects in the same language.
adennerover 10 years ago
I sometimes go between C#, C++, Java and php &#x2F; Javascript. Much like being multilingual in the language you speak it just takes a little practice. It does hurt trying to remember the special features of each.
rbanffyover 10 years ago
Yes, mostly PHP and JavaScript, with Python on separate products. Python is much more productive, front-end JavaScript is very easy to debug. PHP is a nightmare that can be mitigated with a lot discipline.
RonenTsamirover 10 years ago
ActionScript - (Client ) Application C# - Unity - (Client ) Application Java - (Server) google cloude JavaScript - the host.<p>if I stack with C# Stile it&#x27;s OK but if I do same Objective C or PHP. it&#x27;s .... ;-(
ushiover 10 years ago
Today it was Ruby, Go and JavaScript. I feel productiv in all of them. Sometimes some C, Shell and Python. Python is becoming a pain, because i use it so rarely, that i have to look up everything.
numo16over 10 years ago
VBScript (classic ASP), SQL, C#, Javascript, Powershell<p>Most productive when working in the SQL&#x2F;C#&#x2F;JS parts of our stack and then need a warm-up period whenever I delve into the VBScript areas.
amatxnover 10 years ago
Ruby, Java, Javascript, HTML, CSS, occasionally C#, VB.Net, PHP, Python, Scala.<p>I&#x27;m much more productive in Ruby or even C#, just able to get more done and happier developing in those languages too.
themoonbusover 10 years ago
Python, JavaScript (backend and frontend web dev respectively). I like to focus on one for a chunk of time (before lunch &#x2F; after lunch), but sometimes that isn&#x27;t possible.
zedrover 10 years ago
Yes, mostly Python on the backend, JavaScript on the frontend, and some shell scripting (Bash).<p>At home, I dabble in m68k (Amiga) assembly and C.<p>On the bus, Racket (don&#x27;t ask me why).
Igglybooover 10 years ago
Java and Python. I also have to do javascript in most of my projects but that&#x27;s almost a given for this day and age.<p>Go&#x2F;Node in my free time(hobby projects).
ragebolover 10 years ago
C++, Python and a bit of Prolog. All running on ROS, so also some message definitions and a bunch of bash to make our lives easier
sejjeover 10 years ago
Python, Ruby, Javascript, PHP (HTML, CSS) in a typical day.<p>Then some Clojure exercises lately, but I&#x27;m not actually building anything. Yet.
tptacekover 10 years ago
Not counting Javascript, I flip between Ruby &amp; Golang pretty regularly, and before Golang it would have been Ruby &amp; C.
diverightin63over 10 years ago
PHP, C#, VB.NET, Python, JavaScript, Microsoft SQL, MySQL, HTML, CSS. Switching between them doesn&#x27;t slow me down.
评论 #8284865 未加载
antjanusover 10 years ago
I often go between PHP and Javascript (Node + Angular). :) I used to juggle a bit more than that too!
christiangencoover 10 years ago
Anyone doing frontend web development will have at least three: html, css, and javascript.<p>More experienced developers will add a preprocessor for each of those: slim (or haml, jade, erb, etc.), scss (or less, sass, etc.), and coffeescript. You&#x27;re writing in the preprocessor, but debugging in the language it compiles to, so we&#x27;re at at least six.<p>Now if you&#x27;re programming a webapp with an actual backend, you&#x27;ll need to use some middleware:either Ruby on Rails (my personal favorite), Python&#x27;s django, Cake PHP (or whatever the cool kids on PHP are using these days), C#&#x27;s .NET, or Perl&#x27;s dancer. The reason Node.js was a big deal was that it let you save a language here: you could re-use your javascript skills on the backend. The framework is so dramatically different, though, that I&#x27;d still count it as another language.<p>Now we&#x27;re at seven.<p>Presumably you&#x27;ll be interacting with some kind of API that uses either JSON or XML, so we&#x27;ll call it eight.<p>Maybe your ORM (object-relational mapper) isn&#x27;t quite robust enough to handle a query you need to make to your database, so you have to dip a bit into SQL (or Mongo, Redis, or whatever popular database you happen to be liking right now). You could potentially skirt this by using a service like Firebase that will let you keep your javascript and json skills for your database, but I&#x27;m still counting this as nine.<p>If you&#x27;re just an app developer, and you either work on some kind of team that has other people that like to do this next part, or you&#x27;re rich and can afford heroku, then you can stop here. Otherwise we&#x27;ve got a few more.<p>To deploy your app you&#x27;ve got to know how to log into your server and install your app dependencies, so you&#x27;ve got to learn bash (and a lot of other <i>nix tools, like ssh, scp, tmux, and vim, but those aren&#x27;t really </i>languages<i>). Ten, easy.<p>One of the things you have to install is a web server like Apache or nginx. The config files of these things are a language unto themselves: they&#x27;re both </i>kind of* XML-ey, but not really. I&#x27;m counting this as eleven even though it&#x27;s usually something people just pick up by changing variables of, and nobody&#x27;s actually writing in the stuff.<p>So a minimum of eleven. Personally, I also take notes in Markdown, jump between projects that are using different preprocessors and backends, and get myself into more trouble than I should on the server side. On a given day I think it&#x27;s fair to say this could hit twenty.<p>And that, ladies and gentlemen, is how I almost always won the &quot;who knows the most programming languages&quot; dick-swinging contests in high school and college.
评论 #8285215 未加载
tttyover 10 years ago
Just JavaScript, day and night, client and server... No need for other stuff except for CSS.
评论 #8284956 未加载
mcmillionover 10 years ago
Rails, Laravel, vanilla PHP, daily.<p>If I had it my way, it would just be Rails. Much more productive.
seivanover 10 years ago
Ruby, Swift, Objective-C and CoffeeScript. But usually separated between projects.
davidwover 10 years ago
Ruby and Erlang, these days. Plus a bit of other things like SQL and Javascript.
jherikoover 10 years ago
regularly switch between C, C++, Java and Objective-C<p>necessary for cross platform development<p>C++ for the win. its annoying apple and google break the universality of C&#x2F;C++ by forcing you to use tools built on top of C&#x2F;C++ :P
lowglowover 10 years ago
PHP&#x2F;Ruby&#x2F;JS, previously, PHP&#x2F;JS&#x2F;Python&#x2F;C&#x2F;C++
datamindedover 10 years ago
Python, Javascript and SQL pretty regularly with some BASH here and there
pkinskyover 10 years ago
Scala, with a regular smattering of SQL and Haskell for side projects.
oweilerover 10 years ago
It&#x27;s often a combination of Bash, Java, Groovy and JavaScript.
krobover 10 years ago
PHP, Javascript(does angularjs count?), Markup(html, css)
janantalaover 10 years ago
Javascript (Node + Angular), Objective-C, Java (Android)
kgcover 10 years ago
Javascript, Objective-C, Java, Ruby
jeenaover 10 years ago
C++, Qml, bash at work.<p>JavaScript, Python at home.
hemerlyover 10 years ago
c for firmware development, java for android and python for prototyping and automation.
nyddleover 10 years ago
Perl by day, Python by night.
valevkover 10 years ago
VBA,<p>SQL,<p>Golang,<p>Bash<p>(sadly in this order of frequency)
评论 #8284887 未加载
danielhuntover 10 years ago
Web tier: PHP, JavaScript, HTML, CSS<p>App tier: Java<p>Backend: Oracle<p>&lt;3 my job
chandrewover 10 years ago
PHP, JS, HTML, CSS
benzesandbetterover 10 years ago
python and javascript, most days.
joshdanceover 10 years ago
php, javascript, html, sql
antocvover 10 years ago
Productivity depends on your previous experience and the domain you&#x27;re in.<p>Sometimes Im way more productive in Bash than in Python, sometimes its other way around, and sometimes Im most productive in Java.<p>You cant do web development with Bash so I guess me or anyone else would be infinietley more inproductive trying to use that for web dev.<p>Similary just some stuff you cant do in your favourite language.<p>Choose wisely and you&#x27;ll be productive.
评论 #8284929 未加载