DEV Community

Cover image for Languages I Prefer...
Mustafif
Mustafif

Posted on

Languages I Prefer...

Choosing a programming language to use can be a difficult task, and for those starting it can be quite overwhelming. So what's my preference?

For context, I mainly write command-line tools, and web applications, so my languages are more based to that area, and truthfully you should choose a language that reflects your area of interests.

Let's clear this up right now...

First it pisses me off when people call Python the one and end all language because to be quite honest...it really isn't. I've tried Python and it felt way too weird for me, and it's syntax for me felt way too limiting. Python isn't well maintainable when upscale, and is slow, so for me working on fast tools and web servers, that doesn't look well for me.

You can comment and go against me on how great the language is, however keep in mind this is my preference, and I would only use the language for small tasks in my project that I don't want a mountain of code on.

Back to the main subject...

Now that I have all my Python stigma off my chest, let's go to the languages I prefer...

Rust

Of course my first choice is Rust, the preferred language of development for my projects. Rust offers blazing fast performance with guaranteed memory safety, not only that but how the language is built has really made me think Rust.

Here's an example:

use serde_derive::{Deserialize, Serialize};
use toml::{from_str, to_string_pretty};

#[derive(Deserialize, Serialize)]
struct Server{
ip: [u8;4], 
port: u8, 
}
Enter fullscreen mode Exit fullscreen mode

One of my favourite things is Traits and Macros. They offer a lot of functionality, and for me it makes other languages feel weird. This abstraction makes my life easier since one thing I do is read toml or json files.

There's a lot more I love about Rust such as how easy async is or web servers with Rocket, but overall it's a very impressive language.

C

As I've said I like things that are more into the Systems programming world, and the Grandpa in this is C. As a Linux user, C is a language I'm always trying to learn so I can one day understand the Linux Kernel. Currently I'm reading Crafting Interpreters by Robert Nystrom and I hope to improve my ability to write C code with a byte-code interpreter.

Golang

Golang is actually the first language I felt comfortable with, but as I grew to love Rust I stopped using it. However I still love the language and hope to build a project with it, I may have not gone as deep in it as Rust, but I hope to add it to my utility belt someday.

As you can notice these language share a C-style syntax, common in systems programming. So in the end these are the languages I prefer and comment what the languages you may prefer.

Disclaimer: If you like Python, don't worry I won't hate you unless you start treating it like a god. Programming languages all have their pro and cons, all have their weaknesses and none are perfect.

Top comments (7)

Collapse
 
raguay profile image
Richard Guay

You need to dismiss the myth that there is a “one tool for every problem” that people have created. I have programmed in 20+ computer languages in my career. Some main stream and some proprietary for a specific job. Before you start a project, look at it’s requirements and types of algorthms that will be needed. Then pick which language to use. That is the proper way to program, in my opinion.

My dad liked to build things in wood. He always told me to use the right tool for each job. That philosophy is valid in programming as well. Learn many languages and use the right one for each job. No language is a cure all for every problem.

Collapse
 
curiousdev profile image
CuriousDev

Depending on what somebody's job is, you do not always have the choice anyway. This can also be a motivation to learn and work with different programming languages. It is not always up to you to decide the tools, which are used in a project and this is especially the case, if you start to develop for an already existing project.
I currently like a lot JavaScript, mostly because it is "needed" for Web Developent (Client) and despite people liking to dislike it, it is kinda interesting.

Collapse
 
mustafif profile image
Mustafif

Definitely, and even I'm trying to look into learning JS as I do web development, and I do understand the job prospect. I actually don't necessarily not dislike JS, my experience is it never working for me, but I do think it's valuable to learn for Web Development.

Collapse
 
mustafif profile image
Mustafif

Definitely, each language has its strength and weaknesses. Whenever I think of a new project, I usually look into different framework or libraries and see what's the best choice to use.

Collapse
 
megas_vanzi profile image
Mégas Vanzi

Thank you Mustafif for your explanaition and for sharing your knowledge / wisdom,
I would very like to ask you how many other languages, in spite of python and javascript, have you met, and if you would like to take about, if you haven't done yet, languages paradigms
Thx again & best regards!

Collapse
 
mustafif profile image
Mustafif

I've actually tried a good variation of languages, such as C#, Ruby, C++. I kind of tried to see what language worked for me, in terms of paradigms, I am more towards Object Oriented than functional, however I am looking into doing more functional programming.

Collapse
 
andypiper profile image
Andy Piper

Interesting, thanks for posting this. it reinforces my interest in Rust! I've just been thinking about what to learn this year.