Catch up on stories from the past week (and beyond) at the Slashdot story archive


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:C++14 != C++98 (Score 1) 393

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:Great product bloodlines (Score 1) 55

by PopeRatzo (#49185413) Attached to: A Versatile and Rugged MIDI Mini-Keyboard (Video)

The QuNexus also has control voltage outputs for directly triggering analog/modular gear.

That is great news. I've got a room full of old modular synths, like a Serge suitcase model and an early Arp.2600. Not to mention a Steiner-Parker that looks like it should have a 1930's phone operator sitting at it.

I've built some home-brew triggering controllers, but none of them are anywhere near as good as what McMillan makes.

Comment: Great product bloodlines (Score 2, Interesting) 55

by PopeRatzo (#49175771) Attached to: A Versatile and Rugged MIDI Mini-Keyboard (Video)

Keith McMillan Instruments is the company that makes the QuNEO board, which I've been using in the studio and live performance for over a year now and it's one of my favorite controllers.

My only suggestion is to wait until the 2nd iteration. It's a small company and I had trouble with my first QuNEO, which had some bugs. The ones they're selling now are really great though, with top build quality.

Oh yeah, the K-Board is going for $99, which probably means it would be soon showing up for less at Guitar Center if Mitt Romney's Bain Capital (nka "Ares Capital") hadn't run Guitar Center into the ground and stripped its assets and turned it into a smoking crater of a company (for which Bain Capital was paid handsomely).

In summary: Keith McMillan Instruments is a good company that makes good, reasonably priced products. Bain Capital makes absolutely nothing and is as evil as a company can be without directly poisoning people. Any questions?

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

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) 393

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) 393

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) 393

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.

"Life sucks, but it's better than the alternative." -- Peter da Silva