I need some advice. #8491
Replies: 2 comments
-
I know this are very vague and probably broad scope questions, but I am fed up with AI answers and just wanted an outlook from experts here. Thank you. |
Beta Was this translation helpful? Give feedback.
-
These are more general programming questions than Dear ImGui ones, but I can try to help you head in the right direction.
Kind-of a lame answer, but I think this sort of thing is best learned either by imitating the code base you're already working in or trial by fire. There's no "one way" because every application has different needs and every developer has different tastes. Try not to worry too much about "doing it wrong". It's called software for a reason, you can always change it later. If your natural inclination is to go with a giant If the idea of having to live with your mistakes is terrifying though, consider making a rough prototype of your app with the explicit intent to throw it away and start over once you have a better idea of what you're doing. That's what I do when I'm exploring a problem space. A good learning habit is to just read a lot of code written by many different people for a wide variety of problem domains and forming your own opinions based on that. (This of course isn't a helpful strategy when you're wanting to get going ASAP. It's best done passively over time. IMO this is the main thing that helped me get good at software architecture.)
I'm rambling at this point, but one thing I would caution you of is that if you do watch/read things on software architecture is to remember you're just reading one person's opinion with zero context. I see a lot of beginners gain a dogmatic desire to follow different patterns just because Someone Smart said that pattern was a good idea. IMO this type of thinking does more harm than good in the long run. (This is especially true of all the catchy programming principle acronyms people like to throw around.)
This is technically possible, but not super trivial. I don't think I'd recommend this approach to a C++ beginner, but here's some guidance on embedding Python in C/C++ apps. You might consider if it makes more sense to use one of the Python bindings instead of writing your app in C++.
In contrast to dynamically-typed languages like Python, updating dependencies in statically-typed languages like C++ is not nearly as prone to problems because if something breaks you find out right away when you go to compile. In the case of Dear ImGui, Omar explicitly lists breaking changes in the notes for each release. You can always read through these notes if you want to be proactive. (Example) Edit: I should also mention there's a dedicated changelog file, which might be easier to digest if you're jumping up more than a few versions at a time. |
Beta Was this translation helpful? Give feedback.
-
Hello,
Everytime I look at how many wonderful applications people had created with ImGui, my mind races to do something similar. I feel inspired. But my inspiration feels short lived since it feels overwhelming to understand and start.
I have a mini project that I want to work on which is associated with computer aided drug design and I feel like ImGui is the perfect choice for this. I know python on intermediate level and have just started learning C++(from https://www.learncpp.com/) and openGL (from https://learnopengl.com/).
So I want a guidance, even if it's a video, book, tutorial or anything on how to structure the full project. I am guessing if I start making the full application, my main.cpp would be huge. So I need guidance on following queries:
Beta Was this translation helpful? Give feedback.
All reactions