Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Slashdot Deals: Deal of the Day - Pay What You Want for the Learn to Code Bundle, includes AngularJS, Python, HTML5, Ruby, and more. ×

Comment Re:C vs Go (Score 1) 185

Being less verbose isn't necessarily a good thing.

Definitely agree - sometimes being explicit is better. But this is definitely an area where Java and Go take very different approaches.

More sophisticated concurrency model? Perhaps, I'd say it's more abstracted away so you may not have to worry about it, usually, but that must means it's going to be harder if your problem doesn't fit well in their concurrency model. (Need we discuss Open GL?)

Actually the OpenGL thing is solved fairly easily - but in general this is a valid observation; my point is that Java's approach (with explicit threads, synchronisation etc) is much closer to C's than Go's is.

But where "go" and "Java" differ, they are extremely similar looking when you compare them to "C".

And my point is that's clearly not true - apart from garbage collection, the two languages have relatively little in common; they may both do more abstraction than C, but what they choose to abstract, and how they implement it, is very different.

Comment Re:C vs Go (Score 1) 185

How does 'The Go Programming Language' compare to 'The C Programming Language'?

About as well as Java compares with "C" and in almost exactly the same ways.

That's doing Go a massive disservice; Go differs from Java in very significant ways. To name but a few:

  • Go's source code is much less verbose (due to deliberate decisions on the part of the designers)
  • Go produces (by default) native static executables, so no need to bring a JVM before you can run your code
  • Go compiles to native machine code (not bytecode), so there is no JIT warm-up penalty
  • Go's concurrency model is much more sophisticated than Java's - making it much easier to write concurrent programs that behave correctly

In fact, apart from having garbage collection, Java and Go are really not that similar (within the realm of somewhat-compiled imperative languages).

Comment Re:I worry about autonomous language activities (Score 2) 185

Check with Oracle about the terms they use if you want to distribute their Java Virtual Machine in a commercial product. I can assure you it involves you providing them with cash before they will let you even distribute Java, unmodified, as part of your product. I know this from experience. I'll warn you, Java from Oracle does NOT come cheap if you wish to distribute it. Sure they will let you and your customer download it for free, but they want their cut if you download and distribute Java to a customer.

OK, I checked with Oracle, and they said this:

Can I distribute Java with my software?
Yes, you can provide Java with your software provided you abide by the terms and conditions of Java binary code license.

Go is great, and there are definitely advantages to Go's BSD licensing model, but this is not one of them :)

Comment Re:Infinity (Score 1) 1067

I've written algorithms for machine learning, where I'm constantly doing things like multiplying 0 and infinity. And, depending on the situation it is totally clear what the correct result must be (either 0 or infinity).

But that is the key point - you're right that, in many situations, it makes sense to assign a particular value to 0/0 (and other pathological cases) - but the thing is that the value that needs to be chosen depends critically on the situation at hand. Sometimes 0/0 might need to be treated as 0, sometimes 1, sometimes 42, and sometimes it is indicative of an error. Only the person writing the program can know which value is appropriate for the circumstance, so they must express it explicitly in the program. If programming environments throw an exception in the case of 0/0, it indicates that the programmer has not considered this choice, and that there is therefore a bug; by contrast, choosing one particular value would make some small subset of implementations work, at the expense of making all the others (which needed different values, or an error) give the wrong answer without any indication of a problem.

Comment Re: Thai music is heptatonic (Score 1) 111

The names of the notes are do, re, mi, fa, sol, la, si and (upper)do. Stop with your irrelevant, middle school for muricans, notation

Where I'm from (which is not America), the ABC note names are the standard, from beginners to professional musicians. What makes you say the other note names are the definitive ones?

Comment Re:Please explain (Score 2) 158

I can understand two or three, but I'm at a loss for how someone could have 6 or more GPS devices. Will someone please explain how it's even possible for a normal person to have that many?

Cellphone (work+personal), tablet, fitness watch, in-car navigation system, (I'm struggling now), child/pet location device?

Comment Re:Mandatory xkcd (Score 1) 229

How does any of this address parent's question ? How can he "do something as simple as changing my DNS servers" ?

The same way as before systemd came on the scene (unless your distro has changed things at the same time - and network settings are something distros do seem to like to move around from release to release - but systemd doesn't, as far as I'm aware, touch the DNS settings at all!)

Comment Re:A Language With No Rules... (Score 1) 667

but for example the american A in words like "cat" and "path" is historic, unlike the British pronunciations which match the a in "father"

You make some interesting points, but you clearly have some very strange ideas about British pronunciation :) For example, the vowel in "cat" (in "standard" British English - what, for example, most announcers would use on the BBC) is nothing like the vowel in "father". And many British accents are rhotic, too!

Comment Re:A Language With No Rules... (Score 1) 667

"So being lazy and using improper English is impolite to the extreme."

Motes and beams, people! If you're going to moan about "improper" English, it's best not to make lots of errors yourself: - you started your sentence with "So". The word you ought to have used was "Thus". - you missed out the comma that should have followed the "So" - the expression is "in the extreme", not "to the extreme" - even had you used "in the extreme", it would still have made for an awkward and inelegant sentence, compared to the obvious alternate of "... is extremely impolite."

Do you have a credible source for any of these so-called rules? In particular:

Comment Re:Not ready for primetime (Score 1) 765

This because it is Linux or the GNU toolchains that has issues with multiple lib versions (the major source of "dependency hell"), it is the package managers.

Actually the package managers can handle it just fine (well, I know RPM can, and I *think* dpkg/apt can too); usually the problem is that the libraries are packaged in a way that doesn't support this. If two versions of a package share no files (e.g. if you provide "libxyz.so.1.0.0" in one package, and "libxyz.so.1.1.0" in another version of the same package, RPM can handle having both versions of the package installed with no problems at all. This is used, for example, to support having multiple kernel versions installed on RedHat-type systems. What becomes a problem is if you have (say) binaries in the same package, with the same name in each version, but different contents: naturally RPM will report a conflict if you try to install both.

"Survey says..." -- Richard Dawson, weenie, on "Family Feud"