[HN Gopher] Ask HN: Getting back to C++ and looking for ideas
       ___________________________________________________________________
        
       Ask HN: Getting back to C++ and looking for ideas
        
       Hello .. I used to code C/C++ about 15 years ago, and mainly used
       it for MFC/Windows programming. I spend years doing Java and
       enjoyed using it for Android development. I since moved to Python
       for most of my work (mainly working on deep learning). I'd like to
       get back to C++ again .. I mostly remember the language but need to
       dust off details like STL, generics, libraries, etc. Here is my
       problem .. I can't figure out what sort of tiny programs are a
       strong fit for C++ today. I don't want to build C++ or work with
       some large existing code base. Best place I can think of where C++
       would be a good fit today is Cuda dev. Is there anything else that
       I am missing? I'm desperately looking for something to get excited
       about wrt C++ .. would appreciate advice!
        
       Author : throwawaybbq1
       Score  : 15 points
       Date   : 2021-05-08 21:46 UTC (1 hours ago)
        
       | adsharma wrote:
       | Code in python and generate C++. That's my happy place.
        
         | dvfjsdhgfv wrote:
         | How do you mean? Via Shed Skin?
        
       | lxtx wrote:
       | Rather go with C, or as was pointed out in this thread, Orthodox
       | C++.
       | 
       | Less time being bogged down in the quagmire of C++ "features".
        
       | saurik wrote:
       | Instead of searching for a project that you would do only to use
       | C++, why not decide on something you would want to build anyway
       | and then build it in C++?
        
       | joshbaptiste wrote:
       | https://github.com/SerenityOS/serenity 32bit OS being built in
       | modern C++ by a friendly creator and community who regularly
       | streams on Youtube
        
       | stephc_int13 wrote:
       | In my opinion, Orthodox C++ is the best and sanest C++ style
       | nowadays, and it is not too difficult to learn.
       | 
       | https://gist.github.com/bkaradzic/2e39896bc7d8c34e042b
       | 
       | I would advise to read the code and tinker with Dear Imgui.
       | 
       | https://github.com/ocornut/imgui
        
       | rsgrn wrote:
       | I did this recently too. You might want to review the language
       | changes from C++11 and C++17.
       | 
       | You could try writing a raytracer, or physics sim, or small tools
       | that would have been difficult/annoying previously (like dealing
       | with JSON). You could revisit writing win32 apps. The WebView2
       | lib (which is Edge) is self contained-ish and interesting to
       | learn with (lots of async).
        
       | monkeybutton wrote:
       | Are there any little devices that you'd like to make or tinker
       | with? C/C++ is still big in the embedded space and that's the
       | first use case that comes to mind for me.
       | 
       | I definitely empathize with your post since I haven't done any
       | C++ in 10 years and I'd like to get back into it. The last job I
       | had using it wasn't on C++11 yet and it seems like there's been a
       | whirlwind of progress since then.
        
       | criddell wrote:
       | If you've been away for 15 years, then you have a lot of great
       | changes to absorb. I would learn C++20 and not look back.
       | 
       | As far as projects... I probably wouldn't pick C++ for a tiny
       | program.
       | 
       | But if that's what you want to do, maybe check out some of the
       | new coroutine functionality. Some toy async web stuff might be an
       | interesting challenge. There are plenty of services with public
       | REST APIs. Make a toy client in C++.
        
       | melenaboija wrote:
       | Distributed computations with new stacks such as gRPC+Protobuff
       | or Flatbuffers
        
       | eklitzke wrote:
       | I was in a similar position to you a few years ago.
       | 
       | My recommendation is to first read Scott Meyer's book "Effective
       | Modern C++". This will give you a tour of the language features
       | in modern C++ without wasting your time teaching you the basics,
       | which are going to come back to you rather quickly anyway. It's a
       | short book and it's not going to cover _everything_ you need to
       | know in modern C++, but you can read it quickly and after you 've
       | read it and done a little C++ programming you'll know which
       | things you want to dive into further.
       | 
       | As for what kind of programs to write to get excited about C++, I
       | personally feel like systems programming is the area where C++
       | really shines, and I would encourage you to find some kind of
       | project in this area that excites you. For example, write a
       | simple high-performance key-value database using mmap. Write a
       | httpd using boost::asio or even just using epoll directly.
       | Something like this. There are a million projects to choose from,
       | just pick something that you find interesting.
       | 
       | With regard to CUDA, while it is true that it's an area where
       | people use C++ today it's also fairly different from writing
       | regular C++ programs since you need to use different tooling and
       | the programming paradigm is a little different. If you're really
       | passionate about CUDA I don't see any reason why you couldn't
       | start there, but I think it would be easier to do regular
       | userspace C++ programming first and then transition into CUDA
       | later if you are interested in it.
        
       ___________________________________________________________________
       (page generated 2021-05-08 23:02 UTC)