Feeds:
Entradas
Comentarios

Posts Tagged ‘programación’

Fuente: barrapunto

Vía meneame.net llego al interesante artículo ‘Like a Good Scotch, Developers Get Better With Age’, publicado en Wired, en el que se plantean diversas cuestiones relacionadas con el trabajo de programación y desarrollo y la edad. A partir de un análisis de la base de usuarios del sitio Stack Overflow los autores del estudio en el que se basa dicha noticia, ‘Is Programming Knowledge Related To Age? An Exploration of Stack Overflow’, establecieron un análisis sobre la reputación obtenida por los desarrolladores en las interacciones que realizan en este sitio web y su edad. Una de las conclusiones de dicho estudio es que esa reputación se incrementa en aquellos desarrolladores que tienen edades superiores a 50 años. No obstante, como los propios autores reconocen, sus datos se refieren a aquellos usuarios que manifiestan verazmente su edad y que participan en dicho sitio web. Esta participación puede verse influenciada, en el caso de los desarrolladores más veteranos, por su necesidad de ‘visibilidad’ y promoción, frente a sus coétaneos que no participan en dicho sitio. ¿Y tú, aún piensas que programar es cosa de jóvenes? ¿Cuál crees que es la mejor edad para dejar de programar?

Read Full Post »

Fuente: gcoop

El pasado 1 de marzo de 2012, gcoop firmó un Convenio de Formación Profesional con el Secretario de Empleo del Ministerio de Trabajo, Empleo y Seguridad Social, Lic. Enrique Deibe.

El convenio establece que se pondrán en marcha 6 cursos de capacitación en Programación en software libre. Al mismo tiempo, se brindarán elementos de organización y trabajo cooperativo, a fin de promover este tipo de organización productiva.

Los cursos serán desarrollados en el Centro Político y Cultural Nuevo Encuentro Comuna 14, ubicado en Gurruchaga 2122. Darán comienzo a mediados de mayo y culminarán a fines de noviembre, y a lo largo de todo este período se capacitarán aproximadamente 90 personas. Se prevé trabajar con poblaciones de distintos rangos etarios (entre 18 y 65 años). conformando grupos de trabajo homogéneos.

Los requisitos de ingreso son mínimos (saber leer y escribir y ser mayor de 18 años). El curso es absolutamente gratuito.

Al finalizar el proceso de capacitación, se combinarán entrevistas y reuniones con empresas del rubro (cooperativas y sociedades anónimas) a fin de presentar los CVs de los egresados y facilitar una primera inserción en empleos vinculados a las nuevas tecnologías.

Read Full Post »

Fuente:  publico.es (via barrapunto)

Donald E. Knuth, matemático estadounidense, ha ganado, a sus 73 años, el premio Fronteras del Conocimiento por “hacer de la programación informática una ciencia”

El matemático Donald Knuth (Wisconsin, EEUU, 1938) está entusiasmado con su visita a Madrid, pero no sólo por haber ganado el premio Fronteras del Conocimiento en Tecnologías de la Información y la Comunicación de la Fundación BBVA dotado con 400.000 euros, sino porque, al día siguiente de su llegada a España, tuvo la oportunidad de tocar el órgano del Palacio Real, una de las aficiones de este hombre polifacético que, sin embargo, sabe bien cuál es su mejor talento: “Escribir buenos libros sobre ordenadores. Si termino de escribir mi obra antes de volverme senil, haré música, pero lo primero sé que lo hago muy bien, mientras que mi música puede que sea horrible”, bromea. Knuth es autor de El arte de programar ordenadores que, según el jurado del premio, es “el trabajo más relevante de la ingeniería informática, en su sentido más amplio. Su impacto, tanto en la teoría como en la práctica, no tiene parangón”, añade el acta. Empezó a trabajar en esta obra en 1962 y sigue completándola.

Una de las razones por las que le han premiado es por convertir la programación en ciencia. ¿Siente que la informática está igual de valorada que otras disciplinas más clásicas?

Sí. De hecho, llegamos a este nivel hace ya 20 o 30 años, pero después tuvimos tanto éxito que la gente se dio cuenta de que la computación respondía a preguntas realmente interesantes y difíciles. Esto ha hecho que, para mucha gente, esté más asociada al dinero que a la ciencia. Para medir el éxito de un programador, las personas se preguntan ¿cuántas empresas tiene? ¿Será un millonario como Bill Gates?

¿Por qué empezó a programar con código abierto?

Es sencillo. Si tenemos a mucha gente trabajando en una idea, será más fácil saber por qué algo no funciona y encontrar una solución. Si yo uso un programa de Microsoft y no me funciona, lo único que haré será enfadarme más y más. Yo empecé a trabajar en código abierto porque me ganaba la vida como científico y programar era una de mis tareas. Si hacía accesible mi trabajo a todo el mundo, tendría a miles de personas ayudándome. Si lo hacía en privado, sin embargo, mi trabajo no se extendería.

¿Recomendaría a todo el mundo programar con código abierto?

No. La única razón por la que el código abierto es posible es porque los que lo utilizan tienen otras fuentes de ingresos. La gente que escribe software tiene que ser pagada y, si todo el mundo lo hiciera en código abierto, ¿cómo se ganarían la vida los programadores?

¿Y recomendaría a un usuario no profesional utilizar un sistema operativo libre, como Linux?

Yo diría que se puede ser muy feliz usando Linux, excepto por una cosa, y es que cuando recibes un correo electrónico con un adjunto escrito con otro software, puede que no funcione. Yo utilizo Mac para abrir mis correos, y también para hacer mis gráficos. Pero uso Linux para escribir mis libros, que es lo más importante para mí. Creo que te puedes fiar más de él.

¿Y cree que está creciendo el uso de código abierto?

Sí. Pero tampoco creo que vaya a despegar, porque hay mucho software que requiere sutilezas que lleva años desarrollar. Nunca esperaría que lo hicieran mis estudiantes hasta que hubieran pasado unos cuantos años. El código abierto es lo mejor para programas que no son muy complicados.

Una de las compañías que han destacado por apostar por el uso de código abierto es Google. ¿Qué opinión le merece esa utilización?

Creo que es una gran empresa y todos los que conozco que trabajan ahí están encantados, no sólo porque trabajan con código abierto, sino porque tienen un espíritu peculiar, una cultura específica. Parece que los trabajadores no se ven como personas tratando de enriquecerse, sino intentando construir un mundo mejor y, a la vez, ganar un buen sueldo. Pero no se crea, ellos también guardan secretos, no todo es abierto. Además, hacen algunas cosas mal. El espíritu de Google me gusta, aunque controla mi vida.

¿Hay alguna otra empresa en particular de la que no le guste cómo desarrolla software?

No le voy a decir ningún nombre, pero he pasado muchos días con mi mujer y mi secretaria llorando por software escrito por ciertas compañías, que no era precisamente de código abierto.

¿Cómo opina que influirá en el código abierto la ampliación y desarrollo del uso de móviles?

Creo que es algo que está cambiando mucho las cosas, pero mi especialidad no son las cosas que están de moda ahora mismo. Yo soy un científico que escribo sobre métodos de computación que serán interesantes dentro de 50 años. Mi trabajo es encontrar qué merece la pena recordar de lo que pasa hoy. Como se descubren cosas nuevas a cada rato, me mantengo muy ocupado.

Read Full Post »

Leo el título de la noticia: “Larry Page dará más autoridad a los programadores que a los subgerentes”. Como suele suceder en el periodismo, el desarrollo de esta noticia no explica su título, y nos hace sospechar que una vez más quien informa no comprende de qué se trata. Aparentemente, nos dice que la estructura jeráquica de la empresa se invertirá. Naturalmente, no es esa la interpretación correcta. No se trata de dar más autoridad en general a los programadores, sino de delegarles en particular las decisiones tecnológicas por ser las personas que más saben. También quiere decir que los decisores y coordinadores deben tener en cuenta sus opiniones y para ello deben escucharles. Esto mismo lo ha planteado Martin Fowler en La Nueva Metodologia. Desde los inicios de la informática observamos que los supervisores no saben más que los programadores, de manera que la práctica niega un postulado taylorista surgido del trabajo manual. La causa de esta “anomalía” es que la programación no es trabajo manual. En consecuencia, hay que buscar fórmulas alternativas al taylorismo y las estructuras jerárquicas para crear conocimiento en las organizaciones, y ese es precisamente el tema sobre el que trata esta noticia.

Fuente: DiarioTi

Larry Page dará más autoridad a los programadores que a los subgerentes

¿Cual es el golpe de timón que se dispone a dar Larry Page, el visionario co-fundador y nuevo presidente ejecutivo de Google?

Diario Ti: Muchas cosas han pasado desde que Larry Page y Sergey fundaran Google en septiembre de 1998. El buscador minimalista se convirtió en un éxito gigantesco y, desde entonces, Google pasó a controlar el mercado de la publicidad online. Posteriormente ha lanzado un sinnúmero de productos de software y servicios, y comprado, entre otros, sitios como YouTube. En el último año ha despegado además la participación de Google en el mercado de la telefonía móvil con el sistema operativo Android, aparte de esperarse el próximo lanzamiento de Chrome OS.

>

Google ya es una empresa de primer nivel mundial, y no un proyecto que desafiaría a gigantes establecidos como Microsoft. Una de las consecuencias de lo anterior es que Google enfrenta una actitud más crítica de parte de las autoridades y de la industria informática, que lo que fue el caso en sus inicios.

La mayoría de los análisis sobre la gestión de Eric Schmidt coinciden en que tenía grandes capacidades y conocimientos en los ámbitos de organización, gerencia y la industria de las TI, pero que nunca fue un visionario creativo al estilo de Page y Brin.

Ahora que Page ha recuperado el control de una empresa que bajo la gestión de Schmidt alcanzó la prosperidad económica, no sorprende que tenga planes de dar mayor autoridad a las mentes creativas de la empresa. Según información extraoficial, en los primeros días al frente de Google, Page está dando a los programadores, y no a los subgerentes, la autoridad para tomar decisiones. Esto coincide con declaraciones hechas anteriormente por Page en el sentido que, bajo su gestión, Google recuperaría su espíritu de emprendedores de garage.

Lo anterior es propicio para los usuarios, que en el último par de años han visto las dificultades de la empresa para posicionarse, por ejemplo, en el ámbito de los servicios sociales. El proyecto Google Wave fue un total fracaso a cuya versión inicial Google debió renunciar.

Los intentos de Google por buscar un nuevo espacio con su servicio +1 podrían ser tardíos en un mercado dominado totalmente dominado por Facebook. La situación podría complicarse aún más para Google en caso de concretarse los planes, no oficiales aún, de Facebook para entrar en el mercado de las búsquedas. En este contexto, causa expectación los resultados que puedan tener las iniciativas de Page, y si estas cristalizarán en nuevos productos y servicios de gran creatividad y popularidad.

Por cierto, en 2008 el portavoz de Google reveló un pacto secreto entre Larry Page, Sergey Brin y Eric Schmidt, donde se comprometen a trabajar juntos por un mínimo de 20 años.

Read Full Post »

Fuente: barrapunto

Merluzo nos cuenta: «En el trabajo me ha tocado encargarme de un proyecto inmantenible e inactualizable con los recursos disponibles, lo que me tiene un poco abrumado. Leyendo esta semana me he encontrado con la mejor metáfora para describirlo: la “deuda técnica“, el conjunto de chapuzas y parches cuyos arreglos se van postponiendo. Como desarrollador, te endeudas cada vez que escribes código sin documentarlo, cada semana que dejas que tu fork local se aleje del desarrollo de upstream. La metáfora funciona porque cuanto más tiempo dejas sin arreglar uno de estos apaños, más tiempo te costará pagar la deuda. Es como si los problemas devengaran intereses. En ocasiones hay que reescribirlo todo, lo que en nuestra metáfora es el equivalente de declararse en bancarrota (y que puede llevar a la bancarrota real si no hay tiempo y dinero para asumir el desarrollo necesario). ¿Te has encontrado tú con problemas de endeudamiento técnico? ¿Cómo te arreglaste sin llegar a la ruina?»

Read Full Post »

Fuente: Barrapunto
Nature News ha publicado una noticia sobre la mala calidad del código empleado en investigación científica. En ella se comenta cómo la poca pericia de los programadores puede provocar que los resultados sean erróneos (errores que a veces se detectan pero que en otros casos pasan inadvertidos aun tras la revisión por pares de las revistas). Las razón de este problema: la falta de formación de los científicos (que son químicos, biólogos, físicos… carentes de fundamentos sólidos en algorítmica y en codificación), quienes no documentan apropiadamente el código ni lo suelen liberar, impidiendo así que los estudios sean reproducibles.
Un caso dramático que se cita en la noticia es el de Geoffrey Chang (Scripps Research Institute de La Jolla, California). Debido a que un programa escrito por terceros cambiaba el signo de algunos datos, predijo unas estructuras de proteínas totalmente incorrectas. A resultas de este hecho el grupo tuvo que retractarse de cinco artículos publicados en revistas punteras (Science y PNAS, entre otras).

En esa línea, en otra noticia en la misma revista se estimula a los investigadores a publicar su código aunque no esté absolutamente depurado a fin de aumentar la transparencia y la credibilidad del análisis de datos. No obstante, a día de hoy las revistas no suelen exigir la publicación del código, aunque existe una tendencia a sugerir su inclusión como material suplementario

Read Full Post »

Fuente: developer

(Escrito en inglés por Daniel Read y traducido al castellano por Juan A. Romero)

El Principio del Carácter Personal

Lo sepamos o no, nos guste o no, nuestro carácter está reflejado en cada línea de código que escribimos, en cada informe que diseñamos, en cada interfaz de usuario que construimos, en cada diagrama que hacemos. Cuando otra persona mira nuestro código —o lo que es tan importante, la salida que produce nuestro código— esa persona, conscientemente o no, se hace un juicio de nosotros. Piensa en el código que has escrito hasta ahora… ¿cuál sería ese juicio? ¿Estarías orgulloso, te pondrías en pie y dirías que ese código lo has escrito tu? ¿o solo admitirías tímidamente que es tuyo, y lanzarías excusas de por qué no es lo bueno que debería ser?. Si tu código es malo, alguien que lo lea probablemente asuma que no es el único código que has hecho mal, que no es lo único que haces mal. La buena noticia es esta: tenemos control absoluto sobre la calidad de nuestro código.

La cuestión no es si uno es capaz de escribir el mejor código posible, sino si se preocupará por intentarlo. Si un programador carece de ciertos conocimientos o de cierta experiencia, pero hace lo posible por escribir el código de forma clara, entendible, bien comentada, de forma que muestre que al menos ha invertido tiempo en aprender algunos fundamentos básicos, entonces habrá actuado como debía con diligencia— y eso será obvio para un observador que lea con atención. No es razonable que alguien juzgue mal a un programador porque le falte algo de experiencia o porque desconozca aún algunas técnicas. Sin embargo, es absolutamente razonable encontrar una conexión entre la calidad global del código de un programador y la calidad del carácter de dicho programador.

El Principio del Carácter Personal establece: Escribe tu código de forma que refleje, y saque a relucir, solo lo mejor de tu carácter personal.

Leer más

Read Full Post »

Tutorial de Qt

Fuente: barrapunto

En KDE Hispano cuentan Tutoriales de programación con Qt: «En nuestro afán por disponer de la mayor información en español sobre KDE, y consecuentemente Qt, desde KDE-Hispano hemos preparado una serie de tutoriales sobre el uso de las bibliotecas Qt. Dichos tutoriales, traducidos de la documentación oficial de Qt, no cubren ningún aspecto en particular, sino que se centran en los aspectos esenciales de la programación con Qt. Aunque los tutoriales originales hacen referencia a la version 4.4 de Qt, son perfectamente validos para el aprendizaje de Qt, ademas al final de cada etapa se proponen varios ejercicios para ampliar conocimientos. La periodicidad de publicación será de una entrega a la semana, preferiblemente los viernes para disponer del fin de semana para trabajar en ellos. En el foro de desarrollo de KDE y Qt ya podéis encontrar el primer capítulo».

Read Full Post »

Fuente: barrapunto

Complice nos cuenta: The Computer Language Benchmarks Game es una página que compara el rendimiento de varios lenguajes de programación realizando distintos tests prefijados. Cualquiera puede subir sus propios programas si cree que puede mejorar los que hay actualmente para alguno de los lenguajes. Vía reddit he encontrado un artículo en un blog donde aprovechando estos datos y el tamaño de los programas se hace una comparación del tamaño del código y del rendimiento de los lenguajes estudiados. También lo comentan el Slashdot y Hacker News. Sigue en la página ampliada.
Los puntos rosas representan todos los test realizados con todos los lenguajes de programación. Después para cada lenguaje de programación calcula la media de rendimiento y de líneas de código y utilizando líneas grises la une con cada uno de los tests realizados con este lenguaje. El resultado es una especie de estrella, mejor cuanto más centrada esté hacia la parte inferior izquierda, y que tiene más casos extremos cuanto más expandida esté.

Read Full Post »

Fuente: dosideas

Escrito por Leonardo De Seta

Es importante asegurarse que nos estamos beneficiando lo más posible cuando invertimos tiempo y esfuerzo en capacitarnos y aprender cosas nuevas.

En la siguiente lista veremos las 10 habilidades que deberíamos aprender para que nuestro currículum sea relevante por los siguientes 5 años. Esta lista no es completa ni cubre algunos nichos de mercado (como ser los mainframes). Sin embargo, si aprendés al menos siete elementos de esta lista no te vas a equivocar.

1. Uno de los “3 Grandes” (Java, .NET, PHP)

A menos que ocurra algún cambio radical en el mundo del desarrollo (como ser un asteroide que caiga sobre Redmond), la mayoría de los desarrolladores van a necesitar conocer alguno de los Tres Grandes sistemas de desarrollo: Java , .NET (VB.NET o C#), o PHP. Y tampoco alcanza con conocer al lenguaje principal. A medida que los proyectos crecen y van acaparando más funcionalidad, vamos a necesitar conocer los frameworks y librerías asociadas con profundidad.

2. Aplicaciones Ricas de Internet (RIA – Rich Internet Applications)

Lo pueden amar u odiar, pero en los últimos años Flash se está usando para algo más que animaciones graciosas. Flash también obtuvo funcionalidad adicional en la forma de Flex y AIR. Los competidores de Flash, como JavaFX y Silverlight, también están mejorando en caracerísticas y performance. Los navegadores están mejorando sus motores JavaScript, el cual se perfila como una plataforma de aplicaciones web. Para hacer las cosas más complicadas, HTML 5 va a incorporar montón de funcionalidad RIA, incluyendo conexión a la base de datos, poniendo así el sello formal de la W3C a AJAX. En el futuro cercano, tener experiencia en RIA va a ser un factor determinante en nuestro currículum.

3. Desarrollo web

El desarrollo web no va a desaparecer en el futuro. Muchos desarrolladores hasta ahora estuvieron felices ignorando la web, o sólo quedándose con “lo básico” que les brindaba su framework. Pero las empresas están demandando más y más a quienes realmente conocen cómo trabajar con las tecnologías subyacentes. Así que deberemos mejorar nuestros conocimientos de JavaScript, CSS y HTML para tener éxito en los próximos cinco años.

4. Servicios web

¿REST o SOAP? ¿JSON o XML? Aunque las elecciones y las respuestas dependen del proyecto, cada vez es más dificil ser un desarrollador sin tener que consumir Servicios Web (incluso aunque nuestro desarrollo no sea una aplicación Web). Incluso las área que solían ser terreno de ODBC, COM o RPC ahora están avanzando hacia Servicios Web de algún tipo. Los desarrolladores que no puedan trabajar con Servicios Web van a terminar relegados a tareas de mantenimiento en código legacy.

5. Habilidades humanas

Hay una tendencia que viene ocurriendo hace ya un tiempo: la creciente visibilidad de IT dentro y fuera de la organización. Los desarrolladores están participando más y más de reuniones que no son de desarrollo y de procesos para obtener feedback de ellos. Por ejemplo, el CFO no puede cambiar las reglas de contabilidad sin trabajar junto a IT para actualizar el sistema. Y un gerente de operaciones no puede cambiar el proceso de los call caenter sin que IT actualice el workflow del CRM. De la misma forma, los clientes a menudo necesitan trabajar directamente con los equipos de desarrollo para asegurarse que se cumplan sus necesidades. ¿Va a ser necesario que todos los desarrolladores estudien Cómo hacer amigos e influenciar personas? No. Pero los desarrolladores que lo logren van a ser mucho más valiosos para sus empleadores – y serán muy buscados en el mercado.

6. Un lenguaje de programación dinámico y/o funcional

Los lenguajes como Ruby, Python, F# y Groovy todavía no son muy populares – pero si lo son las ideas detrás de ellos. Por ejemplo, el sistema LINQ en .NET es un descendiente directo de las técnicas de programación funcional. Tanto Ruby como Python son cada vez más populares en algunos sectores, gracias al framework Rails y Silverlight respectivamente. Aprender uno de estos lenguajes no sólo va a mejorar nuestro currículum, sino también que va a expandir nuestro horizonte. Todos los grandes desarrolladores recomiendan aprender al menos un lenguajes dinámico o funcional para lograr aprender nuevos formas de pensar.

7. Metodologías ágiles

A medida que pasa el tiempo, las ideas detras de Ágil se vuelven más definidas y mejor expresadas. Muchas organizaciones están adoptando Ágil o haciendo pruebas de concepto con Ágil. Aunque Ágil no es la bala de plata para evitar fracasar en un proyecto, definitivamente tiene su lugar en muchos proyectos. Los desarrolladores que tengan experiencia en trabajar y comprender los ambientes Ágiles van a ser cada vez más demandados en los próximos cinco años.

8. Conocimiento de dominio

De la mano con las metodologías ágiles, los equipos de desarrollo son cada vez más vistos socios en la definición de proyectos. Esto significa que los desarrolladores que comprendan el problema del dominio van a poder contribuir al proyecto de una forma muy visible y valiosa. Con Ágil, un desarrollador puede decir “Desde aquí, podemos agregar esta funcionalidad muy facilmente, y obtendremos mucho valor”, o “Hey, este requerimiento no está acorde al patrón de uso que muestran los logs”. Por más que muchos desarrolladores resistan la idea de conocer nada sobre el problema de dominio, no puede negarse que cada vez más organizaciones prefieren (si no incluso requieren) a desarrolladores que al menos comprendan lo básico sobre el negocio.

9. “Higiene” de desarrollo

Hasta hace pocos años atras, muchas (si no todas) las organizaciones no tenían acceso a sistemas de bug tracking, control de versiones y otras herramientas; todo se resumia a los desarrolladores y su IDE preferido. Pero gracias a la creación de nuevos entornos integrados de desarrollo y la explosión de entornos de software libre de alta calidad, ya casi no existen organizaciones sin estas herramientas. Los desarrolladores tienen que conocer mucho más que sólo hacer un checkout del código. Necesitan tener un hábito riguroso de higiene para asegurarse que están correctamente coordinados con el equipo. Los “programadores solitarios” que guardan todo local, que no documentan los cambios y demás, no van a ser bienvenidos en las organizaciones tradicionales, y van a a quedar directamente fuera de lugar en los entornos Ágiles, en donde se utiliza una coordinación fuerte entre los equipos para operar.

10. Desarrollo móvil

Durante los fines de 1990 el desarrollo web creció y ganó adopción general, para así comenzar a desplazar a las aplicaciones tradicionales de escritorio. En 2008, el desarrollo para dispositivos móviles despegó finalmente, y en los próximos cinco años va a crecer de forma constante. Por supuesto, existen varios enfoques al desarrollo móvil: aplicaciones web diseñadas para funcionar en dispositivos móviles, RIAs apuntadas a este mercado, y aplicaciones que se ejecutan directamente en los dispositivos. Sin importar qué camino elijamos, nos va a servir agregar el desarrollo móvil a nuestro grupo de habilidades.

Read Full Post »

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 100 seguidores