It’s been a month now since I joined Recast.AI on a mission to program SDKs for our community. Along with improving my Nerf shooting skills (they’re really useful to turn the lights on from the other side of a room) and competing in the best salad competition, there have been so many amazing discoveries in a short time.
SDKs – software development kits, are an interface between us here at Recast.AI and the developers who use our technology.
What I absolutely love about them is that they come in different languages. Although I had experience in some of them, many were absolutely new to me.
Mastering the overall logic of a language makes the others easier to learn, even though it’s always thrilling to discover a fresh new one. Because it’s not just a question of syntax. There is also the philosophy behind it. And a community, or the lack of it, ready to engage you in a neverending war between this or that other language. Yes, kind of like Vim versus Emacs, spaces versus tabs or Hooli versus Raviga… To be a developer is to be a person of strong convictions!
So let’s have a look at the highs and lows of writing a program in a new language.
Everything is great!
So here I am, me and my new best-ever-beautiful and elegant language, ready to write some code of high efficiency and of great importance!
> Hello, world
“Hello, world”, those two words became the symbol of programming tutorials. Each time I try a new language, the very first thing I do is print out those two famous words. It is not a question of tradition or of convention, and it doesn’t really showcase the programming language it’s written in. But each time I see this lovely couple, it brings me right back to my very first lines of code, and that incredible sense of pride and excitement I felt when it popped up in my terminal. And I still feel that way whenever I come across a new technology.
‘Hello, world’ represents the very first step into the unknown, when there is this strong attraction to dive a little bit deeper to uncover some more exciting secrets. Kind of like the discovery of the entry to an ancient temple for Indiana Jones…
Facing a new programming language
How’s this thing supposed to work?
At this stage I am usually halfway through my program, either reading some manuals, or fighting against execution errors. It is the frustrating moment where I think I understand the language until something goes wrong, or not as I expected.
And this is when you make contact with the community and get to find out how active it is. If the language is widely used, it’s easy to find the answers to your questions. Two or three searches on your favourite search engine and you find yourself with plenty of links to stack overflow, where amazing people share their knowledge with those in need.
But if you are learning a really new or a more obscure language, and you don’t know anyone who uses it, you have no choice but to start on the highly rewarding quest of finding your answers by yourself…
That language is amazing or never again
Aaaaaand.. it’s done ! You put in your last coma, everything is working fine, doesn’t throw any errors, and it does exactly what you want it to do. Now that you have a better view of the language, it’s time for the conclusion. I rarely go for ‘why not’. After writing a decent length program, it’s usually either
- “Woaw, that feels like it’s an outstanding language!”
- “No, that stuff is not for me.”
If I don’t like it, it’s not a big deal. I’ve still learned something new, and somehow improved my understanding of programming. It may even have given me some new insight into other languages.
And if I like it, then it’s just the first step of a long journey. It is a humbling quest: it doesn’t matter how well you know a language, there will always be something new to learn, a subject to master. And at that time, trust me, nothing feels better than having a great Team ready to share their experience with you!
Now I’m trying out Scala. And will definitely dive a bit deeper!