Archivo de la categoría: programación

Ranking de Lenguajes de Programación (TIOBE) a Septiembre 2013.

 

programacionEn el mes de septiembre de este año, la comunidad de Programadores TIOBE publicó su acostumbrado Ranking de Lenguajes de Programación que elabora periódicamente. Veo que el primer lugar está ocupado por un clásico: Lenguaje C. El 2do lugar viene por un lenguaje que poco a poco ha ido llegando para quedarse, com lo es el Java. Y así hasta llegar al puesto 20 que pueden ver por ustedes mismos… Lee el resto de esta entrada

Ranking Lenguajes de Programación Enero 2011

25/01/2011 – Tras convertirse en el lenguaje de programación de 2010, Python sigue creciendo y logra situarse como quinto en la clasificación de este ranking. Python es un lenguaje de programación de propósito general, orientado a objetos, usado, entre otros, para el desarrollo web y que actualmente se encuentra en la versión 3.1 final y 3.2 R.C.

Objective-C, es el segundo lenguaje de programación más importante y todo apunta tendrá un papel destacado en las distintas clasificaciones que iremos presentando a lo largo de 2011.

Por su parte Delphi, con una perdida de relevancia suficiente para salir del top 10 y C#, que es superado por Python en la quinta posición de este ranking, son los lenguajes con peores resultados del mes de enero.

Ranking lenguajes de programación Enero 2011:

1. Java
2. C
3. C++
4. PHP
5. Python
6. C#
7. (Visual) Basic
8. Objective-C
9. Perl
10. Ruby

Este ranking ha sido elaborado a partir del Indice Comunitario de Programación TIOBE, y pretende ofrecer una referencia a todo desarrollador interesado en conocer si sus habilidades de programación están actualizadas o incluso servir como sugerencia para tomar la mejor decisión acerca de qué lenguaje de programación aprender.

Vía Desarrollo Web

Programador, uno de los profesionales más demandados

Las TIC suben en un 16% sus ofertas de empleo, en comparación con septiembre del año precedente.

El sector informático y de telecomunicaciones es uno de los que más puestos de trabajo demanda cubrir, a pesar de la crisis. El sector ha subido en un 16% el número de ofertas publicadas en el site de empleo Infojobs, comparando resultados de septiembre a los del mismo mes de 2009, convirtiéndose en uno de los tres que más personal demanda. Turismo y restauración sube un 20% y diseño y artes gráficas un 14, acompañando a las TIC como los sectores en los que más ha crecido el número de puestos de trabajo que es necesario cubrir.

Los profesionales más demandados son comerciales, programadores y profesionales de atención al cliente, según recoge EP. Las firmas que más personal piden son las del ramo de la consultoría, la asesoría y auditoría, la informática, las telecomunicaciones y  los servicios.

Por contra, quienes más han bajado el número de personal que demandan son el sector inmobiliario y la banca y finanzas.

Vía Silicon News

Hacer programas sin programar (2)

Qué es Limnor ?

  • Es el primer sistema genérico de programación sin código en el mundo. Se usa para crear software sin conocimientos de como programar.
  • Con esta herramienta prácticamente todo el mundo puede programar.
  • Tiende un nuevo puente entre los PC y los usuarios. Ahora los usuarios avanzados de ordenadores tienen una manera de conseguir un control total sobre sus PC.
  • Este es un sistema hecho para ilimitadas expansiones y personalizaciones para cualquier desarrollador de software, no solo por el autor de este sistema. Esta es una nueva plataforma para los desarrolladores profesionales de software, usando lenguajes de programación para entregar una producto a usuarios no formados técnicamente permitir a los usuarios usar sus productos de maneras diversas.

Completo Sistema  Completa Programación Sin-codigo
El diseñador gráfico le permite diseñar sus aplicaciones gráficamente


«La lista de acciones y de acontecimientos que traza un mapa» gráficamente muestra el flujo de la aplicación.

Que puede hacer Limnor?

Limnor permite capacidades de programación fundamentales, como por ejemplo:

  • Bucle (ejecución recurrente)
  • Rama (ejecución condicional)
  • El usuario definió las expresiones matemáticas que permiten operaciones matemáticas comunes y 27 funciones y constantes comunes. Los usuarios pueden agregar cualesquiera clases de nuevas funciones matemáticas vía DLL ( ó librerías de sistema).
  • El usuario define las expresiones lógicas que permiten Y, O, NO, >, > =, =, <, <=, <> (no igual), y agrupando por «(«y»)»
  • Operaciones de la secuencia
  • Órdenes
  • Variables de usuario.

Limnor permite además:

  • Dibujar gráficos
  • Diversos grado de transparencia y de color para la página y el texto
  • «Hotspots» o puntos calientes que le dejaron definir cualesquiera formas y área irregulares como lugares activos que permiten interactuar con el ratón haciendo que cambien de forma o color al pasar por encima de ellos.
  • Elementos generales de presentación de datos: botones, etiquetas, texto, listas, gráficos, listas desplegables, botones tipo radio, contadores de tiempo, buscadores de archivos, etc.
  • Video, audio, Flash, Windows Media Player
  • se pueden mostrar Videos a través de cualquier elemento: un botón una etiqueta, etc
  • Cliente /servidor y bases de dato de escritorio, manejo de estructuras de bases de datos, construcción de consultas, visores de datos, transferencia de datos, etc.
  • Enviar /recibir e-mail
  • Bajar o subir archivos vía FTP
  • Navegación por Internet soportando la denegación de acceso a páginas no
  • Marcación Telefónica
  • lector de Smartcards ( tarjetas inteligentes )
  • Monedero
  • Podrá incluir cajas con texto enriquecido con diferentes fuentes colores y formatos
  • Procesadores de texto para incluir información en su aplicación.
  • Capacidad para incluir en sus aplicaciones documentos de Microsoft Word y bases de datos
  • File copy, move, rename
  • Printing
  • Web cam
  • Scanner
  • Podrá incluir Microsoft Excel en sus aplicaciones
  • Configuraciones
  • Encriptación / Decriptación
  • Voz sobre IP
  • Manipulación de Carpetas y archivos

Limnor es una plataforma abierta . Su estructura esta diseñada para agregar nuevas características fácilmente, agregando archivos de DLL sin cambiar o re-compilar el sistema principal.
¿Cómo es Limnor « abierto» ? El sistema principal de Limnor tiene solamente dos componentes incorporados un componente de Limnor se llama ejecutante. El actor de la página y el ejecutante del uso. El resto de los ejecutantes se agregan a través de instalaciones.
No hay límite en el tipo de nuevos ejecutantes se pueden agregar a Limnor, debido al diseño de Limnor. Apartemos por ahora  el agregar nuevos ejecutantes. Usted puede desarrollar sus propios ejecutantes usando el Kit de desarrollo. Por consiguiente gracias a nuestros ejecutantes. Limnor está creciendo constantemente y de forma ilimitada.

Las características de seguridad únicas de Limnor, permiten desarrollar un proyecto permitiendo una un desarrollo por múltiples individuos y una sub-dirección de proyecto. Estas características hacen que sea una herramienta ideal par el desarrollo de complicados proyectos para el desarrollo de software profesional.
Porque los desarrolladores pueden añadir sus características personalizadas al sistema Limnor virtualmente no hay límites a lo que el sistema puede hacer. Aquí hay algunos ejemplos:

  • Aplicaciones de Base de Datos
  • Aplicaciones de Kiosco
  • Aplicaciones Multi – lenguaje . Por ejemplo, los kioscos en el aeropuerto, El software que usted crea puede apoyar tantas idiomas humanas como usted desea, sus usuarios puede cambiar inmediatamente entre los idiomas.
  • Aplicaciones de CD-ROM
  • Anuarios del estudiante
  • Presentaciones interactivos de ventas
  • Gestión de información personal
  • Gestión de datos de negocio
  • Software educacional, combina bases de Datos relacionales, Aplicaciones matemáticas, Representación de Gráficos, flujo de Datos dinámico, etc.
  • Software personalizado, Como los reproductores de video, audio, etc.

¿Cómo trabaja Limnor?

  • Actúa como una plataforma para hospedar componentes software llamados  interpretes. Los Desarrolladores pueden usar unos determinados lenguajes de programación para crear nuevos intérpretes para la plataforma Limnor. No hay limitaciones en cuanto a las clases de intérpretes que pueden ser añadidos a la plataforma Limnor.
  • Cada interprete puede tener propiedades eventos y métodos.
  • Los Usuarios crean aplicaciones informáticas que son llevadas a cabo por los ejecutantes, fijando o enlazando sus propiedades, realizando acciones, asignando acciones a eventos, todo ello sin necesidad de utilizar lenguajes de programación.
  • Los usuarios programan especificando que ejecutante y cuando realiza la acción deseada.
  • La plataforma provee un interface (sistema de comunicación ordenador- usuario) gráfico para fijar los atributos o características de los ejecutantes, eligiendo las tareas de los interpretes y los eventos para las tareas que se llevaran a cabo.
  • La plataforma crea unos paquetes para la distribución para permitir que el desarrollador pueda continuar con su trabajo aun cuando su trabajo pueda haber (de momento) terminado. La plataforma también soporta actualizaciones de distribución de sus aplicaciones (distribuciones  delta),  en las cuales solo se distribuyen los contenidos modificados o nuevos que son automáticamente identificados por Limnor.

Vía Página oficial Limnor

Hacer programas sin programar (1)

Primera beta de Microsoft Visual Studio LightSwitch

Un nuevo miembro de la familia de herramientas para desarrolladores fue anunciado a comienzos de este mes y la primera versión beta estará disponible para descarga a partir del 23 de agosto: Microsoft Visual Studio LightSwitch.

¿Qué es y para qué sirve?

LightSwitch permite crear fácil y rápidamente aplicaciones de negocio completas desde cero, incluyendo no sólo los formularios de la interfaz de usuario, sino también la base de datos; también permite crear aplicaciones a partir de bases de datos existentes.

En este artículo voy a dar un rápido paseo sobre LightSwitch usando la versión beta que estará disponible en breve. Lo que voy a crear es una aplicación muy simple para registrar los libros que presto a mis amigos.

Una nueva aplicación con LightSwitch comienza con la creación de un nuevo proyecto en Visual Studio. Un proyecto LightSwitch va a contener la definición de los datos y de los formularios de la aplicación. A partir de esas definiciones LightSwitch genera la base de datos en SQL Server y el código fuente de la aplicación en C# o Visual Basic.

En este artículo voy a usar la plantilla de proyecto de C#. Aquí pueden ver el familiar cuadro de diálogo para la creación de un nuevo proyecto en Visual Studio con las dos plantillas provistas por LightSwitch.

image

Una vez creado el proyecto podemos conectarnos a una fuente de datos existente o crear una nueva definición de los datos de la aplicación. En este artículo voy a mostrarles cómo crear la definición de los datos desde cero.

image

La primera definición es la de los libros. De cada libro me interesa el autor y el título. Creo una entidad Book, con campos Author y Title, ambos de tipo String y ambos requeridos. Estas entidades estarán almacenadas en una tabla Books.

image

Luego creo la definición de los préstamos. De cada préstamo me interesa saber a quién se lo presté, cuándo lo presté y cuándo me lo devolvieron. Creo entonces una segunda entidad Loan, con campos ToFriend, DateLoaned y DateReturned; el primero es de tipo String y los otros dos de tipo Date; los dos primeros son requeridos, no así el último. Estas entidades estarán almacenadas en una tabla Loans.

image

Ahora defino una nueva relación entre libros y préstamos.

image

Vean a continuación cómo queda la definición de la entidad Loan y su relación con Book.

image

Ahora debo definir los formularios para editar estas entidades. Varias plantillas de formularios están disponibles -para editar los registros de a uno, en una grilla, etc.-. Voy a usar la plantilla para un formulario simple de altas.

image

La definición del formulario puede ser modificada. Lo que he cambiado es solamente el nombre a mostrar y la descripción.

image

Una vez terminada la definición, puedo probar la aplicación. Esta versión de LightSwitch permite generar los siguientes tres tipos de aplicaciones:

image

Al hacer el build LightSwitch:

  • Crea la base de datos
  • Genera el código fuente
  • Compila el código de la aplicación

Una aplicación LightSwitch típicamente es una aplicación en tres capas, que usa ciertas tecnologías específicas para cada una de ellas:

  • La capa de presentación, responsable de la edición y presentación de los datos, es una aplicación Silverlight 4.0
  • La capa de lógica de negocio, responsable de las consultas, actualizaciones, validaciones y procesamiento de datos, y expone un conjunto de WCF RIA Domain Services corriendo en ASP.NET 4.0 sobre IIS o un Windows Azure web role.
  • La capa de datos, responsable de almacenar los datos, usa SQL Server o SQL Azure.

En este artículo –en inglés- pueden encontrar más información sobre la arquitectura de una aplicación LightSwitch.

Al ejecutar la aplicación LightSwitch

  • Levanta un web server local
  • Despliega la aplicación en ese web server
  • Abre la aplicación

Esto es lo que vemos:

image

Completamos los campos para agregar el primer libro:

image

La aplicación asigna automáticamente un identificador al primer libro:

image

La aplicación incluye out of the box algunas validaciones elementales, como las de los campos que están marcados como requeridos.

image

image

image

El segundo formulario es el de alta de préstamos. También es un formulario simple de altas. Podemos ver como LightSwitch asignó un control Date Picker a los campos DateLoaned y DateReturned, que son de tipo Date. También asignó un control de tipo Modal Window Picker para editar la asociación entre Loan y Book.

image

Al ejecutar la aplicación podemos ver cómo luce el control asignado automáticamente a los campos de tipo Date.

image

El control Modal Window Picker permite buscar y seleccionar un libro para asociar con este préstamo. El control incluye funciones de búsqueda y paginado de los resultados.

image

Aunque esta forma de editar los préstamos no está mal, preferiría poder ver la lista de libros y desde allí fácilmente acceder a los préstamos de cada libro y eventualmente agregar nuevos préstamos también desde allí. La plantilla para este tipo de mantenimiento es List and Details Screen. Vean cómo LightSwitch me permite indicar si quiero incluir los detalles de los libros y de los préstamos en el mismo formulario.

image

Una vez creado el formulario puedo editar su definición. Al igual que en los casos anteriores, sólo cambio ligeramente el nombre a mostrar sugerido y agrego una descripción.

image

Podemos ver cómo luce este nuevo formulario al ejecutar la aplicación. La lista de libros aparece a la izquierda. Desde allí puedo agregar, modificar y eliminar libros. Para el libro seleccionado en la lista de la izquierda, puedo ver los préstamos en la parte derecha. También aquí puedo agregar, modificar y eliminar préstamos.

image

Vean que para agregar y modificar libros y préstamos LightSwitch generó automáticamente un formulario con los mismos controles que definí antes en los respectivos formularios para dar de alta estas entidades.

image

image

Estos formularios también tienen el comportamiento para las validaciones definidas en las entidades.

image

El editar más de una entidad en una lista, las modificaciones son impactadas en la base de datos al guardar la lista y no cada entidad.

image

¿Cuánto me llevó hacer todo esto? No mucho, vean el siguiente video:

Pueden descargar el video desde aquí.

Todo esto está muy bien, pero ¿qué aplicaciones puedo hacer con LightSwitch? Probablemente haya que esperar un tiempo para ver realmente quiénes pueden aprovechar esta nueva tecnología. Aplicaciones simples como la del ejemplo pueden ser creadas muy rápidamente, pero todos sabemos que las aplicaciones del mundo real nunca son tan fáciles como las de las demos, ¿verdad? Para los desarrolladores ocasionales o no profesionales -para quienes en su momento fueron pensadas cosas como Microsoft Access o Visual FoxPro- LightSwitch puede ser su nueva herramienta. Los desarrolladores profesionales probablemente no puedan construir con LightSwitch el 100% de las complejas aplicaciones de negocios que crean hoy en día. Pero aún ellos pueden al menos usar LightSwitch como herramienta para la creación de prototipos rápidamente.

En ciertos lugares de la definición de la aplicación puedo escribir código C# para agregar aquellas funcionalidades no contempladas inicialmente por LightSwitch -para las reglas de negocio por ejemplo-. Pero entonces tengo que conocer el modelo de objetos generado por LightSwitch, para poder consumir desde mi código escrito a mano los tipos generados automáticamente.

Algunas de las plantillas parecen extensibles –hoy algunas listas de plantillas tienen un solo elemento, pero probablemente se deba a que se trata de una versión beta-. Además, parece que LightSwitch podrá generar aplicaciones también para Windows Azure. Desde que todo el código y la base de datos son generados a partir de las definiciones, la misma aplicación podría ser migrada desde el escritorio a la nube con sólo cambiar una opción en las propiedades del proyecto.

Con un modelo de objetos fácil de consumir en los puntos de extensión y un ecosistema fuerte aumentando las capacidades de LightSwitch, es probable que podamos usarlo para desarrollar aplicaciones no tan triviales como las del ejemplo. Es muy pronto todavía, el tiempo lo dirá.

Vía Blog de Fernando Machado

Lecciones de programación colaborativa, de Eric Raymond

  • Todo buen trabajo de software comienza a partir de las necesidades personales del programador. (Todo buen trabajo empieza cuando uno tiene que rascarse su propia comezón)

    Eric Raymond

  • Los buenos programadores saben qué escribir. Los mejores, que reescribir (y reutilizar).
  • Contemple desecharlo; de todos modos tendrá que hacerlo.
  • Si tienes la actitud adecuada, encontrarás problemas interesantes.
  • Cuando se pierde el interés en un programa, el último deber es heredarlo a un sucesor competente.
  • Tratar a los usuarios como colaboradores es la forma más apropiada de mejorar el código, y la más efectiva de depurarlo.
  • Libere rápido y a menudo, y escuche a sus clientes.
  • Dada una base suficiente de desarrolladores asistentes y beta−testers, casi cualquier problema puede ser caracterizado rápidamente, y su solución ser obvia al menos para alguien.
  • Las estructuras de datos inteligentes y el código burdo funcionan mucho mejor que en el caso inverso.
  • Si usted trata a sus analistas (beta−testers) como si fueran su recurso más valioso, ellos le responderán convirtiéndose en su recurso más valioso.
  • Lo más grande, después de tener buenas ideas, es reconocer las buenas ideas de sus usuarios. Esto último es a veces lo mejor
  • Frecuentemente, las soluciones más innovadoras y espectaculares provienen de comprender que la concepción del problema era errónea
  • La perfección (en diseño) se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay algo que quitar
  • Toda herramienta es útil empleándose de la forma prevista, pero una *gran* herramienta es la que se presta a ser utilizada de la manera menos esperada.
  • Cuándo se escribe software para una puerta de enlace de cualquier tipo, hay que tomar la precaución de alterar el flujo de datos lo menos posible, y ¡*nunca* eliminar información a menos que los receptores obliguen a hacerlo!
  • Cuando su lenguaje está lejos de un Turing completo, entonces el azúcar sintáctico puede ser su amigo.
  • Un sistema de seguridad es tan seguro como secreto. Cuídese de los secretos a medias
  • Replanteo de la primera enseñanza:  Para resolver un problema interesante, comience por encontrar un problema que le resulte interesante
  • Si el coordinador de desarrollo tiene un medio al menos tan bueno como lo es Internet, y sabe dirigir sin coerción, muchas cabezas serán, inevitablemente, mejor que una

Tomados de «La Catedral y el Bazar», de Eric Raymond.

http://softlibre.unizar.es/manuales/softwarelibre/catedralbazar.pdf

Indice de Popularidad de Lenguajes de Programación a la fecha

Indice a la fecha (Mayo 2008) que indica la popularidad o el uso de los Lenguajes de Programación. (Tomado de Tiobe)

Tendencia a largo plazo:

google_ad_client = «pub-8520506242739182»; google_ad_width = 468; google_ad_height = 60; google_ad_format = «468x60_as»; google_ad_type = «text»; google_ad_channel =»»; google_page_url = «http://www.tiobe.com/tiobe_index/index.htm»; google_showAds( \\\’ads2\\\’ );