Ranking Lenguajes de Programación Octubre 2012

Habiendo superado tres cuartas partes del año ya es posible apuntar las primeras conclusiones de lo sucedido en este 2012 en relación a la clasificación de lenguajes de programación.

En este sentido destaca el papel de C que además de liderar el ranking ha logrado consolidar su posición frente a Java, el crecimiento imparable de Objective-C que un nuevo año vuelve a destacar por la enorme repercusión que está teniendo como tecnología para la creación de aplicaciones para dispositivos móviles de Apple y una pérdida de relevancia de PHP pese a su papel destacado entre las tecnologías para el desarrollo web.

Además de lo anterior, octubre ha supuesto la entrada de Dart entre los 50 lenguajes de programación más importantes, en la posición 43 por delante de ActionScript. La llegada de Dart a finales de 2011 confirmó la intención de Google de desarrollar una tecnología orientada a objetos, sencilla de aprender, familiar para los desarrolladores, que permitiera la adecuación a cualquier navegador web y que representara una alternativa de calidad frente a JavaScript. Pese al empeño de Google, tanto Microsoft como Apple y Mozilla han anunciado que no van a añadir soporte para Dart en sus navegadores web por lo que será interesante ver como evoluciona la popularidad de este lenguaje.

Ranking Lenguajes de Programación Octubre 2012

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

fuente.desarrolloweb

Historia: La evolución de la Programación con gráfico cronológico incluido

Los lenguajes de programación que los desarrolladores utilizan para crear las aplicaciones que ahora encontramos comunes evolucionan más rápido que nunca, pero ¿te has planteado alguna vez cuál ha sido su evolución histórica?.

El equipo de Services ANGLE ha llevado una interesante imagen infográfica donde dar un repaso por algunas de las fechas de lanzamiento clave para la programación que han construido la infraestructura tecnologica que tenemos hoy en día.

Desde la aparición del lenguaje Fortran en octubre de 1956 hasta la llegada de Node.js, pasando por Python, Java, C o JavaScript….., lo cierto es que en la mayoría de casos la innovación tecnologica da comienzo con el código fuente de un programa informático.

Así que si quieres entender mejor que ha pasado en los primeros 50 años de la programación para hacerte a la idea de las posibilidades en los próximos 50, no dejes de ver la infografía sobre la evolución de la Programación que encontrarás al final de este post.fuente.desarrolloweb

click para ampliar

evolution-of-programming

click para ampliar

 

Como Crear un Gráfico de Torta con Google, leelo aquí

Veamos cómo realizar una gráfica de torta, también llamada gráfica circular.

El siguiente paso será generar la URL de la imagen que tiene que mostrarse para presentar los datos.

//votos totales
$ssql=”select sum(votos) as totales from respuesta where id_encuesta=”. $num_encuesta;
//echo $ssql;
$rs = mysql_query($ssql);
$fila = mysql_fetch_object($rs);
$votos_totales = $fila->totales;
mysql_free_result($rs);

//traigo todas las respuestas
$ssql=”select * from respuesta where id_encuesta=”. $num_encuesta;
$resultid = mysql_query($ssql);

$colores = array(“e5f867″,”596605″,”375181″,”bfd1d2″,”e57e0f”,”54380c”,”e50f28″,”a3129e”,”082454″,”f6f830″,”838383″);
$texto = array();
$reporte_votos = array();
$nvotos = array();

while ( $damefila=mysql_fetch_object($resultid)){
$porcentaje = round(($damefila->votos/$votos_totales)*100);
array_push($texto,urlencode(utf8_encode($damefila->respuesta . ” (” . $damefila->votos . ” votos)”)));
array_push($reporte_votos, urlencode(utf8_encode($porcentaje . “%”)));
array_push($nvotos, $porcentaje);
}

//comienzo la creación de la URL de la gráfica con API Chart
$url_api_chart = “http://chart.apis.google.com/chart?chs=600×200”;
//tipo de gráfica de tarta
$url_api_chart .= “&cht=p”;

//saco la parte que me interesa del array de colores
$colores_utilizados = array_slice($colores, 0, count($texto));
//colores de la gráfica
$url_api_chart .= “&chco=”. implode($colores_utilizados, “,”);
//señales para cada pedazo de tarta
$url_api_chart .= “&chl=” . implode($reporte_votos, “|”);
//leyenda
$url_api_chart .= “&chdl=” . implode($texto, “|”);
//valores de gráfica
$url_api_chart .= “&chd=t:” . implode($nvotos, “,”);

//echo $url_api_chart;
echo “<img src=’$url_api_chart’ width=400 height=200 border=0>”;

Una gráfica de tarta que saldría a partir de este ejemplo sería como esta:

google chart

google chart

fuente.desarrolloweb

TIPOS DE PROGRAMACIÓN

El desarrollo de aplicaciones persigue el único objetivo de solucionarle problemas al hombre: el programador escoge un lenguaje y luego le indica ciertas instrucciones a la computadora para que ésta las procese y devuelva el resultado de dicha tarea.

A lo largo de la historia han ido surgiendo distintas maneras de abordar ciertas problemáticas, lo que fue dando origen a distintas formas de programar. Cada forma plantea un camino diferente para solucionar un mismo problema. Dependiendo del escenario, el programador deberá optar por el tipo de programación más conveniente:

Programación secuencial: se basa en sentencias escritas y ejecutadas con un orden cronológico. La ruptura de dicha secuencialidad suele estar dada por una partícula “goto” que permite procesar líneas de código alternas. Los lenguajes que utiliza este esquema son: Basic, Assembler, Fortram y Cobol. Aquí vemos un ejemplo:

10 CLS
20 numero=220000
30 palabra$=”Actionscript”
40 LOCATE 7,7
50 PRINT “ Cantidad de páginas “; numero
60 LOCATE 8,7
70 PRINT“ Estudiante de: “; palabra$
80 END

Programación estructurada: se basa en la simplificación de un gran problema en
varios menores. Consta de pequeños módulos (funciones) capaces de realizar tareas
muy específicas que, al combinarse con sus pares, resuelven problemas de índole
mayor. Lenguajes que utilizan este esquema: C, Pascal. A continuación, vemos
un ejemplo de código C:

#include <stdio.h>
int main(void){
char cadena[20];
printf( “Introduce una cadena:“ );
fflush(stdout);
gets(cadena);
printf(“has escrito: %s“,cadena);
return 0;
}

Programación lógica: es una forma de programar donde lo más importante es
definir un conjunto de hechos, que se conocen con anterioridad, y un conjunto
de reglas que nos definen las distintas relaciones existentes entre los componentes
del programa. Lenguajes que utilizan este esquema: Prolog, Mercury.

Programación orientada a objetos: lo desarrollaremos en extenso a continuación,
pero para comenzar, podemos decir que los lenguajes que utilizan este esquema
son: C++, Java, Delphi, Smalltalk, lenguajes .NET y Actionscript.

LENGUAJES DE PROGRAMACIÓN

La base del entendimiento entre dos o más individuos está dada por la normalización
de sus expresiones y actitudes: para que un hombre comprenda lo que otro le
está diciendo debe compartir un mismo código gestual y verbal, debe compartir un
mismo idioma. Al incursionarnos en el universo de las computadoras, observamos
que el único lenguaje que éstas realmente comprenden es el binario. Cuando se comunican
entre sí, se entienden perfectamente; ambas comprenden lo que significan
aquellas cadenas de ceros y unos prácticamente indescifrables para el hombre. El
problema surge en el momento que una persona intenta darle una instrucción.
Veamos el caso de un programador que está desarrollando una consola de sonido.
Él precisa que se reproduzca una determinada canción robotech_sdf1.mp3 cuando
el usuario presione en un área determinada, lo que significa asignarle un código similar
a éste para que la tarea se desencadene:
0111 0010 1010 0111 0001 1111 1110 1001 0001 0100
0010 1010 0111 0001 1111 0111 0010 1010 0111 0101
Si la manera de indicarles a las computadoras cómo comportarse estuviera basada
únicamente en este lenguaje binario, podríamos contar con los dedos quiénes serían
los individuos capaces de “hablar” efectivamente con ellas. El hombre no se comunica
con ceros y unos, no los comprende… y jamás lo hará. Es por ello que desde
los inicios de la era digital surgió la necesidad de generar nuevos idiomas que actúen
más cerca del territorio lingüístico conocido por el programador. Ellos son los
famosos lenguajes de programación.
Estos lenguajes consisten en verdaderos “traductores” que traspasan un idioma amigable
para el individuo en aquellos tediosos ceros y unos necesarios para que la computadora
opere. Este proceso de traducción puede hacerse mediante un compilador,
un intérprete o con una combinación de los dos. Existen cientos de lenguajes de
programación que, según su cercanía al lenguaje binario, se dividen en cuatro grandes
grupos, que veremos en detalle a continuación:

Lenguaje de máquina o binario: es aquel que la computadora comprende sin
necesidad de realizar conversión alguna. Su escritura resulta extremadamente difícil
para el mayor porcentaje de programadores, y prácticamente ya nadie lo utiliza.
Por otro lado, cada tipo de procesador tiene su propio lenguaje máquina (su
propio juego de instrucciones), de manera que un programa ejecutable que corre
en una computadora equipada con un procesador Pentium no podría correr, por
ejemplo, en un Apple Power Macintosh.

Lenguaje de bajo nivel: también conocido como ensamblador, representa un
paso hacia la humanización de los lenguajes de programación. Consta de un complejo
repertorio de palabras nemotécnicas (tales como add para la suma o sub para
la resta) que simplifican parcialmente la comunicación entre el programador y
la computadora. Se trata de un lenguaje realmente robusto que actúa prácticamente
a la par del lenguaje binario.

MOV AX, A
ADD AX, B
MOV C, AX

Lenguaje de medio nivel: posee un diccionario de comportamientos/instrucciones
que consta de palabras similares a aquellas conocidas por los hombres (include,
define, if). Goza del equilibrio ideal entre simpleza y potencia: una variada gama
de posibilidades para trabajar directamente con la computadora y una escritura capaz
de ser comprendida por el hombre. En este grupo se destaca el lenguaje C.

Lenguaje de alto nivel: es el de mayor entendimiento para el hombre. Escribir una
aplicación con este lenguaje resulta mucho más ágil y sencillo que con los de niveles
anteriores. La mayoría de ellos forjaron sus cimientos en base al lenguaje C, si
bien no logran la “directa comunicación” que posee este último con la computadora.
Destacados: C++, Java, Pascal, Eiffel, Clipper, Ada, Smalltalk, Visual
Basic, Delphi, FoxPro, JAVA y Actionscript.