8

End-User Programming is where regular end users, i.e. non-programmers, are able to customize a program, or create a new one, with minimal training or instruction.

App Inventor for Android is one recent example, but perhaps the most popular example of end-user programming is the spreadsheet.

What examples of end-user programming have you seen used, or believe to be useful? What's the philosophy of the system? What challenges remain?

Macneil
  • 8,243

10 Answers10

6

Any domain-specific language worth it's salt ought to be considered a viable example of end-user programming, since that is its primary objective...to be familiar enough to the user that they don't have to be a software engineer to use it.

Robert Harvey
  • 200,592
5

LabVIEW, the graphical programming language, used by many scientists and engineers (especially in biometrics).

Arguably, it showed the money path of the graphical programming for a much bigger software company.

rwong
  • 17,140
3

Tecplot

Has support for Python scripting (modifying input data, Fourier analysis, ...)

Autocad

VBA and LISP scripting


Would these count as end user programming?

Rook
  • 19,947
3

Microsoft SharePoint allows users to do quite a bit graphically without any code. It includes data entry with formating and verification, security, work-flow.

JeffO
  • 36,956
3

VBA when used with Excel or Access

It deserves its own answer, and is probably the most widely used example of a end-user programming environment on the planet.

2

There are a lot of, what many would call, "domain specific" languages:

Mathematics:

  • Matlab & Simulink
  • Maple

Control Systems:

  • Ladder Logic
  • Function Block Diagram
  • Sequential Function Chart
  • I might even include the LEGO Mindstorms programming software here

Statistics:

  • SPSS

Databases:

  • SQL (the syntax is declarative enough that most non-programmers can write queries)
  • SQL Server Integration Services (I'm thinking about the flow-chart like editor here)
2

I've heard good things about Kodu, from Microsoft. It was developed to allow kids to build their own games without already knowing how to program. http://fuse.microsoft.com/project/kodu.aspx

Jeremy
  • 189
1

Interface Builder

Actually we had a designer working on the design of an iphone app and he could easily work on Interface Builder with very short learning curve!

adranale
  • 161
1

mIRC

Back in the day, mIRC scripting was a relatively harmless way of exposing end-users to simple variables and event handling. It probably still is, really.

mootinator
  • 1,280
1

There's a spectrum of end user customization; the trivial ones (like dragging/dropping the menu items in Office) require little effort, and provide little customization. Progressively more complex customizations require progressively more knowledge and programming skill. At that extreme is my personal favorite

Emacs

Chunks are written in C, but much of it is written in Emacs Lisp, which is fully available to you as the end user. If you take the trouble to learn it, you can customize your editing experience to your hearts' content.

Inaimathi
  • 4,874