Hello there! ๐Ÿ‘‹

My name is Sean Miranda, and I’m a computer science student. When I was young, I became interested in technology. It was the early days of my junior high school. I experimented with the operating system of my Android phone. I was basically doing distro-hopping on my phone. It genuinely excites me every time I learn how to perform technological tasks.

I am currently studying programming language theory and compiler design. I’m fascinated by the paradigms and various concepts implemented in programming languages. Go and Rust are two examples of such languages. My ultimate goal is to contribute to open source programming languages.

Python was the very first programming language I learned. Its syntax is quite legible, similar to that of pseudocode. Despite being an interpreted language with very sluggish runtime performance, it has grown in popularity over time.

Linux Learning Journey ๐Ÿ—บ๏ธ

My first Linux distribution was Kali Linux, and yes, I know what you’re thinking. I thought Kali was the only Linux distribution available at the time. I didn’t have my own computer, so I made a live bootable usb drive and went to a computer shop (computer rental service), booted my live usb drive, and experimented with it. I tried everything from the basics of package management to setting up configurations and modifying them to the point where I broke the installation and had to start over.

As of now, I’m using Fedora and Arch as my daily drivers. I really like Fedora’s stability; I’ve never encountered major bugs while using it. Arch Linux is also stable, despite using a “rolling release” system and so far I only experienced memory leaks and freezing in some packages. As a result, I do not recommend it for new linux users.

Favorite Programming Languages ๐Ÿ“–

Let’s begin with Python, which was the first programming language I learned due to its beginner friendliness. There will be no memory management or static checking, and mixed typed expressions are permitted. Because it is an interpreted language, it can run wherever the Python interpreter is installed.

Go is statically and strictly typed, which means it does not allow mixed type expressions. It has a simple syntax, but it is not very intuitive, particularly for beginners. What I like best about Go is how fast it compiles and performs, which is slightly better than java in terms of raw performance and resource usage. Perhaps this is why some microservices are written in Go rather than Java.

The best programming language for me is Rust. Raw performance is comparable to C and C++, but with better memory management. The only caveat for me is the package manager called cargo, which is based on node package manager npm. The dependency hell problem is unbearable, thousands of tiny modules is a red flag(in my opinion, please don’t hate me for this).

The final language is OCaml, a high-level multi-paradigm language that is best suited for writing compilers. I haven’t looked into this programming language, but what I’ve read about it is mostly positive; perhaps the only issue is that it has a smaller user base and community.

This is an example of print statement in python.

print("Hello, World!")

Go and Rust print statement.

// Go
fmt.Println("Hello, world!")
// Rust
println!("Hello, world!");

Lastly, ๐Ÿด

I will be writing about new and upcoming features of my favorite programming languages in my future posts. Thank you for taking the time to read!

#Gopher #Rustacean #Compiler_enthusiast #Pythonista