Logo

Blog


Happy Birthday C++ Insights

Today it is one year since I published C++ Insights.

Happy Birthday C++ Insights

When I launched the project I was uncertain how it would be received. I speculated that it would have nearly no impact. It turns out I was wrong with that but right with the idea in the first place. In the first days after the launch I received dozens of positive feedback emails. Some of them just saying: thank you. These impressed me the most. Giving positive feedback without anything else means that this person took the time to write a few lines just to say thank you. I highly appreciate that! Of course, also all the other feedback, pointing out short comings or feature requests.

In this one year C++ Insights developed a lot. At this point I like to thank all the people who filled issue reports on GitHub or send me private texts. The statements which where transformed in the beginning where relatively low. Just the few that I stumbled on when preparing some of my C++ 17 classes. After a short time it was clear that lambdas need to be handled better and that more statements need to be matched and transformed. Matching is a good point. All works with a handful of AST matchers. I managed to reduce the number of matchers over time. This helps because some issue reports I got are just wrongly adjusted matchers ending up that two matchers did rewrite the same piece of code. Needless to say that this is no good.

Long term I hope to reduce it to just one matcher that matches all top-level declarations which have the translation unit as parent. This would ultimately mean that C++ Insights transforms all source code. However, this is a far-fetched goal as C++ is a complex language and the AST is not designed to do that kind of transformation.

The web-fronted of C++ Insights got some improvements as well. You can now select some additional transformations like transforming for into while loops and more. Only a few months ago I switch from an HTML form approach to a small REST API. For now this reduces the traffic when a user hits run. In addition, it can result in a speedup for users. It also enables another feature requested multiple times: short links. I’m aware that the current full links have shortcomings and are somewhat limited. There is already a rough plan how short links can be in C++ Insights. Stay tuned for updates in the next couple of months.

I hope you will have another fantastic year with C++ Insights. In case, you like to support the project consider becoming a Patreaon or of course contribute with code.

This leaves me to say THANK YOU for your support!!!

Andreas