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


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

Comment Re:exageration much? (Score 1) 62

err... what? Split your code into multiple source files and open each one in a different colored emacs. Why does everything have to be so complicated?

Cross-calling is one of the nastiest things you can do in terms of efficiency, as all variables have to be checked as being valid in the callee environment. Strings are difficult enough, but arrays and lists vary dramatically between languages in their internal implementations. This is why people hardly ever cross-call (and when they do, it's typically to C, where they've coded up direct representations of all the required datatypes from the host language.)

Comment Re: Hmm (Score 1) 863

"The only technology i can thank you Americans for is the depleted uranium still poisoning our children and generations that you dropped on us."

The only depleted uranium munitions I can think of were KE rounds fired at Iraqi tanks in the 2 gulf wars.

and if you're an Iraqi you've got more to worry about than the USA

Right now, yes. But after however many years it takes for ISIS to burn out or be defeated, the depleted uranium will still be there, causing unnecessary cancers.

Comment Re: Hmm (Score 2) 863

You're welcome for radio,

You mean James Clerk Maxwell wasn't Scottish?
Or are you saying Heinrich Hertz wasn't German?
Or maybe even that Giugliemo Marconi wasn't Italian?
Perhaps I was wrong about Reginald Fessenden's birthplace, Québec, being a province of Canada, and it is in fact a US state?


Facsimile: Alexander Bain (Scotland), improved by Frederick Bakewell (England)
Rasteriser: Paul Julius Gottlieb Nipkov (Germany)
Term "television" coined by Constantin Perskyi (Russia)
Amplification tubes: Lee de Forest (USA), Arthur Korn (Germany) et al
First instantaneous transmission of images: Georges Rignoux and A. Fournier (France?)
CRT: Karl Ferdinand Braun (Germany)
Nipkov disc wireless viewing: Charles Francis Jenkins (USA) and John Logie Baird (Scotland) (independently)

I guess what I'm trying to say is that it's not countries that invent stuff -- it's scientists and engineers. And scientists and engineers don't respect borders, stubbornly sharing knowledge and learning across worldwide networks, and building on each other's successes to make successively greater and greater things. For any country to try to claim any invention as its own is to appeal to ignorance.

Comment Re:But what is a lie? (Score 1) 183

B) I would think it would be more cruel to let someone go on thinking they are doing something wrong than let them know that people simply aren't interested in the subject matter.

Ah, so you know the poster in question in person and are aware that he/she's boring...? No? Then you're just being a twat, because you have no idea what BlueCoder is like in conversation.

Comment Re:But what is a lie? (Score 1) 183

It seems like you are incapable of discerning what information is truly relevant to a story because I have never had to "reinvent the scenario" regardless of the story. Alternatively, it's entirely possible your stories are simply not of interest to others.

That was somewhat uncharitable of you. BlueCoder, the GP, is openly talking about his/her difficulty in telling people things, and you basically say "or maybe you're just boring". I have a similar behaviour pattern to BlueCoder, in that once I start explaining something to someone, I want to be complete. It becomes a source of frustration if I'm not allowed to finish. Unlike BlueCoder, I don't feel like I've lied when I don't get to finish; rather I feel like the other person doesn't understand me, and it's a bit of a block to further interaction. I don't value the other person's response, because if they don't have the whole information to start with, how can they adequately respond? How can I value a response that is made in ignorance of what it's responding to?

Comment Re:I hear Hillary participated in this study (Score 1) 183

If one looks for example at Hillary's Politifact rating she has a larger fraction of true or mostly true statements than most major politicians

Probably true. But comparing politicians tendencies to lying is all a bit academic -- it's like trying to rank delegates at a Nazi party rally from most to least anti-Semitic...

Comment Re:exageration much? (Score 1) 62

Like your word processor is the English language, you mean? Like the hammer is the nail? You seem to have trouble with separation of concerns.

That's an invalid comparison. Computer programming languages are designed exclusively for the communication of instructions from a human to a computer. You can (if you want) write a piece of code on a bit of paper, but the main purpose of doing so (outside of the classroom) is to later input it into a computer so that the computer will do something. It's not for communication between humans, and the computer doesn't write responses to the programmer in the same language.

So we have something that is designed for communicating instructions to a computer, that is almost always authored in a computer-mediated environment. It seems a bit silly that the computer isn't interpreting the code as it is entered, and everything is delayed until the programmer hits "compile" (or just "enter" in REPL environment).

And then we build these IDEs that do syntax highlighting, parenthesis matching and block hiding/folding for us, and they're reinterpreting the code using a parse that may or may not match the language compiler/interpreter itself. It lets us make loads of silly little mistakes because it doesn't know enough about the language to spot when we've made a mistake.

So the IDEs get more sophisticated, and start trying to interpret scope and suggest valid identifiers when we start typing, but we still can't be 100% sure the computer isn't confusing two different things.

All this is because we have two separate mediations by the computer, programmed by different teams, instead of one; all this is because the IDE isn't the language. What I'm proposing is a language where the IDE is the language, but not a half-hearted attempt like Scratch which slows you down by taking your hands off the keyboard. Not one that restricts your choices to a screenful of drag-and-drop elements. One that gives you all the elements of the richest, most powerful languages used in professional and academic circles, but lays them out clearly and unambiguously, instead of hiding the semantics in an obscure string of #@! declarations.

Comment Re:exageration much? (Score 1) 62

What you need is a powerful IDE that renders the old fashioned sequential plain text source code in the way you describe. I see no reason why that couldn't be done.[snip]

And there are good reasons to stick to plain text for source code. There are people who are more productive using powerful text editors such as vim than using heavy IDEs.

The reason they're more productive in plaintext is A) because the language is designed for plaintext, and B) they know the source code. The productivity problems really come in when you're dealing with code maintenance, which is a lot of the code lifecycle -- hell, most of us average mortals struggle to maintain our own source.

I have been in emergency situations where source code urgently needed to be fixed while the workstations with fancy IDEs weren't available due to other problems occurring simultaneously but a plain text editor and other basic tools were. When you have to get things done with more basic tools than you normally use it's important those tools can handle your code.

But if the IDE is the language, surely you would have the IDE on any machine using the language...?

And don't forget search tools, diff tools, merge tools, SCMs, etc. There are loads of useful and essential programs that work best with plain text. The simplicity of plain text has huge benefits.

What you're talking about is presentation. Keep that separate from the core, just like you keep your presentation layer separate from the domain logic in applications. In other words, implement your presentation requirements in your IDE and don't make the mistake of thinking that won't be able to handle plain text source code in a powerful way, otherwise you're likely to create more problems than you solve.

OK, I don't suppose there's any harm in the source code having a plaintext representation.

Comment Re:exageration much? (Score 3, Interesting) 62

"... Picat "is a multi-paradigm programming language aimed for general-purpose applications, which means theoretically it can be used for everything in life," ..."

They better hurry. Perl is way ahead on the multi-paradigm thing.

Multi-paradigm will always kill readability until we accept that sequential plain-text files are unnecessarily limiting.

In programming, we're taught to keep lines short for readability, as something like "[i]x = ((i+j/a)+(x+5)/4*sin(s^x/4)/3)*2/6)+34[/i]" is so difficult to read that I can't be sure I've matched my parentheses without counting, and I can't tell what the calculation does. But if those divisions were rendered on-screen in the international standard mathematical way of placing the dividend over the divisor with a line in between (like the way vulgar fractions are presented) and the exponentiation was rendered by formatting the exponent in superscript (as is also standard), the whole thing would be instantly visually understandable to anyone with a good level of high-school maths.

You may not think that this has a lot to do with multi-paradigm, but maths itself is a paradigm (everything in computing could be achieved by direct manipulation of numbers -- it wouldn't be easy, but it would be possible) and it requires a rendering that is fundamentally different from flow control structures, for example.

And flow control has specific rendering requirements too: cf. the argument between block delimiters and semantic whitespace. Semantic whitespace exists basically because if you have non-semantic whitespace, the language semantics may not match what the reader sees, if there is line indentation that doesn't match the blocks. So get rid of all the whitespace, and let the editor render the indentation on-screen in a way that makes the logical structure immediately apparent.

Now imagine getting rid of "decorators" and just having a different font telling you clearly that you're looking at a different type of code. Suddenly we're free to start inlining SQL queries without a bunch of function call cruft and wrapping dynamically-created literal strings in procedures.

Slashdot Top Deals

"Confound these ancestors.... They've stolen our best ideas!" - Ben Jonson