Greetings everyone,
I am looking to learn how to program in C and, more specifically, want to focus on how to do so with Wine development. I've already been contributing to this project via testing applications and updating/submitting bug reports and I hope to contribute even more.
As a developer, I've been professionally making Python programs for years now and I figure it's about time I really learn C. Ideally I will eventually contribute more of my time and code back into the Wine project. Beyond just Wine, knowing C should also help give me an edge on creating high-performance functions using Python's C API.
My question is: are there any recommended resources for learning C from the ground up and also using that knowledge to help with Wine? What are some materials that you have used to get yourself started with C and/or Wine beyond the Wine Developer's Guide?
I understand that learning C will be more of a gradual thing over the course of many years. And, like most things, mastery is an ongoing process. I am looking to get my feet wet so that I can eventually dive into the Wine development pool.
Thank you guys for any advice you can give to a newcomer!
Sincerely, Luke Short
Hi,
I don't have a good C guide at hand, it's been a long time since I made my way into this language.
Wine is certainly a quite complicated project to make your way into, especially if you don't know C yet. It is also quite huge, and even though I have been a contributor for 10+ years there are areas I have no clue about. So I'd say pick an area of interest to start from.
That said, if you want to learn C with the goal of working on Wine, C guides that focus on Windows and the Win32 API are a good start. Writing simple GUI programs will give you an idea of the concepts of Windows. Stay clear of MFC (which is C++ and hides some things from you). You can additionally look up comparable Linux guides to see how the same concepts are implemented elsewhere.
You can also use your python knowledge to bridge the gap. If for example you're interested in games and 3D programming you could start with a python opengl guide using e.g. PyOpenGL. That way you can learn about 3D graphics without at the same time having to handle a new language. The same is probably true in many other areas.
Stefan
On 03/11/17 00:12, Luke Short wrote:
Greetings everyone,
I am looking to learn how to program in C and, more specifically, want to focus on how to do so with Wine development. I've already been contributing to this project via testing applications and updating/submitting bug reports and I hope to contribute even more.
As a developer, I've been professionally making Python programs for years now and I figure it's about time I really learn C. Ideally I will eventually contribute more of my time and code back into the Wine project. Beyond just Wine, knowing C should also help give me an edge on creating high-performance functions using Python's C API.
My question is: are there any recommended resources for learning C from the ground up and also using that knowledge to help with Wine? What are some materials that you have used to get yourself started with C and/or Wine beyond the Wine Developer's Guide?
I understand that learning C will be more of a gradual thing over the course of many years. And, like most things, mastery is an ongoing process. I am looking to get my feet wet so that I can eventually dive into the Wine development pool.
Thank you guys for any advice you can give to a newcomer!
Sincerely, Luke Short