Te contesto entre líneas, espero que no moleste que copie a las listas, ya que seguro tus dudas las tienen otros. De esta forma te llegó a vos el link que compartí ayer con todo el material por una duda de Mariano Cerdeiro.
1.- small se compila o se interpreta?
Interpreta bytecodes de smalltalk que son similares a los de java (java se copio de st en esto).
Cada método que escribis se compila automáticamente a bytecode cuando luego de escribirlo le das "aceptar".
2.- small corre sobre el S.O. o sobre una máquina virtual?
Sobre una VM, hay para win linux y mac y están en fase de pruebas la de android e iOS.
3.- Que IDE estás utilizando o sepas que existe para poder programar
los objetos?
Pharo 3.0, soft libre (licencia MIT)
http://pharo.org/ Es IDE y entorno de ejecucción basado en VM todo en uno. En mi tesis (link más abajo) hay un resumen para que entiendas bien.
Te copio el otro mail que no se si viste donde recomendaba como empezar con smalltalk:
Sumarse al desarrollo del Soft-PLC
El software para programar a la CIAA en lenguajes de PLC según la norma IEC 61131-3 que fue nombrado IDE4PLC y mucha info del mismo puede encontrarse en el sitio web: https://ide4plc.wordpress.com/ En este sitio se puede descargar mi teis de ingeniería donde se describe el desarrollo completo del software así como el diseño de partes que aún no han sido codificadas. Un resumen de todas las herramientas con la que está hecho este soft puede leerse en la sección "Implementación". El link de descarga de la misma es: goo.gl/HnLbuR.
En resumen el soft está realizado en Pharo-Smalltalk. Para los que no conocen el lenguaje Smalltalk y en particular a Pharo les recomiendo la sigueinte información:
Las caracteristicas que se me ocurren en este momento interesantes de smalltalk son:
- Herencia simple. En la comunidad de Pharo fomentan la programación por composición de objetos en lugar de una jerarquía estática de clases.
- No tiene tipos de datos, todo es un objeto hasta los números, caracteres. Es por esto que no es necesario crear interfases. Esto le da una flexibilidad increible al polimorfismo.
- Se dice que se programa por extensión, smalltalk trae muchas clases definidas y pueden crearse nuevas o heredar de las que vienen.
- No diferencia "tiempo de compilación" de "tiempo de ejecución". Siempre está en ejecución. Cuando se le da aceptar a un nuevo método o se cambia su código, en ese momento se compila el cachito de código. Esto le da la flexibilidad de poder cambiar el comportamiento de un método de un objeto mientras la instancia está creada.
- El framework gráfico se llama Morphic y cualquier objeto gráfico es subclase de la clase Morph.
- En caso de tener un diseño de objetos ya pensado puede aplicarse "Program by intention" que básicamente permite ir definiendo clases y métodos a partir de utilizar un Workspace y hacerlo fallar creando instancias de clases que no existen métodos que no existen en una clase y defineindolos en el momento de captura de exepciones en ejecución. Ejemplo: http://www.pharocasts.com/2011/02/pharo-gui-with-polymorph.html
Por último recomiendo siempre para cualquier lenguaje orientado a objetos el libro de Gamma y los otros 3 "Patrones de diseño - Elementos de software orientado a objetos reutilizable" que tiene todos los ejemplos en smalltalk y c++ y básicamente es un catálogo de buenas soluciones a problemas que aparecen seguido.
Aun queda mucho por hacer, los invito a sumarse al desarrollo y participar!!!