|
![](/i/fill.gif) |
Invisible wrote:
> Or rather, it applies the default formatting rules, whatever they happen
> to be for the IDE in question.
Unless you adjust the defaults.
> For example, both JBuilder and VS put the opening bracket of a function
> on the same line as the function declaration, rather than on the next
> line where it belongs. They also indent everything by 8 spaces rather
> than the usual 2. And so on. (I'm not even sure *what* formatting rule
> they apply to if-statements...)
So you go into the properties sheet for the formatter and change the indents
and where the braces go. It's pretty straightforward.
> Large numbers of people apparently think that it's just infeasible to
> write any code of any kind unless you have an IDE specifically targetted
> at the programming language you're using.
That's because they're bad programmers.
> But to me, it looks like an
> IDE is only really beneficial if you're actually doing something
> complex.
Yes, or if the IDE is really good, or if the language is designed primarily
for use with an IDE. (For example, you *can* edit by hand all the XML files
that drive the compilation and linking in .NET. But why would you, when the
IDE that puts a nice graphical interface on the front is free?)
> (And, further more, it looks to me that the tipping point is
> when you start writing something more complex than any program I've ever
> attempted in my entire life - so an IDE is probably of little to no use
> to me...)
Well, you also use a powerful high-level language, which makes an IDE less
useful. You also use a DE that isn't I, and you can go a long way before you
actually get noticeably slowed down by that.
Ask yourself how easy it would be to build guis without Glade.
> Sure. But "Windows app" template? What could possibly be in it?
http://msdn.microsoft.com/en-us/library/0fyc0azh.aspx
Try "I'm feeling lucky" on "Windows Application Template".
Sheesh.
> A document. Because, let's face it, what would a template for "a
> document" actually contain?
Fonts. Header styles. Information that titles are centered. Code for
formatting the table of contents if you add one. Information about what
spell checker to use.
> Similarly, "a Windows application" could be absolutely anything. How do
> you template that?
You don't.
> Maybe it's because I've never written any of these things, but I can't
> imagine what (for example) two games would have in common. (And hence,
> what you'd put into a template.)
Well, for example, you have the code that instantiates and starts the game.
Each game inherits from the "Game" class. The constructor, by default, grabs
you references to the graphics device manager and instantiates a couple of
tools you almost always use that take up resources on the card so you don't
want to instantiate them in loops, like the object you use to draw text on
the screen. It also creates a ComponentManager, which you can put all the
bits of your game into to control them in the loop (i.e., the same way you'd
have all the buttons inside a window refresh when the window refreshes). It
also creates a service manager, which lets any components get to any data
they need without making explicit links; e.g., every component that draws on
the screen needs to know where the camera is, so you make the cameraand the
screen services so anyone who needs them to draw can find them.
The methods it creates include "Initialize" which gets called once before
the window opens so you can set up the window; "LoadContent" that gets
called once each time the window changes properties like size or color
depth; "UnloadContent" which gets called before you exit or before you call
LoadContent again; "Update" that gets called regularly based on clock ticks,
and "Draw" that gets called each time you get a vertical sync.
You don't think all games are going to have these kinds of things in common?
--
Darren New, San Diego CA, USA (PST)
The question in today's corporate environment is not
so much "what color is your parachute?" as it is
"what color is your nose?"
Post a reply to this message
|
![](/i/fill.gif) |