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't include special purpose languages for job submission, etc.) Later, I added HTML, javascript, CSS, and SQL. Now I'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.
EDIT: I see at least one example of someone who claims to use only javascript. I don't even see how this is possible. Not even a shell language? How do you deploy your javascript?
Got the data layer as well, generally it's hopping in and out of app/business/data layers and switching languages as the environment does. Like you said, I doubt there will be too many 1 languagers, we're all polyglots to some extent.
> one example of someone who claims to use only javascript. I don't even see how this is possible. How do you deploy your javascript?
Perhaps they hand it off to the next person in the work chain? Most larger IT shops divide up their development and deployment staff along technology and language lines - it makes recruitment easier for the managers who only need to rattle off a list of languages in their job ads, and managers can better control their staff by withholding access to technologies perceived as desirable to work on.
Perhaps you ask this question because you work in the new-fangled full-stack area where one person does everything. IMO the "DevOps" doctrine is a huge step backwards for business integrity. The doctrine for IT shops previously was to keep separate the people with access to the data and those with access to the code, hence "Development" and "Operations" were two separate areas. Creating "DevOps" people who can change both the data and the code in the name of full-stack processes opens the door up to large-scale fraud by workers of their employers' data and even cash.
I don't do it myself, but it's possible to solely program in JavaScript and still deploy complete apps, unless you count issuing commands at a command line to be "programming" in bash. With Node.js, you can do basically anything you could do system side with Ruby, Perl, or the rest and there are numerous JS-based tools for building, deployment, etc.
Go and bash. Occasional Python, C, C++, and Javascript.
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.
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.
Python, JavaScript (backend and frontend web dev respectively). I like to focus on one for a chunk of time (before lunch / after lunch), but sometimes that isn't possible.
I go between python, javascript, and c++ most weeks (not on the same project). I'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't happen again for a while.
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't seem to be much of a problem.
I think I'm probably the most productive in python, mostly due to the huge ecosystem. I'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).
Usually Javascript (Node), but also Java. However I'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.
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.
I sometimes go between C#, C++, Java and php / 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.
Pretty much what you say. Automating data maniplation/transformation, and also providing a simpler way for non-tech employees to enter data into Excel (Open Excel shhet -> Form pops up -> there is one Textfield in a form -> enter value -> value is placed where is should be placed in the sheet)
It's not necessatily on a daily basis, but mostly it's VBA.
I regularly switch between C#, Python/Django, some bash, and some straight up SQL. I'm fairly comfortable with them all - so the productivity is pretty much the same as switching between multiple projects in the same language.
I don'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 "@".
If I had to do it over again (alright, when), I'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't be hopping so frequently. Like, I don't know, spec out my API instead of just writing it.
80 comments
[ 2.8 ms ] story [ 139 ms ] threadEDIT: I see at least one example of someone who claims to use only javascript. I don't even see how this is possible. Not even a shell language? How do you deploy your javascript?
Perhaps they hand it off to the next person in the work chain? Most larger IT shops divide up their development and deployment staff along technology and language lines - it makes recruitment easier for the managers who only need to rattle off a list of languages in their job ads, and managers can better control their staff by withholding access to technologies perceived as desirable to work on.
Perhaps you ask this question because you work in the new-fangled full-stack area where one person does everything. IMO the "DevOps" doctrine is a huge step backwards for business integrity. The doctrine for IT shops previously was to keep separate the people with access to the data and those with access to the code, hence "Development" and "Operations" were two separate areas. Creating "DevOps" people who can change both the data and the code in the name of full-stack processes opens the door up to large-scale fraud by workers of their employers' data and even cash.
if I stack with C# Stile it's OK but if I do same Objective C or PHP. it's .... ;-(
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.
Go/Node in my free time(hobby projects).
Planning to decrease it back to 1 some day.
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't seem to be much of a problem.
I think I'm probably the most productive in python, mostly due to the huge ecosystem. I'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).
App tier: Java
Backend: Oracle
<3 my job
JavaScript, Python at home.
SQL,
Golang,
Bash
(sadly in this order of frequency)
It's not necessatily on a daily basis, but mostly it's VBA.
If I had to do it over again (alright, when), I'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't be hopping so frequently. Like, I don't know, spec out my API instead of just writing it.