DEV Community

What Is Your Main Language?

Jan Wedel on May 11, 2018

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 fronten...
Collapse
 
cat profile image
Cat • Edited

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.

Collapse
 
jvanbruegge profile image
Jan van Brügge

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

Collapse
 
ben profile image
Ben Halpern

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. ❤️

Collapse
 
stealthmusic profile image
Jan Wedel

What did you do before dev.to?

Collapse
 
ben profile image
Ben Halpern

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

Collapse
 
pbouillon profile image
Pierre Bouillon

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

Collapse
 
souksyp profile image
Souk Syp.

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.

Collapse
 
stealthmusic profile image
Jan Wedel

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

Collapse
 
souksyp profile image
Souk Syp.

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

Collapse
 
souksyp profile image
Souk Syp. • Edited

To illustrate what I'm doing...
Typr

Thread Thread
 
stealthmusic profile image
Jan Wedel

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

Thread Thread
 
souksyp profile image
Souk Syp.

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

Collapse
 
val_baca profile image
Valentin Baca

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.

Collapse
 
stealthmusic profile image
Jan Wedel

In what field are you working?

Collapse
 
val_baca profile image
Valentin Baca

I work for a website that sells books :)

Collapse
 
cjbrooks12 profile image
Casey Brooks

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

Collapse
 
stealthmusic profile image
Jan Wedel

And what kind of SW are you building?

Collapse
 
cjbrooks12 profile image
Casey Brooks

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.

Thread Thread
 
stealthmusic profile image
Jan Wedel

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...

Thread Thread
 
cjbrooks12 profile image
Casey Brooks

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.

Collapse
 
itsasine profile image
ItsASine (Kayla)

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.

Collapse
 
stealthmusic profile image
Jan Wedel

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?

Collapse
 
itsasine profile image
ItsASine (Kayla)

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).

Thread Thread
 
stealthmusic profile image
Jan Wedel

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.

Thread Thread
 
itsasine profile image
ItsASine (Kayla)

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.

Collapse
 
pgoodjohn profile image
Pietro Bongiovanni

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 :)

Collapse
 
danhomola profile image
Dan Homola

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!

Collapse
 
fnh profile image
Fabian Holzer

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.

Collapse
 
spboyer profile image
Shayne Boyer

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.

Collapse
 
thallesaraujo profile image
Thalles Henrique

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.

Collapse
 
stealthmusic profile image
Jan Wedel

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?

Collapse
 
thallesaraujo profile image
Thalles Henrique

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.

Collapse
 
legoglass profile image
Flavio • Edited

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 :(

Collapse
 
dmerand profile image
Donald Merand • Edited

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!

Collapse
 
thomasthespacefox profile image
Thomas Leathers

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. :)

Collapse
 
alexhaxe profile image
Alexander Blum

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.

Collapse
 
briankephart profile image
Brian Kephart

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

Collapse
 
stealthmusic profile image
Jan Wedel • Edited

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?
Collapse
 
briankephart profile image
Brian Kephart

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. 🎶

Thread Thread
 
rhymes profile image
rhymes

Awesome!

Collapse
 
nektro profile image
Meghan (she/her)

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

Collapse
 
stealthmusic profile image
Jan Wedel

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...

Collapse
 
nektro profile image
Meghan (she/her)

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

Thread Thread
 
rhymes profile image
rhymes

Well, even ES6 needs to be transpiled...

Collapse
 
stealthmusic profile image
Jan Wedel

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

Collapse
 
nektro profile image
Meghan (she/her)

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

Collapse
 
hkrogstie profile image
Håvard Krogstie

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.

Collapse
 
yorodm profile image
Yoandy Rodriguez Martinez

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.

Collapse
 
chiangs profile image
Stephen Chiang

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

Collapse
 
stealthmusic profile image
Jan Wedel

What do you use it for?

Collapse
 
chiangs profile image
Stephen Chiang

Mostly web applications.

Thread Thread
 
stealthmusic profile image
Jan Wedel

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

Collapse
 
stedzn profile image
Estefanía Hernández

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

Collapse
 
rrampage profile image
Raunak Ramakrishnan
  • 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.
Collapse
 
brpaz profile image
Bruno Paz

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,

Collapse
 
scottishross profile image
Ross Henderson

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

Collapse
 
stealthmusic profile image
Jan Wedel

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?

Collapse
 
scottishross profile image
Ross Henderson • Edited

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).

Collapse
 
avjinder profile image
Avjinder

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.

Collapse
 
coolshaurya profile image
Shaurya

Vanilla Javascript.
Still gaining expertise with it. Working on small webapps like a Weight Tracker and an advanced clock app. Also planning to make some basic games like tic-tac-toe, ludo,snakes and ladders etc.

Collapse
 
matteojoliveau profile image
Matteo Joliveau

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.

Collapse
 
cess11 profile image
PNS11

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.

Collapse
 
ghost profile image
Ghost

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

Collapse
 
stealthmusic profile image
Jan Wedel • Edited

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?

Collapse
 
ghost profile image
Ghost

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.

Thread Thread
 
stealthmusic profile image
Jan Wedel

Cool 😎👍

Collapse
 
jvanbruegge profile image
Jan van Brügge

I have a main language per problem set.

  • Typescript for frontend
  • Rust for systems programming
  • Haskell for servers
Collapse
 
rhymes profile image
rhymes

that's a very uncommon stack!

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

Collapse
 
jvanbruegge profile image
Jan van Brügge

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.

Thread Thread
 
rhymes profile image
rhymes

I understand! Thanks for the explanation.

Collapse
 
geosoft1 profile image
George Calianu • Edited

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

Collapse
 
xowap profile image
Rémy 🤖

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)

Collapse
 
moopet profile image
Ben Sinclair

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

Collapse
 
stealthmusic profile image
Jan Wedel

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

Collapse
 
kspeakman profile image
Kasey Speakman

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

Collapse
 
stealthmusic profile image
Jan Wedel

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?

Collapse
 
kspeakman profile image
Kasey Speakman

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.

Collapse
 
loopdeez profile image
Loopdeez

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

Collapse
 
cmilr profile image
Cary Miller

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

Collapse
 
codeitbro profile image
CodeItBro

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

Collapse
 
jheroje profile image
Javi

Javascript.

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.

Collapse
 
thomaswdmelville profile image
Thomas Melville

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

Collapse
 
juz501 profile image
Julian Chan

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

Collapse
 
rootgnb profile image
RooT

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.

Collapse
 
pkristiancz profile image
Patrik Kristian

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

Collapse
 
genta profile image
Fabio Russo

Javascript.
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.

Collapse
 
littlefox profile image
Mara Sophie Grosch (LittleFox)

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

Collapse
 
kayis profile image
K

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

Collapse
 
andrewtheant profile image
Andrew Bastin • Edited

Kotlin mostly...

But JS (TypeScript) is starting to creep up a lot due to me hacking around a lot on Node and React these days...

Collapse
 
wintermute21 profile image
John Best

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

Collapse
 
covicake profile image
Fernando Andrés García Hernández

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

Collapse
 
scotthannen profile image
Scott Hannen

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

Collapse
 
alephthoughts profile image
Abhishek Sharma

Python- the second best language for everything.

Collapse
 
rhymes profile image
rhymes

hahaha :D so what's the first?

Collapse
 
hugo__df profile image
Hugo Di Francesco

JavaScript.

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

Collapse
 
kggayo profile image
Keviniano

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

Collapse
 
rdelga80 profile image
Ricardo Delgado

VueJS to build a ton of web apps.

Collapse
 
erikthered profile image
Erik Nelson • Edited

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

Collapse
 
vdobrikov profile image
Vladimir

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

Collapse
 
svnset profile image
Robin L.

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.

Collapse
 
ccmiller2018 profile image
Christopher Miller

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

Collapse
 
vekzdran profile image
Vedran Mandić

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

Collapse
 
stealthmusic profile image
Jan Wedel

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