La importancia de la programación en la actualidad
A través de la programación informática se puede crear una aplicación o software, para desarrollar un concepto o proyecto, y para llevar a cabo esta funcionalidad se necesita de un lenguaje informático para poder definir las funcionalidades que se desean elaborar.
Como ejemplos de este tipo de desarrollos nos podemos encontrar desde una aplicación para móviles, páginas web, servicios en Internet, programación de gestión y un largo etcétera, podemos decir que la programación puede desarrollar casi cualquier funcionalidad.
Lenguajes de programación
Existen distintos tipos lenguajes de programación que podemos utilizar dependiendo de la finalidad del software a desarrollar. Por poner un ejemplo cuando el proyecto trata sobre el desarrollo de un proyecto web, el lenguaje utilizado para el desarrollo de la funcionalidad de front (con la que el usuario final puede interactuar) es habitual trabajar en HTML y en JavaScript. Para el caso del desarrollo back podemos optar por Java o PHP.
En el caso de que se deba desarrollar una solución para smartphones se necesitará programar en Android, Objetive-C (caso de iOs) u otros lenguajes cuyo resultado permita obtener estas versiones.
Clasificación de lenguajes de programación
La clasificación de los lenguajes de programación se realiza de acuerdo a los siguientes niveles:
Lenguajes de bajo nivel. Diseñados para un hardware específico y que por lo tanto no pueden migrar o exportarse a otros computadores.
Lenguajes de alto nivel. Lenguajes de programación que aspiran a ser un lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de propósito específico.
Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes de programación que se ubican en un punto medio entre los dos anteriores: pues permite operaciones de alto nivel y a la vez la gestión local de la arquitectura del sistema.
Principales lenguajes de programación
La asociación IEEE Spectrum ha realizado una clasificación de los lenguajes más utilizados, utilizando las búsquedas de Google, la información de código fuente de GitHub y encuestas propias. En ella, de los diferentes lenguajes analizados aparece Phyton como el más popular, seguido de JavaScript, PHP y Ruby.
Java. Es el lenguaje con mayor cobertura, ya que se emplea en grandes proyectos para Banca, tecnológicas y Big Data (existen otras versiones parecidas como Scala)
Ruby. Es uno de los lenguajes de programación que mayor crecimiento ha experimentado en los últimos años. Creado por Yukihiro «Matz» Matsumoto, Ruby es un lenguaje de programación de código abierto orientado a objetos y que permite la programación tanto en web como en escritorio. Para la programación de webs o webapps, se utiliza su conocido framework “Rails”.
ASP.NET. Es un lenguaje creado por Microsoft y que requiere un servidor Windows para su utilización. Se utiliza principalmente para desarrollar sitios web dinámicos, aplicaciones web o servicios web XML.
PHP. Se trata de un lenguaje de servidor de código abierto muy extendido, flexible y potente, muy adecuado para el desarrollo web. Ha sido utilizado para la creación de millones de webs en el mundo, incluidas algunas tan conocidas como Wikipedia o Facebook. Esta popularidad hace que existan varios frameworks que se pueden utilizar a la hora de abordar un proyecto web o una WebApp como Codeigniter, Symfony, CakePHP, Laravel o Zend.
Python. También de código abierto, orientado a objetos que permite la creación de sitios web dinámicos y complejos pero de actualización fácil y con un corto tiempo de carga. Actualmente, se utiliza en webs tan populares como Pinterest, Instagram o Dropbox. A pesar de que hay múltiples frameworks, el más utilizado y conocido es Django, su framework para web.
JavaScript: Es uno de los lenguajes, si no “el lenguaje”, más utilizado y popular para ejecutar del lado del cliente. Gracias a su multitud de frameworks, se pueden realizar desarrollos realmente impresionantes. Los más conocidos son jQuery, Backbone.js, Ember.js, Knockout.js o Angular.js. Para ejecutar del lado del servidor, se utiliza su framework Node.js.
Objetive-C: Este lenguaje de programación se orienta a objetos y se utiliza especialmente para crear aplicaciones para Mac OS X e iOS. Es una capa por encima de C, por lo que es posible compilar cualquier programa escrito en C con un compilador de Objetive-C.
Lenguajes de programación para aprender
La plataforma de contratación tecnológica HackerRank, compuesta por más de 5 millones de desarrolladores, más del 20 % de la comunidad mundial de devs, ha preguntado a sus usuarios por varias cuestiones interesantes. Y entre todas ellas destacan los principales lenguajes de programación que estos desarrolladores desean aprender durante 2019.
Golang, fue desarrollado por Google en 2007 y creado por Robert Griesemer, Rob Pike y Ken Thompson. De momento está soportado en diferentes tipos de sistemas UNIX, entre los que se incluyen Linux, FreeBSD y Mac OS X. Asimismo, también está disponible en Plan 9.
Kotlin, lenguaje de programación de tipado estático que funciona en la máquina virtual de Java y que de igual manera puede ser compilado a código fuente de JavaScript.
El tercer lenguaje que más quieren aprender los más de 70.000 desarrolladores consultados por HackerRank es Python. Este lenguaje, basado en una sintaxis que quiere favorecer un código legible, es administrado por la Python Software Foundation y ostenta una licencia de código abierto denominada Python Software Foundation License. Principalmente e utilizado por científicos de datos para sacar valor a éstos.
Otros lenguajes destacados en la clasificación son R, Scala, Swift, Rust, Ruby y Haskell
TypeScript es el cuarto lenguaje de programación que los profesionales del desarrollo participantes en esta encuesta han elegido. Libre y de código abierto, es desarrollado y mantenido por Microsoft, habiendo sido lanzado en 2012. Existen diferentes foros donde poder aprender este lenguaje como el blog Software Crafters donde se puede acceder a un tutorial de TypeScript
Programación y automatización de procesos
Muchas de las tareas que realizamos en nuestro día a día se pueden automatizar y para ello podemos contar con la programación para definir estos procesos, de esta manera nos podemos centrar en tareas productivos, descargándonos de trabajo rutinario.
Programación como salida profesional
Debido al aumento en las necesidades de programar soluciones informáticas la búsqueda de perfiles profesionales con conocimientos en diferentes lenguajes ha aumentado con el paso de los años, y según las estadísticas, seguirá aumentando. Por ello el conocimiento de algún lenguaje de programación abre las puertas al mundo laboral y la posibilidad de incorporarse a una empresa en este ámbito.
Ciclo de vida del desarrollo de software
El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final, incluyendo su estado funcional. Debemos definir y seguir un ciclo de vida para tener la certeza de que el software que se desarrollará cumplirá con las necesidades definidas y tendrá la calidad suficiente para ponerlo en producción. Básicamente se debe:
- Validar que el desarrollo de la aplicación es la correcta
- Garantizar que el software cumple los requisitos
El ciclo de vida básico de un software consta de, al menos, los siguientes procedimientos:
- Definir los objetivos que debe cumplir el software.
- Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
- Requisitos generales de la arquitectura de la aplicación.
- Definición precisa de cada subconjunto de la aplicación.
- Programación (programación e implementación) en un lenguaje de programación donde se crearán las funciones definidas durante la etapa de diseño.
- Pruebas unitarias, donde se comprobará a nivel individual cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
- Integración: para garantizar que los diferentes módulos y subprogramas se integren con la aplicación.
- Prueba y validación que garantiza que el software cumple con las especificaciones originales.
- Documentación y manual del usuario.
- Mantenimiento
Últimos comentarios