User Tools

Site Tools


a2:2:3

Tema 3 Programación - Herramientas de Colaboración

Características técnicas de los lenguajes

  • Interpreted, or incrementally JIT compiled (which looks like an interpreter to the user)
  • No attempt to enforce a specific programming style (e.g. Java requiring that everything be in a class definition, or Haskell enforcing purely functional design)
  • Dynamic typing vs. Static typing
  • Implicit coercion (maybe)
  • A REPL

Paradigmas actuales de programación

Ver Caracteristicas tecnicas de los lenguajes y paradigmas actuales de programacion

El paradigma de programación procedimental amplía el enfoque del paradigma imperativo con la posibilidad de desglosar algoritmos en porciones manejables.

En el caso de la programación funcional es un tipo de la programación declarativa cuyo principio fundamental radica en la descripción del resultado final que se busca. Por lo tanto, en primera línea se encuentra el “qué” del resultado y no el “cómo” de los pasos que llevan a la solución, como es el caso en la programación imperativa. Esto provoca que el código de la programación declarativa sea más difícil de comprender debido al alto grado de abstracción, aunque resulta muy corto y preciso.

Enlaces sobre fundamentos de los paradigmas de programación.

Un paradigma de programación indica un método de realizar cómputos y la manera en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa

Los paradigmas fundamentales están asociados a determinados modelos de cómputo.

También se asocian a un determinado estilo de programación

Los lenguajes de programación suelen implementar, a menudo de forma parcial,varios paradigmas.

Los paradigmas fundamentales están basados en diferentes modelos de cómputo y por lo tanto afectan a las construcciones más básicas de un programa. La división principal es:

  • el enfoque imperativo (indicar el cómo se debe calcular) y
  • el enfoque declarativo (indicar el qué se debe calcular).

El enfoque declarativo tiene varias ramas diferenciadas: el paradigma funcional, el paradigma lógico, la programación reactiva y los lenguajes descriptivos.

Otros paradigmas se centran en la estructura y organización de los programas, y son compatibles con los fundamentales, como la programación estructurada, modular, orientada a objetos, orientada a eventos.

También existen paradigmas asociados a la concurrencia y a los sistemas de tipado.

Clasificación de los lenguajes en función del tipado

Un tipado fuerte significa que el tipo de un valor no cambia de manera inesperada. Una cadena que contiene solo dígitos no se convierte mágicamente en un número, como puede suceder en Perl. Cada cambio de tipo requiere una conversión explícita.

La tipificación dinámica significa que los objetos de tiempo de ejecución (valores) tienen un tipo, a diferencia de la tipificación estática donde las variables tienen un tipo. Es por ello que decimos que Python está fuertemente tipado dinámicamente.

Otra forma de ver la escritura fuerte es que el tipo es importante al realizar operaciones en una variable. Si el tipo no es como se esperaba, un lenguaje que se queja está fuertemente tipado (python / java) y uno que no lo está es tipeado débilmente (javascript).

Los lenguajes tipados dinámicamente (python) son aquellos que permiten cambiar el tipo de una variable en tiempo de ejecución, mientras que los lenguajes de tipo estático (java) no permiten esto una vez que se declara una variable.

Lenguajes fuertemente tipados:

  • Haskell,
  • ML,
  • C#,
  • DAX,
  • Ada,
  • Modula-2,
  • Pascal,
  • Java,
  • C++,
  • Objective-C,
  • Go,
  • Rust,
  • Perl 6,
  • TypeScript,
  • Lua,
  • Python,
  • Dart

Ejemplos de lenguajes no tipados:

  • Lisp,
  • Perl,
  • PHP,
  • Prolog,
  • Basic,
  • JavaScript

Ejemplos de lenguajes que usan tipado estático:

  • C,
  • C++,
  • Java
  • Haskell

Ejemplos de lenguajes que usan tipado dinámico:

  • Perl,
  • Python
  • Lisp

Para practicar la sintaxis de varios lenguajes de programación sin tener que instalar nada:

https://www.mycompiler.io

Caracteristicas tecnicas de los lenguajes y paradigmas actuales de programacion

El Pascal fue un lenguaje muy utilizado en el ámbito educativo. Debido a esta razón y su alta incursión en las universidades y ciclos académicos surgió una nueva extensión del lenguaje denominada Turbo Pascal que incluía POO , algo de lo que carecía el Pascal estándar.

Herramientas de trabajo colaborativo y redes sociales

FIXME

Referencias

a2/2/3.txt · Last modified: 2023/11/10 10:46 by jherrero