Mastering E-Prime: How to Learn E-Prime Programming
ben robinson
baltimore.ben at gmail.com
Wed May 11 15:07:28 UTC 2011
Clock.Scale? amazing. thank you, david!
On Tue, May 10, 2011 at 4:02 PM, David McFarlane <mcfarla9 at msu.edu> wrote:
> The question comes up from time to time, "How can I learn to program with
> E-Prime?" Here is my attempt to answer that.
>
> First, some earlier posted partial attempts to address this:
> http://support.pstnet.com/forum/Topic1806-5-1.aspx
> http://support.pstnet.com/forum/Topic2316-5-1.aspx
> http://support.pstnet.com/forum/Topic2951-12-1.aspx
> http://support.pstnet.com/forum/Topic2446-23-1.aspx
>
> http://groups.google.com/group/e-prime/browse_thread/thread/e4b89ad5265c747a/b1ec5d104cc7977d
> (
> http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0804D&L=EPRIME&P=R1715 )
>
> And now, my essay...
>
> For those without any programming background:
> - E-Prime is well suited for casual, amateur programmers of simple
> psychological experiments, insofar as it insulates the user from the
> deeper workings of the system (and encapsulates several structures and
> concepts peculiar to experimental psychology). As a result, it makes
> a poor platform for learning or understanding actual computer
> programming. If you try this you will only make things hard on
> yourself.
> - I urge you instead to just knuckle down and do some actual coursework
> in any modern object-oriented programming language until you at least
> grasp some general core concepts (bits, bytes, words, literals,
> constants, variables, integers, floats, strings, arrays, objects,
> representations, types, classes, scope, operators, labels,
> conditionals, branches, loops, blocks, subroutines, functions,
> arguments, etc.). Otherwise you will not understand what we are
> talking about.
> - Since E-Basic is a derived from Microsoft Visual Basic for
> Applicatons (the language element of Visual Basic 6), you would do
> best to study this if possible.
> - Some of us who hearken back to the 1980s still think that Pascal
> makes a fine language for learning general programming concepts,
> but it has fallen out of fashion. (And if you did study Pascal,
> you would want an object-oriented version, e.g., ObjectPascal.)
> - You can use any web browser (e.g., Internet Explorer, Firefox,
> Opera) to study JavaScript, which incorporates a rich set of
> object-oriented concepts, for free. However, JavaScript quickly
> gets entangled with HTML, Cascading Style Sheets, and the Document
> Object Model, so this may not be so useful as I once thought.
> - Python is also free, and seems to be generally in fashion now for
> Introduction to Programming, so you might try that.
> - Python does not let you learn directly about labels and goto
> statements, which you will need for E-Prime. But you might
> learn similar concepts with Python's exception handling
> (i.e., try, raise, except).
> - Personally, for this kind of work I think you cannot do better
> than to get a good grounding in C or C++, but I seem to be
> outvoted here.
> - Even more fundamental than learning any programming language, you
> should study and be comfortable with math in general, and in
> particular propositional logic, combinatorics, and probability.
> - It also helps to know some information and communication theory.
> (If you can make it through the classic work of Claude Shannon,
> then you are in good shape.)
> - See my "How to Solve E-Prime Puzzles".
>
> For those who come to E-Prime with some programming background:
> - E-Basic is a derived from Microsoft Visual Basic for Applications
> (the language element of Visual Basic 6). So you might like some
> materials on VB or VBA.
> - Most materials on Visual Basic focus on using the VB GUI to design
> the GUI aspects of your program, and using VB to control
> databases and web sites, so they are not much use to us.
> Instead, you want a source that covers the basic language
> elements.
> - Books to try:
> - "VBA for Dummies", Steve Cummings, IDG Books Worldwide, Inc.,
> Foster City, CA, 1998.
> - "VB and VBA in a Nutshell: The Language", Paul Lomax,
> O'Reilly Media, Inc., Sebastopol, CA, 1998.
> - "VBA Developer's Handbook", Ken Getz & Mike Gilbert, Sybex
> Inc., San Francisco, CA, 1997.
> - "VBA for Dummies" and "VBA Developer's Handbook" come
> recommended in the E-Prime User's Guide (p. 124, sec. 4.1.1).
> - I find "VBA for Dummies" to make the best general discursive
> introduction (despite its annoyingly chatty style). "VB and
> VBA in a Nutshell", true to O'Reilly's general quality, makes
> a generally good reference book. "VBA Developer's Handbook"
> is really meant for a different audience (developers of
> commercial VBA applications).
> - E-Basic lacks some standard VBA elements (e.g., With).
> - E-Basic extends VBA with its own host of classes/objects (and
> associated properties and methods), so VB books only help so far.
> - In addition, vital task control issues such as randomization and
> critical timing go beyond the scope of most programming texts, so
> you will have to learn those separately (e.g., Chapter 3 of the
> E-Prime User's Guide).
> - BTW, the E-Studio environment itself borrows a lot from the
> Visual Basic Editor.
> - Some features of E-Prime (e.g., graphics and timing) rely on
> Microsoft's DirectX technology, so you may wish to also study that.
> - The Guides supplied with E-Prime do a pretty good job as far as they
> go, but they are rather tutorial in nature and scope. There is
> neither a proper technical reference, nor any discursive guide to lay
> out the underlying principles and concepts of E-Prime and E-Basic.
> You are left to puzzle this out for yourself, or along with other
> regular users.
> - Make lots of small demo programs in E-Studio, and study the
> generated code.
> - Use Lists and Weights to easily limit test runs.
> - Use Clock.Scale for speeded test runs.
> - Log test values (c.SetAttrib) and examine the resulting
> .edat* file *after* test runs to see what the program did.
> - Or, use Debug.Print (per Michiel Spapé).
> - Or, use MsgBox to trace execution at run time.
> - Use GetUserBreakState() for graceful early exits.
> - If you have EP1, use E-Run to try out E-Basic elements with even
> simpler test programs. You can do this even without a hardware
> key (which is probably why PST removed this capability from E-Run
> in EP2). In this regard, EP2 makes an inferior platform for
> studying E-Basic.
> - See my "How to Solve E-Prime Puzzles".
> - In particular, study Chapter 4, "Using E-Basic", of the User's
> Guide.
> - If you care at all about critical timing, then someone in
> your lab *must* study Chapter 3 of the User's Guide. I
> cannot stress this enough.
> - The "real" documentation, insofar as we get any at all, is in
> the E-Basic Help facility.
> - The E-Basic Help facility is still incomplete (e.g.,
> http://support.pstnet.com/forum/Topic1241-12-1.aspx ), and
> in some cases misleading or just plain wrong (e.g.,
> http://support.pstnet.com/forum/Topic1197-5-1.aspx ).
>
> -- David McFarlane, Professional Faultfinder
>
> --
> You received this message because you are subscribed to the Google Groups
> "E-Prime" group.
> To post to this group, send email to e-prime at googlegroups.com.
> To unsubscribe from this group, send email to
> e-prime+unsubscribe at googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/e-prime?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20110511/008b7869/attachment.htm>
More information about the Eprime
mailing list