Preslav Mihaylov

Speaker, Software Engineer, Technical Trainer. Passionate about computer science, presentations and reading books

The build process of programming languages


This article is part of the sequence What you won’t learn in the basics courses aimed at eager people striving to gain a deeper understanding of programming and computer science.

When I wrote my first program, my trainer told me I merely wrote the source code. Now, I have to translate it to a language understandable by computers. We call that compilation. It happens by clicking Ctrl+F5 (In Visual Studio). And there you have it, your program is now an executable.

That’s how they initially thought me what the build process of a program is. And that is a good enough explanation for beginners. But at one point, I realized that when I click Ctrl+F5, some processes happen behind the scenes which we don’t see. Those processes we will explore in today’s article.

And did you know, that when you click Ctrl+F5, the processes used are different for different languages? Have you ever wondered  why is it harder to code in C++ than it is in C#?

Well, we won’t be able to explore the whole details of the last question. That has a lot to do with language design and the decisions being taken during the years. But we will explore the fundamental difference between those languages. That difference lies in their build process.

Continue reading

My experience with “Future Is Code”

“Future is Code” is an initiative aimed to inspire the young people of Bulgaria to start learning programming by showing them how cool it is. Professionals from the IT industry usually go to their schools from their hometowns and make a 45 minute presentation on a topic of their choice.

Last year, I have visited more than 20 schools throughout the country and led various presentations in front of varied audiences. Next week, I am starting this initiative again.

I want to share with you my experience on this journey, what problems I have faced and how I have resolved them and tell you how you can take advantage of such an opportunity.

Continue reading

The ultimate challenge for aspiring developers

When I first started programming, I started creating some simple console applications following some course materials. I had to create some simple algorithmic-type programs such as implementing factorial, Fibonacci, etc. Although creating these programs might be fun at first, it’s not like creating your own project from scratch.

Shortly after that, though, I created my very own game. That was simply amazing! I never thought that you can create some of the most popular arcade games with so little knowledge. That’s what hooked me up for programming. It was the step that made me look at programming not simply as a vocation, but a calling.

But I realize that I was lucky to find someone from whom to learn how to make my own game and do it myself afterwards. Most of the newbie programmers don’t have this experience and I think that is a shame.

Today, I want to recreate this journey for you and help you create your own game.

Continue reading

Speaking at WordCamp Sofia

WordCamp is an annual WordPress community event organized in cities all over the world. Professionals from the WordPress world come and share some great content about development, blogging, soft skills and more.

I will be making an appearance at WordCamp Sofia. I am extremely honored to speak on the biggest community WordPress event in Bulgaria. The date is 11th November, Arena Mladost Hall, Sofia.

My presentation is The Productive Developer. We will see what are the bottlenecks to our productivity and what are the solutions to them. But apart from that, we are going to explore some great tools and techniques that will help you not simply discover where your productivity gaps are, but systematically solve them! And the best thing about these tools is that you can start applying them right now.

I am looking forward to meeting and connecting with great people on WordCamp Sofia, 2017.

Going to the conference yourself? Then just let me know and contact me. I would be happy to chat and see you on the 11th of November at Arena Mladost Hall, Sofia.

Stay tuned for further news and updates about upcoming slides & video.

Languages High and Low


This article is part of the sequence What you won’t learn in the basics courses aimed at eager people striving to gain a deeper understanding of programming and computer science.

When I started programming, I got introduced to C# and I thought it was pretty fun. As I advanced in my studies, I learned other programming languages as well. I learned JavaScript, PHP, Java.

Even though I learned to code in these languages, what I didn’t understand is why are there so many languages? What purpose did they all serve? Furthermore, I was curious where did all these languages came from? How did they come to be? What is a low-level language and why does it still exist?

The goal of this article is to try and help you find the answers for some of these questions and to further fire up your curiosity in the nature of programming languages and computers. I will walk you through the evolution of modern programming languages. Why did they come to be and what problem did they solve.

Continue reading

Older posts »
BulgariaEnglish