Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

Point is you can't say one language isn't particularly bad. A language can fill a niche and be terrible--and even be good at that niche. A language can also be impossible to implement for a niche without implementing the language poorly, thus a language will be general-purpose and broad-use; whereas a niche language may be restricted to a niche by necessity, or may be able to sacrifice a small subset of broad uses to be general-purpose but suited for a specific niche that other languages fail at.

The case where a language is best suited broad-purpose, whether it's targeting a specific niche or not, is the best case: a well-designed broad-purpose language is in general easier to code quickly and correctly, and thus any special purpose it's designed around will benefit from its general usefulness. A language exposing functions and constructs which make a particular use possible can still provide a terrible, complex interface for the programmer, giving you easier control over that purpose than some other language but still being a pain in the ass to use at all.

And of course the bar's low. I can stomp all over every other language except Python, and that's only because the things wrong with Python sound silly and are evasive--even if they're important. That and because I don't understand Python well enough to find some critical flaw besides a lack of trigraphs; but that's a holy war topic. I personally like the "a = ((x > 2) ? b : c)" construct, over "if ( x > 2 ) { a = b; } else { a = c; }" construct, but most people see it as unreadable noise.

Comment Misleading summary and title (Score 4, Funny) 263

I am convinced that there are genuine and valid levels of perception available with cannabis (and probably with other drugs) which are, through the defects of our society and our educational system, unavailable to us without such drugs

So wait, Carl Sagan is saying our school systems and our culture are so fucked up that we need drugs to understand what the fuck we should actually be thinking?

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

No, I like Python. I just don't like operator overloading, since I can never predict wtf is going to happen when looking at code that uses it without doing an inordinate amount of research.

Operators are language-defined. Functions, even polymorphic functions, are programmer-defined. multiplyMatrix(a,b) or a->multiply(b) make more sense. The only thing wrong with Option B is the amount of verbosity, whereas it could be expressed exactly the same by breaking it out into multiple procedural lines or just inserting newlines for formatting.

It would also read better if you initialized a results matrix, loaded it, and used it as an accumulator. You don't optimize programs by compacting down the source code.

Comment Re:If you wanted us to believe your Op-Ed... (Score 2) 547

The ability to overload operators allows you to make your code readable to people who took a study in your code base, and not to people who can program in the language you write in. This is why most languages don't allow operator overloading. Operator overloading is commonly cited as one of the worst mistakes made while implementing the C++ programming language.

Comment Re:If you wanted us to believe your Op-Ed... (Score 2) 547

Yeah, no, that's the cop-out answer. It's like saying you always have to trade something off: you can't make something better at X without making it worse at Y. Cheaper, faster, better, pick two.

Problem: I can make a language that is complete ass shit for anything, completely slow, expensive, terrible. It stands to reason a language may be, overall, better for a wider variety of tasks *and* faster *and* easier to implement, with different corner cases where another language might work better because it was designed for that or has some specific advantage that outweighs all of its disadvantages.

Some languages, for what they're good at, are not the best at that; and, in many cases, you can provide a different way of solving those problems without making a language that's particularly worse at anything than the original, inadequate language. That's called "better". Other languages are terrible for anything, or are just terrible as a model.

PHP for example has many overlapping functions, no standard implementation guidelines (core functions operate differently, take different styles of arguments, and are named differently; it's designed to solve similar problems in completely different ways; etc.), and so cannot be programmed in without either an at-hand reference or a huge volume of memory-by-rote. A language exactly identical to PHP except where every regex function took arguments in the same order and used a flag for lower-case searching would be, definitively, superior to PHP.

Python's most major problem is implementation: the reference implementation can't handle threads and, solving that, you have many extensions which are not thread-safe because they assume Python doesn't handle threads properly. Fixing that would be a beast: you'd have to minimize or eliminate the GIL, and then mandate that all broken extensions can fuck themselves.

C++'s most major problem is massive complexity in object orientation, which is not a problem in Objective-C--which itself is well-suited to solve all the same problems as C++. C++ mangling is also problematic; Objective-C less so. On the other hand, Objective-C is reference counted (superior to C++ manual memory management), while Python and Perl and PHP are implicitly reference counted (or, in some implementations, garbage collected), which is better, and Java and CIL are garbage collected, which can be slow and complex and harmful for performance. Both Python and Objective-C soundly thrash C++.

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

Duck-typing is fundamental to program polymorphism. It wouldn't be an object-oriented language without duck-typing.

I like Python. It's a strong, dynamically-typed language, and strong typing is critical for programmer success. Many a perl programmer have spent their frustrations trying to track down a problem caused by passing a string as an integer; and many have left forehead-shaped craters upon their desks and keyboards trying to make Perl interpret a string consisting entirely of numerical characters a string rather than an integer. That the interpreter believes types are fixed once set is a godsend: broken code should break immediately and with regularity, rather than hobble along until specific conditions are met.

Comment Re:Combine the 2 (Score 1) 279

You drill a hole. You cut out a square in the drywall. You fishtape Ethernet cable from a box through the wall to the switch, which is hooked to the demarcation device.

It's not that much work. A little cutting, screwing, then drywall putty, a light sand, and paint. You don't have to pull out major demolition here.

Comment Re:Learning nothing (Score 1) 178

Not true. First off, we DO NOT KNOW if these treatments will work.

We have reason to believe the treatment will work. We also have reason to believe they're safer than death (we have reason to believe they're reasonably harmless in their own right, but that's extreme compared to the benchmark of preventing death). Thus your statement is both misleading (not entirely inaccurate) and irrelevant.

Not true. That's the point -- more statistical data is useless if you're not collecting it in a way that will give you an answer. The only way to get an answer is with a randomized, controlled trial. Animals aren't humans.

I see you've done no real statistics or explored any real science.

Many mechanisms of actions for many modern drugs are explained by animal models. For example: anything that affects brain chemistry is explained by experimentation on rats. We know exercise and noopept (nootropic drug) both improve learning dramatically by increasing BNF and BDNF levels in the brain--because we tried this with rats (run on a wheel, then run a maze; compare to a lazy rat, and the exercised ones learn twice as fast, consistently) and then cut their heads open to see what was going on in their brains (this is fatal). Anti-depressants, SSRIs, NDRIs, and other drugs that modify your brain chemistry directly are known to work in those specific ways by animal model--nobody actually checked an actual human, ever.

And just in case you say, "Well, it works half the time" -- the database studies they do are much more thorough than anything they could do in west Africa, where they don't even have medical records or death certificates. They do these studies in places like Sweden, where they have detailed medical databases of every citizen from birth to death. We don't have data like this for west Africa.

And this is where you show you don't understand what you're talking about.

"It works half the time" is roughly chance. "It's wrong 99% of the time" is procedure and interpretation: you're reading the data wrong, getting consistently inverted results, and resolving this will give you 99% accuracy. Statistics isn't a right-to-wrong scale; it's a consistent-versus-inconsistent scale, and so both always-right and always-wrong are valuable and meaningful, and less-consistent is less-meaningful.

It turned out that the nurses who took hormone replacement therapy were different from the nurses who didn't -- they were more concerned about their health, so they exercised more, controlled their weight more -- and took hormone replacement therapy, because they thought it might be healthy.

Yes, and we also have some facilities with poor handling procedure and good handling procedure. In our case, however, there's ebola turn-over in these facilities. To be blunt: facilities with poor handling procedure will show lots of cases regularly of ebola contraction amongst healthcare workers; if we vaccinate their workers and the rate of infection drops off, we have a self-controlling experiment.

Such a self-controlling experiment suggests, with confidence, that the vaccine works. We'd need more long-term data to discover the vaccine's side-effects (if any), as well as long-term human blood work study and more invasive (dangerous, harmful) animal model study and in-vitro study to further understand and improve the mechanism; but that's true in any case. Vaccinating half the population and giving the other half a saline placebo won't get you any more insight in those areas.

Slashdot Top Deals

I'm always looking for a new idea that will be more productive than its cost. -- David Rockefeller

Working...