Follow Slashdot stories on Twitter

 



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

Comment Re:You just now started worrying? (Score 1) 264

I'm not sure why Libertardians can't figure out that actual liberals and progressives aren't tied to the thoroughly-corrupted Democratic party, we just don't have any viable alternatives in most elections.

No kidding. The really sad thing is that libertarian candidates could be that viable alternative, if they would just understand that the tragedy of the commons is a real thing and that government is a legitimate means of solving it, and tone down the economic extremism. Progressives and libertarians substantially agree on social policy (except for affirmative action), after all!

Comment Re:Depends who pays (Score 1) 262

That's been the proposed option for years - but is it really happening on an industrial scale? It's a very lossy way to do things so apart from home use there has to be seriously high peak prices for it to make sense.
Do you have anything to show that it makes sense today and not some undefined time in the future? I'm interested.

Comment Re:Another SLOW Language (Score 1) 287

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

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

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

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

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 There's a good reason why Trump is right (Score 1) 262

The cheaper energy is, the faster R&D goes. Movement to renewable energy is going to occur regardless, but a thriving economy based on cheaper energy now means we get to a great alternative energy future even sooner.

The previous administration was just helping subsidize solar for rich people. That's nice and all but I want electric cars for everyone, not just the 1% or wannabes.

Slashdot Top Deals

Those who can, do; those who can't, simulate.

Working...