<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>lmm</author><text>Making Rust work nicely with win32 is probably less effort (and more valuable) than getting enough momentum behind a good dependency manager for C++.</text></item><item><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></item><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>Const-me</author><text>&amp;gt; work nicely with win32 is probably less effort&lt;p&gt;Gonna be very hard to do. For the last 15+ years COM is essential part of WinAPI, and too many things in Rust conflict with COM: ownership, OOP, virtual tables, inheritance, they all too different.&lt;p&gt;Not just in Rust, in all languages, actually. You only have 2 good choices for complex platform-dependent windows development: either C++, or a microsoft&amp;#x27;s language with COM support embedded deep in the runtime, like VB6 or VBScript or .NET.</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>lmm</author><text>Making Rust work nicely with win32 is probably less effort (and more valuable) than getting enough momentum behind a good dependency manager for C++.</text></item><item><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></item><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>ModernMech</author><text>Rust works &lt;i&gt;great&lt;/i&gt; on Windows. I use it every day. Is there anything specifically you had in mind that needs to be improved? Off the top of my head there is some tooling work that needs to be done, but cargo and rustup handle compiling, versioning, and dependency management flawlessly imo.</text></comment>