<story><title>I learnt C++ in 2018 and have no regrets</title><url>https://vishnubharathi.codes/blog/learning-cpp-2018/</url></story><parent_chain><item><author>anuragsoni</author><text>&amp;quot;To round up, C++ does not dictate about its tooling, which basically gives lot of choices and flexibility. But at the same time it is making it complex for beginners to come in to projects and start projects with it.&amp;quot;&lt;p&gt;This was a big problem for me when I first started using C++. I don&amp;#x27;t remember it being too bad when I was just working on small projects and things I wanted to do at school. The problems started when moving past the &amp;quot;1-person&amp;quot; projects. Want to contribute to other projects? Chances are they all have very different build setups and configurations when it comes to building, testing, dependency management. That adds some friction even before you start taking a look at the actual code-base.&lt;p&gt;I understand that a lot of these problems can occur for languages as old as C++, but I wish the tooling was a little more opinionated and worked a little better at guiding newcomers into doing things in a nicer manner.</text></item></parent_chain><comment><author>bluGill</author><text>C++ is commonly used for large complex projects. The problem with opinions is eventually you come across something that the opinion will not allow. For a small project an opinionated build system makes things easier and you essentially never run across something that can&amp;#x27;t work. For very large projects that is not true and so you end up fighting opinions in some place.</text></comment>
<story><title>I learnt C++ in 2018 and have no regrets</title><url>https://vishnubharathi.codes/blog/learning-cpp-2018/</url></story><parent_chain><item><author>anuragsoni</author><text>&amp;quot;To round up, C++ does not dictate about its tooling, which basically gives lot of choices and flexibility. But at the same time it is making it complex for beginners to come in to projects and start projects with it.&amp;quot;&lt;p&gt;This was a big problem for me when I first started using C++. I don&amp;#x27;t remember it being too bad when I was just working on small projects and things I wanted to do at school. The problems started when moving past the &amp;quot;1-person&amp;quot; projects. Want to contribute to other projects? Chances are they all have very different build setups and configurations when it comes to building, testing, dependency management. That adds some friction even before you start taking a look at the actual code-base.&lt;p&gt;I understand that a lot of these problems can occur for languages as old as C++, but I wish the tooling was a little more opinionated and worked a little better at guiding newcomers into doing things in a nicer manner.</text></item></parent_chain><comment><author>sl1ck731</author><text>I ran into this trying to get into it about 3 weeks ago. I&amp;#x27;m so used to things like npm, ruby gems, go packages, pip that it felt like a huge task just to get something built or settle on a way for me to build mine.&lt;p&gt;Even grabbing libraries from github, I was unsure if I should grab just the headers and DLLs, or import the entire tree and mashup my build scripts with theirs.&lt;p&gt;I wish I had stayed with it since college but now I feel I have to reach for something like Go or Rust just to get something shareable in reasonable time purely because of the tooling, whereas I would really like to use the C++ language itself specifically for working with win32.</text></comment>