Become a fan of Slashdot on Facebook


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

Comment Re:I call BS (Score 1) 109

Do say more! My lunch is rather bland today - could use a bit more salt.

The north wanted to stop immigration, the south wanted sovereignty. The combination doesn't leave much room, but May hard stance has already caused the EU to cave on "if you want our markets you have to take our immigrants". Negotiations continue. You start with an extreme stance when negotiating, then move from there - you don't start by compromising. Trade will end up little-changed between Britain and the EU, because everyone wants money, but posturing is important at the start.

Comment Re:Another SLOW Language (Score 1) 289

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

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

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 Re:America! (Score 1) 646

Reasonable people are saying that if you want a job that pays a living wage, find some work people want to pay a living wage to have performed. You're saying that every adult should be able to choose whatever work they want to perform, and someone must pay a living wage for it. So you're absolving people of responsibility for their own welfare, and turning responsible people into slaves to cater to their every whim. I think you need to get out of your mother's basement and perhaps get run over by an Uber driver in a rush, trying to make ends meet.

Comment Re:I don't even like Uber but (Score 1) 646

Or we could just not make people suffer through that out of some vindictive "I did it so you should too" attitude.

That attitude is in your head, not my post.

I get this bullshit a lot. I explain some situation and how I or others found a way out - real world answers actually done. And people come out of the woodwork to complain in the way you did. WTF? Do you object to any useful advice in life? Not every bit of advice will worth for everyone. We get that. But everything that actually worked for someone will be useful for someone else!

Some people can't be functional adults, and obviously need charity, whether physically or mentally disabled. For the rest, yes, they need to find some path to skilled work. We as a society need to make that path easier, but it's clear there will be no unskilled jobs by the end of the century.

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

Well, when you make hyperbolic claims with no supporting details or evidence, expect skepticism.

And Microsoft was in fact paying people to do the very same with Linux back in the day, when the term "astroturf" was invented and Linux had a similar market share on the desktop to DDG's. Also, Google does all evil things, so I'm sure they're doing this evil thing.

Slashdot Top Deals

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (3) Ha, ha, I can't believe they're actually going to adopt this sucker.