DEV Community

Cover image for Which Programming Languages Have You Explored Lately?
dev.to staff for The DEV Team

Posted on

Which Programming Languages Have You Explored Lately?

Have you recently delved into any new languages? Share your experiences, thoughts, and discoveries. What are the strengths and weaknesses you've observed? Are there any specific domains or applications where these languages shine? Tell us about it!

Follow the DEVteam for more discussions and online camaraderie!

Image by pch.vector on Freepik

Top comments (12)

Collapse
 
msnmongare profile image
Sospeter Mongare

Learning Python was an exhilarating experience. Its simplicity and readability made it easy for me to grasp the fundamentals of programming. Python's extensive library ecosystem proved to be a game-changer. Modules like NumPy for scientific computing, Pandas for data manipulation, and Flask for web development, expanded my understanding of the language's versatility.

As I transitioned to Django, I was captivated by its powerful framework for building web applications. Django's emphasis on the DRY (Don't Repeat Yourself) principle greatly streamlined my development process. The built-in admin interface provided an intuitive way to manage content and databases, reducing the need for manual coding.

Strengths and Weaknesses:
Python's main strength lies in its readability and ease of use. The clean syntax allows developers to write code that is both expressive and concise. Python's vast community and extensive documentation make it easy to find help and resources when needed. Additionally, Python's versatility extends beyond web development, enabling it to be used for data analysis, machine learning, and automation.

Django, on the other hand, excels in providing a comprehensive framework for web development. It offers robust features like URL routing, model-view-controller (MVC) architecture, and an ORM (Object-Relational Mapping) layer, simplifying the development process. Django's strong emphasis on security and its built-in protection against common web vulnerabilities is another noteworthy advantage.

Collapse
 
eljayadobe profile image
Eljay-Adobe

This year I had committed to learning Swift 5.7 (it's at 5.8.1 now).

However, things to a left turn when Microsoft's Mark Russinovich condemned C and C++, and promoted Rust, and Microsoft announced that they'd be using Rust in the Windows kernel. That a majority of their CVE's were directly due to "unsafe" C or C++. (I have the utmost respect for Mark Russinovich.)

Then I found out that the Linux kernel would also be incorporating Rust source code.

And then I heard rumblings that a few governments may ban purchasing software written in "unsafe" languages. (Which was a recent topic at a prior CppCon, as an existential threat.)

So, I've changed my plans. I'm now going through the introductory The Rust Programming Language. I did the brew install rust, which is Rust 1.70.0 right now.

Rust has changed a lot since I last took a glance at it about 12 years ago.

Regarding C++ being replaced by some new language, I've been a long time fan of D. But D has not won the hearts-and-minds, alas. The other contenders might be Go or Nim, but Rust seems to have some momentum.

Collapse
 
webbureaucrat profile image
webbureaucrat

I've been exploring Rust. I think I was wrong about Rust.

I looked at it a few years ago and wrote it off as just a systems programming language, but on second glance it may be a very good high level functional programming language.

Collapse
 
baenencalin profile image
Calin Baenen

Rust.

It's very good.
It's like if C++ and Java had a baby, but better and more logical.
Rust comes with many great features, tuple structs (struct Person(String, u32)), enums with enum variants that are actually unique. (I.e. in struct Weekdays { Monday, /* ... */ }, Monday is not equal to 0, and thus not equal to January in struct Months { January, February, /* ... */ }. -- Also, you can store data in these variants if you wish.) And there is so much more.

Over all, I think it's the language I ultimately want to use, for real.
I may use other languages, but, like one would say as they get into a relationship, I think I've found the one.

Collapse
 
cacilhas profile image
MontegasppΞ± CacilhΞ±Ο‚

I’ve been learning Rust for the last six month or over.

It feels like I don’t need any other programming language again.

Collapse
 
manchicken profile image
Mike Stemle

Rust, lately. I’ve learned a whole bunch of languages in my life, most of them I have forgotten. Rust is fun because it combines some of the things I miss about some of the languages I grew up using with modern upgrades, and a better way of leveraging contemporary hardware.

Collapse
 
dyfet profile image
David Sugar

Of all the newer languages I have worked with, for me golang has been the most fun, especially once I tamed it for myself by rejecting google practices and using a Makefile that behaves more like cargo does for rust. Because I can vendor it, I can also build packages easily in closed builders and non-network enabled ci's. This makes it most ideal for me as a middleware / integration language.

The go language itself is simple, and by offering low complexity it is easier to think more about the actual problem I am trying to solve, rather than what the compiler thinks of my code. I do not like thinking like a rust compiler at all, because its conceptually wrong. To do so I have to wrap a functional language that really deserves declarative syntax into an imperative model. It can also be hard to think more like a C++ compiler to do correct code and avoid places that lead to common problems, but I am rather used to C++ and use my own templates for many things now.

Collapse
 
villelmo profile image
William Torrez • Edited

I am learning Perl from the book Beginning Perl [Curtis "Ovid" Poe]. Perl manages a broad range of datatypes and can be more object-oriented. The library, in general, executes efficiently within the same process as the caller of the library.

In my country this language nobody use nor maintain, i discover that Bash tends to focus on managing the order of execution of other programs, and their input/output streams. It doesn’t have a vast β€œsame process” library, and it has less datatypes. It isn’t object oriented.

  1. Strengths
  • DataType
  • Regex
  1. Weaknesses
  • Unpopular

specific domains or applications

  1. web programming - cgi/mod_perl/MVC frameworks
  2. system admin - lots of unix system admin tools were developed by perl
  3. API - modperl is pretty good for this stuff
  4. regex driven programming - such as spamassassin
  5. server programming - such as Daemon, Socket, Event, ipc etc.
Collapse
 
hath995 profile image
Aaron Elligsen

Dafny and TLA+ for modeling and verification of algorithms and protocols. Both languages are amazingly expressive and allow you to describe complex situations and really change how I think about software.

Collapse
 
fyodorio profile image
Fyodor

Tinkering with C, that’s like a trip to a parallel universe for a JS dev πŸ˜… a nice one though, I like it so far

Collapse
 
narottam04 profile image
Narottam04

I mostly code using javascript but lately I am using C++ to practice leetcode questions. Grind for the interviews lol.

Collapse
 
psypher1 profile image
James 'Dante' Midzi

TYPO3's typoscript - as the community lead in my country I have a decent grasp of it