By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,525 Members | 1,648 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,525 IT Pros & Developers. It's quick & easy.

Pseudocode in the wikipedia

P: n/a
The free wikipedia is adopting a standard pseudocode:
http://en.wikipedia.org/wiki/Wikiped.../Specification

MShonle says something nice:
I support the idea of wikicode. Basically I think we should present
code in a Python-like language that doesn't carry so much baggage. For
example, we can use English sentences (or sentence fragments) instead
of requiring the reader to understand some obscure Python library.
(Further, Python has the baggage that there are no block-terminators:
i.e., no "}" or "end"s or "fi"s or "repeat"s. By adding such
terminators, we can make it a lot less ambiguous to all readers.) In
otherwords, we're basically right on track: removing the quirks of
Python, and making it higher-level.

Bearophile

Jul 18 '05 #1
Share this Question
Share on Google+
8 Replies


P: n/a
be************@lycos.com wrote:
(Further, Python has the baggage that there are no block-terminators:
i.e., no "}" or "end"s or "fi"s or "repeat"s. By adding such
terminators, we can make it a lot less ambiguous to all readers.) In
otherwords, we're basically right on track: removing the quirks of
Python, and making it higher-level.


Heh heh... good joke for April 1.

Clearly, calling the absence of something "baggage"
is intended to be humorous...

-Peter
Jul 18 '05 #2

P: n/a

<be************@lycos.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
The free wikipedia is adopting a standard pseudocode:
http://en.wikipedia.org/wiki/Wikiped.../Specification

MShonle says something nice:
Calling a feature 'baggage' is not especially nice. Neither is getting
facts wrong.
I support the idea of wikicode. Basically I think we should present
code in a Python-like language that doesn't carry so much baggage. For
example, we can use English sentences (or sentence fragments) instead
of requiring the reader to understand some obscure Python library.
(Further, Python has the baggage that there are no block-terminators:
Python does too have block terminators. They are called dedents. In doing
so it follows standard English outline formatting and the practice of many
algorithm pseudocode writers. (I roughly estimate around half or more.)
Two examples I have handy: Jon Bently in Programming Pearls and Steven
Skiena in The Algorithm Design Manual.
i.e., no "}" or "end"s or "fi"s or "repeat"s.
So add #whateve-ender-you want, but leave the code executable if at all
possible.
By adding such terminators, we can make it a lot less ambiguous to all
readers.


Dedents are unambiguous. Be adding additional redundant terminators, one
adds the possibility of mismatch and ambiguity.

Terry J. Reedy

Jul 18 '05 #3

P: n/a
Is anybody else bothered by those stupid pascal-like ":=" assignment
operators?

Maybe, for the sake of adding more variety to the world, wiki should come up
with a new assignment operator, like "==". I like that one because then it
could really be original:

if (bob = 4):
bob == bob + 2

See how nice that looks? Then we could have people who are used to python and
c and perl complaining that "=" is for comparison and "==" is for assignment.
Then the wikilitests would say "hey, man, part and parcel of being a
programmer is getting assignment and comparison straight--and not making
typos, you buffoon". But then the guys who have to program in a bunch of
languages would point out how the wikilitests only psuedo code in wiki--so
they would never even run the code they wrote. And then some understanding
fellow would recommend a wiki precompiler to catch "==" inside of "if"
statements, but then someone else would say that it would limit the
expressiveness of wiki language:

bob == (carol = 2):
if bob = (bob or carol):
bob == 4

But no one could figure out what bob was supposed to equal anyway. And then
someone would say something about a "Turing Machine", just to show that
theoretically, the above code could be understood by something theoretical.

James

On Friday 01 April 2005 11:23 am, Terry Reedy wrote:
<be************@lycos.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
The free wikipedia is adopting a standard pseudocode:
http://en.wikipedia.org/wiki/Wikiped.../Specification


--
James Stroud, Ph.D.
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Jul 18 '05 #4

P: n/a
On Fri, 1 Apr 2005 12:15:35 -0800, James Stroud <js*****@mbi.ucla.edu>
wrote:
Is anybody else bothered by those stupid pascal-like ":=" assignment
operators?

Maybe, for the sake of adding more variety to the world, wiki should come up
with a new assignment operator, like "==". I like that one because then it
could really be original:

if (bob = 4):
bob == bob + 2


To me ":=" could mean to create a copy of an object... or should it
be "=:" ?

Or how about ":=)" to mean is equal and ":=(" to mean it's not.

Then there is ";=)", to indicate 'True', and ':=O' to indicate 'False'
Jul 18 '05 #5

P: n/a
On Apr 1, 2005 3:15 PM, James Stroud <js*****@mbi.ucla.edu> wrote:
Is anybody else bothered by those stupid pascal-like ":=" assignment
operators?


I actually like them. I think that the = should be a comparison
operator, not a silly ==. I think that comparisons using = are much
clearer, especially since you often write many of them in a row,
whereas you almost always make one assignment per line.

I use := every day in PL/SQL, and it's one of the few positive
syntactical features of the language.

Peace
Bill Mill
bill.mill at gmail.com
Jul 18 '05 #6

P: n/a


Ron_Adam wrote:
To me ":=" could mean to create a copy of an object... or should it
be "=:" ?

Or how about ":=)" to mean is equal and ":=(" to mean it's not.

Then there is ";=)", to indicate 'True', and ':=O' to indicate 'False'

Not to mention "(_ | _)" for asserts!
Jul 18 '05 #7

P: n/a
On Fri, 01 Apr 2005 16:02:53 -0500, Gabriel Cooper wrote:
Ron_Adam wrote:
To me ":=" could mean to create a copy of an object... or should it
be "=:" ?

Or how about ":=)" to mean is equal and ":=(" to mean it's not.

Then there is ";=)", to indicate 'True', and ':=O' to indicate 'False'

Not to mention "(_ | _)" for asserts!


Your ass is your identity function.

Python 2.3.5 (#1, Mar 3 2005, 17:32:12)
[GCC 3.4.3 (Gentoo Linux 3.4.3, ssp-3.4.3-0, pie-8.7.6.6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
25 25 (_ | _) 25


There's clearly some interesting biometrics research to be done here,
although there is a well-known ass-capturing attack based on readily
commercially available machines from Xerox that might make it hard to make
an ass-based identity system resistant to attacks.
Jul 18 '05 #8

P: n/a
James Stroud wrote:
bob == (carol = 2):
if bob = (bob or carol):
bob == 4

But no one could figure out what bob was supposed to equal anyway.


Wouldn't bob equal the boolean result of the expression (carol = 2)?
Jul 18 '05 #9

This discussion thread is closed

Replies have been disabled for this discussion.