Polls

Qué cambiará obama?
 
Inicio arrow Noticias arrow Programacion arrow Es necesaria la innvación?
Es necesaria la innvación? PDF Print E-mail
Written by Javier Loureiro   
Monday, 18 August 2008

Esta semana estuve probando muchas tecnologías que tenía ganas de probar mejor. Estuve trabajando en una serie de papers sobre wavelets, que aproximan muestras a las zonas más interesantes del a imagen, reduciendo así el ruido. Y también estuve mirando el llvm, un procesador por software, con un lenguaje ensamblador muy bien definido, que se usa especialmente en cosas de apple y adobe (hablaremos de esto más adelante).

Todo esto está bien, pero  a veces me surge la duda de quiñen realmente podría necesitar este tipo de cosas en el mundo de la empresa. A parte de un par de sitios muy concretos, la mayoría de empresas de 3D usan software ya desarrollado, y sus esfuerzos van más bien a tenerla producción bajo control (algo ya especialmente dificil). Incluso en muchas empresas americanas medianas de animación, los desarrollos no son muy grandes. En videojuegos, lo normal es comprar un motor ya desarrollado e integrar el motor con el arte, y scripts para el gameplay. Hay una falta muy grande de profesionales para este tipo de tareas, y pocos sitios donde aprender a desarrollarlas.

Pero todos seguimos los últimos papers de siggraph/gdc, etc. Miramos shaders, CUDA, procesos paralelos, etc.... pero quién va a utilizarlas? Dudo que muchas de las cosas delas que hablamos en la web tengan un uso comercial real. Seguramente esté equivocado, pero no creo que muchas empresas estén implementando muchos papers. A veces siento que es como estudiar para astronauta en un pais centroafricano... si, mucha preparación, pero lo que se necesita es agua y electricidad, no naves espaciales.

Y realmente, los pocos casos que hay de empresas desarrollando cosas han conseguido hitos importantes (realflow y el oscar técnico, por ejemplo) pero no es algo que destaque tanto como para meter la nariz de grandes grupos empresariales que quieran desarrollar software... porque, cuanta gente necesita samplear zonas importantes de la imagen? o romperse la cabeza usando raytracing en tiempo real? En la tele hablan mucho de innovar y todo eso, pero cuando pienso en algo real, no acabo de ver cómo puede influir esto en la empresa actual.

 Eso sí, me parece que la empresa puntera se parecere más a una universidad que a una empresa. El ejemplo es google (aunque apple o microsoft es similar). Yo creo que un negocio moderno deberia de ser un departamento de investigación, similar a una universidad, con gente que aplique lo aprendido en una solución real, en productos, y comerciales que lo muevan por ahí.

Desde luego, creo que es una forma absurda de trabajar... y los periodos de crisis demuestran precisamente quién tiene los pies de barro y quien no. Y los que tienen un sistema para generar productos nuevos en cadena, siempre serán los ganadores. Y eso en tecnología es muy complicado.

 

Comentarios
AgregarnuevoBuscar
ViaToR   | 87.219.132.xxx | 2008-08-18 20:57:31
¿LLVM un procesador por software? A ver, LLVM es una infraestructura para compiladores, y sirve, valga la redundancia, para desarrollar compiladores, depuradores, enlazadores, etapas de optimización, etc. El lenguaje de ensamblador que citas es un lenguaje similar al código intermedio de GCC (De hecho, se propuso unir los dos proyectos hace tiempo) que básicamente se utiliza para abstraer al frontend(compilador) de los detalles de la plataforma objetivo(ensamblador).

La única forma que encuentro para denominar a LLVM como un "procesador por software" es que integra un intérprete de este código (al igual que todos los lenguajes interpretados), pero eso no significa que no se puedan crear ejecutables nativos.

La principal ventaja de LLVM, a parte de simplifica muchísimo desarrollar interpretes de lenguajes, ensambladores y todos aquellos programas relacionados con la compilación, está en la optimización. Un programa simple interpretado por LLVM es casi tan rápido como uno compilado por LLVM, y uno compilado por LLVM es igual (o casi) tan rápido como otro compilado con gcc (En www.llvm.org hay muchos ejemplos).

Apple lo utiliza, por ejemplo, para implementar ciertas extensiones de OpenGL en el iPhone que no están disponibles por hardware. Y para ello activa el modo de optimización "idle-time", que en cada instancia del programa (en cada ejecución), ejecuta un perfilador, y a partir de los resultados adapta el propio programa a los datos más utilizados, o a la forma de ejecución de éste, etc.

Sin duda, LLVM es un proyecto más grande, incluso que GCC. Adobe y Apple se dieron cuenta de los buenos resultados que se obtiene con este, y han llegado a utilizarlo incluso antes que la propia comundiad opensource (el único proyecto más o menos importantes que conozco que utiliza LLVM es PyPy).

Salu2
derethor   | Super Administrator | 2008-08-19 01:38:41
si, bueno , la definicion que di es un poco rara la verdad... el tema es que lo estoy mirando mas como un lenguaje interpretado, pero es cierto lo que dices, realmente es un lenguaje intermedio que permite hacer cosas muy chulas. Por ejemplo, estuve generando ensamblador para el cell facilmente...

el proyecto esta muy chulo, cuanto mas lo estoy estudiando, me doy cuenta que hay mucho trabajo detras...
Txapulín     | 193.34.187.xxx | 2008-09-10 16:15:26
Interesantísima reflexión, aunque la encuentro algo centrada en lo que sientes sobre cómo está el mercado español en este tema.

En la empresa donde estoy sí leemos artículos e implementamos los últimos papers (sólo los que nos interesen y se adapten al producto) sobre real-time ray-tracing o técnicas de global ilumination. De todos modos eso no es investigación. Quien hace la investigación es quien escribe y publica los artículos de SIGGRAPH, Eurographics o el Simposio de Rendering. Nosotros intentamos hacer un producto vendible de ello. Si quieres, le llamaremos innovación.
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el codigo anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
Last Updated ( Monday, 18 August 2008 )
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.