What Is Your Main Language?

I am following The Practical Dev and dev.to for quite some time and had the impression, that this great community consists of a majority of frontend and scripting language developers. I was more than happy, that my article about Modern Java Development gained some attention.

Now I am curious to know, What is you main programming language and what are you using it for?

Did you find this post useful? Show some love!

Ruby is my main language. I code in other stuff as well, but I'd call myself a Rubyist at heart.

dev.to is built with love and Ruby. ❤️

What did you do before dev.to?

Immediately before dev.to I was building a messaging dashboard with Node, and before that it was a marketplace app in Rails.

Vanilla Javascript, however, I'm shopping around for a library or framework. I'm looking at React for obvious reasons * coughiworkatfbcough * but I've recently been Ruby on Rails-curious since I've heard it mentioned a lot on Learn to Code With Me and Code Newbie podcasts.

TL;DR: since JS was my first language, I equate new programming languages with what I know in JS. So yeaaaah. Vanilla JS.

You may want to take a look at Cycle.js if you are interested in functional programming. Found it, used it, then joined the team

Most of the code I write at work is in Java, but more and more I am replacing my Java side projects with Kotlin.

And what kind of SW are you building?

I'm a consultant so the specific projects/technologies change frequently at work, but my current project is a large Android application. A lot of my side projects are also Android apps, but the big thing I'm working on is Orchid, a new static site generator. The core is still in Java, but I've been building all its many plugins in Kotlin.

Nice. I’m also tempted to start with Kotlin. But as I had the same feeling when Scala came out, I’m waiting if the hype will last...

Yeah, I had similar concerns for a while, but when Google announced first-class Android Kotlin support, I decided to take the plunge. I think the support of Google and Jetbrains, both large and influential companies in the Java space, give Kotlin an edge that other JVM languages do not have.


Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❤️

Plus, no fake comments when you're signed in. 🙃

Java for the front and backend: serverless on AWS Lambda with an Android client. In the near past I was using Java for web servers using Spring & Tomcat.

I've been learning Python on my own time, but putting that on pause while I pickup Objective-C and Swift for iOS at work.

Jasmine, a testing framework for Javascript, since my job is software QA. I use Protractor and supertest with it to test Angular front ends and REST APIs.

Mocha would have worked for those, too, but Jasmine is a tad more straight forward. If more people were reading my spec files, I'd consider switching.

Personal projects then end up using Angular or vanillaJS, but I'm itching to get back into Python to do something data related.

Are you only write tests? In my team, we also develop angular apps, but all testing from unit to E2E UI tests is done by our developers. Do you really see a need to have a separate QA?

At my location (one office of a larger organization), they try to maintain a 2:1 dev:QA ratio within teams. Devs write unit tests for their code and then QA writes the integration and E2E tests for the app as a whole.

In theory, this allows for devs to focus on deving and QAs to not be as tied to the code so they’re able to catch things better (going off of the spec rather than what the implementation does).

In theory

So, does it work in your opinion? I mean in terms of quality and also team responsibility? I would assume that it will end up in a situation where “they” write the bugs while “them” alway being to picky.

I’ve been on teams where it’s been siloed between dev and QA, and there has been a bit of infighting amongst those who find bugs and those who write code. It’s never been hostile just certainly a sense of otherness.

Most teams, though, if QA and dev are integrated then there’s no issue with that. Like, don’t have QA site bunched together away from dev, don’t have QA only lunches, etc. If everyone acts as a team, there’s no otherness.

Biggest issue I have with it is that I’m bored more often than not. Once I set up the initial framework, it’s a whole lot of waiting on dev to implement features for me to E2E test. 2:1 is good when a project is spinning up fast, but I think they need to revisit how many QAs are needed when a project is more in a sustaining pace. If the devs are working on infestructure or tech debt, I’ve got nothing to do.

Moonscript(Lua), especially with Lapis + Openresty for backend and rest API. For the frontend, vanilla Javascript with frameworks like React help me build prototypes faster. Because Moonscript and Javascript are so alike, I learn one for two.

Interesting. What kind of apps (as in domain) are you building with Moonscript?

Fancy! karaoke? 🎤
Reminds me of using Pinyin for Chinese...

Yes. Karaoke is the most popular language among millenials in Laos for chatting.

A news web app (naneung.com/) and a web note editor that translate karaoke into lao, currently in development.

Python here ! For tasks automation and APIs, but for pretty much everything else too.

These days I primarily code in Ruby and R. I mostly work in the industrial machine learning field and use both heavily for applications.

My colleagues, sitting next to me are also developing ML SW built with R, but mostly it’s kind of little research projects with customers. Do you build actual products with R already?

YES! I build the server application in Ruby and use the RInRuby gem to start my R apps when needed (mostly classifiers). I have deployed several industrial applications using this method and it works great.

Python is my main one, with most of my work in it involving pygame somehow. What I work on tends to range from simpler hardcoded games, to entire game engines like Desutezeoid, my point and click adventure engine.

and while I started using both python and pygame for games, I didn't stop at that. General pygame frameworks and applications are also something I work on. libraries such as strazoloidwm, a project of mine that helps create multi-window UIs in pygame.

Some of my bigger projects include a Chiptune synthesizer suite complete with drum sequencer, a base 3 computer emulator (SBTCVM), and my latest project being a gopherspace client called Zoxenpher.

python wasn't my first language, but it does what I need it to, and I've gotten to the point where I know what to expect from it. part of my reasoning for using a library like pygame is that I do enjoy the challenge of writing my own UI code from scratch, and fine-tuning it to the task at hand. :)

About five years ago I switched from coding most of my projects in plain Javascript and/or PHP to almost exclusively writing them in Haxe.
Since Haxe transpiles into (amongst others) both Javascript and PHP, I can use the same target platforms, but I get type safety, syntax checking, dead code elimination, conditional compilation, etc. And I can easily share code between frontend and backend without the requirement of having both run the same language, or needing a nodejs server (not that targeting nodejs would be a problem with Haxe).

Nowadays I use Haxe for almost everything, from writing Linux (or Windows or MacOSX) command line tools, to JS/PHP web applications, to Linux, Mac and Windows desktop applications, to iOS and Android apps.

TypeScript using React and React Native. I began my software engineering career with C# but have since moved towards front end. I’ve been using TypeScript for three years and I still love it, it gets better with every version!

I work in education, and I use Ruby as my go-to platform for web apps and system scripting. It's stable, performant at my scale, and the code is beautiful.

When I want to write a truly bulletproof server/daemon I've been leaning toward Elixir. When I want to write front-end apps that go beyond Neapolitan JavaScript, I use Elm. I'm very happy with this set of tools!

My main work-language is PHP. I started introducing some Golang at my company and we've built some stuff using it.

At heart I am still a C developer though, the first language I ever learnt (CompSci 101) and the one I tend to have most fun with.

I want to move more definitely to Golang but still having to maintain a lot of PHP projects I can't really run away from it, plus I've become so used to Laravel that whenever I want to start a new personal projects I can have an API with two/three end points ready in an hour so that's fun :)

C++ with a well rounded amount of object orientation. There is something special about using linux syscalls on file descriptors, combing through 30 different five-letter-acronyms trying to get serial to work on a Raspberry Pi. Yes headers are somewhat of a hassle, but when you write closer to C with sensible use of global variables it actually cleans things up. I have even come to enjoy multithreading in C++, using std::mutex and std::thread.

I suppose the point is that procedural programming is suprisingly maintainable even when threaded, because you don't try guessing objects' future use cases or data races.

Java. But I have interest to learn Swift, but I guess I'm having troubles with this because I don't know much about functional programming (I only know to code using the Object-oriented paradigm). I tried to learn this programming language using the demonstration project of the Apple's development page, but I continue with some doubts in some aspects of it, such as the guard-lets and the way which Swift use the MVC-Pattern. Currently, I'm programming in Python (with Django framework) too.

I‘m also a Java dev and I code some iOS apps in my spare time. So I’m wondering you are having troubles with Swift? It’s as function (or not functional) as Java. Why are you having trouble with it?

I always get confused with ViewControllers (put the code of one in another, because of the name) and find the "guard lets" very complicated. I'm more used to programming using very much comparisons and tried to implement the demonstration project in Apple's site, and I haven't studied anything of the language before starting, which I guess wasn't a good idea. I understood the basics but some functions are a little bit obscure for me.

I’m using Ruby on Rails to build a music school administration app.

Interesting! What was first, you or the app? 😄

  • What I mean is, did you offer to write such an app or were you hired to do so?

I was hired as a teacher/manager, and I learned to code specifically to build this app.

I started off in the same job as the other managers. I was more efficient than the other managers at technical jobs, so I got put in charge of all things tech (and fewer things sales 😄). We wanted to make our teachers' notes paperless and accessible to other teachers, so I built note systems in a no-code app platform based on spreadsheets. That was slow and clunky, so I learned to program in order to build a web app. I'm the only coder, so I needed a framework for fast development, thus Rails.

So yeah, one thing kind of just led to another. To be honest, I guess my main language is actually music. 🎶

I work in the healthcare sector, with the particular focus of our business unit being hospital information systems.

For the applications I'm working on Java is the predominant backend language and we build our UI with TypeScript (Angular).

I do both backend and UI development, but the latter consumes about 80% of my time, which therefore makes TypeScript my main language.

JavaScript, if it had static types I’d use it for everything. But right now I pretty much only use it on the web which is where I spend most of my time anyway haha

Why not using Typescript then? Our frontend devs migrates all Code to TypeScript from JS. You still need to transpile but maybe WebAssembly will have some answers in the future...

Because typescript needs to be transpiled, and I like being more in control of what gets outputted

Well, even ES6 needs to be transpiled...

BTW, you didn’t answer my second question. What are you building with JS?

All sorts of things :)

github.com/Nektro/apps.nektro.net is a WIP suite of PWAs to serve as Web alternatives to all your regular native app needs. Every OS comes with basic productivity utilities, and I'm making those very apps for the Web.

github.com/Nektro/modules.js is my collection of ES2015+ modules for all sorts of things you might need when making programs with JS

Those are my main projects right now and I've plenty in the works on the side too

learn programming in c# and .NET (a lit of java) , but i really like js , i did web pages , services , apps and bots using node and using vanilla js for front; saddly now i use cobol in my new job :(

C# since I'm mostly a desktop developer. Thanks to Xamarin I can also utilize my C# skills in mobile development as well, though my biggest strength there is knowing the native API's in their intended language in the first place.

  • Java / Kotlin for big backend services (using Spring boot)
  • Python for quick prototypes / internal services. I heavily use it for data analysis (numpy, pandas, keras)
  • Bash for glue code and cron jobs.
  • SQL for generating some reports.
  • Some javascript / Nodejs for basic front-end or AWS Lambda.

Picolisp, it's where I prototype, take notes and make plans, script my personal devices, call bash and shared libraries, process datasets and try out web app ideas that never take off.

For some number and graph computing I've recently started exploring J, highly recommended for its brutal expressiveness and the libraries, and it runs fine also under Android which allows silly practice on handhelds when commuting or waiting.

C# for the back end and Python for ML stuffs.

I have a main language per problem set.

  • Typescript for frontend
  • Rust for systems programming
  • Haskell for servers

that's a very uncommon stack!

Do you write backends in Haskell? Can you elaborate a bit?

Haskell is great, the strong type system pushes al your errors to the boundaries of your program. There I have haskell-servant for example that automaticly parses json and validates it, so I only have to write handlers dealing with plain Haskell types. It is also magnitudes faster than nodejs or Java. So yeah, I love writing backends in Haskell. Takes a bit of time to get used to, but I never wrote as less code as now for my servers.

I understand! Thanks for the explanation.

I grew up with Java, switched to Python and never turned back. These days I'm working a lot with Odoo as part of my job in DSis, hoping to introduce som Ruby into the company.

Grew up on Java, but JavaScript has taken over, followed by c#

Ok, and what kind of web applications? What’s the domain?

SQL and I use it with Oracles Application Express to create webapps for my company to streamline efficiency, secure data and reduce costs.

I've came a across some APEX applications but I've never actually had the chance to see how they are written. So you actually write a web application in SQL?

APEX (Stolen from Oracle's website).

This is the interface that we use to create a page. In it we can load up reports, grids, charts, trees, etc. All that can be manipulated using SQL, PL/SQL and JavaScript to show whatever you want.

For example: I'm using PL/SQL in my latest app to send both scheduled emails and SMS to customers, if they meet certain criteria, within our database by combining several tables that compartmentalise data, without exposing it to the world, using PL/SQL and RESTful services. It's insane. And that's only taken me a few weeks to create (considering I'd never heard of RESTful services until then).

Right now, for web applications, PHP 7 and Symfony 4 is my favorite combination. Then GoLang for command line apps and micro services or when PHP is not the best tool (Ex: Highly concurrent application).

For frontend VueJS.

Some other technologies that I like: MySQL, Redis, SQS, AWS Lambda, Firebase, NodeJS, Kubernetes,

This is always an interesting topic/question. I think that the language of choice is more about what framework you're into more than the language itself. If you like front-end development, it's likely to be JavaScript or TypeScript in conjunction with Angular, React or Vue.

For me, I primarily write in C# because I came up through the .NET community, however, have done a lot of work in node.js which is not a language obviously but I find that you cannot do web development and NOT have JavaScript in your wheelhouse.

C# allows me to do - console apps, API development, serverless, web front-end apps, mobile using Xamarin, IoT and even runs on a Raspberry PI. But I can just as easily turn to JavaScript and do most if not all of those as well with node.js or Angular.

Depends on the project or what the team I am working with is using. .NET Core right now is where I live 80% of the time.

Next week I'll start fresh as a Rubyist (with a touch of Elixir) after starting as a Java backend/integration systems developer a year and a half ago.

So at the moment I can say that my main language is clearly Java/Kotlin, but will soon change to become Ruby/Elixir.

I use Java, Swift and Go at work. Java for Android, Swift for iOS and Go for the api. I'm planning on moving to Kotlin in the next few weeks once I've acquired enough familiarity with it. I adore Go though. It's a simple, clean and opinionated language with a kick-ass standard library and great tooling.

For back-end servers, management scripts and various hacks, I go to Python by default.

The only thing I don't do in Python is basically what happens in the browser and has to be done in JS (duh)

At work, my main language is currently PHP. In my dreams, it's something else.

What is you work or what do you build with PHP?

F# for back-end services, mostly web APIs.

Cool. F# looks very interesting to me. What are you building with it and how did you the company start to use are not so wide spread language?

The software primarily deals with the training process. Registration, training delivery, record keeping, etc. Mostly we do client-side web apps with HTTP APIs. You can see some of the API design in my previous posts on Message-base APIs.

I was brought (back) on to modernize our applications, so I had the good fortune to be able to choose the languages and tools. The existing software was already on .NET and much of my experience is there as well. I had been learning F# on my own time for a while using sites like F# For Fun and Profit. So I felt confident enough that it could do what I needed. And that using the functional paradigm had a shot at being more maintainable than what I was doing before.

C#! I just find the .NET/MS stack so easy to build with.
Recently picked up React Native and really finding it fun to work with too

Java for Android app development and C# FOR ASP.NET.

C# for me, and I use it for Desktop and Web Dev in ASP.NET

I primarily use C#, followed by JavaScript. Then I play around with other languages for fear of totally arresting my development.

JavaScript it is and I'd use it for everything if I could, lol

Go is my main language now. I use it for backend API and IOT. Also i use JS and Angular in frontend.

I am a real pythonista :). But generally I cover alot of other stuff like java, ruby, go, c++ and the webstack (css, html, js...) too. My first language ever was java.

My main language these days is Swift, for iOS. But I still have some deep love for C# and Unity 😁


For green and brownfield development using a mix of Angular, AngularJS (legacy), Vue and Node/Express.

The idea behind "you should know 1000 programming language" never been something for me.
Use to work with some "simil Java" stuff, for software developing, but I'm not enjoying It at all.

Main language is Java, but I also have some side projects with Python and Arduino (C like one)

Javascript is what i was taught, but PHP is what i code in, along with JQuery

Java is my first language but you gotta know more to survive. Currently I'm working on a mongo, spring boot and angular app.

Java for backend development, however I'm doing my best to replace it with Kotlin whenever possible.

VueJS to build a ton of web apps.

I don't know anymore. I'm pretty fluent on Java and Swift, but I've been working hard on Javascript for a couple of months so I'll choose JS


I have coded in Java, C#, Ruby, Python, but always with a pinch of JS.

I really like it because is universal knowledge that you can apply wherever you want.

Python- the second best language for everything.

hahaha :D so what's the first?

C# with .net core, web app hosted in linux.

C#/JS/TS webapps small and enterprize, SQL also...

Polyglot myself, a bit of .NET, PHP, JavaScript, Ruby. My latest craze is Golang. My first language was Java.

PHP there... i zse it for 10years and i am happy with that. you know, web apps, portals, intranet apps and some bugger scripting. When i do not want ro use PHP i use my beloved Bash

I love php. Its the programming language that I was able to realize the first project I am really proud of and it has never failed me ever since.

When I can choose, I use go for backend stuff and typescript for frontend.

At work, I cannot choose very often and I write Perl and jQuery then. Sometimes some C

TypeScript. I used to mostly use Ruby but then I discovered optional types and now most dynamic languages seem kinda outdated.

My main language is Java and I am developing connected industry (or IIoT) solutions for customers.

Classic DEV Post from Apr 22

Often neglected skills new devs should learn?

A discussion of often neglected skills that new devs should learn.

Follow @colinmtech to see more of their posts in your feed.
Jan Wedel
Senior Software Developer + Group Lead + Loves Technology + Musician + Father
More from @stealthmusic
Everything That's Not Tested Will Break
#testing #programming #business
Trending on dev.to
How I intend to become a better software developer
#professionalism #learning #programming #career
Symfony 4 Installation and new features
#symfony #php #programming
5 concepts of Software Distributed Systems. Benefits of Distributed Architectures
#programming #softwaredev #appdev #scaling
To IF Or Not To IF—That’s The Conditional Statement
#ruby #programming
What would Paulo Coelho say (if he was a programmer?)
#productivity #team #professionalism #programming
Trapezoidal Rule in F#
#numericalmethods #programming
A year as Android Engineer
#android #programming #careers #engineering
A Step-by-Step Guide to Go Internationalization (i18n) & Localization (l10n)
#go #programming #tutorial