AuthorTopic: Direct X help please!  (Read 7089 times)

Offline Talos

  • 0001
  • *
  • Posts: 54
  • Karma: +0/-0
    • View Profile

Direct X help please!

on: January 24, 2009, 01:24:02 am
I just downloaded Microsoft Direct X SDK and I am confused. I want to get into programming but that's impossible until I get the right tools and such. Am I missing something or is there a tut or something?

Offline NaCl

  • 0010
  • *
  • Posts: 437
  • Karma: +0/-0
  • When it rains it pours
    • View Profile

Re: Direct X help please!

Reply #1 on: January 24, 2009, 01:31:34 am
Try this:

http://www.gamedev.net/reference/programming/features/davegpg/

You basically need a compiler, don't worry about directX yet. You can use that after you know some programming.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Direct X help please!

Reply #2 on: January 24, 2009, 03:16:42 am
DirectX is not friendly. If you want 'to get into programming', I recommend installing Python and PyGame (http://python.org and http://pygame.org), which will abstract a lot of stuff away for you. After you've got a good grasp of programming, then might be the time to investigate more difficult things like C++/DirectX programming

Using python simplifies things greatly, and you will not need a compiler in that case.
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Direct X help please!

Reply #3 on: January 24, 2009, 01:24:44 pm
Python is a very high-level language, I wouldn't call it easy, ever. There's a staggering amount of complex synthax in that language.

I advise you to start with something like Java or C#

Offline NaCl

  • 0010
  • *
  • Posts: 437
  • Karma: +0/-0
  • When it rains it pours
    • View Profile

Re: Direct X help please!

Reply #4 on: January 24, 2009, 04:23:39 pm
Yuck I hate Java. I say start with C/C++, that's where all the action is. C++ is really not that hard to use at a basic or intermediate level, and it is the language you're going to want to end up at anyway, so I say cut out the middle man and just go right for C++.

The one reason I think python is a good choice, is you don't have to figure out the compiler and IDE before you can do anything. On the other hand, DevC++ is pretty easy to use, you basically just push a button and it works.

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Direct X help please!

Reply #5 on: January 24, 2009, 05:20:03 pm
NaCl, why would he end up at C++ anyway? I never work in C++ and almost never in C.

How can you tell someone who is completely new to programming to learn a low-level language with pointer arythmetic? That's like saying to a new driver to learn how to drive an 18 wheeler right away.

I say if he goes for the C style language, he'd best go with C#, very easy language to pick up, very powerful.

Offline NaCl

  • 0010
  • *
  • Posts: 437
  • Karma: +0/-0
  • When it rains it pours
    • View Profile

Re: Direct X help please!

Reply #6 on: January 24, 2009, 06:21:35 pm
There is just such a vast amount of stuff out there on game programming in C++, tutorials, libraries, forums, etc... It is what I have done the vast majority of serious programming in, and what I have seen most serious stuff made with. I have nothing against C#, I think it is a viable language for game programming, mostly because of XNA, but python and java will only get you so far. Plus, you will never, "hit a wall" with C++, there is always room to make what you need to, at the speed you need it to go. That is, the speed should be limited by the power of the computer, not the power of the language.

I can tell someone new to programming to learn C++ because I did it as my first language, and I doubt I am smarter then the OP. As I said, it is really not that difficult to use at a beginner intermediate level, which would exclude stuff like pointer arithmetic. Learning pointers is important though, because when you learn how pointers work you are learning how memory works, and when you learn how memory works you are getting closer to understanding how the entire computer works, which is vital to programming well.

I'm not really against learning C# though, it's a fine language, but I still feel learning C++ first is better. I don't think it is too important what language you go for first anyway.

Offline Talos

  • 0001
  • *
  • Posts: 54
  • Karma: +0/-0
    • View Profile

Re: Direct X help please!

Reply #7 on: January 24, 2009, 07:05:34 pm
I already have python installed, so that blender will run (even though blender says it's not :P). I guess I can try C++ tutorials, and if it's too complicated I can download Pygame and try that.

Okay, I'm trying to follow a tutorial and it wants me to compile this:
 
____________________________________________________

#include <iostream>

using namespace std;

int main()
{
  cout<<"HEY, you, I'm alive! Oh, and Hello World!\n";
  cin.get();

  return 1;
}

____________________________________________________

I am trying to use Microsoft Visual C++ Express, and I can't find a compile button that works when I load the text into it. Any help?
« Last Edit: January 24, 2009, 08:49:34 pm by Talos »

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Direct X help please!

Reply #8 on: January 24, 2009, 11:00:16 pm
Plus, you will never, "hit a wall" with C++, there is always room to make what you need to, at the speed you need it to go. That is, the speed should be limited by the power of the computer, not the power of the language.

Java is just as fast as C++ and even faster for complex algorithms because of JIT calculations. It just a slightly larger memory footprint, which means nothing with current generation computers with at least 512MB of RAM. Where do you get the info that Java would be slower?

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Direct X help please!

Reply #9 on: January 25, 2009, 02:07:03 pm
Python is a very high-level language, I wouldn't call it easy, ever. There's a staggering amount of complex synthax in that language.
I don't take such assertions seriously.
Python has markedly less syntax than either Java or C#, and hopefully it's very obvious that it has vastly less syntax than C / C++
Certainly I've encountered many people who have used both Java and Python, and prefer Python because it's just simpler.
It's used in the OLPC project because, aside from easy modification of software, it was found to be one of the most easily learnt and approachable languages.

for example, talos' example 'hello world' is a one-liner in python:
Quote
print "HEY, you, I'm alive! Oh, and Hello World!"

I can only conclude that this claim is made from ignorance.

NaCi claims:
Quote
Plus, you will never, "hit a wall" with C++, there is always room to make what you need to, at the speed you need it to go.
This is exactly what premature optimization is. With Python, Ruby, or Lua,  you are not limited either: you can make any part of your program in c, c++, fortran, or whatever you want. With usable scripting languages such as these three, you are not OBLIGED to write your whole program in a compiled language when really part of your program would benefit more from the flexibility of scripting, and the other part from the speed of a compiled language.

Performance also, should not ever be something a newbie thinks much about. your program should not be agonizingly slow, that's all. It should do it's job in an acceptable time. Optimization should come after you a) have gotten something working and b) have determined it actually needs optimization -- ie. it's time-critical.

Using a compiled language for learning to program is simply masochism.
 


If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.