Windows Vista?

Quick, tim, write down one of his examples and invalidate his arguments!

I’m really tempted to learn VB just to prove him wrong, but I thought my general understanding of high-level languages would have been sufficient. Goes to show how useful knowing things is in arguments these days >_>
EDIT: Actually, funnily enough, the only point that might even remotely require specific knowledge of VB is the first one he highlighted. Yes, pointers ARE necessary, and no, you do NOT have to rework code for different platforms in lower level languages.

Again, you’re the incorrect one both times. You may not be able to do anything without pointers in a literal sense, but in terms of using pointers explicitly, you can deal just fine. I’ve been doing so for years.

And yes, you DO have to rework code for different platforms. You need different code for windowing between Windows and Linux/Mac, different code for sampled audio between Windows and Linux/Mac, and different code for MIDI between Windows and Linux/Mac. That’s why third parties are making such things as OpenAL and windowing wrappers. I win.

(I’m really sick and tired of being told I’m wrong lately, and you’ve utterly frustrated me off by saying I’m wrong about something I’ve been dealing with for several years.)

You can’t do the RAM sine wave program I made without pointers. On a more practical note, you can’t make a dynamic array without pointers. Hell, you can’t even make ANY array without pointers.

And no, you don’t. You have to rework different hardware code for different platforms, but that applies to EVERYTHING, so why would you even bring it up. It’s stupidly difficult to make a Mac compiler for VB or C# because their basic purpose is to attach people to Windows. Check this out:

Not really cross-platform in the traditional sense.

or Windows Vista, it must be distributed together with the executable.

COUGH.

Eheh, rofl.
Sure is great to have someone with so many years of experience.
Speaking of which, aren’t you voting for McCain?

Okay, what’s your point? I never said Visual Basic was cross-platform (on the contrary, I specifically said it’s not), and I did install the runtime files on Vista when I was testing my programs. It gave me a different error than “runtime files not found.”

Hardware code is still code. I’ve been doing dynamic memory allocation for years in VB without direct access to pointers. You are wrong. Get over yourself.

Vee Bee.

It’s a programming language.
Made of bees.

No! Not the bees! Aaah, they’re getting in my eeyyyyeeessss!

Also:

So… it looks nice, it’s almost as smooth as the last version – if you go out of your way to install patches, which don’t even exist for some programs, and Paint can undo more.

Great. That’s … that’s fabulous. I’m so glad nearly all computers are forced to have Vista. Where would we be without an extra Undo or two in Paint? Programs running smoother without patches? Ha! Screw that, we can patch and ALMOST match them (sometimes), AND get an extra Undo!! Vista 4eva!

Sure, half of the great old games don’t work, plenty of user-created content is incompatible, and the interface can be a major pain in the ass… but this upgrade r00lz overall, 'cuz it’s pretty.

Whereas other languages are. You have to recompile, of course, but you don’t even have that option with VB.

Oh yeah, BASIC allocates all arrays dynamically. I’d forgotten. Though not technically a pointer, how does BASIC pass by reference?
Anyway, next example: Let’s say you want two variables 3 integer lengths away from each other in RAM. How would you go about that?

To pass a function pointer, you use the AddressOf operator. VarPtr can also be used to obtain the pointer to some variables. These are only necessary with API calls. To pass something by reference in VB, you just use “ByRef” in the function header.

If you, strangely enough, want two variables 3 integer lengths away from each other in RAM, you could always manage that with an array. It’s a workaround–not quite as direct, but just as functional and therefore flexible.

dazzy, I <3 vista more than xp :3

xp had shitty reviews at launch, and some said sp1 was worse, but there wasn’t the same level of internet connection back then (plus XP’s been around for ages, so early adopters who hadn’t upgraded their PCs… ouch).

The UI really is improved, though :stuck_out_tongue:

As for VBees, I don’t think, tim, that you really have the experience necessary to argue on how the Bees go about their business, though I still dun like vb :<

Your claim that it’s “just about” as flexible as other languages is rather wild, in that case, but I guess I can write that down to a difference in opinion. There still are exceptions to things that VB can do, such as overlapping variables, but I don’t think there’s any practical use for those (except as a nifty shortcut in some mathematical operations, I suppose). I’ll concede that pointers don’t do anything except add optimization, efficiency, and, of course, flexibility.

On to speed:

[code]#include
#include <time.h>

int fibonacci(int iteration);

int main()
{
clock_t begin = clock();
for (int k=0;k<45;k++)
{
 std::cout << k << ") " << fibonacci(k) << "\tElapsed time: " << (clock()-begin)*1000/CLOCKS_PER_SEC << ‘\n’;
}
for(;;);
}

int fibonacci(int iteration)
{
if (iteration < 2) return iteration;
return fibonacci(iteration-1) + fibonacci(iteration-2);
}[/code]Assuming you can translate the code, I challenge you to a race. To eliminate processor speed differences, I offer you my .exe. http://timaster.googlepages.com/fibonacci.exe
It takes ~19860 milliseconds to run on my computer.

You want me to make a terminal-like GUI for mine, too? As it stands, it doesn’t show a window or anything but outputs to a file after it’s done.

But I stand corrected. Visual Basic is slower than C (which, of course, is not all other languages, but whatever) even if you do know what you’re doing. In VB, the error checking is done for you (I turned off integer overflow checks), which is at least part of the speed difference (about 1.25x).

My repeated results were 21406 for yours, 26797 for mine.

Personally, I’m slowly moving to C, and lack of VB support on Vista (see, we’ve been on-topic all along!) is trying to speed that process up. But either way, VB is RAD! (That’s a pun, which some of you probably don’t know. Rapid Application Development) Incidentally, newer versions of VB are getting worse and more restrictive. The only positive I’ve heard about them is short-circuited operators (AndAlso, OrElse), which are used in C to begin with.

<_<
XD.

To me, BASIC and all its forms have been, are, and always will be just what they were intended to be: Beginner’s Code. They’re also good for, as you say, speedy development of projects that don’t require heavy efficiency (much in the same way as other runtime environments are useful), but I was moderately slighted by the implication that you could essentially make anything in VB that you could do in C/C++.
It’s funny, I’m just now moving to C#, thanks to Deetroid, as an alternate method of what’s it, RAD.

the hit is in the name: it’s ‘BASIC’. not ‘ADVANCED’.

But hey, don’t forget the A! “All-purpose.”

Except for making FPSes and scientific simulations <_<

http://pscode.com/vb/scripts/BrowseCategor…rt=Alphabetical

http://pscode.com/vb/scripts/BrowseCategor…eria=simulation

Should’ve specified >_>

No one’s gonna make a HL mod with VB, and no one’s running VB code on a supercomputer.