Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 21 Oct 2011
Offline Last Active Private

Posts I've Made

In Topic: The Atomic Man: Are lockless data structures REALLY worth learning about?

05 April 2015 - 09:14 AM

I think this topic is interesting and worth knowing for game development (see Ubisoft examples later).


The good news is that -- if you'd like to learn -- there's now plenty of really good materials available.


I'd start with Herb Sutter's talks: atomic Weapons: The C++ Memory Model and Modern Hardware

Then, watch his CppCon 2014 talks, "Lock-Free Programming (or, Juggling Razor Blades)": http://herbsutter.com/2014/10/18/my-cppcon-talks-2/
* Part 1: Lazy initialization with DCL vs. call_once vs. function local statics, and lock-free mailbox algorithms
* Part 2: Lock-free linked lists, the ABA problem, and atomic smart pointers

(Note: "Example-driven talk on how to design and write lock-free algorithms and data structures using C++ atomic -- something that can look deceptively simple, but contains very deep topics. (Important note: This is not the same as my "atomic Weapons" talk; that talk was about the "what they are and why" of the C++ memory model and atomics, and did not cover how to actually use atomics to implement highly concurrent algorithms and data structures.)")

Last but definitely not least, I highly recommend following Jeff Preshing's (a Technical Architect at Ubisoft Montreal) blog: http://preshing.com/

For instance, check out his talk at CppCon 2014: "How Ubisoft Develops Games for Multicore - Before and After C++11"


Getting familiar with Boost.Lockfree shouldn't hurt, either:


Good luck!

In Topic: How to get Boost::asio working with MinGW

23 February 2015 - 09:59 AM

There are also MinGW distributions which already include pre-built Boost binaries:

- http://nuwen.net/mingw.html

- https://msys2.github.io/

Perhaps it would be easier to use one of these?


Alternatively, in case you only want ASIO, there's also a standalone (non-Boost) version only requiring a C++11 compiler:


In Topic: Some programmers actually hate OOP languages? WHAT?!

27 January 2015 - 09:21 AM

Problem is, I will never learn the right way to code from the wrong way if I don't share my code and no one explains it to me.

TL;DR - unless you've been telling everyone that you're the greatest software engineer who's ever lived, you should never feel like that.


. . .



To add to that:

- Egoless Programming: http://blog.codinghorror.com/egoless-programming-you-are-not-your-job/

- You Are Not Your Code: http://www.hanselman.com/blog/YouAreNotYourCode.aspx

In Topic: A Starting Point

26 October 2014 - 12:13 PM

Go with something recent -- i.e., targeting C++11/C++14; anything older is a waste of time, especially when learning.

Even if you end up unlucky enough to be confined to maintaining legacy code, it's always easier to pick up older C++ coding style along the way if you already are familiar with the foundations of the language. And getting familiar with the foundations of the language is definitely easier starting with C++11.


Here's the official getting-started list: http://isocpp.org/get-started

I think the recommendations there are 100% spot on, so I won't repeat them here. I can just say that personally I think "C++ Primer" may be the choice for you (and that's what I usually recommend to C++-is-not-my-first-programming-language programmers).


For more, see The Definitive C++ Book Guide and List: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list


BTW, Scott Meyers is working on Effective Modern C++: http://scottmeyers.blogspot.com/2014/09/the-four-stages-of-doneness.html

From the previews so far it definitely looks a great second/third C++ book to have.


Now, that's as far as the learning is concerned (worth emphasizing: you definitely need a book, IMHO you can't really learn much from the on-line references that won't be covered in a first chapter or two of a good book).

Regarding the reference, worth bookmarking and revisiting as you learn along the way:



For instance, sooner or later you'll need most of the algorithms listed here -- http://en.cppreference.com/w/cpp/algorithm -- it may save you quite some time to at least get familiarized with their existence, in order to avoid unnecessarily reimplementing the wheel :-)


Good luck!

In Topic: Aspiring Game Developer, Fluent in C++, What Do I Learn Now?

13 September 2014 - 02:11 PM

I'd also add Lua -- it's more minimalistic than Python and is often useful for embedding as a scripting language for your game (so that the players can extend it: modify the AI behavior, add custom scenarios, etc.). In fact, Lua would be my first choice for an embedded scripting language (not just) in a gamedev context.


It's also very easy to get started: http://www.lua.org/pil/


Here's a comparison: http://lua-users.org/wiki/LuaVersusPython (even though it's hosted on lua-users it points both the upsides and the downsides of both).


OTOH, if you already know Python, picking up Perl wouldn't necessarily have the highest priority (the use-cases of these substantially overlap).