series: languages

C, A Return To Monkey

2024-12-25

After a few years of avoiding C like the plague I have discovered a love for it. While I would be better served using a language like Go in most cases, C is just a lot more fun to me personally. Live, laugh, unsafe.

Background

When I started programming a few years ago I began the journey with Python. After realizing that I hated it I decided to switch to C. Initially, I was having a great time making discord bots with the Orca, now Concord, library. I was absolutely flying but eventually, I got skill issued. I just could not wrap my head around pointers and memory management. I ended up moving onto Java, Go, Rust, and Rust.

OOP Is Not Great

2024-08-20

After 5 years of programming I have come to the conclusion that usually OOP is not great. This may sound shocking considering that 2 out of 5 posts on this blog are me raving about C# and Java but I have been reformed.

Background

For around a year I was infatuated with C# and Java. Initially I got introduced to Java through making discord bots with JDA. It was great. Up until that point I was used to making bots with Python or C. Java was and still is pretty nice for bot development and I really enjoyed my time with it. Then later on I discovered C# and enjoyed it even more. The syntax was great, it was fast, had a whole bunch of IDE support, and had a whole bunch of stuff going for it. I especially liked it when interfacing with MongoDB with their library. My only real gripe with it was the .NET ecosystem. Being an enjoyer of linux the Windows-centric parts of C# really bothered me and I eventually just sulked back to Java.

How Rust Became My New Goto

2023-07-19

Nowadays Rust is by far my preferred language for any new project. Whenever I have some sort of problem I instinctively run cargo new [project]. Here is why I enjoy it so much.

Syntax

Syntactically Rust combines a lot of what I like all language paradigms. It has a perfect mix of OOP and Functional programming.

Here is a very simple way of defining a struct and then using impl to make instantiating a new book easier:

C# is awesome

2023-02-12

Over the past few weeks I have discovered the greatness of C#. Initially I thought that is was just a Microsofty Java clone, and while that is somewhat true, there is a lot of stuff in C# that makes me a lot happier than Java.

Tooling

The tooling for C# is superb. It makes Java look like a nightmare.

Rider

Rider is a dream to code in. In my opinion it is much better than Visual Studio (especially since it is cross-platform). It is smooth and the memory profiling abilities are a bit better than what is available in IDEA. Riders helpful language features help me to feel more confident in writing code.

Head Over Heels For Java

2022-12-09

In the past month I have discovered the wonders of Java. After months of teetering on the edge I finally decided to dive right in. That is a choice that I will forever hold in high esteem.

Why I like Java

Write Once Run Anywhere

I know it’s been said a thousand times but it really is amazing. From the perspective of a dev that has mainly been developing in languages such as C, Rust, and Go it is nice to avoid the pain of compiling for every platform.

Why Python and I are going though a divorce

2022-10-05

I, like many other programmers, wrote my first Hello world in Python. For a good while I was having a blast. Python is what brought me into this world and I have to give it some commendation for that. However, over time, I have drifted away from Python. Here’s why.

Simplicity

Syntactically, Python is very simple. This is a great thing for new programmers…or is it? While being easy to understand is important Python’s strangeness makes understanding other languages a bit more difficult. It is almost like Python gives you training wheels, but never let’s you take a leap of faith and gain the full power of riding two wheeled. For example Python’s Dynamic Typing got me accustomed to making variables with little to no thought. Then when I tried languages like Rust and C I was very confused by the idea of static typing.