# AnyLang Programming Language Comparison/Appendix:PLEAC Crossref:User interfaces
## UserInterfaces
### Parsing Program Arguments

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Testing Whether a Program Is Running Interactively

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Clearing the Screen

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Determining Terminal or Window Size

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Changing Text Color

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Reading from the Keyboard

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Ringing the Terminal Bell

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Using POSIX termios

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Checking for Waiting Input

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Reading Passwords

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Editing Input

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Managing the Screen

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Controlling Another Program with Expect

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Creating Menus with Tk

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Creating Dialog Boxes with Tk

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Responding to Tk Resize Events

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Removing the DOS Shell Window with Windows Perl/Tk

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Program: Small termcap program

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |

### Program: tkshufflepod

| ada | c++ | commonlisp | cposix | erlang | factor | forth |
| groovy | guile | haskell | haskell-on-steroids | java | masd | merd |
| nasm | ocaml | perl | php | pike | pliant | python |
| R | rexx | ruby | smalltalk | tcl | | |