Archive | September, 2010

C-sharp

He estado jugando un poco con C#, el lenguaje que Microsoft desarrolló para competir directamente con java. Digo jugando porque por ahora no he hecho mas que leer por encima un manual del lenguaje y escribir un par de extensiones de un programa que usan donde trabajo, en este lenguaje. Aca van algunas impresiones tempranas que me llevo.

Primero, me he encontrado con que el lenguaje cuenta con muchas de las cosas que siempre me hicieron falta en java. Para nombrar solo dos:  una manera de obtener multiples valores al invocar un metodo sin tener que crear una estructura de datos unicamente para ese fin (con output parameters) y el poder manipular funciones como objetos (con los delegates, aunque se supone que en java van a agregar closures tarde o temprano). Tambien hay algunas cosas simpaticas como poder darle significado a un operador cuando se aplica a instancias de cierta clase (operator overloading, bastante criticado, existe en C++), incluido por ejemplo el operador “[index]” (indexers). En fin, son cosas que tal vez hacen el lenguaje un poco mas complicado pero que a cambio hacen los programas mucho mas breves. Lo cual es en ultimas la mision fundamental de un lenguaje de programacion. En todo caso me falta programar mucho en C# para poder opinar de manera realmente informada.

El lado negativo es la sensacion con respecto a la comunidad alrededor de C# que me queda al navegar los sitios de documentacion, foros, etc. Se siente bastante la mono-cultura Microsoft. En este esquema hay un solo proveedor de tecnologia (Microsoft) y el resto son consumidores (los desarrolladores). Esto se siente en el hecho de que casi todo es proveido por microsoft, la documentacion, el IDE que todo el mundo usa, las diferentes librerias, etc. En ese sentido la comunidad alrededor de java se siente bastante mas diversa, o al menos me da esa impresion.

Nuevo trabajo

En mis empleos anteriores siempre fui parte de un equipo de programadores. Ahora, en cambio, soy el único programador del grupo. Es una situación nueva a la cual entro con algo de timidez y cautela.

La empresa en la que trabajo se dedica a la exploración minera. Mis colegas son casi todos geofísicos que se encargan de interpretar los datos de terreno enviados por los geologos de campo. Se trata de mediciones de los campos magnéticos y gravitacionales, de la conductividad del terreno y otros valores físicos que pueden indicar la presencia de tal o cual mineral. Hay un buen componente de investigación y de desarrollo de nuevas técnicas de medición e interpretación, lo cual incluye por ejemplo el desarrollo de nuevos equipos de medición, etc.

Mi labor se concentrará en el desarrollo de software alrededor de la captura, representación visual y manipulación de los datos de terreno. Por ahora estoy apenas familiarizandome con lo que hacen y con las herramientas computacionales que usan.

Aun no tengo aun una imagen clara de como sera mi vida cotidiana en este lugar, pero sospecho que habra grandes diferencias con mis empleos anteriores. Pienso sobre todo en la comunicación con los colegas, mi rol dentro del grupo, el valor que la organizacion le da al software que se escribe, etc. Cosas que son evidentes en un grupo de programadores, no lo seran aca (i.e. el uso de software para el control de versiones, la importancia de invertir tiempo en la re-organización del código fuente, etc).

Powered by WordPress. Designed by Woo Themes