The online racing simulator
Searching in All forums
(980 results)
wien
S3 licensed
I wouldn't say "bug". It's working as designed. Since you spend comparatively little time upside down, collision with the entire tire isn't really important. I wouldn't mind seeing more than one contact point per tire in the future though.
wien
S3 licensed
Quote from brianmcd :Really check out that book, Thinking in C++.

You can download it here.
wien
S3 licensed
Quote from JeffR :As linked to already, Microsoft's Visual Studio Express is free. One issue is that there's no windows.h or the windows library, so you're stuck with C++ code and not C based windows code.

You can download the platform SDK separately and use that. You just need to manually make sure you link against the required DLLs since you won't have the "Windows application" project file templates.
wien
S3 licensed
Sorry, I don't have the time to look into this in detail but by scanning the titles, that one seems like a good general choice. Just look through the samples and see if it covers what you want to learn. Simple as that really.
wien
S3 licensed
Out of the ones you listed above, probably this one: http://www.computer-training-s ... /beginners-web-design.htm I'm by no means convinced it's worth the hefty price tag though. I'm generally suspicious of these types of learning material.
wien
S3 licensed
Quote from Shotglass :Which might gloss over the details but at least it doesnt pointlessly teach you how to use libraries that will probably be obsolete by the time you leave uni anyway.

Well in my opinion there is pretty good mapping between the high level concepts and their concrete implementation in the C++ STL. It's not 1:1, but it's pretty damn close. That's why I think modern C++ is a perfectly good learner's language.

std::list for instance is a collection that supports fast insertion at random indices, supports fast iteration forwards and backwards, but slow random element access. Just like the high level concept of a doubly linked list (which is what std::list is). You may be learning a specific toolkit, but by doing that you also get the high level concepts in through the back door. I'm not saying you should focus exclusively on the language and it's libraries, but rather use them as tools for using the theory in practice.

Now I can agree a special purpose pseudo language of sorts would be better if data structures and algorithms were the only parts of a programmer's education. They aren't though. More practical things like OO and application building by way of nailing library components together are also part of it, and for these you need to use a real language. Might as well try to connect theory with practice early on then.

Quote from sam93 :So I think it would be best to go for the Dreamweaver 8 one wouldn't I?

That would teach you how to use Dreamweaver. It probably won't teach you how to do a good webpage. A web-developer can work using nothing but a text editor (notepad) really. Applications like Dreamweaver are only for convenience.
wien
S3 licensed
Quote from Shotglass :yes but programming is about solving problems not about being able to stick bits of lego together... if you teach it this way people will be at a complete loss when another languages becomes popular or when they really have to come up with something new

How are pointers and memory management prerequisites for teaching algorithms and data structures? When I was taught these things, we didn't even use a programming language. They are high level concepts and to me pointers are unnecessary implementation details when you first start off programming.

Again, teach the abstractions first. If C++ is the chosen language, so so by example of the standard library. Explain the conceptual differences between the different collections and algorithms. Let people write useful applications using these. This gives students a useful way of seeing the concepts' importance in the real world.

When people are comfortable doing this, you jump in behind the interfaces. Have people implement sort algorithms using iterators (of which pointers are one kind). Then move on to data structures like lists and trees/graphs. This is when you introduce real pointers and memory management, because they are now more or less required to implement the high level concept (in C++).

Quote from sam93 :Anyone feel like answering what I put above

Frankly mate, your guess is as good as ours. I doubt anyone here has any experience with these DVDs. In general though I'd say go for one that covers the entire process of web-development rather than one that goes into the details of Javascript for instance.

Also; don't get too far ahead of yourself. You seem like you want to learn everything right now, and while that is admirable and proof of interest (which is everything really), it in your benefit to go slow and make sure you get the basics down before you move on. Getting a good grip on all of this will take years, so there's no point in rushing.
Last edited by wien, .
wien
S3 licensed
Um. They were just reset for the changed cars in patch Z. Hotlaps are always cleared after a physics change.
wien
S3 licensed
I didn't say they shouldn't be taught. They are certainly important for the average programmer. I just don't think they should be prioritised ahead of proper usage of the standard library. There's just so much C++ code out there absolutely riddled with bugs and memory leaks because people for some reason feel they need to implement all these collections and algorithms form scratch instead of leveraging the ready made, efficient and heavily tested (bug free) standard library.

In my opinion this is mostly because that's how almost every book and programming class approach the language. They start you off implementing linked lists and string classes and then at the end they go, "but in a real application you'd use std::list and std::string". It's just completely backwards and I think they should do it the other way around. You can write extremely complex and efficient C++ applications without using so much as a pointer or a call to new, and education need to reflect that.
wien
S3 licensed
Everything isn't black and white you know. Like with everything else there's degrees of arrogance. Personally I'd say most of the rest of the field come off as less arrogant than Hamilton (with the possible exception of Alonso last year). Not "without arrogance", but less.
wien
S3 licensed
Quote from Woz :Cant understand why void main() was blocked though tbh.

I wasn't blocked. It was never part of the language in the first place. Some compiler writers just decided to allow it anyway for some reason.
Quote from Woz :C# really is a far nicer language, all the benefits of C++ without all the crap that was layered over it.

I respectfully disagree, but I don't feel like going over this discussion again.
Last edited by wien, .
wien
S3 licensed
Quote from Woz :void main() is valid no matter what

No.
wien
S3 licensed
Quote from evilpimp :''it was a great race for us and I'd like to thank the team for the great job they've done''.

(Warning! Highly subjective opinion based on nothing but feelings following. Don't blow your headers Intrepid.) For me that's just it. He says that. Those exact words. Every time. I actually thought the same as you last year. Seemed a nice enough fellow, and man could he drive, but I don't buy it any more. Especially not after seeing him handle setbacks the last few races. During trouble is when you meet the real man, and I didn't like what I saw.

He has this clean cut, easy to digest media mask he puts on every time there's a camera about. I don't really get the feeling he's actually saying what's on his mind. Contrast him with other Brits like Coulthard and Button and I think it's obvious. In fact, I think I'd respect him more if he just went out and said that line you posted. I'd much prefer that to him holding back to remain media friendly. I can sort of respect a cock if he's honest about it.

Does it matter though? Not in the slightest. As long as the racing is good, I couldn't care less about who says what and how. Formula 1 as a spectacle would become a lot more boring if the entire grid was made up of media trained nice guys though.
wien
S3 licensed
Sounds like a plan. Remember to make sure you've read and understood everything before moving on to the next chapters though. The book progresses rather quickly so if you just skip ahead you'll regret it later.
wien
S3 licensed
Everything works even before you add the call. The console window just closes as soon as your program has finished running. So you either add system("pause") so the "press any key to continue" thing comes up before the program finishes, or you run it from a console instead of from the IDE like pb32000 said.
wien
S3 licensed
Yeah. Visual Studio 7.1 or something suddenly stopped halting after running console programs. Not sure why exactly. Be aware thoug that the system("PAUSE") call isn't portable (won't necessarily run on platforms other than Windows) as it just passes the command along to the underlying shell which may or may not support a pause command.

It's fine for testing in Visual Studio though.
wien
S3 licensed
Define "eco hippy engine". If you're thinking hybrid, then no it wouldn't. You'd save some fuel probably, but not nearly enough to make much of a difference. Body shape is just as important as the engine.
wien
S3 licensed
Quote from P5YcHoM4N :If a tree friendly car looked good, no one would care that it is slower than a snail.

They look like that in order to provide good mileage. Tiny drop shape = good mileage. Good looking = bad mileage. Take your pick.
wien
S3 licensed
Why do you need to find new and inventive ways to suggest adding more developers? I'm confident Scawen has thought all this through himself, many times over, but still he doesn't want more cooks in the kitchen. That should tell you all you need to know.

More developers means more communication needed. There are just no ways around that.
wien
S3 licensed
Quote from Shotglass :Which is also why x86 processors are predominantely out of order processors.

See, that's the kind of hardware I can approve of. Just silently reshuffle my code behind my back to make it efficient instead of all this multi-threading nonsense.

Quote from Shotglass :I plan to watch and enjoy the carnage.

And I plan to assume the fetal position in a corner, shivering uncontrollably until it all goes away.

Quote from Shotglass :Sounds fun.

I can't wait. Thousands of new and exciting ways of blowing your foot off, all in a neat little package.
wien
S3 licensed
Quote from Shotglass :That is both unsatisfying and confusing in the context of a lecture on OOP.

Sure. But with limited time and a language as huge as C++ you have to draw the line somewhere (which I am well aware supports your "too big, vague and complex" argument ). I still feel a subset of C++ is perfectly reasonable for teaching fresh programmers though. Specifically the STL and its data structures and algorithms can be handy when trying to teach, well data structures and algorithms. Abstract concepts first, then roll your own.

Quote from Shotglass :Because Matlab has tons of built in functions hes resorted to calling all of his my*.

Which sucks. Namespaces are at the very least more efficient prefixes. How does Scheme handle naming like this BTW? Is it even a problem there?

Quote from Shotglass :That's another thing I never really understood. For a VHDL guy anything is concurrent anyway and any sort of sequential procressing is merely a figment of the coders imagination.

Peh. You hardware people and your lies and black magics. Everyone knows a computer does everything neatly in sequence.

It's boils down to it being such a big paradigm shift really. All the abstractions we've created during the last decades have had sequential processing as a key assumption. When you throw that out the window our knowledge and tools suddenly become useless and we have to start from scratch. It'll be interesting to see what we end up having to do at the end of it. I'm afraid languages like C and C++ might be in for a rough time. Huge OS-level threads won't do when we're at hundreds or thousands of cores (which Intel has already warned us are coming).

Quote from Shotglass :That looks really really limited in its useability. Doesn't even support passing functions as arguments.

Sure it does. You can use the new "std::function" class which can wrap both lambda expressions (AKA function objects in C++) and normal function pointers. You could also just use a plain function pointer. Something like this (I'm not 100% on the syntax since there's no compiler support yet):
void display(int value)
{
std::cout << value;
}

...

[] named_lambda(std::function<void (int)> func)
{
func(3);
};
named_lambda(&display); // Prints 3

Last edited by wien, .
wien
S3 licensed
Quote from Shotglass :Agreed, but a language to learn the basics shouldn't require you to learn lots of things like header files and namespaces that make no sense whatsoever when all youre code fits comfortably into the main routine.

You don't have to teach exactly what a namespace is right away. I remember my C++ teacher just said "always put 'using namespace std;' underneath '#include <iostream>'. I won't explain why here because it's beyond the scope of this class". This will of course annoy the inquisitive mind in the back that needs to know why (me), but he will then research on his own an get smarter for it. The rest will just go "okidoki" and merrily be on their way.

Quote from Shotglass :Thats one way to make an engineer hate anything that looks remotely like software.

Much like how I felt diving into electricity and magnetism in Physics class then I assume.

Quote from Shotglass :I tend to have a bit of a problem with the concept of variables considering that ultimately all they are are dereferenced pointers or rather

Which is why C programmers generally make poor C++ programmers at first. You can use C++ as "annoying C" if you want, but that is usually not the best way to do it. Prior knowledge of C can in many cases hurt more than benefit because you have to unlearn a lot of the stuff you already know to use C++ the best way. This is only relevant if the ultimate goal is to learn to use C++ though. If your goal is more general than that (learn to program), it's not that important. I still feel learning the best way to use any given language is important though.

Quote from Shotglass :But how long will it take you to get anywhere near that?

You don't need a large project before name collisions become a problem. Say there were no namespace and you make a class to do some math with vectors. You can't just call the class "vector" because that would collide with the standard vector class (a contiguous collection of objects). Again, not really about instructing the computer, but usually people have to read the code as well, so it's beneficial for it to be readable and non-ambiguous.

Quote from Shotglass :If you'd like to teach yourself a little Scheme this is a great place to start: http://swiss.csail.mit.edu/cla ... abelson-sussman-lectures/

Thanks! I'll definitely have a look. I've meant to look deeper into functional programming for a long time. With programmers stumped as to how the hell we're supposed to take advantage of all those cores Intel and AMD seem to want us to use, functional programming is looking more and more viable in the real world because of easy automatic threading.

Quote from Shotglass :-wno-deprecated FTW

Hell no. I'm actually excited, but you really wouldn't be. (well, you'd probably approve of the new lambda expressions, but the syntax isn't the best I've seen.)

Quote from Shotglass :Ewww... most of the time id eg. rather code my own lists instead of figuring out how to make the STL lists work the way i need them to.

Ugh. More code to maintain, debug and optimize makes for a grumpy programmer.
wien
S3 licensed
Quote from Shotglass :"the story of mel"

That was excellent. Thinking about code like that makes me shudder and gape in awe all at the same time.

(What's going on with teh internets today? Everything is slow as a bucket of shite, and lots of pages (and BT seeds, damn you dansus) seem to have disappeared)
wien
S3 licensed
Quote from Shotglass :it is but he should first focus on learning what algorithms are how to describe them iteration vs recursion etc

Oh absolutely. But not before starting to program. You need to have some basic understanding of programming before those concept will make sense. I'd much rather see this being taught alongside implementing them in some language than as pure theory.
Quote from Shotglass :well for one youre talking to an electric engineer here so naturally well clash on this one

Obviously (Computer engineer specialised in programming and application development)
Quote from Shotglass :and i dont believe youll ever really learn to program unless you have some idea of what the machine does
i presume youve read "the story of mel" at some point... if you havent you should

I haven't but I will. And I agree that at least a basic knowledge of how all the abstraction layers of a computer works is required for most (professional) programmers, I just object to them being taught first.

I remember many of my class mates got completely fed up with programming after a couple of years of assembly and twiddling pointers in C++. They felt this wasn't relevant because they still had no idea how to make a normal, run-of-the-mill Windows application. I'm certain that if it were taught the other way around it would have been easier for them to see the relevance.
Quote from Shotglass :but on abstraction we do agree and thats why i called the using namespace and all that pointless fluff... it has nothing to do with what the program does and is far from abstract

True, in a way. Namespaces are more for convenience when dealing with huge code bases combined with lots of libraries etc. In those cases though I feel they're indispensable. They have nothing to do with making a computer do stuff specifically, but they sure help you concentrate on exactly that when you have megabytes upon megabytes of code you need to stay on top of.
Quote from Shotglass :personally ive recently discovered how much i like scheme and i consider it a great language to teach coding with... its almost completely free of fluff and anyone with the ability to learn programing (which that doc i linked to earlier is supposed to assess) will require less than 10 seconds to understand the syntax completely (very much unlike c++ which has lots of required syntax bits that wont make sense until you use it to code something big)

Never actually tried scheme myself, so I can't comment there, but I agree to a certain extent about C++. It's a huge unruly mofo of a language. Even after using it for 6 or 7 years I still don't feel like I know jack shit. And if you think the current version is bad, just wait until C++0X is released.

You don't need a complete knowledge of C++ to be relatively productive though, and that's kind of what I like about it. It is extremely powerful if you know what you're doing, but it can also be relatively friendly to beginners if you teach it the right way (don't show them pointers and manual memory allocation before they know the standard library by heart)...which is my main objection with all these older C++ books and DVDs.
Last edited by wien, .
wien
S3 licensed
Quote from Shotglass :yeah but if were honest that just adds a lot of pointless fluff which hasnt got anything to do with programming... which is why any modern language is really the wrong place to learn coding

Absolute nonsense. That "fluff" is the C++ language. It's rather important if you want to learn C++.

Furthermore, I can't stand the notion that programming must be taught bottom up. Starting people off on assembly or whatever does nothing but ruin their motivation because everything is totally removed from what they'd normally do as a programmer (unless they're going to program micro-controllers or device drivers, but that's another thing entirely). Teach the abstractions first, then delve into the details when the abstraction is well understood.
Quote from Shotglass :also strictly speaking is it legal to have a main function that doesnt actually ever return anything?

Yes. In C++ a "return 0;" is implied if no explicit return statement is present.
FGED GREDG RDFGDR GSFDG