Slashdot stories can be listened to in audio form via an RSS feed, as read by our own robotic overlord.


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: Re:Nauseated. (Score 0) 153

by jc42 (#49191399) Attached to: Developers Race To Develop VR Headsets That Won't Make Users Nauseous

Heh. I came here partly to see how long it'd take before someone invoked the bogus restricted definition of "nauseous". Sure didn't take long. ;-)

I've seen a suggestion that we need a list of the common words that trigger this sort of language peevery, for the benefit of those of us who'd like to "misuse" the words at every opportunity. Anyone know of such a collection? Or should I start making one?

We do have a number of lists of the similarly bogus grammatical "errors", generally expressed in such a way as to violate the bogus rules. E.g.: A preposition is a bad thing to end a sentence with. Or my favorite: Don't use commas, which aren't needed. But I haven't seen such lists of bogus definitions.

Comment: Re:C++14 != C++98 (Score 1) 395

by AuMatar (#49186445) Attached to: Ask Slashdot: Which Classic OOP Compiled Language: Objective-C Or C++?

The reason they're useful for iterators is that they fucked up iterators. There should have been a base abstract iterator class with child classes for the various types/classes. Then you could have just declared it as an iterator* and not worried. Rather than providing bad patches they should fix the initial problem. Patching on mistakes just leads to problems.

Comment: Re:C++14 != C++98 (Score 1) 395

If you want to use auto, go to a dynamically typed language. Strong typing is a feature, it prevents bugs and saves time and effort in maintenance. If you use auto, you're a shitty programmer. Auto solves NO problems except the number of characters you need to type when declaring stl iterators. Its a bad feature used to patch over other poorly designed features. Which basically describes almost all of the additions in the last 10 years to C++.

Comment: Re:C++14 != C++98 (Score 1) 395

Float for autos- someone used the wrong version of a library function that returned float to initialize the auto. Kid was new, he didn't know the effects it would have. Auto wasn't the bug, but without auto the bug wouldn't have existed- the problem would have been minimized to a single call and caused a compiler warning that we would have caught and fixed. Auto made the bug worse.

No, I've used C++ in a very normal environment. STL container classes- used all over the place. The algorithms library? More complicated, harder to understand, and much harder to maintain. Very few places use that. And they shouldn't- while min and max aren't too bad, I would always prefer to see an explicit loop with the code embedded in the loop than a function call where I have to hunt down a functor (another thing that should never have come to be) to find out what the fuck is actually being done.

If you want to write Ruby- use Ruby. Keep that shit out of C++.

Comment: Re:C++14 != C++98 (Score 1) 395

I'm cool with nullptr for 0. But auto absolutely causes bugs. I've seen it, where programmers assume the auto datatype is one thing and it turns out to be another. It was a major performance issue in a program I debugged. Turns out the compiler assumed they were using floating point where they wanted to use int, and the processor didn't have a floating point unit, so it was all emulated in software. Unfortunately it wasn't found until after release.

In addition, it decouples the data type from the code in maintenance. Want to know what that auto loop is actually doing? You need to find and check wherever the container was defined. This takes time, and leads to bugs when maintainers forget or make the wrong assumption. For saving 10 characters at writing time you cost orders of magnitude that when maintaining the code.

Furthermore- the reason for auto was they fucked up the STL by adding too many features (allocators) and insisting on their algorithms library (which in 15 years of writing C++, I have never seen used) being compatible with pointers as well without using a wrapping class. Stupid, stupid ideas. You don't perpetuate mistakes with new features which add new problems- you correct them.

I completely understand the new features of C++- I just think the vast majority are a bad idea.

Comment: Re:Answers for both (Score 1) 231

by AuMatar (#49168925) Attached to: Samsung Officially Unpacks Galaxy S6 and Galaxy S6 Edge At MWC

Then you're extremely lucky, I've had iOS hard lock when dogfooding apps fairly frequently (although that was a few years ago, maybe they're better). But I don't trust ANY device without a real pull the plug option, not after years of doing firmware and mobile development. If a device needs batteries, I will not buy it unless those batteries are removable.

Comment: Re:C++14 != C++98 (Score 0) 395

I wish people would stop adding to C++. C++ as it stood in 1998 was a good, if somewhat complex, language. The new additions (except for a few of the libraries) make the language way too complex and lead to unreadable code.

You need to learn that concise != good. If it did, everyone would be programming in perl 1 liners. Auto is the most braindead addition in history, it causes bugs, loses all the advantages of a typed language, and only needs to exist because they fucked up the STL by not using proper inheritance. Any code review that uses them is an auto bounce and fix. Templates are the most abused language concept in history- if you're using it for anything other than a container class, odds are 98% that you're writing hard to follow, hard to maintain code that should be rewritten

C== was better when it was treates as C++98.

Science is to computer science as hydrodynamics is to plumbing.