Date: Wed, 15 Sep 2010 08:51:38 -0600
Reply-To: Jon K Peck <peck@us.ibm.com>
Sender: "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From: Jon K Peck <peck@us.ibm.com>
Subject: Re: Auto indent syntax option
In-Reply-To: <4C90D7FA.1010400@DrKendall.org>
Content-Type: multipart/alternative;
Bear in mind that Statistics 19 does have an autoindent feature in the
syntax editor. More could be done here, but this may be helpful.
Jon Peck
SPSS, an IBM Company
peck@us.ibm.com
312-651-3435
From:
Art Kendall <Art@DrKendall.org>
To:
SPSSX-L@LISTSERV.UGA.EDU
Date:
09/15/2010 08:35 AM
Subject:
Re: [SPSSX-L] Auto indent syntax option
Sent by:
"SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
Thank you.
If by "optional extra" you mean extra money, then I would disagree. It
should be a prominent button and or a set of options in defaults the way
the options for colors are.
David is an extremely skilled programmer and seemingly still finds the
vertical alignment useful despite years of experience as an expert
programmer. The editor should make it easy to produce syntax that follows
good programming practices. That way even beginners can produce the
readable code that communicates to people as well as to the machine.
Art Kendall
Social Research Consultants
On 9/14/2010 7:12 PM, Gary Oliver wrote:
Hi Art
I really like your idea of having a separate process to automate the
indentation. I think that having it as an "optional extra" would allow it
to be used as a useful visual check i.e. do the coding then run the pretty
program and re-inspect the code. Your point about losing the colours is
also germaine.
I hope SPSS is listening!
Warm regards/gary
From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU] On Behalf Of
Art Kendall
Sent: Wednesday, September 15, 2010 12:40 AM
To: SPSSX-L@LISTSERV.UGA.EDU
Subject: Re: + at beginning of syntax line
In 1971 DEC FORTRAN had a program called PRETTY that automated such
indentation for vertical alignment.
I like the visual improvement to the syntax editor but would like more,
I have frequently suggested have a PRETTY program for SPSS syntax.
It would include availability of casing (ALL UC, Leading Caps, all lc)
for procedures/operators, options/op; conversion of symbolic operators
to/from conventional operator especially to avoid the distinct uses of the
equal sign; automated vertical alignment via indentation; vertical
alignment of assignment operators; spaces either side of assignment
operators; a font that made angle brackets, commas, periods, etc. very
much more visually distinct;etc.
(I went back and italicized features that were not there in 1971.)
These would help within SPSS and be retained (unlike the colors) when
pasted into newsgroups, discussion list, and private emails for reviews or
seeking/giving help.
Art Kendall
Social Research Consultants
On 9/12/2010 4:59 AM, David Marso wrote:
Jan
If you worked with syntax from the beginning, and didn't try to run before
you can even crawl, you would have picked up already that the + indicates
a
continuation line.
Like I said, "More haste, less speed."
John
OK, first off John, no need to be RUDE! Other people have already pointed
that out so I will refrain from additional chastising.
OTOH, you should slow down yourself and NOT add injury to insult by
following such with INCORRECT information!
"+ indicates a continuation line. "
NO!!!!!!!! It does NOT!
I am surprised that I'm the first one to point this out to you!
It actually indicates that a COMMAND which should NORMALLY begin in column
1
(if run as "batch" or via INCLUDE FILE ) is indented.
Yes, some people actually indent code to indicate logical structure and
aid
in debugging and preservation of sanity.
Have you ever run into something like this?
DO IF Blah.
LOOP #=1 to 20
LOOP ##= 2 to 25.
DO IF # AND ##
COMPUTE BARF.
ELSE IF NOT (# OR ##).
DO IF Blah AND ##.
RECODE XXX (poop=piss)(else=0).
ELSE.
COMPUTE Whatever.
END IF
END IF
END LOOP.
END LOOP.
ELSE.
COMPUTE OOPS=0.
END IF.
------------------
Well, that is purely unacceptable for both aesthetic and professional
reasons, unless one's goal is job preservation through perpetuation of
unreadable code.
So:
DO IF Blah.
+ LOOP #=1 to 20
- LOOP ##= 2 to 25.
+ DO IF # AND ##
- COMPUTE BARF.
+ ELSE IF NOT (# OR ##).
- DO IF Blah AND ##.
+ RECODE XXX (poop=piss)(else=0).
- ELSE.
+ COMPUTE Whatever.
- END IF
+ END IF
- END LOOP.
+ END LOOP.
ELSE.
- COMPUTE OOPS=0.
END IF.
Continuation line? I think not!
OTOH, as Jon Peck points out, INCLUDE is legacy, use INSERT so no need for
column 1 signifiers.
I am pretty sure I DON'T agree with that statement.
I am using version 11.5 and don't plan to upgrade anytime soon even though
Python looks appealing . OMS looks interesting too, but nothing I can't
do
with AGGREGATE or scripting-.
You can keep the BFugly Java GUI. WTF were they thinking with that ugly
monstrosity?
CASESTOVARS AND VARSTOCASES are for pussies;-)!
I can't determine prices for SPSS on the website but I bet it would run me
several thousand dollars.
Are there not still older mainframe or unix versions of SPSS running?
I write code which will work on **ALL** versions of SPSS (back to 6.1.4,
6.1.4 because MACRO was hopeless (totally hosed/fundamentally
broken/unpredictable wrt line wrapping/rectocranially inverted) until Tex
Hull fixed it after about 2 years of my pleading with the development
people
to fix the damned thing (this was circa 1994 or 95?- -poor tables users-
You can imagine the BFugly workarounds required for that. OTOH, most of
them were marketing research types so I had very little (read NO) sympathy
for their screwed up table titles.. Sorry, do it by hand...(Yeah, service
with a smile and a BOO HISS behind the mute button. I really loved
talking
to the barely functional robots from the IRS and the military! **NOT**
OTOH,
I'm not absolutely sure that I'd want the IRS to be hiring SMART people ??
They'll likely find another 100 ways to fuck you over, novel data
analytical strategies for merge and putge DING DING DING AUDIT!!).
David
On Mon, 6 Sep 2010 20:42:15 +0200, John F Hall <johnfhall@orange.fr>
wrote:
Jan
If you worked with syntax from the beginning, and didn't try to run before
you can even crawl, you would have picked up already that the + indicates
a
continuation line.
Like I said, "More haste, less speed."
John
----- Original Message -----
From: J McClure
To: SPSSX-L@LISTSERV.UGA.EDU
Sent: Monday, September 06, 2010 7:26 PM
Subject: + at beginning of syntax line
Hi,
I don't know who to direct this to but I was mystified by the '+' sign
at the beginning of the line for certain syntax (loops, do if etc) and
I'd like to suggest that the purpose be added to the Command Syntax
Reference Guide. I searched the Guide several times (very tedious
because there are many, many + signs in the document) and gave up after
awhile. I searched the internet a number of times and found only
examples but no explanations. I asked my husband who knows a dozen
computer languages and he didn't know the purpose. I finally did a
slightly different search and found the answer in an online tutorial at
http://www.stat-help.com/spss.pdf.
Thanks for all the help provided on this site! It's been immensely
valuable.
Jan
=====================
To manage your subscription to SPSSX-L, send a message to
LISTSERV@LISTSERV.UGA.EDU (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
=====================
To manage your subscription to SPSSX-L, send a message to
LISTSERV@LISTSERV.UGA.EDU (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
===================== To manage your subscription to SPSSX-L, send a
message to LISTSERV@LISTSERV.UGA.EDU (not to SPSSX-L), with no body text
except the command. To leave the list, send the command SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command INFO
REFCARD
===================== To manage your subscription to SPSSX-L, send a
message to LISTSERV@LISTSERV.UGA.EDU (not to SPSSX-L), with no body text
except the command. To leave the list, send the command SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command INFO
REFCARD
[text/html]