Why Would Anyone Build a New Programming Language?

Posted on 28th of July 2023 | 519 words

In the vast and ever-evolving landscape of software development, programming languages play a pivotal role in how developers interact with computers and build applications. While a plethora of well-established programming languages exist, there has always been an intriguing curiosity and desire among some developers, including myself, to embark on the quest of creating our own languages.

Existing programming languages come with their own set of strengths and weaknesses. However, they may not always cater optimally to specific domains or problem sets. This has been a driving force for many language creators who seek full control over the language’s semantics. Building a new language offers the opportunity to tailor the language’s features and syntax, empowering developers and teams to solve certain classes of problems more efficiently compared to existing solutions.

However, it is essential to acknowledge that creating a new language is no easy task. Beyond the initial development, considerations for onboarding other developers and promoting adoption must be taken into account. Moreover, when considering building a language within a company setting, one must be mindful of potential monetary implications.

The decision to build a new programming language should not solely be driven by pragmatic concerns; it is also an intellectually stimulating exercise. The process involves delving into various aspects of language design, including syntax, semantics, and the implementation of the compiler or interpreter. Aspiring language creators gain a deeper understanding of computer science principles and enhance their problem-solving skills through this complex undertaking.

Throughout my journey in the world of computer science, I have dabbled in creating multiple toy compilers. Though they may not have been groundbreaking, they ignited my curiosity about compiler implementation. Despite having explored various compilers and interpreters of varying complexity, I felt a lingering sense of not fully comprehending the intricacies occurring under the hood.

Fortuitously, the summer provided a respite from my regular work commitments, granting me the perfect opportunity to embark on a more serious attempt at building a language from scratch. This time, I was determined to delve deep into the intricate details of lexing, parsing, and code generation. This ambitious undertaking offered an exciting challenge, and I was eager to explore uncharted territories in language design.

The journey of building a new programming language is undoubtedly exciting and rewarding, fueled by an array of motivations. Whether it is optimizing performance to meet specific demands, addressing domain-specific challenges, or simply exploring innovative language design paradigms, language creation is a conduit for personal growth and innovation.

As the development of my language progresses, I anticipate gaining a more comprehensive understanding of how programming languages shape our interactions with computers and applications. I hope that my creation, like many others in the world of programming languages, will contribute to the diversity of tools available to developers, enabling them to craft exceptional solutions tailored to their unique needs.

In conclusion, the decision to build a new programming language should be approached with a blend of curiosity, pragmatism, and enthusiasm. It is a journey that fosters personal growth, deepens technical understanding, and holds the potential to revolutionize the way developers solve problems and interact with computers.

An Album for Each Year

Posted on 16th of July 2023 | 312 words

I stumbled upon a fun-sounding challenge from Werner Vogels' blog so I wanted to partake in it personally. The challenge was to list your favourite album for every year of your life with a restriction of only one album per year and no repeats of artists.

Here is my list:

1995: Alice in Chains, Alice in Chains
1996: Type O Negative, October Rust
1997: Deftones, Around the Fur
1998: Neutral Milk Hotel, In the Aeroplane Over the Sea
1999: Sleep, Jerusalem (Dopesmoker)
2000: Godspeed You! Black Emperor - Lift Your Skinny Fists Like Antennas to Heaven
2001: B.R.M.C., Black Rebel Motorcycle Club
2002: Queens of the Stone Age, Songs for the Deaf
2003: Songs: Ohia, The Magnolia Electric Co.
2004: MF DOOM, MM...FOOD
2005: Boris, Pink
2006: Tool, 10,000 Days
2007: Porcupine Tree, Fear of a Blank Planet
2008: Have a Nice Life, Deathconsciousness
2009: Them Crooked Vultures, Them Crooked Vultures
2010: Nails, Unsilent Death
2011: Gillian Welch, The Harrow & the Harvest
2012: Death Grips, The Money Store
2013: Jason Isbell, Southeastern
2014: Swans, To Be Kind
2015: Kendrick Lamar, To Pimp a Butterfly
2016: Gojira, Magma
2017: Slowdive, Slowdive
2018: Anna Von Hausswolff, Dead Magic
2019: Justin Townes Earle, The Saint of Lost Causes
2020: Lianne La Havas, Lianne La Havas
2021: Silk Sonic, An Evening with Silk Sonic
2022: Weyes Blood, And in the Darkness, Hearts Aglow
2023: King Gizzard & the Lizard Wizard, PetroDragonic Apocalypse (as of July 2023)

Challenge turned out to be quite hard for me since most of my favourite artists and albums are from time before my birth, but I managed to find something for each year. Especially difficult aspect was leaving great albums out. Rule of no repeats of artists didn’t make it easier either. Most likely I missed some great artists/albums so this list most likely just represents how I currently feel.

Embrace Authenticity in Your Blog

Posted on 10th of June 2023 | 522 words

I’ve been a longtime fan of Julie Evans’ writing and recently stumbled upon a great post of her called Some blogging myths which inspired to me write something about the same topic.

I have always seen blogging or personal websites as this powerful platforms for self-expression, enabling people from all walks of life to share their thoughts, ideas, and experiences with the whole wide world. Beyond that, I’ve never really given too much thought to it.

While it’s true that if you happen to be some sort of artist, or even a blogger, that uses his site for some capitalistic reasons, attracting traffic and engagement is important. This can be seen today in social media. This basically means that people tend to approach blogging nowadays from this mindset. Meaning, that they are only able to write about topics that are popular or, especially in tech world, about topics that they consider themselves being an expert in.

Now I don’t say that you shouldn’t write about these sort of topics if you really happen to be expert in the field in question. But, limiting the topics solely to topics that are likely to generate traffic, you most likely inadvertently stifle your own authenticity. Blog should be a place for you to have freedom to explore diverse subjects that just happens to pique your interest. By doing so, you invite your readers into a genuine and vulnerable space where they can connect with you on a deeper level.

This sort of safe haven fosters a certain trust and connection with your audience. When you write about wide range of topics, even those outside your comfort zone, you invite readers who share those interest or experience to engage with you. This way you create an inclusive environment where your audience can feel heard and understood strengthening the bond between you and them.

While first and foremost blog is mainly about your voice but at the same time it’s also about providing a platform for other to share their stories and experiences. Embracing a wide range of topics sparks conversations that can educate, enlighten, and inspire everyone involved.

I don’t say that if your blog is dedicated to a either popular or very niche topic would be a bad thing. If that’s something that you enjoy, godspeed. The way I see it is that if I would limit the topics written in my blog, I would inadvertently hinder my own personal growth as a writer and individual. Exploring new subjects, especially those that you’re by no mean an expert of, allows you to expand your knowledge, learn from others, and develop new skills. Possibly it can also help you to discover hidden passions and uncover something new about yourself.

When you write about anything that sparks your interest, you also demonstrate that it’s okay to write about anything and to step outside the boundaries of popular opinion or expertise, you empower individuals to express themselves more authentically in their own spheres. This sort of vulnerability and explorations can serve as an inspiration and catalyst for others to break free from limitations and embrace their true selves.

Another Godfather of AI Feeling Lost

Posted on 1st of June 2023 | 224 words

Not so long ago, Geoffrey Hinton, another “godfather of AI”, raised his concerns about the future of AI and his own feelings towards it .

Now it seems, another “godfather of AI”, is feeling lost with his work

He is the second of the so-called three “godfathers” of AI, known for their pioneering work in the field, to voice concerns about the direction and the speed at which it is developing. […]

Prof Bengio told the BBC he was concerned about “bad actors” getting hold of AI, especially as it became more sophisticated and powerful.

“It might be military, it might be terrorists, it might be somebody very angry, psychotic. And so if it’s easy to program these AI systems to ask them to do something very bad, this could be very dangerous.

“If they’re smarter than us, then it’s hard for us to stop these systems or to prevent damage,” he added. Prof Bengio admitted those concerns were taking a personal toll on him, as his life’s work, which had given him direction and a sense of identity, was no longer clear to him. “It is challenging, emotionally speaking, for people who are inside [the AI sector],” he said. “You could say I feel lost. But you have to keep going and you have to engage, discuss, encourage others to think with you.”

What I Read in April 2023

Posted on 7th of May 2023 | 297 words

Lots of non-fiction for me this month, mainly revolving around attention span. Very interesting topic overall, especially considering the highly technological dopamine filled world we live in today.

Gloria Mark: Attention Span, Adam Alter: Irresistible, Alex Soojung-Kim-Pang: The Distraction Addiction:

I decided to group these together since all three of these books revolved around technology, addiction, distraction and attention span. I’ve read a lot about these subjects so I didn’t necessarily learn too much new, but still, I would say these books were worth a read.

Basically, the key takeaway from these were the fact that modern digital technologies have changed the “structure of our attention”. We use screens more and more using software and products that constantly hinder our attention with constant bombardment of various stimulus from different sources.

But then again, it’s easy to blame technology for this and the culprit for distraction comes already from the state of mind on how you approach your given tasks.

Is the cause of your distraction social media? Maybe email? Maybe some IM app like Slack? Finding the main reason for your own distraction is very beneficial, since when you know that, it’s easy to limit access to it.

Jenny Odell: How to Do Nothing:

Great book on how this overly capitalistic rat-race that most of us are in can be very detrimental to people. Big reason for this was the fact that nowadays people tend to see that every hour of the day is potentially monetisable. So we’re not “allowed” to do nothing anymore. Which is sad. As a practising buddhist, I really like this message. Pausing and engaging with the world can be very beneficial in finding new and interesting meanings in our everyday experiences. There’s no need to be in some sort of constant hustle.