DEV Community

Cover image for Why is your preferred programming language your go-to?

Why is your preferred programming language your go-to?

Ali Spittel on November 18, 2018

I got asked on Twitter why I love Python so much, and I thought I would do a quick writeup, then open this up to a discussion on why your preferred...
Collapse
 
ben profile image
Ben Halpern

As might be clear from my entries to your challenges, I’m a Rubyist. I play around with other things, and explore different things, but Ruby captured my heart and I haven’t looked back.

I’m super excited for Ruby 3.

Collapse
 
pavonz profile image
Andrea Pavoni

I've been a Rubyist for over a decade but, like you, I always explored new things, and now I settled mostly on Elixir as my go-to language for server-side web/apps.

I still use Ruby and Python for other quick/focused scripts or tasks.

I also appreciate Go, even if it's my last go-to, just when I need speed or portability (eg: deploy a binary in production)

Collapse
 
ondrejs profile image
Ondrej

Ruby is my second go-to language right after Kotlin (I do primarily mobile apps) :) Great choice, you can't go wrong with Ruby.

Collapse
 
ben profile image
Ben Halpern

Kotlin definitely seems to get a lot of things right

Collapse
 
pbnj profile image
Peter Benjamin (they/them)

Last time I worked with Ruby (3-4 years ago), I heard about the Ruby 3x3 initiative.
Any resource you can point me to for latest progress/news on Ruby v3?

Collapse
 
srowles profile image
Stephen Rowles

Go as it's a great all-rounder. Complied to native binary makes it simple to use for processing io and building tools.

Fast enough and safe enough to build microsevices in. Memory managed to I don't worry about malloc and free any more :)

Collapse
 
ondrejs profile image
Ondrej

I have also experimented with it and enjoyed it quite a lot, seems to be like pretty good replacement for C/C++.

Collapse
 
valorm profile image
Valorm

Am a go programmer too, at first I love C/C++.
Go is awesome and it’s really fast 💨

Collapse
 
buphmin profile image
buphmin

I mostly use PHP and JS as those were the two languages I learned first. I can see how PHP and JS can be abused to write bad code, but so can any language. I recently used Go for a project where I needed plenty of threads and that was awesome, I love how simple Go is. PHP and JS are easy to use and as far as I know the two fastest scripting language (though JS cheats as it is all JIT now). JS has the benefit of being useful everywhere now and a must know for frontend web dev.

I have considered learning python, but I keep thinking there is nothing I can do in python that I can't do in PHP/JS and PHP/JS both run significantly faster in most cases than vanilla python (excluding pypy and cython). JS because it is JIT compiled, and PHP because of heavy caching plus a ton of built in C extensions which are of course very fast.

Collapse
 
filips profile image
Filip Š

Main problem with PHP is that it was not so good in the past (before PHP 7 and PHP 5). It was slow and it had some weird functionalities. But with release of PHP 7 (and PHP 8), PSR standards and frameworks like Laravel and Symphony, it has improved a lot. It's very fast and with JIT coming in PHP 8 will be even faster.

Other big problem is that is is very easy for beginners. And beginners obviously don't write so good code. This is also reason why many people think that (all) code in PHP is bad.

Collapse
 
david_j_eddy profile image
David J Eddy

Additionally: PHP is a beast of a web language. With the upcoming 7.3 release being 200% faster than the 5.6 release performance is only getting better.

Collapse
 
nicolus profile image
Nicolas Bailly • Edited

It is one of the fastest scripting languages, and it will become even faster when JIT is implemented (like an order of magnitude faster). That won't make a difference in web apps because computing is never the bottleneck (it's usually I/O bound : loading 1000s of classes from your favorite framework and querying an API or SQL server that's not even on the same machine comes at a cost), but it could make PHP usable for domains in which nobody would consider using PHP/Python/Ruby today, like heavy scientific computations, image processing, 3d rendering or IA.

Preloading (coming in 7.4) on the other hand could help quite a bit on the I/O side.

Collapse
 
simoroshka profile image
Anna Simoroshka • Edited

I started learning programming with C++ (go-to language for the first 3-4 years in uni), then there was Java, PHP, a bit of Python, a bit of Ruby on Rails...
Somewhere in between I had to do a project with animations, and I used canvas and Javascript. Javascript was SO weird! I remember banging my head on the table because of "functions are objects and you can pass them around" while things like closures simply made me want to run away. Nothing made much sense.
But then it became familiar. Like in romance movies, hate transformed into love.
I like the flexibility. I like how it looks. Everything seems a bit easier when I code it in JS.

Collapse
 
ld00d profile image
Brian Lampe

I'm going to be the weirdo here: I don't have a go-to programming language.

I like python. It's nice for simplicity, and I'm ok with the whitespace thing. I never get to apply this skill professionally though.

I like javascript. It's everywhere. It's got some warts, but it's pretty simple to hammer stuff out.

I like java. Tools like Spring Boot where almost anything you want to do is there already, and you can build pretty big things with a couple of config classes, a few interfaces, and some annotations.

Collapse
 
latetide profile image
LateTide

Same here, mostly any of these three or c#, when it comes to programming.
The only reason I use JS more than the others is that it's really simple to just open the console in Chrome and start typing...

Collapse
 
swizzard profile image
sam

i write python for my job, but if i had my druthers i'd be writing haskell all the time. it's concise and elegant, and things like type classes, algebraic data types, and higher-kinded types (not to mention the concept of kinds in general) are things i miss when writing other languages

Collapse
 
kspeakman profile image
Kasey Speakman

Props for the colloquialism “druthers”. 👍

Collapse
 
ondrejs profile image
Ondrej

I would recommend you Elm language if you like Haskell. Pure functional language suitable for beginners.

Collapse
 
swizzard profile image
sam

I actually looked into Elm--it's got a lot to recommend it, but I'm not super keen on the way the language and community is managed. If you like Elm, you should give PureScript a try--it's heavily Haskell-influenced and compiles to JavaScript, plus it has (imo) a better way of dealing with interoperation, not to mention fun stuff like row polymorphism.

Thread Thread
 
ondrejs profile image
Ondrej

I know PureScript, I have seen a lot of talks about it, but it's a bit mathematical voodoo to me. Note, that I do not work as a frontend developer, but I do mobile apps in Kotlin, so everything else is just more or less hobby to me.

Collapse
 
lincolnsand profile image
LincolnSand

I love haskell too. It's not my go to though. I would choose java or python (the languages I know best) or maybe C (I don't know very much C, but I sometimes have to use it. I like C more than java).

Collapse
 
leoat12 profile image
Leonardo Teteo • Edited

I have two preferable languages depending on the situation: Java and TypeScript.
Java is the language I use professionally, I am a web developer who loves Spring Boot and what it has to offer. The combination of Java maturity and Spring Boot ease of use made me love the Java language, before I used to see C# as the go-to language, but after I knew Java well, I fell in love. It is great to see that decades of well organized community driven development is at your back. You can find any solution for anything in Java and most of the time the solution is very elegant as well. People may say that it is verbose, but I think it has the vocabulary necessary to transmit what needs to be transmitted to the developer. It has the best libraries and the best exception handling as well, it is easy to find where is the problem, something that I didn't find in any language, unless, maybe, C#.

TypeScript is Javascript for the statically typed language fans. You are almost forced to know Javascript nowadays, but Javascript really bothered me with its, in my opinion, unsafe way of dealing with types, I have come from Java, it is something I don't tolerate. Therefore, TypeScript has been incredible for me, it reminds me a lot Java (and Kotlin), which makes me feel more comfortable and I can use the fast development and prototype of JavaScript and NodeJS.

So, I tend to use Java for work related things, web development and serious projects and TypeScript for quick projects, prototyping, etc.

Honorable mentions: the growing desire to come back to C# and learn it well, I think it is important and it is probably not that far from Java. I think it is good to have both Java and C# under your belt, but I didn't find the time to do so until now. Python is a language that I never liked and probably never will, it is just not for me, I need curly braces in my life... hahaha

Collapse
 
kaelscion profile image
kaelscion

the growing desire to come back to C# and learn it well, I think it is important and it is probably not that far from Java

I've felt this urge at times as well as I started with C#, but am a Python/Julia guy now. I will say as well that Java and C# are, in my opinion, sister languages in a lot of ways. If you know one, you are likely able to read the other and know what is going on for the most part. They were also designed with similar problems in mind, for similar use cases, and inspired by similar languages. They were just developed at different companies. I ultimately believe that Java is more widely used due to its portability, whereas C# is used by pretty much any business that runs the Microsoft stack. Sorry, let me rephrase that: pretty much any business :P.

However, in the days where the JVM runs more than just Java and C# is now cross-platform (weird), they may be actually becoming more similar than they've ever been. I'm actually hugely interested to see the future of these two languages.

Collapse
 
leoat12 profile image
Leonardo Teteo • Edited

Yes, that's true, C# and Java are very similar in many ways, except for a few different ways with doing things and writing things. It is somewhat the difference between dialects of a same language, I think. The different is mostly how things are done, for example dependency injection, database interaction, etc. In these areas they are very different, but it is a matter of framework, not language itself.
Here where I live I see that there are a 50/50 ratio between Java and C# and it would be great for my career to know both. This weekend I decided to have a "C# Weekend", I'm rewriting a application I did for fun and practice in Java and Spring to C# and APS.NET Core. Probably, I will write an article about my impressions regarding this rewriting. :)

Thread Thread
 
kaelscion profile image
kaelscion

I would read the crap out of that article. I left the C# world behind when .NET 4.5 was new and C# 5 was the latest version of the language so, suffice to say, I'm well removed from the C family nowadays. But I would love to see something that was written in Java, not only re-written into modern C#, but in the .NET Core repackaging of The .NET Framework. I've read a bit about .NET Core, but am not really sure if it is Microsoft doing its usual thing of acquiring a company (in this case Xamarin) then giving their founders a big middle finger by ripping their product apart, taking what they like, and throwing the rest away, telling Mono to go shove it, or an actual attempt to encourage a cross-platform, open sourced world. I like Microsoft's new direction. I really like how Satya Nadella, when first given his position, was expected to do a bunch of stuff, and in many cases had it demanded of him by the board, and instead kind of just said "That's nice. But Azure is my baby, I'm a cloud guy at heart. So guess what? We're going after AWS's cloud service. Oh, and we're going to do it by showing Google their not the only open playground of the big 5. Cheers fellas, I've got a company to run." But, I'm also relatively sure that at least part of that was, more or less, a PR stunt to help all of us skeptics believe that a "maverick" had taken MS by the ears and is leading a bright new revolution in tech and don't really trust it as far as I can grow a grand piano full of molten lead. It would be interesting to see the comparison either way though :D

Collapse
 
caseycole589 profile image
Casey Cole

Perl because it gives me power to do anything simply

Collapse
 
chenge profile image
chenge

My languages team:


              Ruby

     Go                  Nodejs



        Rust    Elixir  Clojure

Ruby, everything is a object and care programmers happy.
Go favor simple.
Nodejs is popular.
Rust has some new idea.
Elixir' author often say beautiful code.
Clojure, everything in ().

Collapse
 
kaelscion profile image
kaelscion

I'm a Python guy through and through. I started my career with C#, which was a bit of a difficult first language to be honest. Back then, I didn't think about what was going on under the hood as I could barely even remember what to type. But I truly hated how much code it took for everything


public static void main(string, args[]{
  string wth = "why?!? Why so many dang characters to define a simple method?!?!?";

)}

Now, I've not written a single line of C# code in 5 years so there are probably a ton of mistakes above. But if you've come from a C language to a high level scripting language like Python, Julia, Go, or Ruby and you can look me in the eye and tell me that the above C# example didn't make your sphincter tighten a little bit, then you are a dirty dirty liar 😋😋😋.

What I love most about Python is that it teaches you to think in code. The syntax and ease of use allowed you to translate ideas in your head into code so easily its insane. A lot of folks feel that this kind of easy syntax makes programmers weak and squishy, but I disagree. I would consider a strong programmer somebody who can think through a problem while doing something else, figure out a solution, then simply sit down and type it out and watch it build and work correctly rather than trying to remember what that curly brace is supposed to go.

Our job is to build solutions and solve problems efficiently, effectively and quickly. Does expertise in using a sword give you bragging rights? Yes, of course. Will a beginner with a gun kill you in open space from 30 feet away? Absolutely and bragging rights be damned. But different languages have different strengths and use cases. One size never fits all and I have a lot of trouble not trying to solve a problem with python that would be better suited to Go or Rust or Haskell.

Either way, I love using Python because I can code thoughts like writing notes in a notebook. If I want some functionality, I like that Python makes it easy to translate that thought into code and test it quickly rather than fighting the compiler.

Collapse
 
lincolnsand profile image
LincolnSand

I think dynamically/weakly typed languages are a bomb waiting to explode. I think statically typed is the way to go. But I do use python a lot and it was my first language.

Collapse
 
kaelscion profile image
kaelscion

A lot of folks feel that way and I can't say that defining the type of data that goes into a variable or data set is not a huge advantage in a lot of ways. But I also think that dynamic typing has its place as well. In my opinion, having used both, I think the typing system of a language is less important than knowing how to use the typing system of your language of choice. Good code is good code and bad code is bad code. Although, I will totally admit that static typing does make it easer to write certain types of code well, it has its own set of issues. But I will also be the first to admit that Python, and languages like it, are far from perfect despite their popularity. Still my favorite language though! (Although, I have been looking at Rust's performance and memory/thread safety lately, and am thinking of starting to move some of my more speed-centric projects over to it. Don't tell Python yet thought cuz she doesn't know and I want her to be ready to move on with her life before I bring in a step-mom for her in the shape of Rust. It can be so tough for kids to see their dad get re-married just before they leave for college...)

Collapse
 
richjdsmith profile image
Rich Smith

Ruby is my gem.

It was originally designed to make programming fun, and every time I use it, I enjoy myself.

I try other languages, and see lots of potential for Elixir while having plenty of respect and appreciation for Python, but at the end of the day, I am a Ruby developer and I couldn't be happier.

Collapse
 
ld00d profile image
Brian Lampe

Ruby is my gem.

I see what you did there

Collapse
 
snowfrogdev profile image
Philippe Vaillancourt

Started learning to code in C#, quickly switched to JavaScript. Now my go-to is TypeScript. I love it because it is very versatile. TS/JS runs pretty much everywhere: Web, Mobile, Desktop, IOT, front-end, back-end. JS might not excel at everything but I honestly think it doesn't suck at much. You can build some pretty cool games with it, do machine learning, web apps (of course), desktop apps, data science stuff... It feels like the only limit is your imagination.

I like the fact that it's a scripting language and you don't have to worry about memory management. I like the event system and how it deals with asynchronous code. Even though this may not be where it shines the most, I like the fact that you can write programs that make use of multi-threading and concurrency (even if everyone thinks you can't do that in JS).

I like TypeScript because it adds a layer of type safety on top of the above. I usually find TS code prettier, cleaner and more often self-documented than plain JS code. It also makes writing OO style code easier while it still allows writing in a functional style if you prefer.

Collapse
 
gingerchew profile image
ginger

I’m sure this is just a misconception, but I love javascript because of how easy it is to get into and how versatile it is. When I needed to make a list of options for a select and was given a list of languages and their ‘language code’, I opened up a node instance and turned those two lists into an object and the. Build a template and generated the list of html options in the terminal. Rather typing out everything I saved myself 20~ minutes, and I learned something about the fs package in node. I think that’s something special.

Collapse
 
jacoby profile image
Dave Jacoby

Perl is my go-to, and has been for over 20 years. This was back when Perl and CGI was the standard for dynamic web, and I thought "use Perl, or write it in C++ with the strings library?", and after a wave of nausea, never looked back.

My general move is to try to turn something that's available in one form and turn it into something else, and Perl is very good at that, and when it isn't, I can shell it out and play with the result.

I especially love CPAN, which I hold as a best-in-show for language repositories. I can install and upgrade old modules with every confidence that everything that worked before I started will work when I am done, which is not true of every dynamic language that starts with P.

I know that things I want to do are affected by things I know that I can do with Perl, and I know it has slipped a lot in popularity in the last 20 years. But I know that many of my idle questions, from "Can I brute-force solve this logic problem in my son's math homework?" to "Can I re-implement a spirograph in SVG?" to "Can I put my FitBit step count in my Bash prompt?" are solvable with Perl.

Collapse
 
oscarj12 profile image
OscarJ12

I'm split between C and ARM Assembly. C is beautiful to me because it's in touch with the hardware of the system, plus it's very portable between systems and is human-readable enough that you can do general purpose tasks as well as hardware programming.

I love Assembly Language because I can follow through my program in the wires and components of computers. I like to be able to debug from a physical perspective. ARM asm is also a whole lot easier than any of the CISC asm languages (I'll learn x86 one day) and has more functionality in terms of microcontrollers and single board computers that I like to use. I like the history of asm and it feels closest to the early programmers of the 50s and it gives you a proper feel of how difficult most programs must have been back then.

Collapse
 
lincolnsand profile image
LincolnSand

C's cool. I don't know it very well, but I'm forced to use it (gladly).

Collapse
 
lyfolos profile image
Muhammed H. Alkan
  • Python

I love Python because of its simplicity, awesomeness, popularity, and ecosystem. Here is "Zen of Python" (PEP20) that says what tries to be

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
  • Erlang

I like Erlang because it's concurrency, syntax (it's a little bit ugly, I know) and functional programming. The Erlang's syntax is so good for the functional programming in my opinion but many people hate its syntax, I still don't know why..

There is Elixir, that makes Erlang better and simpler. It could be lovely for Rubyists, but It's still not familiar for me.

  • OCaml

OCaml! It has beautiful syntax, features, performance. It by default compiles into OCaml Bytecode/Native, and it can be compiled into JS using Bucklescript, which is great.

There is ReasonML, like Erlangs Elixir. It supports React programming, which makes you able to FRP (Functional React Programming). I really want to it's be popular, because OCaml has failed to be popular, but if Reason will be popular OCaml will be popular too and the ecosystem will be richer. Because Reason compiles into OCaml AST then JS using Bucklescript. It's good for JS programmers.


I'm thinking for Kotlin too. It looks good!

Collapse
 
choroba profile image
E. Choroba

Perl. It wasn't the first language I learned (that was Basic, followed by Pascal, SQL, Prolog...), but I found its way of expressing things very similar to the way I thought about things.

Collapse
 
lincolnsand profile image
LincolnSand

Prolog is weird. How did you like it?

Collapse
 
choroba profile image
E. Choroba

Well, we used it at university in "Applied Logic" and it made sense there. Years later, I was surprised how Erlang's syntax was similar to Prolog's one.

Collapse
 
garfbradaz profile image
Gareth Bradley

C# currently, for which I love. This was mainly for my job and because I love the dotnet stack (even more so now Core is around).

But I would like to transfer to a more data centric role around Machine Learning (if possible), so looking into F# and Python.

Collapse
 
saint4eva profile image
saint4eva

You can still use C# for machine learning intensive tasks e.g. ML.NET

Collapse
 
dwhyte profile image
Dwhyte

My go to language was JavaScript because I started with that while I was attending Ironhack bootcamp. In my head, I thought only in JavaScript for my backend and front end possibilities. Then I started working for a company right after bootcamp that worked mainly with a LAMP stack ( Laravel , PHP) ... then I was hooked lol. Nowadays, I code everything in PHP and Laravel. It’s so elegant

Collapse
 
everythingfunct profile image
Brad Richardson

If I want to just bang/try something out or show somebody an idea or concept, I go Python every time. The syntax just gets out of the way and I don't have to be as picky about all the details. If I want to be sure it works I go to Haskell. Basically, if it compiles it works, and I've brought the techniques I learned from Haskell into other typed languages to be able to reap some of the benefits there as well. If it needs to be fast, C/C++ or Fortran.

Collapse
 
jfrankcarr profile image
Frank Carr

I've been using mostly C# for about 12 years. For about 10 years before that, it was classic VB (VB2 to VB6) and before that it was about 8 years of MASM, C and C++ with a sprinkling of QBASIC. The thing I like about C# is how it links both these earlier phases of my career and takes it further.

Collapse
 
rachelsoderberg profile image
Rachel Soderberg

C++ tends to be my go-to language for technical interviews as it was what I was trained in academically and what I studied as I prepped to enter the job market. For writing full scale applications C# has become my go-to simply because I use it everyday and it's most familiar to me on a "bigger than a single algorithm" scale at this point.

On a side note, I'm taking some online courses in Python and loving its simplicity so far!

Collapse
 
theredspy15 profile image
Hunter Drum

My go to is Java, as it wasn't so much my first language (C# -> C++ -> Java). But it was my first fluent language.

Now it is burned into my brain to the point I started writing it by hand on paper because why not.

Collapse
 
noblebe4st profile image
Jeff Hall

Well I spend most of my professional time in JavaScript, and I've come to appreciate the language quite a lot. I also do a little Python, and that provides a nice break from JavaScript. But what I really like is Ruby. That's what I'll reach for if it doesn't have to be either of the former two. It's a great language, great community, easy to get started, and difficult to master.

Collapse
 
gypsydave5 profile image
David Wickes

What makes me 'go-to' a language tends to be a question of whether I know how to solve a problem in a language already, and do I have time to do it in a language I don't know how to solve the problem in already.

I'll usually try to churn a solution out in Bash using other programs (curl, sed, jq and stuff) and some pipes. Then if that runs out of steam I'll probably use Golang as I hate it's standard library HTTP client the least, or NodeJS because of experience.

If you gave me a code challenge I'd do it in Common Lisp.

Collapse
 
grayjack profile image
GrayJack

There are several languages that I like, so mostly my go-to definitions depends of what are the needs for the project.

I know some C, C++, Rust, Python, Java (Ugh) and a little bit of Julia.

I did a lot of coding with C, Rust, Java and Python, so these 4 are the languages I'm most comfortable with, but that doesn't mean I like all 4. I hate Java, I wasted a awful lot of time fixing bugs on C cause the compiler let me do dumb things.

I LOVE Rust for the safety, for the fast and the zero-cost abstraction.
I'm liking Julia a lot cause it's very easy to learn and write for data science and is very fast too, I mostly use python for that, but there have been times that it was too slow for the size of the data I was processing and Julia saved my ass.

Fast execution -> Rust
Safety -> Rust
Fast writing -> Python or Julia

I don't have anything go to for web stuff since I never done a web development before.
I'm also taking suggestion of the modern languages that is used today for web development.

I also experimenting with OcaML and Clojure, and I kinda liking them a lot...

Collapse
 
jonchampaigne profile image
Jon Champaigne

Lisp or Python (for most things); Perl, bash and C (for work related stuffs), though I am not particularly "good" with any particular language I muddle through --depending on the task, end_Goal or other restrictions, I tend to take the path of least resistance. Being more task oriented these days (meaning, old) --tending to use whatever is most convenient or interesting based on the environment and time-frame allotted. Though I have been working with "Go Lang" more, which seems to fit many use-cases and be fairly handy for building applications quickly and/or prototyping. I have also considered switching to clojure, outright, more than once.

Collapse
 
katiekodes profile image
Katie

I mean ... Ali ... you already wrote better about the reasons for Python than I could. :-)

Java is the one I was trained in in school, so it'll always have a soft spot, and I like the "belt and suspenders" feel of its type safety and syntax sometimes ... especially when I think I might mess up.

But for scratchpad stuff ... it's really nice to be able to write fast, and then later actually read what I wrote.

As that old comic goes ... Python lets you import essay. ;-)

Oh, that and it was runnable on Windows, thanks to WinPython, without admin rights! It was a HUGE step up from bashing my head against the wall (pun slightly intended) with shell scripting for PC file manipulation.

Collapse
 
rrampage profile image
Raunak Ramakrishnan • Edited

I have a few preferences depending on the task at hand:

  • bash for anything to do with file and system operations
  • python for quick scripts and prototyping projects (generally < 500 lines). It is great for easy setup, lot of libraries and what you can accomplish in 500 lines
  • java (and these days kotlin) for more serious projects where I feel static typing and JVM ecosystem will benefit
  • On my learning list: Haskell and Rust
Collapse
 
lincolnsand profile image
LincolnSand

Haskell is awesome, but hard. It hurts my brain, but I love it. Good luck

Collapse
 
rhnonose profile image
Rodrigo Nonose

It used to be python because I could spin up a console and test stuff easily.

Then it became java since the IDE would generate everything for me.

Now it's elixir since code is not complex enough to need IDEs, the console is available even in production and functional programming rocks.

Collapse
 
suffiank profile image
suffiank • Edited

My first language, C/C++. There's tremendous freedom and variety. It's got all the good as well as the bad. You take your pick. You can do templates or OOP or vanilla C. There's no interpreter to get in the way of what you want. And there's an endless richness to it - which can equally be considered a drawback. Since I have a physics background, I'm also a fan of Fortran. Did you know there's a 2008 version? It still comes out as the fastest** language and can teach you low-level details. It also changes little details with C, e.g. parameter passing details, start by one indexing, column major order, no pointers etc. So it can serve as a nice compare and contrast with C.

Of course, no one can live without a scripting language. And Python is far and away the favorite. Though I'm curious to try Julia lately.

** Of course, you can program C/C++ to be just as fast. But if you're careless, then Fortran ties your hands more.

Collapse
 
andrewchou profile image
Andrew Chou

As my first language, Python used to be my go-to mostly because it let me build things out quickly without many barriers.

Nowadays, I spend my days (and nights) focusing on web development so I'm writing a lot more JavaScript. It's not necessarily my favorite language but I've gotten comfortable with it because I use it so often now. I think the added context of working with a browser and DOM gives it a really fascinating ecosystem, so it's always going to keep me attached to some extent.

I will say that I've been learning Go on my own time and it's slowly becoming my go-to if we're talking about language design. I generally prefer simplicity and readability in a language and I think Go is great at that compared to other languages, despite its known shortcomings. I'm hoping it won't be long before I actually start using it for personal projects and other endeavors.

Collapse
 
matteojoliveau profile image
Matteo Joliveau

Because they really complement each other very nicely. You have the data access layer (models) and presentation layer (views and controllers) handled by Rails, and the business (transactions and operations), validation (validation schemas) and orchestration logic (autoinject and container) handled by Dry. I don't call models directly in controllers, I have service objects that transparently handles data transformation between the application and the outside world (being the front-end or the database), validating input data and integrating with external APIs or applying business rules

Collapse
 
matteojoliveau profile image
Matteo Joliveau • Edited

I love Ruby expressivity and cleanliness and the Rails and Dry ecosystem.

I love Elixir/Erlang performance and concurrency, their immutability and functional approach to problems.

I love Kotlin expressivity and performance, and the Spring ecosystem.

To each their own, because if you got more than a hammer you can deal with more than a nail :)

Collapse
 
ondrejs profile image
Ondrej

Kotlin because it's general purpose and is so elegant. Python is also ok, but i like it only for scripting (I do not like OOP in Python because IMO it's not primarily designed for it). Ruby is IMHO much more elegant, flexible and naturally object-oriented. In terms of usability nothing beats JS though.

Collapse
 
galarzaa90 profile image
Allan Galarza

Python is definitely my goto language, I love its flexibility and how easy it is to make a simple script, or a big project.

The only thing I haven't found out how to do in Python, is a good looking GUI.

Collapse
 
yungfloaties profile image
gitbub • Edited

rust, easily. safe, fast, helps prevent you from writing bad code

Collapse
 
dimpiax profile image
Dmytro Pylypenko

I have experience in the programming over 12 years, and I like a lot of languages, but my the best tool today is Swift (Apple is the creator), for native development for iOS, macOS, watchOS, tvOS and applications like for server-side or utils.

Collapse
 
idanarye profile image
Idan Arye

Python is not my favorite language, but it is the language I'm using at work. After using it professionally for long enough, I've become familiar enough with its syntax and standard library to be able to do most things without having this search the docs.

This alone is enough to make Python my go-to language. Not any feature of the language itself - just the fact that I'm more proficient with it than with any other language.

Collapse
 
ahmaddeel profile image
AhmadDeel

I go with Html.

No i'm just kidding.

I love c++ and to be honest I would try to do anything there. Right now I'm learning socket programming with it.

But professionally I am a MEAN Stack developer and do a lot with typescript.

Collapse
 
thegreatcabbage profile image
TheGreatCabbage

Python was my first language too, and it was my favourite until learning Kotlin a few months ago. Kotlin is amazing with its extension functions and lambdas, and list operations are much nicer than those in Python.

I find the dynamic typing of Python makes large projects a little more difficult to manage.

Collapse
 
horus_sky profile image
Cedric W

I don't have a particular go-to as I don't consider myself a bonafide developer. Nor am I a dedicated designer. I'm somewhere in the purgatory that lives between the two. I mostly work in HTML/CSS and some JS due to my job. Most client work I use PHP, but mostly because I can use includes for my HTML and its the only other language I used other than HTML/CSS. So I guess my goto language(s) are PHP/HTML/CSS ¯_(ツ)_/¯

Collapse
 
jason_espin profile image
Jason Espin

C# all the way. I'm mainly a web developer so started out with PHP and front-end tech in Uni but gradually found that the front-end discipline is very easy so moved on to C#. It's tooling and readability is what I love about it.

Collapse
 
jaakidup profile image
Jaaki

Ah, yes.

For writing something quickly, probably Python.

For making it run quickly, Go.

For the Web, JavaScript, until something better comes along.

I also find that every project has at least one Bash script somewhere.

Collapse
 
david_j_eddy profile image
David J Eddy

No preference here; I am more of a 'right tool for the right job' kind of person.

  • HTML: web app/page structure
  • CSS: Paint, windows, and animation of HTML
  • JS: Anything and everything browser / browser like based (+ some desktop apps)
  • GoLang: Performance is utmost important
  • PHP: web(http) server applications
  • BASH: Simple server tasks
  • Python: Data Science on overdrive
  • Powershell: Oh, this is Windows? Well ok.
Collapse
 
saint4eva profile image
saint4eva

PowerShell is cross-platform. It runs on all the OSes.

Collapse
 
netmailgopi profile image
Gopi Ravi

Python is an all-rounder. You can do anything from basic scripting to big
data to running websites. I've used Vbs, Shell, PowerShell for different things over time and python can do everything they can do and may be more. The libraries are so vast and diverse, letting lot of possibilities a reality. I've used Django and it's simple and fantastic.

Collapse
 
hananezlitni profile image
Hanane

My first programming language was Java, which was my go-to language throughout my undergrad studies. I then learned JavaScript as I started getting deep into web development.
Getting into JavaScript was easy for me since I already knew the fundamentals and syntax of Java, and it slowly became my new go-to language. I really love its flexibility, how dynamic it is and the big variety of frameworks it has. If I'm trying to think of an implementation for a problem, I always find myself thinking in JavaScript.

Collapse
 
mogery profile image
Gergő Móricz

I have written an article about this...

But really, JS is the language that I know best, and that doesn’t require a file template (unlike C# for example).

Collapse
 
rapidnerd profile image
George

I've dabbled with a lot of languages over the years but I always end up going to either C or Python. I love C for raw programming as well as using it in networking. And Python I could happily marry. The ability for these two to work in correlation together is incredibly easy to work with and use.

Collapse
 
dkamer profile image
David Joseph Kamer

JavaScript (ES6) is my favorite. Node.js can be used in so many ways. Add something like React Native to your stack and wow, you can do server, web, desktop, and mobile.

Besides all of that, JavaScript is the only language I can just "hack" away at and consistently get somewhere. There are so many features that are available but not necessary that you can do it any way you want very quickly if you know JS well enough.

I think a lot of people think this level of choice is bad, but if you're a good ES6 dev I think the code diversity you become familiar with makes you all around more adaptable even in other languages.

Collapse
 
nicpolhamus profile image
Nicolas Polhamus

My day-to-day has been JavaScript for the past two years, because of work, and that has really pushed it to be my go to. I can really focus on specific functionality by utilizing the npm ecosystem to flesh peripheral components/functionality.
I also love how flexible JavaScript is, but I do miss the strength ofa more classic/traditional compiled language like C# or Java.

Collapse
 
thebouv profile image
Anthony Bouvier

Honestly, your article explains why I like Python as well.

Perl was my first love -- my "baby duck" language (first language I learned, so followed it forever).

But Python is my go-to now and all I want to use really. It does all the things I need it to and feels right while using it.

Collapse
 
pancy profile image
Pan Chasinga

I've been in a love-hate relationship with Python. The good times include all of the things you've mentioned. The bad ones were when it's really hard to see the forest from the trees because of its imperative nature.

For the most part, Go is the most productive imperative language for me. It's simpler than Python and I find the braces to be easier for my typing than whitespaces. Plus types!

For learning languages, Ocaml and Scheme. Scheme is undoubtedly the easiest language to understand hard programming concept.

Collapse
 
safijari profile image
Jariullah Safi

My go to is Python (specifically Python 2.7, which is problematic I know). The why is an odd mix of "it's a language I love" and "I know how to do so much in it that at this point I'm kind of held hostage by it".

I've been recently trying to make all the necessary changes to my work code bases so that we can start using Python 3, as well as spending all my free time learning Rust. Python may remain my go to but hopefully in time it'll be mostly glue for stuff I write in rust.

Collapse
 
splittydev profile image
Marco Quinten

My go-to language is probably Rust, although I also use JS a lot.

What I like about Rust is that it gives you lots of safety guarantees and it's incredibly fast. Also, writing Rust programs requires you to think differently about how you structure your code, and I've found that to be really helpful in improving the general way in which I approach new problems.

Collapse
 
jackharner profile image
Jack Harner 🚀

PHP, but just because I got started working with WordPress and it's the language I'm most familiar in. Several times recently I've had Ideas for side projects or whatever that I could build with React or anything else but 9 times out of 10 it's come down to "I can build this now in PHP, or I could spend probably 3 times as long to learn to do it in something else".

Collapse
 
rcosteira79 profile image
Ricardo Costeira

Well, my first language was Haskell, my preferred languages are Kotlin and C++ (Kotlin wins by a small margin), and my go-to ones are either C, C++ or Java, simply because they're the ones I am most experienced in. I've used other languages - Objective-C, Swift, C#, Ruby, Python, Javascript - and although I don't like them as much, I find that knowing about them ends up influencing my problem solving skills and critical thinking even when using other languages.

Collapse
 
bengreenberg profile image
Ben Greenberg

Like how Python was your first language you learned, Ruby was my first language I learned (at least since the days I was playing with Perl in high school) and it has been my favorite since. A lot of how you described Python, I think applies to Ruby as well. It is simply enjoyable to write and a pleasure to read.

I have taught coding students Ruby and love how accessible it is to people entering the field. When I attended my first RubyConf and got the chance to meet Yukihiro Matsumoto ("Matz") for the first time, I realized that only someone as kind and thoughtful could create a language that is so intuitive and kind to its users.

Collapse
 
ryaninvents profile image
Ryan Kennedy

I find that I don't care too much about the syntax that I'm writing -- more important for me is that I know the details of the language like the back of my hand. For instance, I prefer JavaScript since I know in detail how prototypes work, how the garbage collector operates, which methods are available on an array, etc. This means I can just sit down and write code without having to constantly stop to look things up. If I had that same depth of knowledge in, say, Python or Go, then I'd feel comfortable switching languages.

Collapse
 
vdedodev profile image
Vincent Dedo

I'm pretty much a pure python programmer at the moment, so it would have to be that, but I'm going to expand my languages known to include things like Java/C#/C++ and bash. I feel like I should learn something that's useful for front end like javascript, but I don't see myself even going for a job where that's needed so it's low on the list.

Collapse
 
gypsydave5 profile image
David Wickes

Absolute, first stop, go-to? Bash. I try and get what I need out of the standard set of Unix tools, piped together with some scrappy Bash scripting.

This is usually if I'm trying to write something for just me or my colleagues - as it's harder to be sure of the environment your 'program' will be running in.

If the Bash starts to get a little wild (i.e. to the point where I can't understand it easily), I'll fall back on either NodeJS or Go. Go most likely in the case where I don't want to get my head around any async issues, plus I like the standard library, but both are good.

That gets me pretty far - probably up to and including a web service.

But if it's a coding challenge I'll probably use Common Lisp or Scheme. Because it's fun!

Collapse
 
brpaz profile image
Bruno Paz • Edited

My go-to programming language is definitely PHP 7 with Symfony Framework. Its the language I have more experience with and it fits my programming style well. I can build stuff with it very fast and with good design thanks to OOP and all the amazing Symfony features like the very well done Dependency Injection container.

Despite the general hate, for me PHP is one of most balanced languages in terms of simplicity, feature set and performance. Good OOP without Java memory hog ;)

For the cases PHP is not a good fit, like applications that needs lots of concurrency, smaller services or system tools, Golang is my tool of choice.

I think PHP and Golang, complement each other really well, and I believe I can build almost anything with these two.

I need to get some experience with Frontend frameworks to complement my personal tech stack and I will go with VueJS.

Collapse
 
picocreator profile image
Eugene Cheah • Edited

My goto is

  • Java for server dev work.
  • Bash scripts for sysadmin/devops work.

It's probably because I been burnt a fair bit of enterprise workspace. It may not always be the best tool for the best job. But it always can get it done.

It also saved me many times over - unable to get approval to install Redis / Memcache without admin?. I will toss over and execute a less performant, but working jar file instead.

Similar stories on bash scripts written to execute certain actions in the background.

And that familiarity, reliability, and speed of which I can work on them, make them my goto.

It also makes them one of my most hated languages of all times. Along with every quirk and design decision in the language, I wish was removed and never made.

So I guess all is fair from there.


  • Also: having somewhat left the enterprise dev space, JS is now slowly climbing as my goto language for various small "microservices" and opensource projects.
Collapse
 
mememe profile image
mememe

My go-to language would be Ruby. I've been a Rubyist for a long time after coming from PHP. It pays the bills aside from being a fun language to code in.

I've recently been doing a lot of front-end development professionally with ReactJS. JavaScript is probably on the top of my list as well.

Collapse
 
vpicone profile image
Vince Picone

Typescript has the flexibility of JavaScript with the editor support of a typed language. It’s just plain fun incentives you get comfy with it.

Collapse
 
elenadotnet profile image
Elena.NET

C#per from the bottom of my heart ❤️

Collapse
 
roachmd profile image
Michael D Roach • Edited

Wish I could settle on a go-to language. I'm going to say Ruby, then node (elm), then python. Only reason is syntax. I need a good editor to make sure I didn't miss an alignment with python.

Collapse
 
joeizang profile image
Joe Izang

My goto language is c# even though it's the 4th language I learned. It increases productivity and it's just a great all rounder. Fixing to learn python and add it to my toolbelt

Collapse
 
rhymes profile image
rhymes

Definitely Python :-)

Collapse
 
firas489 profile image
Firas Assaad

VB.NET is my preferred go-to programming language. My feeling towards it is the same as yours towards Python :)

Collapse
 
ian_sparky profile image
ian

Elixir! Lerned it at my first programming job and I now use it all the time.

Collapse
 
bigaston profile image
Bigaston

For know I've use Python and Lua. I love Lua because it's easy to understand and use in lot of engine!

Collapse
 
entrptaher profile image
Md Abu Taher

I like JS. Have an idea? Just open the browsers console and see the result. It's that's simple for me.

Collapse
 
yorodm profile image
Yoandy Rodriguez Martinez

I love Ruby, but Python has been my dirty secret for almost 10 years now. I also like to understand stuff by writing lisp code

Collapse
 
saint4eva profile image
saint4eva

C# for everything

Collapse
 
finallynero profile image
Nero Adaware

Javascript

Collapse
 
jacobherrington profile image
Jacob Herrington (he/him)

Ruby. Really it just comes down to the fact that Ruby is fun.

I love experimenting with new languages, but very few languages give me the sense of joy I feel when I see good Ruby code.

Collapse
 
keptoman profile image
mlaj

Ruby when I need to write something quickly.
PHP when I need it to go fast, especially when dealing with files.

Collapse
 
niorad profile image
Antonio Radovcic

Golang!

I'm pretty new at the language but I love the simplicty. I did several mini-tools (like getting a Spotify-API) with it. It's a breeze to throw the binary on a server and forget about it.

Collapse
 
swarupkm profile image
Swarup Kumar Mahapatra

Python , then Ruby, then JavaScript

Collapse
 
aecsteacher1 profile image
Ahmet

💪C++ 😘 Java 😉 JS 🤭python👌

Collapse
 
medicator profile image
Medicator

English.

Collapse
 
jsonbristol profile image
Jason Bristol

For me my go to is certainly python, but depending on the task I've found a lot of love for typescript and kotlin

Collapse
 
abhinav profile image
Abhinav Kumar

I'm a Pythonista.

Collapse
 
coolshaurya profile image
Shaurya

I'm going to indent my code anyways, I should get something in return for that!

I think its more of a "python forces me to indent code"

Collapse
 
mehokm profile image
Mehokm

From everything you said, you should check out Golang. It follows basically everything you said why you love Python.

Collapse
 
ryuuji159 profile image
Daniel Cortés

I generally use PHP for projects but if I have to do a little script or anything like that i use Python.

Collapse
 
delongersss182 profile image
Wakwaw182

First time i code with PHP.

Collapse
 
dimensi0n profile image
Erwan ROUSSEL

I don't have any preferred language, each language is useful for some situations.