Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

#ActualRavyne

Posted 16 October 2012 - 02:11 AM

@Eddie, I'd argue that learning DX9 is not the kind of stepping-stone you claim that it is simply because its less complex or more turn-key. Both APIs, along with others like OpenGL, are so far from their mathematical and conceptual underpinnings that you're really just learning one set of domain-specific knowlege or the other. Indeed, starting with one technology as a stepping stone, simply because it seems more approachable at first glance, or because it predates the alternative, can in the worst case lead you to adopt a way of thinking and reasoning that is no longer relevant to the goal technology -- even if the technologies are closely related and might even form a true lineage, for example, starting with C is not an effective means to learning C++ or C#. There are fringe benefits to be sure, gained from additional experience and perspective, but the quickest and most efficient way to become a competent C++ or C# programmer is to just start with C++ or C#.

To be clear, I'm not saying that having C under your belt wouldn't aid you in learning C++ or C# more quickly, because it almost certainly will, but that learn_c_time + learn_cpp_time > just_learn_cpp_time. The fringe benefits I mentioned can be worth your while, but they can also be gained in either order, so it still makes better sense in my estimation to cut to the chase.

The same applies to DX9 and DX10/11

#1Ravyne

Posted 16 October 2012 - 02:08 AM

@Eddie, I'd argue that learning DX9 is not the kind of stepping-stone you claim that it is simply because its less complex or more turn-key. Both APIs, along with others like OpenGL, are so far from their mathematical and conceptual underpinnings that you're really just learning one set of domain-specific knowlege or the other. Indeed, starting with one technology as a stepping stone, simply because it seems more approachable at first glance, or because it predates the alternative, can in the worst case lead you to adopt a way of thinking and reasoning that is no longer relevant to the goal technology -- even if the technologies are closely related and might even form a true lineage, for example, starting with C is not an effective means to learning C++ or C#. There are fringe benefits to be sure, gained from additional experience and perspective, but the quickest and most efficient way to become a competent C++ or C# programmer is to just start with C++ or C#.

To be clear, I'm not saying that having C under your belt wouldn't aid you in learning C++ or C# more quickly, because it almost certainly will, but that learn_c_time + learn_cpp_time > just_learn_cpp_time. The fringe benefits I mentioned can be worth your while, but they can also be gained in either order, so it still makes better sense in my estimation to cut to the chase.

PARTNERS