The Latin Of Programming Languages: C

Corey Gardner
CodeX
Published in
3 min readAug 22, 2021

--

Photo by Taras Shypka on Unsplash

Checkout my C Tutorials Here

Last summer I was lucky enough to have too much time on my hands so I started to learn some Latin with the help of Duo Lingo. As you’re probably aware Latin is a dead language. No one speaks it anymore, occasionally though some people will read it. My goal was to learn a little bit of Latin to challenge my brain and to learn other languages faster.

I know a lot of different languages, I love them all, but they’re only understood by computers and nerds. Recently I’ve been learning C and I realized that it is the Latin of programming languages

Many languages inherit their syntax, paradigm and style directly from C. The list of C-family languages is ginormous. Some languages, for example Ruby, are actually written in C.

The popularity of C is waning, like Latin it may soon be a dead language. C is a low level language it doesn’t offer a lot of abstraction. It is also statically typed meaning you have to tell the compiler which data types you are using. Ultimately this means that you have to write a lot more lines of code. In my opinion writing more lines gives you a higher probability of writing in a bug, it’ll also make it harder to find the bug.

Writing more code also means that the time to develop an application is going to take longer. In a business setting a longer development time means less money. As Paul Graham has pointed out using a low level language can also threaten the growth of your business.

If your competing with someone who can do in two lines of code what you can do in ten they have an advantage over you. It will take them less time to create new products/features. They’ll always be a few steps ahead of you in the development pipeline.

So if C is dying, is a pain to code with and isn’t useful in a business environment why am I learning it? To me learning is in and of itself a fulfilling task. I’m weird and I do find it enjoyable to sit down and stare at a computer disassembling C for hours on end.

Constantly learning is cognitively beneficial because it allows you to cultivate the skill of learning. The more you learn the easier it is to learn. As with learning Latin learning C will give me a greater understanding of where programming concepts and syntax originated and why they stuck around.

Aside from entertaining myself and exercising my brain learning a low-level language like C also gives me a greater understanding of how computers actually work. It is the best language to learn if you want to actually understand what computation is.

Using C I can literally go down the lowest level of the CPU and play around. With pointers and other tools I get direct access to the bits and bytes. I can read, write or allocate to any chunk of memory within the CPU. That’s a power that higher level languages like Python and Ruby just don’t offer.

Referring to languages as low or high level may be a bit misleading. At least for me I thought that low level languages were some how worse. Sure writing a web application in C would take decades but an OS written in Ruby or Python would be terribly slow.

Some languages are better than others, it all depends on what you’re trying to achieve. It’s up to the programmer to decide how she wants to talk to the computer. Compared to other languages C isn’t not powerful, it’s powerful but in a different domain.

Corey’s Corner -> https://anchor.fm/coreys-corner

Learn To Code -> https://www.youtube.com/watch?v=aUh96VCtZQ8

Get Yoked 🍳 -> https://thoughtsandfitness.com
Gardner App Development -> https://gardnerappdev.com

--

--