Home

Previous Entry | Next Entry

Sep. 23rd, 2006

  • 1:33 AM
cat - after teo rus, bad post!, sleepy goth, crossroads, money, mikage: go deeper, treason and plot, raahhhr!, asuka, O RLY? YS RLY!, bitch please, Angry Young Meredith, fat bob's novel, rose window, space hog!, sup fruits, oh really?, me!, gunpowder, doom, needs head!, native habitat, dehydrated water, brave, serious
Dear all developers who are considering writing a language with a "more English-like syntax" because it'll make it easier for people to learn,

Don't. Seriously. Or I will find you and kill you by cramming your own design notes down your throat. (If your design notes are all in your head, I will cram your brains down your throat. Simple enough.)

Any language which purports to be "English-like" but gives totally different semantics to contains and in needs to be put down like Old Yeller.

Also, having a type system doesn't mean we don't need type introspection. Death on toast to whoever came up with that little omission.

That is all.

--mlp, frustrated

Comments

[info]madbard wrote:
Sep. 23rd, 2006 09:12 am (UTC)
Oh, c'mon. Surely you have a warm spot in your heart for PASCAL. BEGIN is so much more user-friendly than those austere, efficient brackets.
[info]maradydd wrote:
Sep. 23rd, 2006 09:17 am (UTC)
Actually, I never learned PASCAL. I tried to go straight from BASIC to C in high school, failed, and didn't write another line of code until I learned Python ten years later. The following year I found C++ and since then it's been a strange proliferation of new(-to-me) languages.
[info]bigby wrote:
Sep. 23rd, 2006 12:57 pm (UTC)
Pascal is the exception. It is wordy but in that it is fun to play with a truly gifted kid sort of way.
[info]kalimdor_wilson wrote:
Sep. 24th, 2006 07:50 pm (UTC)
I went from QuickBASIC to C, but didn't have any decent books on the subject (thanks to growing up in Hamilton, MT).

Then, one day, C just... "clicked". Like, out of the blue.

I used to be a C++ zealot but have since seen the light
[info]ephermata wrote:
Sep. 23rd, 2006 10:07 am (UTC)
Oh dear. Sometimes I'm glad that I'm forced to work with a mess of C right now. (" 'contains'? 'in'? what are those, some kind of Commie high-level trick?")
[info]thewronghands wrote:
Sep. 23rd, 2006 11:28 am (UTC)
"Death on toast" is a great phrase. [grin] Sorry about the death, but I just had to compliment it.
[info]grimmtooth wrote:
Sep. 23rd, 2006 01:00 pm (UTC)
Please, share the identity of this foul language so that I may join the lynching party.

(Oh dear... I just had flashes of Gandalf and Elrond at Rivendell. Anyhoo.)

"Design a foolproof system, and only fools will use it."

[info]maradydd wrote:
Sep. 23rd, 2006 07:12 pm (UTC)
Applescript.
[info]grimmtooth wrote:
Sep. 24th, 2006 01:00 am (UTC)
Oh, sweet baby Jebus.

Surely, Java would even be preferable.

I'll hoist one in tribute tonight.
[info]maradydd wrote:
Sep. 24th, 2006 04:31 am (UTC)
Well, when you're doing interprocess communication with OS X apps it's about the least complicated way to fly.

Thanks, though.
[info]grimmtooth wrote:
Sep. 24th, 2006 11:48 am (UTC)
Ugh. Yeah. That was why Commodore got ARexx into the OS distro way-back-when (we'll ignore the fact that the bastiges didn't PAY THE AUTHOR past the first release for the moment).

I wish I could say I felt your pain in that case, but no. ARexx is full of creepiness, but Hawes' implementation of IPC was not one of them. Any creepiness seems to have been inherited from the baseline Rexx.

Well, as Igor says, it could be worse. Could be raining. Or, IPC on Windows.
[info]mraustin wrote:
Sep. 23rd, 2006 02:15 pm (UTC)
seems like your bitch is more with their syntax than with their goal. so why poo poo their goal?

do you hate GUIs?
[info]maradydd wrote:
Sep. 23rd, 2006 07:17 pm (UTC)
My point is that English is full of ambiguity, but ambiguity must necessarily be impossible in a language that machines are going to interpret. Now, Applescript achieves this goal in that to the compiler, contains and in mean two different things. But to an English speaker, they refer to the same thing, so it's difficult and confusing to remember these arbitrary differences.

Applescript has been in development for over a decade, and Apple engineers aren't dumb. You'd think they would have figured out a way to avoid introducing confusion into the language, but I argue that attempting to make it more like English raises the likelihood of it becoming more confusing. A programming language should be concise, clear and free of "human-meaning-space" collisions, to coin a term.

do you hate GUIs?

I hate writing them.
[info]devra wrote:
Sep. 24th, 2006 05:36 am (UTC)
free of "human-meaning-space" collisions,

not possible, right? you just have to have everyone conscious of the conflicts, right?

and for the sake of arguing: why must the language be unambiguous? that's not a requirement. the only requirement is that the machine's interpretation of what the human has asked for be unambiguous.
[info]devra wrote:
Sep. 24th, 2006 05:37 am (UTC)
this was actually posted by austin...
[info]maradydd wrote:
Sep. 24th, 2006 01:18 pm (UTC)
why must the language be unambiguous? that's not a requirement. the only requirement is that the machine's interpretation of what the human has asked for be unambiguous

When I say "language", I mean in the technical sense, which is to say, a set of terminal symbols, a set of nonterminal symbols, and a set of production rules (aka parse rules) which can be used to generate strings over the set of terminal symbols. For a machine to be able to interpret or compile a language, the language must be unambiguous -- in other words, there must be only one possible parse for each string in the language. (Toward this end, programming languages are generally no more complex than context-free. English, however, is known to be more complex than context-free.) So, in that sense, it is very much a requirement.
[info]thn1kk4man wrote:
Sep. 27th, 2006 01:15 pm (UTC)
so is this contains and in similar to the mathematics definitions?

I am so confused.
[info]graydon wrote:
Sep. 23rd, 2006 05:19 pm (UTC)
Agreed, both are bad habits best left in the past. People should have learned the former from COBOL, or at absolute latest Ada.
[info]allonymist wrote:
Sep. 23rd, 2006 08:33 pm (UTC)
Making a programming language that looks like English is making a firehose that looks like a bidet: much of the specialized knowledge you need will simply not be transferrable from people's previous experience, and the knowledge that *is* transferred will just get users into trouble.
[info]grimmtooth wrote:
Sep. 24th, 2006 11:53 am (UTC)
As E. W. Dijkstra(1) once said, teaching a computer to 'think' makes no more sense than teaching a submarine to swim. In the same spirit, teaching a computer to "understand" human language makes just about as much sense.



(1) he of "Goto considered harmful" fame
[info]sclerotic_rings wrote:
Sep. 25th, 2006 01:48 pm (UTC)
You just managed to give me horrible flashbacks to 1996, when I was suddenly put on my company's Director/Shockwave team and I was immersing myself in Lingo. You remember dLingo, don't you? You don't? Oh, how blessed you are.