Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Comment Re:Hey, I have a tangential question . . . (Score 1) 236

I wonder if fracking will bring enough money into the region to pay for the damages which will be caused by the major earthquake which is now foreseeably coming their way?

LOL no. Oklahomans seem to think they're in the business of exporting energy. No. They're in the business of importing environmental devastation from other states who want energy without destroying their own homes. So thanks, Oklahoma! Enjoy the money while it's still medically safe for your kids to play outside, but understand that the rest of us have no plans to help you clean up the mess afterward. After all, that's what we paid you for. Best of luck!

Comment Who Has EVER Trusted Government Data? (Score 5, Informative) 234

Silly Partisan Slashdot Editors want to make this into a Trump Thing, but they are too young or uneducated to remember things like the (first, of many) Food Pyramid, job creation data scams, alternative energy revelations, and... the list is long. Google "erroneous government data." And stop contributing to the Fake News epidemic with these disingenuous strawman-centric pseudo-stories...

Comment Re:Another SLOW Language (Score 1) 286

The JIT and the GC are the two parts of the VM that must be able to escape the constraints of the language model (the JIT must be able to generate executable code, which the Java security model doesn't permit, and the GC must be able to allocate memory and assign it a type and delete objects that are still reachable). Absolutely everything else in a JVM can be implemented in Java fully respecting the language model. You can write almost all of a JVM in Java, as long as you have a small amount of statically compiled Java code that is treated as trusted and so permitted to violate the language invariants. This is precisely how Smalltalk VMs are typically written. There is no requirement for C/C++ to implement Java, it's just an easy way of doing it.

Comment Re: Don't look at it that way... (Score 1) 151

If you're creating a database table, 64 bits doubles the size of the index column. If you're creating a database table in normal form, then you'll have a number of tables that are simply pairs of two indexes, so you will double the size of entire tables. That's going to have big cache and memory overheads and is definitely not a simple 'let's always do that' choice.

Comment Re:More features. (Score 1) 286

I honestly couldn't say. I learned C++ about 20 years ago, hated it, tolerated it a bit while working on LLVM, revisited it in C++11 and discovered that the language had changed beyond all recognition and didn't suck anymore. I like cppreference as a reference for the standard library, but I've not used a tutorial (and I definitely wouldn't recommend the old book that I read).

Comment Re:how about modules? (Score 1) 286

Yes, modules as proposed for C++ (which don't give you what the grandparent wanted: a clean separation between interface and implementation) are pretty easy. Clang has mature support for them and even some logic to implicitly generate modules from headers. They give you a compilation speedup, which is sorely needed for C++, but not the benefit that the grandparent was looking for, though they do at least require that you don't litter your headers with #ifdefs (which means C++ and C can't share modules).

Comment Re:C# vs Swift (Score 1) 77

The term to search for in the research literature is barrier elision. The new and shiny optimisations in Swift are things that garbage collected language implementations have been doing for around 30 years. Finalisers are a pain to support, but you either need to support them or you need some other mechanism for preventing non-memory resource (e.g. file descriptor) leaks.

Comment Re:C# vs Swift (Score 1) 77

The only GC mechanism that requires double the memory that you use is a semispace compactor. A lot of modern GCs use this for the young generation (if the space fits in the cache, it's very cheap, especially if you use nontemporal loads / stores when relocating the objects. Some work at Sun Research a decade ago showed that you could do it entirely in hardware in the cache controller very cheaply). Most GCs use mark-and-compact on smaller regions than the entire heap. You're right that you get some cache churn, but after the compact phase you're getting much better locality so your cache and TLB usage is improved during mutator execution.

Comment Re:And they're improving, too (Score 1) 175

>>suspect astroturfing

OMG, You're Right! You nailed me! I'm a shill for Google, who is paying me and around 70 others to artfully denigrate DDG and other search engines every time they are mentioned favorably on various public forums because Eric Schmidt is terrified they're starting to eat into his market share! Gosh, now that I have been outed, I'll lose my job...! How will I ever provide for my family?!

...idiot...

Comment Re:More features. (Score 1) 286

In 1997, std::vector was not legal syntax.

1997 was prior to C++ becoming standardised, so there was no standard library. The vector from vector.h in SGI's STL was similar to the standard library vector, but it was not part of the standard library. The STL was also still available for a good decade or so after it was deprecated in favour of the C++ standard library.

Another change that happened involved the meaning of delete with respect to arrays. Old code would introduce bugs if compiled with new compilers and new code would leak memory if compiled with old compilers. That fits your time window.

Only if your compiler is buggy. Arrays have required deletion with delete[], not delete, for as long as the language has had a standard.

Slashdot Top Deals

"For a male and female to live continuously together is... biologically speaking, an extremely unnatural condition." -- Robert Briffault

Working...