Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Re:Wine (Score 1) 520

Unfortunately I've had the opposite experience. Wine mostly works, and it's amazing it works as well as it does, but something is always broken just enough to make things suck.

In my case, I tried the Portal demo recently, and had random freezes every 10 sec or so that made the game unplayable. (Plus insanely slow startup on a system equipped w/an SSD, but I could deal with that.)

I was looking forward to trying a Linux version of the demo so I could buy the game if it worked. Oh well, too bad for me.

Comment Re: Crooked Judge (Score 1) 691

Why in the world would a judge hear a case when the outcome could effect his own wealth?

Not to distract from the topic at hand, but you do not appear to be familiar with the rich history of Louisiana politics. Try googling "Louisiana political corruption". (some of the links do say they've been getting sick of it post-Katrina.)

Comment Re:Just like the other vendors (Score 1) 293

Thanks for the thoughtful and comprehensive reply.

I realize and understand that C99 is not a C++ standard and that VC++'s priority is C++ support. Of course, my priorities are different. I shouldn't claim that VC++ is bad for everybody, but it is bad for me.

Speaking of VLAs specifically, they have been broken in GCC until very recently

It is true VLAs are/were 'broken' in GCC in the sense that they are not fully C99 conformant. That has been documented in the info pages for a long time. However, speaking practically, for the simple declarations I have used, I have never had a problem. Perhaps I ought to double-check that :P

it's simply non-portable in practice

I agree that non-portability across compilers would be a problem, except that of course GCC itself is so incredibly portable, and is also the preferred compiler on many non-Windows platforms.

FWIW, I am not a C99 stickler -- I only care about the parts of it that I use, and I specifically don't worry about free-form variable declarations because there is an easy fix -- declare your variables only after a block begins.

VLAs have no "easy fix" -- the closest alternative is alloca(), which my manpage claims is "buggy" on many unspecified systems, and of course, it's not really portable or standard either. Using malloc() is slower, uglier (since if you're doing it right you'll want to check the return value), and has the potential to fragment your memory.

I apologize if these points have already been debated to death in the flamewars -- I don't read that group. I also expect you are already aware of these points and were simply trying to make yours, in which case, this was a superfluous post. Oh well :P

Comment Re:Just like the other vendors (Score 1) 293

What exactly is bad about VC++ compiler? Can you be more specific? Are you unhappy about it not supporting C++ exception specifications (which no-one uses anyway)? Do you have a problem with optimization quality (in my experience, VC++ inlines things better and deeper than g++)?

VC++ doesn't support variable-length arrays. IOW it pukes on

void foobar(int i) { int myarray[i]; }

Variable-length arrays are part of the C99 standard. That's 10 years old at this point and it's a pattern I employ often. I am unsure of the status of this in VC++ 2010 (coming Real Soon) but last I heard, it still wasn't in.

Comment Re:Grand Central Dispatch (Score 2, Interesting) 219

Porting libdispatch requires a generic event delivery framework, where the userspace process can wait for a variety of different types of event (signals, I/O, timers). ... Linux is the odd system out. All different types of kernel events are delivered to userspace via different mechanisms, so it's really hairy trying to block waiting until the next kernel event.

I don't understand this. It's true Linux does not have kqueue. (as I recall Linus thought it was "ugly" ... whatever) But in theory (because I haven't actually used them), to achieve the same effect under Linux, you would use timerfd() + signalfd() + (your normal i/o fds like sockets etc.) ... and then epoll_wait()/poll()/select() on all of the fds you were interested in. In this way, one thread could wait for multiple different types of events, including timers and signals.

Would you please point out the flaws w/the above that make it impossible or impractical to achieve the functionality needed by Grand Dispatch? I would be enlightened -- thanks in advance.

Comment Re:HAH! (Score 1) 387

I did run iBCS, and while it seemed to work well for what it did, it is not a panacea for everything.

For example, anything that was dynamically linked would still have dependencies on the original system libraries. So you get to copy all those over, worry about licensing issues (if you're trying to redistribute, anyway), and hope something didn't break on the way. In my experience, a c++ widget-generating app we were trying to run encountered both of those roadblocks, and we determined it was better to go another route -- java, hah!

Comment Re:Put the onus on financial institutions (Score 1) 168

You can lend friends money. Just not money you would mind losing. It's like gambling basically.

Side note: I once loaned a small amount of money to an annoying "friend" who then apparently fell off the face of the earth. It was worth the money. Although I suppose I could have achieved the same effect by just being a d*ck about his sob story, but that eats at your conscience a little more.

Comment Re:Concurrency? (Score 1) 173

Though I imagine the problem for larger computations could be that you're limited to writing functional-style code, at which point you might be better off using a language designed for it?

Point taken, assuming it has to be fast and there is that much critical code.

What optimizations does gcc actually do on pure functions, having identified them?

Well, it doesn't dispatch them :-) from what I read in the documents, all it might do now is common subexpression elimination.

Slashdot Top Deals

No man is an island if he's on at least one mailing list.

Working...