DEV Community

Cover image for Programming Languages Every Developer Should Watch Out For
Gyau Boahen Elvis
Gyau Boahen Elvis

Posted on

Programming Languages Every Developer Should Watch Out For

In the ever-changing field of programming, staying updated with the trends of new programming languages, frameworks, and other required tools is a necessity for every developer who seeks to thrive in this field. Remember Ada and COBOL? These were two dominant languages in the '90s, but today? Not so much. TypeScript was released in 2012, and it is a requirement for most full-stack developer jobs out there today. Dart first appeared in 2011 and has become a global phenomenon in the field of mobile app development. These are a few examples to illustrate how dynamic the field of computer programming is. New programming languages are released all the time, and it's better to stay updated and have a good knowledge of them now before they become a requirement for every job opportunity out there.

In this article, we will be looking at some of these "new" programming languages that every developer should keep an eye on, to keep it simple, we will be giving you reasons why you should care and to top it off, we will write "Hello, World" in each of them.

So buckle up, and let's dive in because it's going to be an exciting journey 🚀.

Let's go

1. Carbon

Imagine if C++ is easy to read, write, understand, and had a smooth learning curve. It would be every developer's number one choice when it comes to building performance-critical applications. However, it's evident that C++ is not.

C++ Meme

There are other programming languages out there, like Rust, that have relatively simple syntax and can be used to build performance-critical applications. The problem, though, is that these languages are not interoperable with C++. C++ has been used to build numerous applications across various industries, and no developer wants to undertake the daunting task of converting an entire C++ codebase to a different programming language.

This is the problem that Carbon seeks to solve. Carbon was first announced by Google in 2022 and is meant to be the successor to C++. Carbon is C++ interoperable, with a simple syntax, while also providing the performance of C++. The language is still a work in progress, and the official release date for Carbon 1.0 is set for either 2024 or 2025. Want to

Hello World Program in Carbon

fn Main() -> i32 {
 var s: auto = "Hello, World!";
 Print(s); 
 return 0; 
}

Enter fullscreen mode Exit fullscreen mode

Similar to C++, every program begins with a main function, serving as the entry point. It's declared using the fn keyword, and specifying i32 indicates that the program will return a 32-bit integer.

To declare a variable, we utilize the var keyword and place a colon before the variable's identifier to specify its type. In this particular case, we've assigned the type auto to our variable, indicating that its type will be determined based on its initializer. The Print keyword is employed to display the value of s on the screen.

2. Rust

Rust is used in building systems where performance is critical, such as game engines, databases and operating systems. It is an excellent choice for WebAssembly. It offers relatively simple syntax and delivers with the speed of languages like C and C++.

Traditionally, high-level languages like Python use garbage collection for automatic memory management, while low-level languages like C++ provide functions like new, delete, and free to allocate and release memory spaces when needed. However, Rust takes a different approach, using the concepts of borrowing and ownership to ensure memory safety and proper management.

Rust is memory safe

By default, all variables in Rust are immutable, meaning that attempting to assign a different value to a variable after it has already been given one will result in a compilation error. Instead of multiple variables, values are assigned to a single variable called the owner. When the program goes out of the scope of the owner, the memory space assigned to the variable is released using a special function known as drop in Rust.

Rust includes a standard library that provides various functionalities such multithreading, file systems, and input and output operations, among others.

It's also accompanied by a package manager and build tool called Rust Cargo. You don't have to concern yourself with programming dependencies and setups; all you need to do is specify the library, and Cargo will take care of the rest.

fn main() {
    println!("Hello, World!");
}

Enter fullscreen mode Exit fullscreen mode

main() function is the entry point to the program, and it is declared using the fn keyword. println is used to display "Hello, World!" to the console. The ! in front of the println indicates it no regular function call but a macro in rust

3. Mojo

While Python is an excellent choice for productive programming, it does tend to lag behind other languages such as C++ and Rust when it comes to raw performance. This is where Mojo enters the scene, it's a superset of Python, and it boasts the remarkable ability to accelerate your code to speeds up to 35,000 times faster than standard Python.

Python is slow

Mojo, released in May 2023, comes from Modular, a company founded by the creator of Swift, which, replaced Objective-C. What sets Mojo apart is its full compatibility with Python, meaning you can still use your favorite python libraries with Mojo

Mojo also enhances Python with strong type checking, which can optimize your code. Dynamic programming, just like in Python, remains fully supported in Mojo.
Just like Rust, Mojo uses the concept of Ownership and Borrowing for memory safety and management. Just like python—Mojo is designed with a focus on programming for AI hardware GPUs. It comes equipped with built-in auto-tuning capabilities to optimize your code specifically for your target device.

Mojo truly unlocks a world of possibilities in high-performance computing.

Hello World Program in Mojo

fn main():
   print("Hello, world!")
Enter fullscreen mode Exit fullscreen mode

This is so simple and requires no explanation. Enjoy 🚀

4. Elixir

Elixir is a dynamic and general purpose functional programming language with a straightforward syntax, similar to Ruby. It was released in 2012 by Jose Valim. Elixir runs on the Beam Erlang virtual machine, making applications created with Elixir very concurrent, resilient at runtime, and fault-tolerant—qualities that many applications built with programming languages like Python and Ruby often lack. Elixir consistently ranks among the most beloved languages by developers with a growing ecosystem, characterized by a welcoming community eager to share resources and valuable libraries with beginners.

Elixir meme

These capabilities and Elixir tooling enable developers to be productive across a wide range of industries in fields such as web development, embedded software, machine learning, data pipelines, and multimedia processing.

It is used by discord to handle a massive amount of concurrent users. It is also used by Pinterest, Heroku and other notable applications.

Elixir comes with the Phoenix web framework, which offers most of what you need for web development tasks. It provides features that help developers easily keep track of multiple users connected to their applications. The LiveView feature of Phoenix makes it much easier for developers to build rich and interactive user interfaces without having to introduce a separate frontend tool to handle interactivity.
With simple syntax but efficient and concurrent performance, Elixir will take over the programming industry in no time.

Hello World Program in Elixir

IO.puts("Hello world from Elixir")
Enter fullscreen mode Exit fullscreen mode

IO.puts just like in Ruby, is the responsible for displaying the "Hello world from Elixir" to the console. The parenthesis is optional in writing this program.

Conclusion

Hey Devs, In this field, just like you already know, you never stop learning; you have to gain the required knowledge the programming market expects you to, and it is quite a dynamic market. I hope this article gives you a fair idea of how the programming market will be in the years to come.

g.elvis here and Peace Out✌️

Happy Hacking

Top comments (15)

Collapse
 
saeedgholami profile image
Saeid Gholami

Zig

Collapse
 
gyauelvis profile image
Gyau Boahen Elvis

Although I don’t understand what “Zig” means but thank you

Collapse
 
anscarlett profile image
anscarlett

It doesn't take much googling to find that it's a programming language

Thread Thread
 
gyauelvis profile image
Gyau Boahen Elvis

Learnt something new. Thanks for sharing

Collapse
 
volodyslav profile image
Volodyslav

Great article 😁 I think I should start learning Mojo since it's gonna replace Python 😅

Collapse
 
gyauelvis profile image
Gyau Boahen Elvis

You definitely should do that. Considering the fact that it also offers the speed and performance of C++

Collapse
 
sohale profile image
Sohail Siadat

I wonder why Jai is not mentioned. Jai >> Carbon.

Collapse
 
gyauelvis profile image
Gyau Boahen Elvis

Will include Jai next time.

Collapse
 
renich profile image
Renich Bon Ciric

Me like crystal.

Collapse
 
rittta profile image
bikker

Good afternoon. I'm just starting out in programming and I'm eager to learn more. If you know of any insightful blogs on this topic, I'd greatly appreciate it if you could share them!

Collapse
 
gyauelvis profile image
Gyau Boahen Elvis

Send me an email via: gyauelvis@gmail.com and let’s talk

Collapse
 
mypaperwriter profile image
MyPaperWriter

As a beginner programmer, this blog served as an excellent starting point for me. The tutorials presented here are beginner-friendly, with detailed explanations and practical exercises. I found the step-by-step guides incredibly helpful, as they allowed me to follow along and practice coding simultaneously. Moreover, the blog also provides insights into the latest trends and technologies, keeping readers up-to-date with the programming landscape. If you are new to programming, this site is definitely worth checking out.

Collapse
 
lonewalker_12 profile image
Bernard Nunoo

👍

Collapse
 
android-jester profile image
Kwadwo Adjei Duah

Ocaml

Collapse
 
amamass profile image
Theophilus Amankwah

Thanks boss