DEV Community

Imagineee
Imagineee

Posted on

Modern Programing Languages I Plan To Learn

Ok, so it's a new year and told myself last year 'I will do less JavaScript and learn a new programing language'.

Now here are my thoughts:

What type of programing language?

Now I want some modern programing language to learn, not C++ or C because I feel it's not that modern. I want something that has a syntax that is close to JavaScript or Python and is cross platform so I can use it in mobile development and web development (if you have ideas, please feel free to comment).

List of languages I have chosen

  • rust
  • go
  • haxe
  • ruby
  • dart
  • kotlin
  • lua
  • java
  • python
  • typescript

Rust

I've seen rust being used in a lot of projects, like Deno (a Node js alternative that is faster). Rust is faster, reliable, and productive, it can be compiled to WebAssembely, used in networking and embedding.
It has a modern syntax like JavaScript seen here:

fn main() {
    println!("Hello, world!");
}
Enter fullscreen mode Exit fullscreen mode

Go

I've seen Go also being used in a lot of projects. It's simple, reliable, and efficient. It can also be compiled to WebAssembely.
It has a simple syntax, but not as simple as JavaScript or Python.

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello, playground")
}
Enter fullscreen mode Exit fullscreen mode

Haxe

Haxe is an interesting language.

Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run-in interpreted mode.

As you can from the quote from Haxe's website, it is perfect for all my needs and more, it is also good for game development seen here, but it is not like JavaScript or Python

class Main {
  static public function main():Void {
    trace("Hello World");
  }
}
Enter fullscreen mode Exit fullscreen mode

Ruby

I've seen ruby being used in a lot of projects, and a lot of talk about Ruby on Rails (Node js alternative).
It has a simple syntax, sometimes easier than JavaScript.

3.times do
  print 'Welcome '
end
Enter fullscreen mode Exit fullscreen mode

Simple hello world in ruby:

print 'Hello, World!'
Enter fullscreen mode Exit fullscreen mode

compare that to C++:

#include <iostream>

int main() {
    std::cout << "Hello World!";
    return 0;
}
Enter fullscreen mode Exit fullscreen mode

Dart

Dart is a client-optimized language for fast apps on any platform

and that is what I want but Dart is best used for Mobile Development and is used in Flutter (a UI toolkit for native app development), but they do support Dart-to-JavaScript.
and Flutter also supports web development.
It does have a simple syntax like Rust

main() {
  print("Hello, World!");
}
Enter fullscreen mode Exit fullscreen mode

Kotlin

Now this is a language I have learnt before for a small android app development, but I have only scratched the surface for possibilities. Kotlin is amazing and capable language in my 5 hours of usage. It can be used in Multiplatform Mobile, Server Side, Web Frontend, and Android Development which is what I want and has a amazing syntax and sometimes is better than JavaScript in some cases

fun main() {
    println("Hello World")
}
Enter fullscreen mode Exit fullscreen mode

Lua

Now at the start of my Coding interest, I didn't know web development, I investigated Lua, I saw it being used in games, it has a kind-of easier syntax, but I left it as I didn't see that much popularity other than small projects and game development; now I am coming back because it is an efficient, lightweight and embeddable language, it also compiles to WebAssembaly.

io.write("Hello world, from ",_VERSION,"!\n")
Enter fullscreen mode Exit fullscreen mode

Java

Now I had actually started learning java at the start of my interest of coding because Java looked like the most chosen language and used by alot of big companies. But I lost interest due to its large and complex syntax compared to Python or JavaScript. You had to start with

class HelloWorld {
    public static void main(String[] args) {
Enter fullscreen mode Exit fullscreen mode

and to print

System.out.println
Enter fullscreen mode Exit fullscreen mode

instead of

println
Enter fullscreen mode Exit fullscreen mode

which is not that mordern, but it is still used by thousands of developers every day, because its fine for them but not for me, just look at Minecraft Java Edition, made with this long language. But java is cross platform used in android development and everywhere you can think of.

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); 
    }
}
Enter fullscreen mode Exit fullscreen mode

Python

I've also touched Python before (not a real snake, the programing language), I liked it due to its simple syntax and easy to use and a programing language most people pick up at first, I didn't because I wanted to look cool doing something out of the ordinary.
But it doesn't fit my needs, or I just don't feel like it's the perfect language to learn.

print("hello, world")
Enter fullscreen mode Exit fullscreen mode

TypeScript

Now typescript is basically JavaScript but as said here, typescript will continue to dominate, and typescript is better in bigger complex projects and I want to be a better web developer, So, it is a interesting choice for me.

console.log("hello, world")
Enter fullscreen mode Exit fullscreen mode

Conclusion

well after seeing the whole list here is my opinion on what I want to learn and my ratings:

What I want to learn

What I want to

  • rust
  • haxe
  • kotlin What I probably will
  • go
  • lua
  • java
  • typescript What I probably won't
  • python
  • dart

My ratings

  1. Rust
  2. Haxe
  3. Go
  4. Kotlin
  5. Ruby
  6. Java
  7. Lua
  8. TypeScript
  9. Dart
  10. Python

So, there you go, what I want to learn for 2021; there are some things to take away and this can inspire you.
Do write your Thoughts in the comments

Top comments (0)