Follow Slashdot stories on Twitter


Forgot your password?

Comment Cost of localization and localisation (Score 1) 148

It's getting to the point that in some circumstances, avoiding selling anything to USA customers saves tonnes of money and time with expensive lawyers... at the cost of 330 Million potential customers... but hey... there's over a 1 billion other internet users out there and growing.

Among sufficiently affluent English-speaking countries, the United States has a supermajority of potential customers. Into how many languages will you need to translate your product or service to reach the next 330 million potential customers?

Comment Fair use and other noninfringing uses (Score 1) 148

It's one thing to fight for what is legitimately your copyrighted content. But quite another when you're hosting other people's copyrighted material, to whom your customer may not have a distribution agreement with.

It's harder in cases where your customer's work contains a portion of someone else's work, and your customer and the copyright owner disagree on whether this use is a fair use.

Comment Construct objects and compare them (Score 1) 536

Another way to do it, supported by both existing static languages such as C++ and existing dynamic languages such as Python, involves constructing objects using factory functions and then using the language's facility for making objects comparable. Comparison expressions might look like intval($a) > intval($b) or strtotime($a) > strtotime($b).

Comment Not caring whether null or empty (Score 1) 536

I read "check to see if the string is null or empty" as meaning "I don't care which". In practice, I've seen more uses for "I don't care which" than for distinguishing null from empty. In fact, a lot of cases call for not only treating null like the empty string but also disregarding leading and trailing spaces, and that's why I often end up using trim($some_string) in PHP or (some_string or '').strip() in Python.

Comment Imposition of will through taxation (Score 1) 1330

However, I *also* think that it is ethically bankrupt for me to impose my will on the mother.

Funding abortions with tax revenue likewise imposes pro-choice advocates' will on taxpayers. Thus it is ethically bankrupt to require employers to pay for abortifacient means of birth control if they already pay for other, non-abortifacient means. And as I understand it, Hobby Lobby was paying for condoms, diaphragms, the pill, the patch, vasectomies, and more.

Comment Re:Fractal rant makes about six good points (Score 1) 536

I haven't tried every dynamically typed language out there, but I have tried Python, and it doesn't share a lot of PHP's faults.

What's an example of a (default) dynamic language doing comparing right?

Python at least doesn't aggressively try to convert strings that look like numbers to numbers to compare them numerically.

What's an example of an existing language with decently named library parts?

Python adopted PEP 8 fairly early on.

"Versions change semantics": That's another trade-off in improving the language versus backward compatibility. I'm not sure I'd classify that as summarily "bad".

Python allows each module to specify its own semantic versioning either with new syntax (such as with or new-style classes) or, when old syntax would get new semantics, with from __future__ statements.

Comment Generator expressions (Score 1) 536

The naming convention makes reading code a lot more readable


With a try/catch you can catch every failure, not just one per line, with a single handler.

And with returning false, you can handle failures even within a generator expression. In Python, statements can do things that expressions cannot, and one of these things is try. This means if you include a function call that may raise an exception in a generator expression, you need to make and name a separate function that tries the call and translates the exception to a sentinel value indicating that a particular call in the list failed. If you're using the warning-to-ErrorException snippet from PHP's manual, then @expression behaves as if there were an inline try/catch: exceptions when you want them, nulls when you don't.

Point me to a rebuttal that is more than essentially "You're right, but it's fine and everyone else should be totally okay with it broken this way" and maybe I'll change my mind.

I wasn't trying to change anyone's mind about PHP being broken. I was only trying to point out that not everybody agrees that PHP is as broken as "fractal" rant author believes it is.

Comment Re:Fractal rant makes about six good points (Score 1) 536

How does the presence of "C and Python crash fatally, potentially destroying the memory space of other programs. Got it." invalidate the whole rebuttal? Even if it isn't sarcasm, when programs hit undefined behavior, they can scribble on other programs running in the same process space, such as if your web app is loaded as a module instead of a CGI program. Granted, this is harder to do in Python without using native code interfaces like ctypes.

Slashdot Top Deals

The "cutting edge" is getting rather dull. -- Andy Purshottam