# AnyLang Programming Language Comparison/Appendix:PLEAC Crossref:Database access
## DatabaseAccess
### Introduction

| 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 | | |

### Making and Using a DBM File

| 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 | | |

### Emptying a DBM File

| 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 | | |

### Converting Between DBM Files

| 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 | | |

### Merging DBM Files

| 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 | | |

### Locking DBM Files

| 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 | | |

### Sorting Large DBM Files

| 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 | | |

### Treating a Text File as a Database Array

| 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 | | |

### Storing Complex Data in a DBM File

| 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 | | |

### Persistent Data

| 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 | | |

### Executing an SQL Command Using DBI and DBD

| 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: ggh - Grep Netscape Global History

| 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 | | |