Los lenguajes de programacion a dia de hoy estan lo suficientemente optimizados para adaptarse a la metodologia de programacion moderna ( POO ) y sus entornos de desarollo tambien, lo qué implica tener implementaciones de funcionalidades avanzadas y interfaces agradables, como es el caso de poder compilar una determinada clase o fichero fuente apretando un simple boton, o ejecutar una simple interfaz, o directamente correr codigo para dispositivos mobiles en entornos no mobiles como lo es el pc apretando un simple boton, realmente algo excepcional, pero no es ese el asunto de este "hilo", esta entrada esta redactada explicitamente para hablar sobre los lenguajes de programacion qué practican la metodologia moderna POO y cuales son sus caracteristicas en una resumida descripcion para qué todos tengamos acceso a un menor tiempo de desarollo y mayor produccion en el trabajo del algoritmo.
Python:
Python es un lenguaje script, qué usa la metodologia POO y qué nos permite desarollar aplicaciones con interfaz grafica y bajo shell script en muy pocas lineas, python esta pensado para el desarollo de una tarea muy costosa en pocas lineas, lo qué implicaria en otros lenguajes qué utilizan la metodologia POO muchas mas lineas de codigo, no tiene sentido utilizar otros lenguajes cuando realmente python hace determinada accion en menos tiempo y el resultado es practicamente el mismo.
Sin duda python, al igual qué la mayoria de lenguajes interpretados como perl, o php nos facilita mucho la contienda del desarollo de aplicaciones web, pero no solo esta pensado para eso, si no qué el set de librerias gtk y otras librerias como wxWidgets estan portadas para el desarollo de aplicaciones graficas y multiplataforma en dichos lenguajes, lo qué sin duda nos facilitara mucho el desarollo de aplicaciones con interfaz grafica y poder implementar las funcionalidades qué integra las librerias de python en un sencillo interfaz escrito en una pequeña clase.
Sin duda python es un gran lenguaje, aunqué quizas se les quede pequeño a algunos pequeños genios.
PHP
Php otro gran lenguaje, qué nos facilita mucho el desarollo de aplicaciones web, existen entornos de desarollo con determinados frameworks qué nos permiten desarollar aplicaciones visuales ( algo parecido a JSF ) mediante una interfaz grafica (el entorno en question es del fabricante de jBuilder), php trae acceso a gran variedad de funciones, y algoritmos como es el sorting de arreglos, lo qué creando un arreglo de x posiciones y llamando a la funcion sort documentada en la documentacion de php podremos ordenar el arreglo desde la posicion 0 asta la qué se haya especificado en el vector.
Ademas, php nos permite el acceso a gran variedad de funciones como substr, o strstr o split, qué nos permitira manipular cadenas de una forma bastante sencilla, para mas informacion podeis buscar en la documentacion de php, tambien integra funcionalidades para el desarollo de aplicaciones con acceso a internet ( sockets,networking ) no lo e dicho, pero python tambien lo integra, y ademas php nos provee una interfaz para el manejo de vectores bastante particular, haciendo una diferencia entre los vectores asociativos, y los vectores no asociativos, basicamente los vectores asociativos se pueden considerar vectores qué acceden a los elementos a traves de un identificador qué identifica el determinado dato, y qué nos devolvera los datos almacenados a traves de ese identificador qué es una especie de nick para dicha posicion, y los vectores no asoaciativos qué directamente acceden a los elementos a traves de posiciones numericas.
Tambien cabe recalcar, la implementacion qué nos propone php para acceder a determinados servidores de bases de datos, lo cual nos facilita la contienda de desarollar aplicaciones qué necesiten interactuar con datos persistentes.
Ademas de lo qué ya hablabamos antes con python, php trae un pequeño interprete en modo consola ( CLI ) qué nos permitira compilar nuestras aplicaciones en caso de qué necesitamos compilarlas en modo local, es util cuando estemos desarollando aplicaciones locales con interfaz grafica ( wxWidgets, GTK ).
Java.
Java posee una gran cantidad de librerias para el acceso a frameworks qué proveen una implementacion basica para realizar streaming de video/audio mediante protocolos mediante compresion como RTP/RTSP, qué nos permiten crear sistemas de videoconferencia basados en dichos protocolos bajo h263,h624 y JPEG ademas, de proveer una sencilla implementacion para el acceso a dispositivos de entrada I/O (Microfonos,Webcams) ademas de disponernos de pequeñas interfaces, para poder crear players qué nos permitan reproducir archivos de audio y video y enpaquetar los datos recividos en un frame por ejemplo, o en un jpanel.
Ademas, java no se queda hay, java nos permite acceder a diferentes implementaciones de los algoritmos de compresion como FLAC MAC O APE (jFlac o jMAC) dichas librerias contienen sencillas implementaciones para comprimir ficheros de audio wav en flac mac o ape, o a la inersa, ademas de poder manipular dichos ficheros de audio con las implementaciones de los distintos metodos qué iremos encontrando en las librerias, ademas de disponernos de una documentacion bastante extensa en la web del fabricante de las librerias.
Java tambien nos permite desarollar aplicaciones Mobiles, lo cual nos facilita mucho la contienda a la hora de desarollar midlets, la unica pega es qué los midlets necesitan distintos SDK para qué funcionen en distintas plataformas ( NOKIA MOTOROLA o SONY ERICSSON) dichas aplicaciones son desarolladas exclusivamente para dichas plataformas, y solo pueden ejecutarse en dichas plataformas a traves de un SDK qué se integra en el propio entorno de desarollo para poder compilar la aplicacion para determinada plataforma.
J2ME provee implementaciones para el acceso a ficheros de texto, binario, y ademas provee sencillas implementaciones para el acceso a HTTP STREAMS lo cual nos permitira crear gestores de descarga, o interactuar con el protocolo HTTP para hacer lo qué se nos antoje con ello, ademas de proveer un API para poder manejar el tema de multimedia, y el acceso a streaming qué tambien incorpora el propi API.
Java tampoco se queda corto en el desarollo de aplicaciones WEB, java incorpora tecnologicas como JSF qué nos facilitan el desarollo de aplicaciones web, mediante un interface builder qué nos permitira escribir el codigo en diferentes eventos qué ira generando la propia aplicacion, y una vez tengamos lista la aplicacion la podremos subir perfectamente a un servidor JSP, ademas de proveer todas las funcionalidades qué nos permitian los applets, los applets se han quedado atras realmente con la tecnologia qué disponemos ahora con NetBeans + JSF.
Un 10 para java, chapo realmente.
C#
C# tampoco se queda corto, pese a ser una mera copia de java ( como todo en microsoft ), c# nos permite el desarollo de aplicaciones con interfaz grafica y acceso nativo al api WIN32, lo cual nos permitira embeber nuestras aplicaciones con el api de WIN32 facilmente, ademas de proveer un entorno de desarollo multiplataforma para los lenguajes .NET lo qué podremos desarollar paginas web y aplicaciones web en un solo entorno para la mayoria de lenguajes qué integra el entorno de desarollo visual studio ( No el express, cuidado).
Visual basic 6, ya se quedaba un poco corto la verdad, aunqué aveces eso de qué se quedaba corto era mentira, con visual basic 6 podias crear robustas aplicaciones utilizando funciones del API win32, al mas estilo C, pero ya sabemos todos qué Visual Basic no gestiona la memoria como C, y a veces una mala implementacion de una funcion puede llevar a errores catastroficos, o qué directamente pete como un rifle de feria el entorno de desarollo.
Visual Basic.NET utiliza ahora la metodologia POO directamente utilizando las clases y la herencia ( Tecnologia POO ) para hacer lo qué haciamos habitualmente en visual basic 6, como por ejemplo arrastrar un componente ActiveX y conectarnos a un servidor utilizando el protocolo HTTP, o directamente acceder a un fichero de texto, pues no señores, ahora nos permite acceder a streams binarios y de texto y a sockets mediante implementaciones nativas del .NET framework, menos tiempo de desarollo, y menos tiempo dedicado a la interfaz, lo cual implica una mayor optimizacion para el motor, y hay entra el papel de C# o un c++ o C mejorado segun lo qué explica la gente, aunqué realmente c# es java, lo unico es qué cambiaron los metodos y renombraron las clases i ya esta, pero no voy a entrar en el juego, bueno hablando del temita qué ya me estoy saliendo un poco del asunto, c# tambien nos permite crear juegos utilizando XNA Game studio express utilizando la plataforma DirectX, y tambien nos permite acceder a bases de datos MSSQL SERVER, para acceder a otros servicios deberemos instalar un driver especifico qué nos permitira acceder a dichas bases de datos.
Bueno esta es mi parrafada global de hoy, epero qué os haya gustado, y un saludete a todos y a todas!!!.
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario