I’ve tried a couple of programming languages already and in this series of posts, I want to give my opinion on different languages I use now or I tried in the past in a (more or less) chronological order.

If you are looking for a programming language to learn and want to look around, you can use this as an overview, but keep in mind, that this is my subjective opinion.

In this part, we are going to take a look at the first things I got to know and at the web technologies.

Part 2 coming soon!

Scratch

Come on, Scratch is not a real programming language. But this is what most kids start with, and I’m not an exception. In my opinion, Scratch is perfect for teaching programming concepts to kids by letting them programm fun games. But after I tried real/text-based programming languages, I could never touch Scratch again, even despite the very easy and fun way to create nice graphics. The blocks just don’t feel right.

Python

Python is the first “real” programming language I tried. Simple syntax, lots of libraries, tons of tutorials - the reasons why Python is recommended as the first language are still relevant to me today. I’ve tried a lot of different libraries over time (Flask, PyQt, Tensorflow, socket stuff and more) and gathered a pretty comprehensive Python knowledge. Nowadays, I mainly use Python for smaller projects, algorithmic tasks and some automatisation scripts - cases where I don’t want to think about syntax, libraries or language features - cases where I just want to start coding.

Fun fact: I use an interactive Python console as my calculator and line/word counter.

HTML and CSS

Well, these are not programming languages. But as Scratch is on this list, I have talk about these. I don’t remember exactly, but it might be possible that I learned the web technologies even before Python. These are nice things to know the basics about, if you want to do something related to programming and computers but I wouldn’t be able to teach you about all the CSS tricks. I’m not really good in creating GUIs and working on these things always takes eternities for me. Design is not for everyone.

Javascript

I have a pretty tense relationship with Javascript. Well, I know the basics and I built a couple of small JS projects, but I never learned to love it. I tried React 3 times (I guess), but haven’t been able to do something meaningful with it. Javascript and the whole NPM stuff is just a pain in the ?ss to deal with. The libraries are always huge, comlicated and change with every version.

Javascript has its use cases, of course, but it’s way too overused in the modern tech world. Do you need to load megabytes of JS on every request just to render a blog or news page with static content? Do you really need to use JS on your backend while there are lots of faster and easier languages for that? Why are you building desktop apps with so-called Electron, so that each of them installs and loads a full copy of Chromium and looks completely different than the rest of your system?

Javascript was created for building animations and simple functionality as an addon on top of HTML and CSS. Not the other way around. And definitely not to replace every single other technology by squeezing it into the browser.

PHP

Had a look at it, it’s fine, it still powers a lot of websites, but it feels to me that the blue elephant is going to die out in the future, so I don’t see the sense of looking deeper into it.

SQL

There is not much to say about SQL: very specific use case (databases), very relevant, not very complex (as long as you are not doing crazy things with it), so it’s worth to learn it if you work with backends and other databases.