Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment Re:Recursion is dead! (Score 1) 600

You've missed my point. The people I have a problem with are people who will avoid a goto at all costs, even doing things like this so they can say they didn't use a goto:

do { ...
        if (exit_cond) break; ...
} while (0);

I really have seen that done in a popular piece of open source software. If a goto really is the cleanest way to achieve what you need to do, then just use a goto. Don't write code that does a goto while using some convoluted means to avoid the goto keyword.

That said, in C++ there are many situations where you can do better than use a goto. For example cleaning up on error is better done with destructors as it will be exception-safe, and exceptions provide a structured goto that only lets you jump out, but lets you do so across multiple frames.

Comment Re:Recursion is dead! (Score 1) 600

People seem happy to hate on goto while using other things that are goto in all but name (break, continue, return, throw). Throw/catch is particularly useful as a non-local goto in places where you want to catch some kind of condition (usually an error) that can be detected in lots of places. C++ RAII eliminates most of the need for local gotos though - you can make local classes with destructors for cleanup, with the added benefit that it's exception-safe.

Comment Re:Bushnell did not invent Pong. (Score 1) 27

Bushnell was also a very good salesman, and that's very important when starting a business, particularly a business pioneering a new field. That said, he became a liability after Atari grew past that phase, and I agree that he loves taking credit for others' work, and should fuck off and die.

Comment Re:Oracle drove away a lot of Sun's customers (Score 5, Interesting) 127

I'll have a soft spot for Solaris, but the writing was on the wall long before this. Solaris was stagnating even before Oracle bought Sun. It was obvious that Sun lacked the resources to maintain their compiler suite and operating as well as actively research new technologies. It was sad to watch, but such is life. Solaris was probably the most usable desktop UNIX before OSX took that crown away. Solaris tried to add much-needed things to UNIX like role-based administration, light-weight virtualisation (zones/containers), non-intrusive profiling/caching (dtrace), advanced storage pools (ZFS), and heaps of other cool stuff. Sun SPARC hardware always had cool high-availability features like being able to disable bad RAM in a running system, really wide system buses for pushing around a lot of data, and was built to survive physical abuse.

The trouble is, they lost out to "good enough". Solaris on SPARCstation was better than WinNT on a whitebox PC, but WinNT on a whtebox PC got to the point where it was good enough, and the added expense of a Sun workstation couldn't be justified. On the server side, Linux became good enough, IBM and Dell x86 servers got to the point where they were good enough, and my 13th generation PowerEdges are definitely better build quality than the Sun V245 servers I still have sitting in a rack for nostalgia.

This took away a lot of their revenue so they couldn't throw resources at research and development. In particular, SPARC fell behind in price/performance/power consumption trade-off, first to AMD's 64-bit Athlons, and then to Intel's post-Netburst Xeon. The UltraSPARC T gave them a bit of a reprieve on highly parallel workloads, but cancelling the Rock was the right decision as it was painfully obvious it wasn't going to compete for single-core throughput/latency performance.

They also lost at the extreme high end to IBM who've managed to get insanely high throughput on POWER with a brute-force approach of throwing better and better cooling systems at a design that's arguably incredibly lazy compared to the E5 Xeon.

Yes, I miss Sun, and I'll shed a tear for Solaris. But I don't miss the Sun that Oracle bought - the Sun I miss had already faded half a decade before Oracle bought the dimly glowing remains.

Comment Bullshit metrics (Score 5, Insightful) 286

I don't use much straight C these days (mostly C++ with bits of Python, lua, PHP and other stuff for glue, and occasional C#), but the metric is bullshit. It's a measure of which languages are most suited to passing roadblocks using search queries including the language name. This tends to select for how much a language is used by inexperienced developers.

I'm a pretty experienced C++ developer, so I'm unlikely to be putting C++ in search engine queries. I know the language and library pretty well. If I want to get reference for a particular standard library feature, I'll use a query like, "codecvt site:en.cppreference.com". If I want docs for a Linux feature (e.g. routing sockets or the capabilities API), I'll pull up a man page. If I want to know what some ioctl does and the docs are lacking, I'll look at the Linux kernel source. I'm not typing C++ into google when I'm doing my day job or open source work. Same applies for other programming languages I'm competent with. I do bits of assembly language, but I'm not typing that into Google. I have user mode architecture manuals for the processors I need to deal with, and ABI manuals for the operating systems.

On the other hand, I'm far more likely to put the name of a language I'm less familiar with and only use occasionally into a search query when I'm trying to find the conventional way to do something. Something like "C# confirm close modified document window", "python open subprocess stderr", or "php openssl rsa". I'm a clueless goon when it comes to available libraries and best practices for these languages, so I boost their TIOBE rankings on the occasions when I have to use them, while my bread-and-butter C++, assembly language and C don't show up, despite working in C++ for the bulk of my programming time.

Comment Re:The biggest downside: (Score 1) 53

The quality of Dell's professional products has slowly improved over the years. I'm very happy with current PowerEdge (13th generation) and Precision. I did have one issue with the Precision in that when it arrived the SAS card was in a slot directly above a Quadro so it didn't get enough cooling and overheated. I moved it to another slot and put a Chelsio T580-LP-CR (2x40Gbps Ethernet) card in that slot, and it's been fine. A decade ago, PowerEdge was the cut-price server with crappy build quality, and Optiplex was plagues with capacitor issues, but they've matured into great products.

Slashdot Top Deals

Writing software is more fun than working.

Working...