Please create an account to participate in the Slashdot moderation system


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re:Why linux fails to be adopted by the masses... (Score 1) 58

There's nothing contradictory about Linux. No one praises it's GUI. They praise its customisability but that's as far as it goes

Oh, I do. I love the GUI. At least I love my GUI, centered around Openbox. It's the main reason I use Linux by choice instead of Windows or OS X. It's easy enough to get much the same command line on both of them, and with OS X it's basically already there, embedded in the dumbed-down OS X GUI. My GUI got like it is because I could customize it, so customisability is certainly part of the appeal. I have my own themes and I can move the themes and settings from one machine to another by copying a few text files. Openbox also gives me sloppy focus, multiple workspaces, keyboard control, and command line integration without much effort, and it's fast and runs on old hardware.

A lot of this can be done with Windows and OS X. All of it, technically, because you can install Openbox with an X server. And that's how I ended up working (even where I started using Openbox) but it's easier to install Linux and be done with it if you want a Linux GUI (like I do).

It's a shame Gnome was always reluctant to support other Window managers, and dropped them completely with Gnome3. It means the GUI I use is lacking a few features, like configuration screens for monitors and keyboard mappings. So if you want that you're back to Gnome or KDE or Unity. I assume somebody must praise them or they wouldn't have got to be the defaults.

Gnome2 was getting quite good, so it's possible MATE would do what I want. But I haven't tried it because, as a Linux user, I'm more interested in getting things done.

Comment American millenials (Score 1) 1080

The article switches between talking about "Americans" and "people" as if the two are synonyms. I've noticed a lot of Americans think like this. I assume that Americans are the proper scope for the survey. So it's Americans who are too young to remember the cold war who have this idea that capitalism's a bad thing.

Comment Re:The real problem (Score 1) 299

No, an estimate isn't a gamble. It only becomes a gamble if you treat it as a target or a promise, and commit resources to it. The real problem may be not allowing an estimate to change as more information comes in.

I don't know how long it takes to build the average house, but I'd guess between a week and a year. I'm sure people who build them all the time have a pretty good idea (along with the uncertainties) assuming some implicit context like where you're having the conversation. If you expect a mansion in the desert on a mountain to take the same amount of time, you're an idiot. Of course the estimate will change if there are unusual requirements. Another problem with software engineering is that it's full of idiots like this, so we get frightened of providing the estimate.

Comment Re:It depends (Score 1) 486

The simple way to do it in Python is

>>> import time
>>> import random
>>> chars = [chr(random.randint(0,255)) for each in range(1000000)]
>>> stamp=time.time(); joined=''.join(chars); time.time()-stamp

So that's 1/9 of a second on a not very fast laptop. You can try it yourself. Obviously not as fast as C++ but not horrible.

Comment Re:Such potential (Score 1) 520

Types certainly matter, and Python has types. Yes, feeding the wrong type into a function probably won't work. It'll raise an exception and you'll see a traceback that helps you to fix your code.

If you want to check the types that are supplied to a function, you can do it with assertions. You can even go further and check the things going in have the properties you want. Type checks are a crude form of precondition. A function that expects a tuple will probably work with a list. A function that works with an iterable can accept a whole load of types without all the constipation of an explicitly coded interface to declare for all of them.

If you want the type errors picked up before you execute the code, you might be in luck. You could use the assertions, although I don't know of any tools that do this. There's also a convention for type specifications in docstrings. And official support for function annotations:

None of which addresses static typing as such, which says that after assigning an integer to a variable, you shouldn't be able to reassign it as a float.

There are, still, real advantages to static typing and languages that give you those benefits with type inference, so you don't have to put type declarations all over the place. There are also languages with better generics than void * in C or Object in Java. (C++ and Java are even two of them). Mixing the good features of Python with a good static typing system would certainly be a good thing.

Oh, and I've been programming for a good deal longer than 20 years. I can appreciate different languages for working in different ways.

Comment Re:What was it? (Score 1) 129

It's Debian with a coherent desktop built around Openbox, and an installer, and maybe some other choices different to the Debian defaults. It uses the Debian repositories as well as its own and even declares itself "Debian GNU/Linux" when you SSH in.

I happen to prefer the LXDE desktop now I can turn the bits I don't want off. I can understand the argument that Crunchbang isn't as important as it was. But enough people will prefer the Crunchbang style that they'll keep it going with a different name.

Slashdot Top Deals

Nothing succeeds like excess. -- Oscar Wilde