C++ Logo

sg20

Advanced search

Re: [SG20] I've been asked to write a book

From: Tupaschoal <tupaschoal_at_[hidden]>
Date: Sun, 24 Nov 2019 01:39:05 -0300
Hello Guy,

I've recently gone through designing a C++ training for a specific group of
people and what I think helped me best to define what to focus on was to
start writing it from the examples. Maybe you should pick some topics that
you know for sure will have to be dealt with - a basic, an intermediate and
an advanced one - and code examples for each of them. After that, you might
have a clear answer as to whether you can do a whole "C++ for gaming" book
or if you just should explain intricacies/tips for C++ programmers going in
to the gaming industry.

Túlio P. Leão


On Sat, Nov 23, 2019 at 11:01 PM Neil Horlock via SG20 <
sg20_at_[hidden]> wrote:

> Hi guy
> The direction we are taking in sg20 is in some ways inverted with respect
> to your concept but should align well. The work we are undertaking at the
> moment starts at a higher level of abstraction breaking the language into
> teaching modules, within each module area topics which may be tagged for a
> given level of expertise. The expertise concept being called audience
> tables derived from Gor's coroutines work where.certain topics were
> "expert" or specialist not by some intellectual measure but on a measure of
> "how many people in the community actually need this knowledge for their
> work".
>
> The idea being that in targeting learning to a given field the writer
> /educator etc can plot a path between modules and having some indication
> from us in conjunction with their own context as to how deep into a given
> module they might go and perhaps what topics are covered at the outset and
> which are returned to later.
>
> With all that in mind, for games, skin to my own space of low latency
> trading, starting with some scene setting as you suggest makes good sense.
> What are the specific constraints that make game development different to
> other sectors.
>
> This then sets the motivation behind the route you choose to navigate
> through the language with your readers.
>
> Of course, it was just a few weeks ago that we really nailed our colours
> to the mast and decided how we wanted to move forward the target is to have
> the module topic map document completed by end of 2020
>
> I run two code clubs, as I think you know, and games development at some
> abstract level is indeed a common goal of many younger programmers. I think
> we're a long way from being able to reach that far down the stack but a
> very worthy goal to put some platforms in place to build towards.
>
> Neil
>
>
>
> On Sat, 23 Nov 2019, 14:46 Guy Cpp via SG20, <sg20_at_[hidden]>
> wrote:
>
>> Hello everyone.
>>
>> For those of you who don't know me, my name is Guy Davidson and I am the
>> Principal Coding Manager at Creative Assembly, the UK's oldest and largest
>> game studio. I have been there for 20+ years and my role has a significant
>> educational component: I help our programmers become better programmers, I
>> visit universities and recruit graduate interns, and I serve on advisory
>> boards.
>>
>> Particularly, I serve on the IGGI <http://www.iggi.org.uk/>advisory
>> board. This is a doctoral research programme targeting research into game
>> AI. As part of their doctorate, students are placed in game development
>> studios. The professors on the board have all bemoaned the lack of targeted
>> C++ texts that they can point their students to, both undergraduate and
>> post-graduate, and are keen for me to write The Book on learning C++ from a
>> game-developer viewpoint.
>>
>> I really enjoy writing prose, examples of which you can see on my blog
>> <http://hatcat.com>, and I am keen to pursue this commission. I have
>> plans and ideas, but of course the committee has a study group devoted to
>> education, and it would be foolish of me not to canvas opinions, advice and
>> even assistance from SG20.
>>
>> Currently, my approach is to develop a table of contents, pitch to
>> publishers, and write some prose. It's with the first part that I would
>> most appreciate assistance.
>>
>> Here are some considerations.
>> - The approach I would to take is to teach by abstraction; start with the
>> CPU and work upwards: registers and the program counter, objects, functions
>> and function templates, classes and class templates, modules and libraries.
>> While developing this framework I can introduce the remaining topics as
>> tools for supporting these abstractions.
>> - C++20 is a big update and a good place to drop anchor. However, there
>> is scope for future editions as the standard continues to mature.
>> - Without standard graphics and audio I'm going to have to come up with a
>> suitable sandbox for reader experimentation; the console is not really fit
>> for purpose in this context. The graphics proposal has a web assembly
>> implementation, so I may be able to use a browser-based environment.
>> - I will need plenty of exercises for the reader.
>> - Game devs are extremely performance conscious. Exceptions and RTTI are
>> not things that we use in game code, although possibly in the tools that we
>> use to make our games. There is an informal dialect of C++ that game devs
>> (and indeed most of the SG14 constituency) use.
>> - The standard library has an unfair reputation in this constituency. I
>> will treat it as an equal citizen, while also discussing profiling and
>> highlighting the 80/20 rule.
>> - I'm not convinced that I can treat this as an introduction to
>> programming as well as C++. I may have to assume that the reader is already
>> familiar with Python or something similar. However, having visited many
>> code clubs and so on, it does seem that the biggest motivation among school
>> age folk for learning to program is to write games.
>>
>> This does feel like an utterly insane thing to do on top of my day job
>> and existing committee projects. However, it's a book that needs to be
>> written, a book that I wanted to have when I was learning C++, and a book
>> that I am able to write.
>>
>> I would welcome any input, and also minutes of SG20 meetings so that I
>> can get up to speed with discussion and become more involved in this study
>> group.
>>
>> Best regards,
>> Guy
>> --
>> SG20 mailing list
>> SG20_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg20
>>
>
> On Sat, 23 Nov 2019, 14:46 Guy Cpp via SG20, <sg20_at_[hidden]>
> wrote:
>
>> Hello everyone.
>>
>> For those of you who don't know me, my name is Guy Davidson and I am the
>> Principal Coding Manager at Creative Assembly, the UK's oldest and largest
>> game studio. I have been there for 20+ years and my role has a significant
>> educational component: I help our programmers become better programmers, I
>> visit universities and recruit graduate interns, and I serve on advisory
>> boards.
>>
>> Particularly, I serve on the IGGI <http://www.iggi.org.uk/>advisory
>> board. This is a doctoral research programme targeting research into game
>> AI. As part of their doctorate, students are placed in game development
>> studios. The professors on the board have all bemoaned the lack of targeted
>> C++ texts that they can point their students to, both undergraduate and
>> post-graduate, and are keen for me to write The Book on learning C++ from a
>> game-developer viewpoint.
>>
>> I really enjoy writing prose, examples of which you can see on my blog
>> <http://hatcat.com>, and I am keen to pursue this commission. I have
>> plans and ideas, but of course the committee has a study group devoted to
>> education, and it would be foolish of me not to canvas opinions, advice and
>> even assistance from SG20.
>>
>> Currently, my approach is to develop a table of contents, pitch to
>> publishers, and write some prose. It's with the first part that I would
>> most appreciate assistance.
>>
>> Here are some considerations.
>> - The approach I would to take is to teach by abstraction; start with the
>> CPU and work upwards: registers and the program counter, objects, functions
>> and function templates, classes and class templates, modules and libraries.
>> While developing this framework I can introduce the remaining topics as
>> tools for supporting these abstractions.
>> - C++20 is a big update and a good place to drop anchor. However, there
>> is scope for future editions as the standard continues to mature.
>> - Without standard graphics and audio I'm going to have to come up with a
>> suitable sandbox for reader experimentation; the console is not really fit
>> for purpose in this context. The graphics proposal has a web assembly
>> implementation, so I may be able to use a browser-based environment.
>> - I will need plenty of exercises for the reader.
>> - Game devs are extremely performance conscious. Exceptions and RTTI are
>> not things that we use in game code, although possibly in the tools that we
>> use to make our games. There is an informal dialect of C++ that game devs
>> (and indeed most of the SG14 constituency) use.
>> - The standard library has an unfair reputation in this constituency. I
>> will treat it as an equal citizen, while also discussing profiling and
>> highlighting the 80/20 rule.
>> - I'm not convinced that I can treat this as an introduction to
>> programming as well as C++. I may have to assume that the reader is already
>> familiar with Python or something similar. However, having visited many
>> code clubs and so on, it does seem that the biggest motivation among school
>> age folk for learning to program is to write games.
>>
>> This does feel like an utterly insane thing to do on top of my day job
>> and existing committee projects. However, it's a book that needs to be
>> written, a book that I wanted to have when I was learning C++, and a book
>> that I am able to write.
>>
>> I would welcome any input, and also minutes of SG20 meetings so that I
>> can get up to speed with discussion and become more involved in this study
>> group.
>>
>> Best regards,
>> Guy
>> --
>> SG20 mailing list
>> SG20_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg20
>>
> --
> SG20 mailing list
> SG20_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg20
>

Received on 2019-11-23 22:41:39