Introducción – Conceptos Lenguajes de Programación Introducción



Descargar 8,78 Kb.
Fecha de conversión04.10.2017
Tamaño8,78 Kb.

Introducción – Conceptos Lenguajes de Programación Introducción

  • Francisco Bórquez
  • Departamento de Informática
  • Universidad Técnica Federico Santa María
  • 1er SEM,2010

En esta ultima década

  • La revolución en las tecnologías de la información y comunicación ha impactado en todos los ámbitos de las personas en su forma de relacionarse, vivir y trabajar

Objetivos

  • Proveer al alumno de herramientas conceptuales que le permitan realizar una evaluación crítica de los lenguajes existentes y futuros.
  • Preparar a los alumnos para cursos más avanzados, como Sistemas Operativos, Introducción a la Informática Teórica, Redes, Compiladores y Programación de Sistemas entre otros.

Contenidos del Curso

  • Conceptos Fundamentales
  • Lenguajes Imperativos
  • Lenguajes Orientados a Objetos
  • Lenguajes de Scripting
  • Lenguajes Funcionales
  • Lenguajes Lógicos

Metodología

  • Cátedra: Presentación de paradigmas y constructores relevantes a los lenguajes de programación.
  • Ayudantía: Revisión y aplicación de los conceptos de cátedra a lenguajes reales.
  • Tareas: Aplicación individual de los conceptos a 5 lenguajes seleccionados por los profesores.
  • Lecturas: Material complementario o paralelo a la cátedra.

Bibliografía General

  • Robert Sebesta, ”Concepts of Programming Languages”, Fourth Edition, Addison Wesley, 1999.
  • Terrence Pratt & Marvin Zelkowitz, ”Programming Languages: Design and Implementation”, Third Edition, Prentice Hall, 1999.
  • Kenneth Louden, ”Programming Languages: Principles and Practice”, PWS Publishing Company, 1993.

Bibliografía por Lenguaje

  • Brian W. Kernighan & Dennis M. Ritchie, ”The C Programming Language”, Second Edition, Prentice Hall PTR, 1988
  • Ken Arnold & James Gosling, ”The Java Programming Language”, The Java Series, Addison-Wesley, 1997.
  • Mark Lutz, ”Programming Python”, Third Edition, O’Reilly Media, 2006 R.
  • Kent Dybvig, ”The Scheme Programming Language: ANSScheme”, Second Edition, Prentice Hall, 1996
  • Ivan Bratko, ”Prolog: Programming for Artificial Intelligence”, Second Edition, Addison-Wesley, 1990.

Lenguajes

  • “To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge”
      • — Grace Murray Hopper (9 de diciembre de 1906 - 1 de enero de 1992) fue una científica especializada en Matemáticas y también una militar norteamericana, con grado de almirante, se considera una pionera en el mundo de la informática. Fue la primera programadora que utilizó el Mark I y entre las décadas de los 50s y 60s, propició la aplicación de los compiladores para el desarrollo de los lenguajes de programación y métodos de validación. Pasó a la historia de la informática como la inventora del lenguaje de programación COBOL, un lenguaje de alto nivel compilado, pensado especialmente para facilitar el desarrollo de programas de ordenador para gente sin conocimiento específicos de informática .

Lenguajes

  • Wikipedia: “A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languages, are defined by syntactic and semantic rules which describe their structure and meaning respectively. “

¿Por qué Estudiar Lenguajes?

  • “Para qué aprender tantos, ¡sigual vamos a ocupar solo Java en la vida real!”
    • Incrementar capacidad de expresar ideas
    • Mejor base para elegir lenguajes apropiados
    • Incrementar habilidad de aprender nuevos lenguajes
    • Mejorar el uso de los lenguajes
    • Mejor comprensión del significado de la implementación

Dominios de Programación

  • “Para el que tiene un martillo, todo tiene cara de clavo”
    • Aplicaciones de negocio
    • Programación de sistemas
    • Aplicaciones científicas
    • Inteligencia Artificial
    • Scripting (Shell, PERL, etc.)
    • Lenguajes de propósitos especiales (e.g. SQL, Simula, etc.)

Nivel de Abstracción de los Lenguajes

  • “Los programadores de verdad pueden escribir código ensamblador en cualquier lenguaje.” - Larry Wall
    • Lenguajes de Bajo Nivel
      • Lenguaje de Máquina
      • Assembler
    • Lenguajes de Alto Nivel
      • C, Pascal, Cobol, Fortran
      • Java, C++, Smalltalk, C#
      • Perl, Python, Ruby, Shell
      • Scheme, Lisp, Prolog
    • Lenguajes de otros niveles...
      • de Medio Nivel (C, Fortran, Cobol)
      • de ¿Altísimo Nivel? (Visual Basic, etc)

Métodos de Implantación

  • Lenguajes Compilados
    • Código de Fuente Binarios ejecutables
    • como C
  • Lenguajes Interpretados
    • Código de Fuente Interpretado línea por línea
    • como Scheme
  • Lenguajes Híbridos
    • Se compilan a un lenguaje intermedio
    • Como al Bytecode de Java

Ambientes de Programación

  • Sistema de Archivos
  • Editores
  • Enlazadores
  • Cargadores
  • Compiladores
  • Depuradores

Paradigmas de Programación

  • Paradigma: Conjunto de opiniones, valores y métodos compartidos por los integrantes de un colectivo.
  • Distintas ideas (o escuelas) para programar
  • A veces para distintos propósitos, a veces distintas aproximaciones
  • Los más conocidos:
    • Imperativos: C, Pascal, Basic
    • Orientados a Objetos: Java, C++, Smalltalk
    • Scripting: Perl, Shell, Python
    • Funcionales: Scheme, Lisp
    • Lógicos: Prolog

Evolución de los Lenguajes

Estándares

  • Estándares de Facto: Un estándar de facto es aquel patrón o norma que se caracteriza por no haber sido consensuada ni legitimada por un organismo de estandarización al efecto. Los estándares de facto son aquellos que tienen una alta penetración y aceptación en el mercado, pero aún no son oficiales.

Estándares

  • Estándares de Jure: Un estándar de jure u oficial, en cambio, es definido por grupos u organizaciones oficiales tales como la ITU, ISO, ANSI, entre otras
  • Ejemplos:
    • ANSI C
    • ISO C++
    • J2EE Standard
    • ANSI SCHEME
    • ISO PROLOG

Fin



La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal