My opinions on differrent programming languages

Avi Gupta
hackerLog
Published in
4 min readJan 17, 2023

No intro here, but be sure to like and subscribe.

C

C is an interesting language. I’ve been playing around with it for a little bit (And have the original book). Surprisingly, it’s rather intuitive. Sure, pointers may seem confusing, but here’s a simple rundown:

int main() { // main function
int x = 1; // Yo I'm x and I have 1 thing
int *ptr = &x; // Yo I know where x lives
*ptr; // Yo look at what x has
}

Java

Java holds a special place in my heart as the first real programming language that I got to know, and one of the OG instant legacy languages. That being said, it’s syntax is a combination of some of the easiest to understand and the hardest to understand. Making a class in java is easy: list the variables, and make the constructor. However, you will often have methods upon methods that will often take up more space than a large elephant on top of my own two eyeballs. Java is most likely the only language for which a widescreen monitor is required simply to read an error message. Also, I wish it had a better package manager.

Python

Python is the cool OG language — it is supported on most machines and has great package support. It also manages to live up to its name by slowly slithering its way through basic tasks. A python program that takes 50x longer than a C++ program is considered a miracle, by all standards. And when you do want your program to run fast, you often run back to C itself. Despite this, python is relatively easy to learn.

C++

Another one of the OG languages that, surprisingly, isn’t deemed as outdated — as literally NO ONE (Besides Google in the near future) can figure out how to make a better version of this. C++ is still used everywhere — from game dev (Unreal Engine) to some of the compilers of your favorite languages (LLVM). It’s an interesting language, for sure. At first, I was confused about passing by value vs. passing by reference, but this visualization helps:

A gif showing the difference between passing by reference and passing by value. Courtesty of penjee.com.

Go

Go is a neat little language that I built an API out of once. I mean, what’s so bad about Go? For one, Strings can’t be null. Null strings are important in any programming language — there is a large difference between a box that doesn’t exist and a box that is empty. Go also has pointers, which are…actually useful. I swear to god, humanity has simply made more walled-up plot holes. Go’s compile times are fast, but the amount of space each binary can use up in my computer is even faster. It took an entire megabyte of storage to print hello, world. I must admit, though — the assignment operator := makes me smile a little.

Rust

Slap on your thigh socks and your skirts, let’s get into Rust! This memory-safe programming language has a new system of pointers that makes me want to wash my brain in bleach! But seriously, I still cannot understand referencing and borrowing and ownership and that. Why can’t it be that when I say y = x i want y to have the value of x and not commit human trafficking? Don’t get me wrong, though, the compiler is a GODSEND. You could just get right into rust and let the compiler scold you for getting stuff wrong, but it will scold you in such a way that is so elegant and detailed that getting slapped in the face is akin to getting a pat on the back. And these days? Rust is being used in just about everything. For the past couple of years, it has been rated the most popular programming language. I quite the language — you feel like you are working with something like C or C++, but with the features and elegance of modern programming languages.

Dart

Remember when java was like “Write once, run anywhere?” Dart is now the manifestation of that. You can run it on the web! On the computer! On the phone! On a pregnancy test! Move over, Doomguy — we’ve got a new slayer on our hands! That slayer being the slayer of my goddamn mind over how constructors work. What do you mean, @required? I just want to make a class, not fill my screen in red ink. That being said though, the Flutter framework is like putting honey mustard sauce on the pretzel bites which represent Dart. Your code will, however, have enough nesting to house a species of birds.

Javascript

Javascript is… alright. For what it is supposed to do — that is, add basic functionality to your HTML sites — it does a pretty good job. Just kidding, it can — and will — add just about anything together. 1 — "2"? That equals -1. And I’m pretty sure that there are more Javascript frameworks out there than there are braincells left in my brain after trying to fathom them all. And don’t get me STARTED on Node.js. Too many packages on npm, and it’s a pain to figure out the Javascript ecosystem. Call me a boomer, but things are changing too fast.

Conclusion

Just don’t code. Become the person who hires the coders.

--

--

Avi Gupta
hackerLog

Named after the first 2 games I got on my xBox, Forza and Minecraft. Also, i have a blog. Real name is Avi.