jueves, octubre 02, 2008
RockScroll
Nunca me pude imaginar que una chorrada tan grande pudiera llegar a ser tan útil. RockScroll es un addin para Visual Studio que muestra una pequeña previsualización del código que estás editando.
miércoles, septiembre 17, 2008
Mercadillo de máquines virtuales
Más allá de la guerra por los navegadores (IE, Safari, Firefox, Chrome, etc...) hay otra guerra bastante importante y sumamente silenciosa, la de las máquinas virtuales.
Sun tiene a Java, Microsoft a la plataforma .Net, Apple a LLVM y el software libre a Parrot.
Aunque Parrot promete bastante, aún esta lejos de conseguir una versión estable. La batalla está entre .Net y LLVM. Y sinceramente creo que el ganador va a ser LLVM. MSIL está realmente muy bien pero tiene serias limitaciones, en cambio con LLVM todo son ventajas. Es multiplataforma, soporta optimización de código, soporte para diferentes maquinas virtuales (¡¡incluso soporta IL!!), etc...
La única razón de usar Reflection .Net en lugar de LLVM es que vayas a crear un producto exclusivo para .Net. Para todo lo demás LLVM.
Sun tiene a Java, Microsoft a la plataforma .Net, Apple a LLVM y el software libre a Parrot.
Aunque Parrot promete bastante, aún esta lejos de conseguir una versión estable. La batalla está entre .Net y LLVM. Y sinceramente creo que el ganador va a ser LLVM. MSIL está realmente muy bien pero tiene serias limitaciones, en cambio con LLVM todo son ventajas. Es multiplataforma, soporta optimización de código, soporte para diferentes maquinas virtuales (¡¡incluso soporta IL!!), etc...
La única razón de usar Reflection .Net en lugar de LLVM es que vayas a crear un producto exclusivo para .Net. Para todo lo demás LLVM.
Etiquetas:
.net,
java,
llvm,
máquinas virtuales,
parrot,
programación
martes, septiembre 16, 2008
Stack Overflow
Al fin han hecho pública la beta de Stack Overflow. Una web mezcla entre foro y digg por y para programadores. Promete bastante, detrás del proyecto hay gente como Joel Spolsky (Joel on Software) y Jeff Atwood (Coding Horror).
jueves, agosto 21, 2008
Incluso Hitler opina sobre OpenGL 3.0
Un vídeo genial que ayudará a entender a cualquiera a que viene tanta polémica sobre la nueva especificación de OpenGL.
lunes, mayo 26, 2008
Mierda analógica
¿Qué coño pinta un punto ahí? Debería dar error al compilar. Me voy a cargar al que lo haya puesto, siempre tienen que cagarla. Pero que extraño, el punto está fijo en pantalla aunque mueva la ventana arriba y abajo. ¿Será un problema del Visual Studio? ¿Pero y si fuera...? No, no puede ser eso. Miro para uno y otro lado para asegurarme de que nadie me esté mirando. Rasco un poco la pantalla con la uña. Más mierda analógica (literalmente). Vuelvo a mirar a ambos lados, me pego una colleja imaginaria y sigo con lo mio.
martes, mayo 20, 2008
Una de versionitis
- Nueva versión de Panda 3D la 1.5.0. Me encanta este motor, no porque sea el mejor (que no lo es) si no porque tiene algo que difícilmente se ve hoy en día. Es simple y efectivo, algo que no está de moda. Si lo único que quieres es hacer un juego, sin importante los detalles técnicos ni que lleve lo último de lo último éste es tu motor. Absolutamente 100% recomendable.
- Versión 2.4.6 del Blender. Entre otras mejoras están algunas mejoras en su motor de juegos y bastantes cambios en el API para python.
- CLISP 2.45... ¡¡¡con soporte JIT!!!. Estos chicos están que barren. Puede que SBCL sea más rápido pero CLISP para Windows es mucho más estable. Ahora faltaría comprobar si al hacer ejecutables siguen ocupando varios megas como en las versiones anteriores.
- Versión 2.4.6 del Blender. Entre otras mejoras están algunas mejoras en su motor de juegos y bastantes cambios en el API para python.
- CLISP 2.45... ¡¡¡con soporte JIT!!!. Estos chicos están que barren. Puede que SBCL sea más rápido pero CLISP para Windows es mucho más estable. Ahora faltaría comprobar si al hacer ejecutables siguen ocupando varios megas como en las versiones anteriores.
viernes, mayo 09, 2008
martes, mayo 06, 2008
Bye bye ASCII!!!
lunes, abril 14, 2008
Un ordenador gana a un maestro del Go
En 1997 un ordenador venció por primera vez al campeón mundial de ajedrez. Desde entonces se ha considerado este juego como resuelto por los ingenieros de inteligencia artificial. El siguiente bastión a superar es el Go.
Para que os hagais una idea. Para vencer en el ajedrez, un ordenador calcula todas las posibles jugadas y las puntua escogiendo la de mayor puntuación. Por eso en 1997 necesitaron un supercomputador, ya que hacía falta un ordenador que pudiera calcular todos los movimientos posibles en pocos segundos. Pero para el Go es totalmente imposible usar el mismo método ya que hay más jugadas posibles que átomos en todo el universo.
El dia 9 de Abril los de INRIA, usando su MoGo, han conseguido ganar a un maestro del Go en un tablero de 9x9 (los que se usan para aprender, los normales son de 19x19). Puede parecer poca cosa pero sabed que hasta ahora los programas que jugaban a Go podían ser fácilmente vencidos por jugadores principiantes.
Me resulta especialmente curiosa la técnica que han usado. Un algoritmo semi-aleatorio.
Para que os hagais una idea. Para vencer en el ajedrez, un ordenador calcula todas las posibles jugadas y las puntua escogiendo la de mayor puntuación. Por eso en 1997 necesitaron un supercomputador, ya que hacía falta un ordenador que pudiera calcular todos los movimientos posibles en pocos segundos. Pero para el Go es totalmente imposible usar el mismo método ya que hay más jugadas posibles que átomos en todo el universo.
El dia 9 de Abril los de INRIA, usando su MoGo, han conseguido ganar a un maestro del Go en un tablero de 9x9 (los que se usan para aprender, los normales son de 19x19). Puede parecer poca cosa pero sabed que hasta ahora los programas que jugaban a Go podían ser fácilmente vencidos por jugadores principiantes.
Me resulta especialmente curiosa la técnica que han usado. Un algoritmo semi-aleatorio.
lunes, marzo 31, 2008
¡¡¡Adobe Director 11!!!
Me sorprende que el no haber visto ni una sola mención a este notición.
Después del culebrón de que si Adobe quería deshacerse o no de Director, y de prometer una y otra vez que habría una nueva versión tras el Director MX 2004 (genial pero ya algo desfasado en el tiempo). Podemos afirmar, al fin, que ya hay nueva versión: Adobe Director 11.
He probado mil y un motores 3d integrados en web y puedo afirmar que ni uno sólo (con perdón de Unity, pero es que no tiene editor para Windows) logra acercarse a Director. Y no es que Director sea lo mejor de lo mejor (que de hecho no lo es), es que los demás motores 3d para web dejan mucho que desear (bugs a porrillo, usabilidad nula o que únicamente soportan el próximamente extinto ActiveX).
A día de hoy, la única alternativa seria para hacer 3d decente integrado en web es Adobe Director 11 (con perdón de Unity nuevamente).
Después del culebrón de que si Adobe quería deshacerse o no de Director, y de prometer una y otra vez que habría una nueva versión tras el Director MX 2004 (genial pero ya algo desfasado en el tiempo). Podemos afirmar, al fin, que ya hay nueva versión: Adobe Director 11.
He probado mil y un motores 3d integrados en web y puedo afirmar que ni uno sólo (con perdón de Unity, pero es que no tiene editor para Windows) logra acercarse a Director. Y no es que Director sea lo mejor de lo mejor (que de hecho no lo es), es que los demás motores 3d para web dejan mucho que desear (bugs a porrillo, usabilidad nula o que únicamente soportan el próximamente extinto ActiveX).
A día de hoy, la única alternativa seria para hacer 3d decente integrado en web es Adobe Director 11 (con perdón de Unity nuevamente).
viernes, marzo 28, 2008
Los más grandes RPGs
Recientemente han publicado en Gamasutra un artículo con los RPGs japoneses que más influyentes (imperdible).
Como gran fan de los RPG que soy, me he llevado una gran sorpresa al descubrir Earthbound (SNES). Una autentica obra maestra. Este juego refuerza mi opinión de que la SuperNintendo ha sido la mejor consola de la historía consolariana.
Da igual que los juegos actuales lleven lo último de lo último en 3D, que sean capaces de mover millones de polígonos o que soporten trescientos quinquillones de shaders... el pixelart de Earthbound es simplemente inigualable.
Como gran fan de los RPG que soy, me he llevado una gran sorpresa al descubrir Earthbound (SNES). Una autentica obra maestra. Este juego refuerza mi opinión de que la SuperNintendo ha sido la mejor consola de la historía consolariana.
Da igual que los juegos actuales lleven lo último de lo último en 3D, que sean capaces de mover millones de polígonos o que soporten trescientos quinquillones de shaders... el pixelart de Earthbound es simplemente inigualable.
miércoles, marzo 19, 2008
Te sientes como el último ser de la tierra cuando...
...haces tu visita diaría a las páginas más populares de programación en del.icio.us y contemplas estupefacto que no hay ni el más mínimo enlace.
¿Es que soy el único pringado que tiene que ir a trabajar hoy? Es una pregunta retórica, por favor no la respondáis que me deprimo.
¿Es que soy el único pringado que tiene que ir a trabajar hoy? Es una pregunta retórica, por favor no la respondáis que me deprimo.
martes, marzo 18, 2008
Usando gdb con DLLs
Es perfectamente posible pasar las librerías DLL por el gdb. Como es algo que no se ve enseguida en la documentación os explico este pequeño "truquito":
$ gdb ejecutable.exe
(gdb) dll-symbols libreria.dll
(gdb) break funcion_de_la_libreria
(gdb) run
lunes, marzo 17, 2008
Nueva versión de Panda 3D
Panda 3D es un motor 3d centrado principalmente en Python. Aunque también se puede usar en C++ no es su objetivo.
Acaba de salir la versión 1.5.0 de este estupendo motor. Puede que hayan motores 3d mucho más potentes pero no son ni de lejos tan fáciles de usar como este.
Como única pega veo que sigue usando el mismo sistema simple y cutre para físicas. Llevo milenios leyendo en el foro que es algo que cambiarán en futuras versiones pero parece que nunca acaba de llegar. Pero no os desengañéis para la gran mayoría de proyectos no hace falta un motor de físicas potente.
Es un motor que recomiendo al 100%.
Acaba de salir la versión 1.5.0 de este estupendo motor. Puede que hayan motores 3d mucho más potentes pero no son ni de lejos tan fáciles de usar como este.
Como única pega veo que sigue usando el mismo sistema simple y cutre para físicas. Llevo milenios leyendo en el foro que es algo que cambiarán en futuras versiones pero parece que nunca acaba de llegar. Pero no os desengañéis para la gran mayoría de proyectos no hace falta un motor de físicas potente.
Es un motor que recomiendo al 100%.
Etiquetas:
motor 3d,
panda 3d,
programación,
python
miércoles, marzo 05, 2008
Una linea de comandes decente para Windows
El terminal que viene por defecto con Windows apesta, simple y llanamente. Microsoft, consciente de ello, sacó hace tiempo el Windows PowerShell que aumenta enormemente el potencial de la linea de comandos. Pero a los que nos gusta el shell de Linux/Unix no nos acabamos de sentir cómodos. Por suerte tenemos Cygwin, que supongo que todos conocereis, pero Cygwin usa el cutre-terminal de Windows.
La gran noticia es que se puede usar el terminal del PowerShell con una shell bash de Cygwin. Cread un nuevo acceso directo que diga:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "& {c:\bin\cygwin\cygwin.bat}"
Y listo. Tendréis un bonito shell con un terminal decente sobre el que poder trabajar. Es rápido y al fin podréis cambiar el tamaño de la ventana al vuelo.
Nota: canviad c:\bin\cygwin\ por el directorio donde tengáis instalado cygwin.
La gran noticia es que se puede usar el terminal del PowerShell con una shell bash de Cygwin. Cread un nuevo acceso directo que diga:
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "& {c:\bin\cygwin\cygwin.bat}"
Y listo. Tendréis un bonito shell con un terminal decente sobre el que poder trabajar. Es rápido y al fin podréis cambiar el tamaño de la ventana al vuelo.
Nota: canviad c:\bin\cygwin\ por el directorio donde tengáis instalado cygwin.
Etiquetas:
cygwin,
powershell,
shell,
terminal,
windows
viernes, febrero 29, 2008
¡Ahora lo tengo todo mucho más claro!

Como hecho de menos SLIME cuando programo en C++.
martes, febrero 26, 2008
Programación basada en celdas
Haced una imagen mental de una hoja de cálculo:
- En la celda A1 aparece la última tecla pulsada.
- En la celda A2 hay una fórmula que da 1 cuando la celda A1 es la tecla derecha IF(A1=33;1;0).
- En la celda B1 se pone a 1 cuando hay un obstáculo a la derecha del personaje y a 0 cuando no.
- La celda C1 es la formula A2 AND NOT B1. Con lo cual esta celda se pone a 1 cuando se está pulsando la tecla derecha y no hay ningún obstáculo a la derecha del personaje.
- Por último ya sólo faltaría que mientras C1 esté a 1 hay que mover el sprite del personaje a la derecha.
¿Que conseguimos dividiendo el programa de esta forma? Un programa mucho más modular, con menos interdependencias entre los módulos y con una gran facilidad de añadir condiciones sin tener que incrementar la complejidad del programa.
Una celda contiene un valor o una fórmula basada en otras celdas. Cuando el valor de una celda cambia, todas las otras celdas conectadas actualizan su valor de forma totalmente transparente. También podemos añadir observadores a las celdas que nos informen de cuando el valor se ha cambiado y así poder actuar en consecuencia.
En resumen; estoy hablando de como se podría aplicar la programación basado en celdas a los videojuegos.
No conozco ninguna librería para C/C++ pero podéis trastear con Cells para lisp o los models para factor (ya viene por defecto en la librería). Otra opción, aunque ya se aleja un poco de la idea original, es tirar de alguna librería orientada a aspectos para C++.
Este era un ejemplo bastante sencillo pero la gama de posibilidades que ofrecen las celdas es apabullante. En el caso de Cells, se ha usado, entre otras cosas, para implementar todo un sistema GUI encima: Cello.
- En la celda A1 aparece la última tecla pulsada.
- En la celda A2 hay una fórmula que da 1 cuando la celda A1 es la tecla derecha IF(A1=33;1;0).
- En la celda B1 se pone a 1 cuando hay un obstáculo a la derecha del personaje y a 0 cuando no.
- La celda C1 es la formula A2 AND NOT B1. Con lo cual esta celda se pone a 1 cuando se está pulsando la tecla derecha y no hay ningún obstáculo a la derecha del personaje.
- Por último ya sólo faltaría que mientras C1 esté a 1 hay que mover el sprite del personaje a la derecha.
¿Que conseguimos dividiendo el programa de esta forma? Un programa mucho más modular, con menos interdependencias entre los módulos y con una gran facilidad de añadir condiciones sin tener que incrementar la complejidad del programa.
Una celda contiene un valor o una fórmula basada en otras celdas. Cuando el valor de una celda cambia, todas las otras celdas conectadas actualizan su valor de forma totalmente transparente. También podemos añadir observadores a las celdas que nos informen de cuando el valor se ha cambiado y así poder actuar en consecuencia.
En resumen; estoy hablando de como se podría aplicar la programación basado en celdas a los videojuegos.
No conozco ninguna librería para C/C++ pero podéis trastear con Cells para lisp o los models para factor (ya viene por defecto en la librería). Otra opción, aunque ya se aleja un poco de la idea original, es tirar de alguna librería orientada a aspectos para C++.
Este era un ejemplo bastante sencillo pero la gama de posibilidades que ofrecen las celdas es apabullante. En el caso de Cells, se ha usado, entre otras cosas, para implementar todo un sistema GUI encima: Cello.
martes, febrero 19, 2008
Motor isométrico + Luces realistas
Daniel Olofsson está montando un motor isométrico pero con la pecularidad de que soporta per-pixel lighing y shadow mapping. Ver estas técnicas en motores 3d es bastante habitual, pero nunca se me había ocurrido que se podría implementar en un motor isométrico de los de toda la vida. Las capturas son impresionantes.
Etiquetas:
isometrico,
per-pixel lighting,
shadow mapping
lunes, febrero 18, 2008
Breve historia del algoritmo
"[...] Se piensa que el primer algoritmo no trivial es el algoritmo Euclídeo para el cálculo del máximo común divisor. El considerar los algoritmos como objetos en si mismos se remonta a la época de al-Khowarazmi, un matemático persa del siglo IX, con cuyos escritos también se introdujeron los números arábigos y el álgebra en Europa. [...]"
Podríamos datarlo más o menos en el 300 a.C.
Etiquetas:
algoritmos,
euclideo,
euclides,
historia
miércoles, febrero 13, 2008
Filmation
El PixeBlog de Pedja ha publicado una entrada genial sobre aquellos juegos con perspectiva isométrica que usaban la conocida técnica de filmation.
Como seguro que os entrará el mono de jugar a alguno de esos juegos no os olvidéis de jugar al remake de Head over Heels.
Como seguro que os entrará el mono de jugar a alguno de esos juegos no os olvidéis de jugar al remake de Head over Heels.
viernes, febrero 08, 2008
Forth en español
Navengando por Internet he encontrado lo que parece ser el único libro de Forth en español.
Enlace directo
Web
Enlace directo
Web
miércoles, febrero 06, 2008
Thinking Forth
En el mundo de los ordenadores todo lo que no se renueve en menos de un mes queda obsoleto. Pero a veces alguien tiene la lucidez suficiente como para hacer algo que dure durante más de diez o veinte años. Son estas pequeñas joyas las que me maravillan pues suelen encerrar un tipo de filosofía totalmente diferente a la que estoy acostumbrado.
Hace 33 años apareció el libro The Mythical Man-Month todo un clásico indiscutible, un libro que ha marcado la vida de muchos programadores. Pero hay otro no tan conocido que tiene igual mérito: Thinking Forth. Libro que a pesar de tener 24 años tras sus espaldas explica una filosofía y una forma de hacer las cosas que sigue estando totalmente de actualidad (tal vez más que nunca).
No os dejéis engañar no es un libro de Forth, es un libro sobre la filosofía que hay detrás de Forth.
Hace 33 años apareció el libro The Mythical Man-Month todo un clásico indiscutible, un libro que ha marcado la vida de muchos programadores. Pero hay otro no tan conocido que tiene igual mérito: Thinking Forth. Libro que a pesar de tener 24 años tras sus espaldas explica una filosofía y una forma de hacer las cosas que sigue estando totalmente de actualidad (tal vez más que nunca).
No os dejéis engañar no es un libro de Forth, es un libro sobre la filosofía que hay detrás de Forth.
miércoles, enero 30, 2008
Arc
Tal y como prometió Paul Graham, ha hecho público el código fuente de Arc. Está publicado bajo la licencia Perl Artistic License, licencia que permite hacer casi de todo excepto cambios significativos al código (sólo el autor original puede decidir sobre esto).
Cuando leí hace tiempo sobre Arc pensaba que se trataría de un nuevo compilador para un nuevo lenguaje. Pero me ha sorprendido gratamente que en realidad todo el sistema corre sobre MzScheme, algo así como una segunda piel (palabras del propio Paul Graham). Pero así y todo no os dejéis engañar ya que Arc se parece tanto a Scheme como Scheme a Lisp.
Podríamos resumir a Arc como un Lisp con un lavado de cara para los nuevos tiempos. 100% recomendable para programación web (es para lo que fue creado).
No os olvidéis de leeros el tutorial para tener las cosas un poco más claras.
Cuando leí hace tiempo sobre Arc pensaba que se trataría de un nuevo compilador para un nuevo lenguaje. Pero me ha sorprendido gratamente que en realidad todo el sistema corre sobre MzScheme, algo así como una segunda piel (palabras del propio Paul Graham). Pero así y todo no os dejéis engañar ya que Arc se parece tanto a Scheme como Scheme a Lisp.
Podríamos resumir a Arc como un Lisp con un lavado de cara para los nuevos tiempos. 100% recomendable para programación web (es para lo que fue creado).
No os olvidéis de leeros el tutorial para tener las cosas un poco más claras.
Etiquetas:
arc,
lisp,
mzscheme,
paul graham,
scheme
miércoles, enero 23, 2008
Internet Explorer vs Mozilla
Como hacer un plugin (que no extensión) para Mozilla:
Es más, para Mozilla en el 90% de los casos no hace falta programar un plugin, con una extensión tienes más que de sobra.
- Aprendes CComo hacer un plugín para Internet Explorer:
- Te bajas el SDK
- Compilas el codigo de ejemplo y listo
- Aprendes CEs tan horrible programar plugins para el IE que incluso los de Mozilla han creado un ActiveX para el IE para hacer compatibles los plugins del Mozilla con el IE.
- Descubres que la compatibilidad con Netscape la eliminaron con el IE 5 así que vuelves a empezar
- Aprendes C++
- Aprendes MFC
- Aprendes COM
- Te pasas las horas muertas buscando un ejemplo en el MSDN
- Compilas el ejemplo y descrubres que no compila. Lees un poco el código fuente y te asustas al ver que parece estar escrito antes de la primera guerra mundial
- Intentas encontrar otro ejemplo en el MSDN
- Finalmente desistes
Es más, para Mozilla en el 90% de los casos no hace falta programar un plugin, con una extensión tienes más que de sobra.
jueves, enero 10, 2008
¿Porqué los sistemas operativos están en C?
No me refiero a esos sistemas operativos de juguete que pululan por la red, sino a los que son productivos: Windows, Linux, MacOS, etc... No es que no quieran usar otros lenguajes radicalmente diferentes, es que ni tan siquiera se atreven a tirar de C++ (MacOS con su Objective-C poca diferencia tiene con el C normal).
Después de mi visita diaria a Reddit lo he visto claro. No es cuestión de encontrar una respuesta sino de encontrar la pregunta correcta (como dirían los budistas). La realidad es que no hay lenguajes malos para crear un S.O. lo que hay son CPUs que no se llevan bien con determinados lenguajes.
Y es que después de que se programara el primer Unix en C, las CPUs han tendido a acomodarse más a este lenguaje. La forma en que trabaja el lenguaje ensamblador de, digamos por ejemplo 8086, está íntimamente ligada a la forma en trabaja el lenguaje C.
Una prueba de lo que digo son las Lisp Machines y las CPUs para Forth. ¿Porqué si no hacer CPUs para unos lenguajes en concreto? Pues porque una CPU modelada para usarla con C nunca se podría exprimir al máximo con Forth (por ejemplo).
Después de mi visita diaria a Reddit lo he visto claro. No es cuestión de encontrar una respuesta sino de encontrar la pregunta correcta (como dirían los budistas). La realidad es que no hay lenguajes malos para crear un S.O. lo que hay son CPUs que no se llevan bien con determinados lenguajes.
Y es que después de que se programara el primer Unix en C, las CPUs han tendido a acomodarse más a este lenguaje. La forma en que trabaja el lenguaje ensamblador de, digamos por ejemplo 8086, está íntimamente ligada a la forma en trabaja el lenguaje C.
Una prueba de lo que digo son las Lisp Machines y las CPUs para Forth. ¿Porqué si no hacer CPUs para unos lenguajes en concreto? Pues porque una CPU modelada para usarla con C nunca se podría exprimir al máximo con Forth (por ejemplo).
Etiquetas:
c,
c++,
forth,
linux,
lisp,
macos,
objective-c,
sistemas operativos,
windows
viernes, enero 04, 2008
¡Lo han vuelto a hacer!
En la última entrada os comentaba la extraña fiebre que corre en estos tiempos en cuanto a nuevos lenguajes de programación se refiere. Pensaba que ya lo había visto todo, craso error.
Ya conocía Forth, un lenguaje bastante extraño que ya conocía de hace bastante tiempo (lo justo para saber como sumar números, declarar funciones y poca cosa más). Forth tiene el bizarro honor de ser el único (que sepamos al menos oficialmente) lenguaje con el que se ha logrado sacar una aplicación comercial con cero bugs (¡sorprendente!).
Pues bien, a lo que iba. Factor es un nuevo lenguaje de programación basado en Forth. Forth es de bajo nivel, mientras que Factor pretende convertirse en un Forth de alto nivel.
Realmente vale la pena echarle un vistazo. Esto promete, y mucho.
Ya conocía Forth, un lenguaje bastante extraño que ya conocía de hace bastante tiempo (lo justo para saber como sumar números, declarar funciones y poca cosa más). Forth tiene el bizarro honor de ser el único (que sepamos al menos oficialmente) lenguaje con el que se ha logrado sacar una aplicación comercial con cero bugs (¡sorprendente!).
Pues bien, a lo que iba. Factor es un nuevo lenguaje de programación basado en Forth. Forth es de bajo nivel, mientras que Factor pretende convertirse en un Forth de alto nivel.
Realmente vale la pena echarle un vistazo. Esto promete, y mucho.
Suscribirse a:
Entradas (Atom)