Preslav Mihaylov

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

Tag: programming

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

Introduction to binary numbers


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.

Last time, we covered how does a processor work. We mentioned that he used instructions, which are encoded in numbers. But these numbers are stored in a computer in binary digits.

Today, I begin a series on posts on how binary numbers work.

Continue reading

My inspiration to become a developer

As a follow up to my first post about what to expect from my blog, today I am going to tell you the story of my first encounter with programming and what my inspiration was to continue doing it until this very day.

I will start out with what my background was beforehand, some of the first steps and finally – my first great achievement!

Thank you David for the idea of this post! 🙂

Continue reading

BulgariaEnglish