Mostrando entradas con la etiqueta c. Mostrar todas las entradas
Mostrando entradas con la etiqueta c. Mostrar todas las entradas

viernes, 16 de marzo de 2012

Nueva edición del RUN Buenos Aires

RUN BA

El próximo viernes 23 de marzo, en la Universidad Católica Argentina (Alicia Moreau de Justo 1300) el grupo de Nuevas Tecnologías de Microsoft Argentina y Uruguay realizará una nueva edición del evento donde se anuncian las nuevas oleadas tecnológicas.

Pude encontrar una agenda del evento directamente en el sitio de registro:

Por la mañana hay sesiones generales:

  • Acreditación y Bienvenida
  • Bienvenida Rodrigo (¿quién será Rodrigo?)
  • Keynote: Un mundo de dispositivos conectados
  • Desarrollá tu potencial con Microsoft

Por la tarde hay espacios separados para gente de TI y desarrolladores. Las sesiones para nosotros son:

  • Servicios en la Nube con Windows Azure
  • El futuro con HTML5
  • Aplicaciones al alcance de tu mano: Windows Phone
  • Desarrollo Estilo Metro en Windows 8

Casualmente en esta última sesión participaré para mostrar un ejemplo de desarrollo en Windows 8, dentro del espacio de aplicaciones Metro (el nuevo estilo gráfico orientado a dispositivos táctiles) utilizando C++. Si tengo tiempo, trataré de cubrir brevemente algunas de las novedades de C++ 11 (el estándar) y un poco de las novedades en Visual Studio 11 en cuanto al soporte para este lenguaje, pero el centro de la sesión será mostrar cómo interactuar con el flamante Windows Runtime, y cómo aprovechar las características asincrónicas de C++ 11 para lograr aplicaciones sumamente fluidas, que reaccionan apropiadamente a la manipulación natural de los nuevos dispositivos.

Algo más de información sobre el evento, en Puerta de Enlace.

 

viernes, 10 de febrero de 2012

Video: Bjarne Stroustrup presenta el estilo de C++11 en Going Native 2012

Como comenté hace unas semanas, en los primeros días de febrero se llevó a cabo la conferencia Going Native 2012, dedicada a los desarrolladores C++, y enfocada en el flamante estándar 11 del lenguaje, que está llegando a todos los nuevos compiladores de cada plataforma, desde Unix a Windows.

En la conferencia participaron Stroustrup (el creador de C++) y los principales impulsores del lenguaje en Google, Facebook, HP y Microsoft (anfitrión del evento, que se realizó en uno de sus auditorios).

Este post es principalmente para informar que ya están disponibles en video todas las sesiones, y dejarles a mano la apertura, que arranca con la dedicatoria del evento al recientemente fallecido Dennis Ritchie, creador del lenguaje C y co-creador del sistema operativo Unix, muy emotiva para cualquier geek de corazón.

Queda debajo entonces el video (~90 minutos), y recuerden que en la página principal del evento están los enlaces a todas las demás sesiones.

viernes, 20 de enero de 2012

C++ sigue siendo relevante (y está de moda de nuevo)

El Mapa de C++

Mientras que el Assembler (mi primer lenguaje de programación) perdió gran parte del brillo salvo para quienes programan para una plataforma exclusiva de hardware, C y C++ siguen siendo los lenguajes preferidos para gran parte del desarrollo de aplicaciones que requieren alto desempeño y optimización de recursos.

Es cierto, son lenguajes complejos y un tanto problemáticos (un gran poder conlleva una gran responsabilidad, decía el tío de Spiderman), y en la práctica pocas aplicaciones se escriben completamente en C++ pero hoy día pocas aplicaciones se escriben en un único lenguaje, de todas maneras (entre manipulación de datos, scripting, lógica, etc, casi siempre usamos dos o tres sin darnos cuenta). En el caso clásico de los juegos, por ejemplo, los motores de animación, detección de colisiones, etc, muchas veces se escriben en C++ mientras que la lógica final suele escribirse a más alto nivel, en lenguajes como LUA o Python.

Pero C/C++ siguen manteniendo un amplio reinado (como puede verse en este mapa creado por Elena SagalaevaVladimir "Jim" Gorshunin), y su avance sigue siendo importante aun cuando usamos lenguajes dinámicos o compiladores a demanda (estilo Java/.NET), porque los motores por debajo son cada vez más eficientes gracias a los progresos en C++, en algún punto. También, el auge de los dispositivos móviles (teléfonos y tabletas), ha hecho que la economía de recursos y el tiempo de respuesta  (sobre todo en interfaces multitouch) sea nuevamente un tema crítico.

Entre otras cosas, estos lenguajes siguen siendo casi únicos en la capacidad de determinar el consumo de ciclos de procesador y memoria en forma explícita, y los agregados a C++ 11 lo han hecho un poco más flexible y -un poco- menos peligroso, al utilizar técnicas modernas como inferencia de tipos, mejoras en el soporte de genéricos, inicializadores, expresiones lambda, todo un nuevo modelo para ejecución de tareas en múltiples hilos, incluyendo variables por hilo de ejecución, soporte para recolección de memoria, y muchísimas otras características basada en la biblioteca estándar, como soporte de tuplas y tablas hash, expresiones regulares, punteros inteligentes, meta-programación a través de plantillas, y muchísimo más.

Para una lista completa de novedades sobre el estándar aprobado recientemente, incluyendo preguntas frecuentes, pueden leer este documento mantenido por el creador de C++, Bjarne Stroustrup.

Finalmente, demostrando que el interés por el código nativo y la nueva versión de C++ es generalizado entre los participantes más activos en la industria, en los primeros días de febrero se realizará en Redmond, Washington, EEUU (dentro de uno de los auditorios del Campus de Microsoft) la conferencia Going Native 2012, que cuenta con un interesantísimo grupo de expositores (vean debajo los nombres y las empresas de las que provienen). El evento podrá ser presenciado en vivo o más tarde a demanda, desde la misma página.

Día 1 (2 de febrero)

Dia 2 (3 de febrero)

Espero que los programadores nativos los disfruten.

jueves, 2 de diciembre de 2010

¿Python más rápido que C?

Entre los videos de las 6tas jornadas de Software Libre que mencioné en el último post, encontré este que me resultó muy interesante y divertido, a cargo de Facundo Batista (uno de los sospechosos de siempre en la comunidad Python local) en el que cuenta una serie de ejercicios desarrollados junto a Lucio Torre para comparar en contextos y situaciones diferentes los tiempos de ejecución de ambos lenguajes.

Sobre el inicio Facundo aclara que el código C fue escrito en todos los casos por Lucio y el código Python por él mismo, y ambos tienen aproximadamente el mismo nivel de experiencia y familiaridad con cada lenguaje. Cualquiera en la comunidad iría más allá y diría que ambos son reconocidos expertos en el suyo.

Obviamente hay mucho material para discutir (aún cuando no hay intento alguno de mostrar Python realmente más rápido que C en crudo), pero el objetivo de la charla es reflexionar sobre el proceso, y se habla bastante de la forma en que aplicamos diferentes niveles de optimización. De fondo, incluso, utilizar un lenguaje de bajo o alto nivel, uno estático o dinámico, suelen ser decisiones que optimizan tiempo de desarrollo/mantenimiento, o de ejecución.

La sesión es corta y divertida, así que la reproduzco aquí debajo, pero antes quiero replicar una frase que Facundo destaca en uno de los slides, y que coincide con algo en lo que insisto hace años, pero nunca había escuchado con esas palabras:

"Es más fácil optimizar código correcto que corregir código optimizado"

Disfruten el video: