I am checking The TIOBE Programming Community index from time to time. This is an index that shows the popularity of programming languages. The index collects data since 1985 and is updated monthly. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written. It is about popularity in the programming community – number of skilled engineers, courses, searches, books.
Here is the index for February 2015
One thing always impresses me.
During the past 30 years, many languages went up and then went down. And C/C++ always stays in top 4.
The real-world conclusion is
If you consider yourself a programmer, you have to be a C/C++ programmer.
Do you know who is Tux? He’s a penguin, who is the official mascot of Linux – the free and open-source operating system. The penguin also became a symbol of all free and open-source software applications.
Last weekend we had a TuxCon conference dedicated to the free and open-source software for mobile, embedded and wearable devices. Speakers that are experts in their areas held presentations in different topics sharing their experience and vision about the technologies.
I was the speaker of one of the presentations. My subject was “Mobile applications that communicate”. I shared the experience we gained while we expanded from desktop to mobile. Our main product Brosix started as a communication application for Windows (desktop-only). Later we added Mac and Linux – all desktop operating systems. When we decided to add mobiles Android and iOS, we reached a new world, where old principles and techniques did not work the way we expected. Later we created another mobile application that communicates – GuestVista. In the time-frame I had, I tried to share all of our experience and to give ideas the audience to consider when they plan and build their mobile applications that communicate.
This is the presentation (in Bulgarian language) in a PDF format.
The conference was very interesting. The topics covered important areas from the world of mobile and embedded devices. I’ve met people from different cities across the country, Greece and Turkey. We shared ideas and networked. On Sunday we had a practice. The participants had the opportunity to try real embedded devices. We built the devices and then programmed them. This was a day dedicated to the hardware.
I thank the organizers for the perfect organization and hope soon to have new releases to promote good practices in developing applications for mobile, embedded and wearable devices. The latter gain tremendous popularity recently.
It all started in the end of May 2013. A group of enthusiasts gathered together to set up a “lab”. The idea was to make a place where people can come and create things together. A place open for everyone, independent of corporations or government.
We have gathered and did it. We were 40 (fourty) people. At that time I did know almost no one of them. Those who I knew I didn’t know their names.
We collected money (our savings, we’ve got no funding from anywhere). We’ve looked and rented a wonderful place (140 sq.m.) in the perfect super center, on an incredible place, with a terrace with an amazing view to the hills of the city.
Wired the Internet, found some tables and chairs and settled.
And the club started to function 🙂
Everyone is free to come whenever he wants, to come with a laptop, or a computer, or with freinds. To stay as long as he wants and to create whatever they want. A place open for everyone.
For the past nine months we collaborated for two computer conferences to be organized (PlovdivConf and PlovDev). We organized several courses in computer sciences (there is one running at them moment and few more are being prepared on different topics). These courses were free of charge so far – I repeat, completely free of charge. The students don’t pay a dime.
Why do we do it?
Honestly – I don’t know. Probably everyone has a reason. I want a place where people like me to gather together and to socialize, to meet new people, to give whatever we know and can to the other (for free) and this way to improve the city.
I have noticed that all Hackafe people are volunteers in different activities for the benefit of the society (in addition to Hackafe).
And another thing I have noticed – in the spring of 2013 there was a Startup Weekend in Sofia for mobile applications. The winner team had a girl member from Hackafe. In the fall of 2013 there was a Startup Weekend in Plovdiv. The half of the winner team was from Hackafe. In January 2014 there was a Game Jam in Plovdiv. The winner team had a young man from Hackafe.
In short, the Hackafe members are exceptional. Personally I feel privileged to be part of it 🙂
What does it mean to be a member of Hackafe?
Even if you are not a hackafe member, you can come to all of the events we organize – conferences, presentations, hackatons, lectures, teachings, trainings or parties.
If you are a Hackafe member, this means first, that you are a member of a community of exceptional people, loving their professions, who want to change themselves, their city and their nation. And second, you will sponsor the cause, because without the money we give every month, this good for our city will not exist.
Few weeks ago we have received the official registration of Not for Profit Organization for the Good of the Society “Hackafe”. Now we can accept official donations. So, if you or your company want to donate, please contact us 🙂
The Hackafe web site with more information, address and how to contact us www.hackafe.org
If you just want to be informed what is going on, please like our Facebook page. We regularly post notifications for upcomming events – you are welcome on all of them! Hackafe on Facebook
On October 12 we opened the autumn conferences with PlovDev – a conference that aims to strengthen the IT community. I was one of the speakers, as my presentation was entitled “The strength and weakness of C++”.
I had noticed over the years that there are programmers who underestimate C++ or afraid of it. Others use it in a way that actually damages the projects they work on. So I wanted to show the audience the strengths of the language and how to use them in practice. At the same time I wanted to show them the weakness of the language and how to use it for the benefit of the work. The main idea that I wanted to show is very well described in this text:
Freedom is the core objective in C++ language design.
1. It has all features, but it never forces anything to programmers. You can choose to do all sorts of programming like assembly, structured, OOPS, functional, meta, confused, etc…
2. You can bypass everything. If you don’t want OOPS, you can use the C subset. If you want to bypass STL and use Boost C++ Libraries you can do so. If you want to bypass C++ runtime you can do so.
C++ treats you like an adult.
C++ gives you great power.
And with great power, comes great responsibility.