So here I am almost 3 years doing programming on and off and 5/6 months of c++ I just finished reading Alex Allain's book which I must say I wouldn't call it great some of the chapters were very well explained and others not so much I'd give it a 6/10 but anyway I understand all of the topics now and it's mainly due to the great people on this forum but here I am now I understand classes,part of data structures,working with data,arrays,2d arrays,pointers,loops,a lot of the stl library,recursion,the stack,dynamic memory allocation but the question is what now? I want to be able to write decent programs that actually do things for example an application like a browser or photoshop(obviously not as advanced or as good as one of them I know they have many people who worked on those applications at the same time) but I want to be able to do more than just looping through arrays and easy console applications.Where do i go now,how do I get to that step what should I study?
also when people say people can exploit your code how is that even possible for example I can't just edit or even look at the source code for a program like firefox or chrome (or can i? and if so how?) so how's it even possible to find bugs in other peoples code when you can't even view this code?
Hi. After I had learned all the fundamentals of C++ and console programming I pushed myself into the territory of GUI programming. I first started out learning the ol' Win32 for Windows. I wrote a few programs with a GUI, some were decent while others were just experimental. After a little longer I started working more with Linux and made the complete switch from Windows into Linux so I learned a new GUI toolkit to go along with it. I learned GTK. I found that different to Win32 but I liked it. I always aim to write cross-platform code in everything I write, which toolkits like GTK and Qt are. My next big step is working with graphical programming. I chose OpenGL because of the cross-platform capabilities. I'm getting through some tutorials so I can finally make my own decent games with graphics and sound and stuff.
And in terms of looking at source code for other programs, some software is released under and open-source license. The Linux kernel is open-source, Firefox is open-source, VLC is open-source, GIMP is open-source, etc etc. The list goes on. This means that the source code can be looked at and changed by anyone. This isn't necessarily a bad thing because what changes go into the final code is moderated by hundreds of users on big projects. So sometimes they are even more secure than propriety and closed-source software.