Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment Re:Commitment to stability (Score 1) 149

Not disagreeing with you, but a nullptr-to-reference cast would at least crash immediately (unless you have a compiler that takes "undefined behavior" too literally). Here's another contrived example:

const char *c = std::string("oops").c_str();

I'm not a c++ expert but I'm pretty sure 'c' now points to freed memory. The real problem is that the code will usually work until a customer runs it. And solutions like valgrind aren't always optimal (consider code coverage and execution speed) or even necessarily available, depending on your platform.

Rust eliminates this class of errors (and several others) entirely, unless you are abusing 'unsafe' (which you can at least grep for in your code) as you mentioned.

I would like Rust to succeed. In several ways, it is basically a 'better' C++ without the C baggage that a lot of people seem to want, and it is clear that Rust's developers have put a lot of thought into it. Still, the language has its warts and oddities. My biggest concern is that support for implementing intrusive data structures (you can Google that, but the Linux kernel's double-linked lists is an example) seemed to be possible, but not Easy, and I think it should be. I also haven't wrapped my head around Rust's lifetimes yet, but it looks clunky. Other things (slow compiler, incomplete library support) should get better with time.

I wish the Rust guys the best of luck, and look forward to using it.

Comment Re:Full of BS (Score 1) 292

As a data point of one, I'm still running with the 4GB of OCZ ram I bought from newegg (I think) in 2009 and have had no problems. The reviews on that product were also decent.

After reading reviews of their SSD drives, though, I'd avoid those.

I guess the message here (if any) is, pay attention to the reviews on the product. If people say it's crap, it probably is.

Comment Re:Pay Decrease? (Score 2) 261

Money isn't everything to everyone. If you were being paid $500.00 per hour to shovel out a barn, wouldn't you take a job that offered something more fun like programing with python even if it paid $490.00 per hour?

Depends on the job. Which one do I take to wade through the least amount of bullshit?
I'm burnt out enough that I might try the barn for a year just for the variety.

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.

Slashdot Top Deals

Marvelous! The super-user's going to boot me! What a finely tuned response to the situation!