And how has your experience been so far?
For me it depends on the Project.
Mostly I use Python. JavaScript/Node.js, Ruby, Java, php are also on the list. :)
At work, I'm using .NET+JS. But for pet projects I choose the complete JS stack. I think it's even better to work with different programming languages because they're just a tools and you should more think about the solution.
Java & Go, but I use other languages as the need arises. Why to restrict yourself to a certain language or paradigm. Use what you need based on what best that is available and what best suits you.
I use Java, PHP, Node.js and Python. One at a time and combined, based on the requirement and timeline.
If you're writing anything REAL for the web, you typically are; client side (JavaScript) and server-side (PHP, ASP, Python, Ruby, pick one)... So I think that number would be higher than you think.
Me, I actively use PHP, JavaScript (both client and server-side), Pascal, C++, and x86 Assembler (using NASM) -- admittedly for different tasks; one set of tools for web development, another set for working on Arudino/Teensy projects, yet another for working on my various retrocomputing hobbies. Since apparently I didn't get the memo nobody writes games for DOS anymore...
I have to agree with @Edouard that switching between languages can be beneficial -- more so the "lower level" you go. You start playing around at the machine language level it gives you an insight into how things REALLY work. That insight (particularly if you learn how to build a compiler or interpreter) can reap real benefits particularly when certain groups of developers start talking out their backsides about things like pass by reference being "bad" in interpreted languages like PHP... You quickly start to recognize the outright BS a lot of "experts" spew because they've never worked in anything more complex than jQuery and PHP copypasta.|
Though I have a somewhat skewed perspective since I started programming over three and a half decades ago on a Cosmac ELF, hand assembling RCA 1802 machine language and entering it one bit at a time on toggle switches.
If you're writing anything REAL for the web, you typically are; client side (JavaScript) and server-side (PHP, ASP, Python, Ruby, pick one)... So I think that number would be higher than you think.
Me, I actively use PHP, JavaScript (both client and server-side), Pascal, C++, and x86 Assembler (using NASM) -- admittedly for different tasks; one set of tools for web development, another set for working on Arudino/Teensy projects, yet another for working on my various retrocomputing hobbies. Since apparently I didn't get the memo nobody writes games for DOS anymore...
I have to agree with @Edouard that switching between languages can be beneficial -- more so the "lower level" you go. You start playing around at the machine language level it gives you an insight into how things REALLY work. That insight (particularly if you learn how to build a compiler or interpreter) can reap real benefits particularly when certain groups of developers start talking out their backsides about things like pass by reference being "bad" in interpreted languages like PHP... You quickly start to recognize the outright BS a lot of "experts" spew because they've never worked in anything more complex than jQuery and PHP copypasta.
I actually maintain legacy software in Java while developing a new platform for my company in JavaScript
JavaScript/Node.js, Ruby, Elixir, Python and Java for the legacy.
That's what I am using at work. Doing the majority of my tasks in JavaScript.
I re-started Ruby since I have installed Gitlab last year and helped to migrate from SVN to Git. Gitlab is written in Ruby and adding stuff is fun or should I tell Ruby is fun again?!
Elixir I'm doing on side projects at work. Want to make it the primary language for the backend stuff, but some resistance at work is keeping me away from doing awesome things. But it was the same with JavaScript at work. I'll win, sooner or later :-)
Python and Java are only occasionally popping up, and I hope for even less, to be honest.
In the last two years I've been mainly programing with C# at work and Ruby ( Rails and experimenting with Hanami) @ home. Soon I`m changing the job and will again work with PHP with which I have 7 years of prior experience.
I consider myself language agnostic and as Edouard said there is always something to learn from the other languages. For me it's always nice to tinker with some different languages, technologies and frameworks.
R, Typescript (and some plain javascript), a little bit of Scala, and Python depending on the sprint and focus , and other less-programming languages but that still require to keep the syntax in mind: Bash, hcl (Hashicorp config language, mainly for Terraform configs)
More painful than the syntax (which really comes back very quickly as soon as you switch), the painful thing is the variety of IDE and related keyboard shortcuts.... how many times I pressed the wrong key combination.... I try to edit my configs to have the most in common, but still...
Mainly Java, Kotlin, potentially Scala as well in the near future, Dart, JavaScript and the occasional work on PHP and Python projects.
I can easily juggle 3, maybe 4 languages at the same time, when I add another one which I haven't used on that day, it takes a bit of time to make the context switch. A good IDE makes this a lot easier though.
In the company I work we use JavaScript and Java and in a private Project I use completly TypeScript. Sometimes I play with my Raspberry Pis in Python or C++
Right now I'm using Python (saltstack), Ruby (rails) and JS (node & react) to build an in-house system for the company I work with - in fact most projects I work with use at least two languages at once, depending on what we need client or server side.
I don't really have too many issues switching between languages since I started guarding against it by ensuring I complete small blocks of functionality each side rather than jumping between them continually on a single feature (which isn't really an effective way to work anyway).
For example, if I'm working on a site and I've got Rails one side and JS the other - rather than implementing a feature by ping-ponging between the two until it works, I'll implement one side first (which I choose depends on the requirements of the task), and then the other - and reiterate if needed. Unit and integration testing ensures I can define and verify my work without needing both parts present.
In short, it can be confusing if you are constantly jumping between them - but if you are doing that you probably need to refine your workflow and relieve yourself from doing that. Focusing on each side independently also ensures you give it your full attention and you don't make sacrifices you don't need to or overlook things.
Hope that helps :-)
I am one of those. Obviously, I prefer one language to the other. So far my experience has been positive (been doing stuff for 3+ years), although it takes its toll when trying to be good with all languages, one can only strive to be relevant. Currently, I code in PHP, Javascript and Python — trying to add ruby to the list, but quite busy.
I love doing what I do, I find it challenging, refreshing and educational.
Like Mario, I use Javascript more than other languages. I mixe it with C#, .Net, Java (actually) and python (side project). I often make mistakes when I go from one to the other but not for long, I guess it's habits.
I think it's very beneficial to switch languages because it forces you to step back from what you're doing and only learn concepts wich you can use in nearly all languages.
If we're considering Javascript as a programming language ( back in the day, it was a scripting language) then yes - daily and usually side by side.
It can be a bit of a PITA - sometimes I'll forget to put the $ on a variable name in PHP or forget to use var in Javascript (as the most basic of examples) - just get used to it eventually.
Same as grammar in written languages; Their, They're and There - all about context and remembering which one to use when.
Jason Knight
The less code you use, the less there is to break
Cliff Rowley
Thinker, Tinkererer, Dork.
Cliff Rowley
Thinker, Tinkererer, Dork.
Þorvaldur Rúnarsson
maintainer @ Zolang
I use Python and JavaScript at work and use Swift to develop my programming language Zolang.
Though If Python and JavaScript wouldn't be so trivial and similar with regards to code architecture + design it would probably mean that I would me merely a jack of these trades.
I think it's going fine, though I find it difficult to keep up to date with the latest greatest frameworks out there, especially in JavaScript and Python as they both have an insanely fast moving community.