Jim es una implementación de código abierto del lenguaje de programación Tcl de código abierto. Implementa un gran subconjunto de Tcl y agrega nuevas características como referencias con recolección de basura, cierres, sistema incorporado de Programación Orientada a Objetos, comandos de Programación Funcional, arreglos de primera clase y compatibilidad con UTF-8. Todo esto con un tamaño binario de aproximadamente 100-200 kB (dependiendo de las opciones seleccionadas).
El núcleo de Jim es muy estable. Jim pasa más de 3000 pruebas de unidad y muchos programas Tcl se ejecutan sin modificaciones. Jim es altamente modular con la posibilidad de configurar muchos componentes como módulos cargables u omitidos por completo. Jim incluye una serie de extensiones que pueden construirse como módulos cargables.
Jim realiza compilaciones cruzadas fácilmente y se usa en muchos entornos integrados. Se ejecuta en muchos sistemas operativos, incluidos Linux, FreeBSD, QNX, eCos, Windows (cygwin y mingw32).
Jim ha incorporado la edición de línea de comandos para el shell interactivo, jimsh.
JavaScript no es una implementación singular. Una alternativa real sería algún motor JS (como V8, DukTape, JavaScriptCore).