Introducción a los lenguajes de programación

3/31
Recursos
Transcripción

Aportes 720

Preguntas 29

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

¿Qué es un lenguaje de programación?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma, crear programas que controlen el comportamiento físico y lógico de una máquina.

¿Qué tipos de lenguaje de programación existen?
El lenguaje de programación es la base para construir todas las aplicaciones digitales que se utilizan en el día a día y se clasifican en dos tipos principales: lenguaje de bajo nivel y de alto nivel.

Lenguaje de programación de bajo nivel
Son lenguajes totalmente orientados a la máquina.

Este lenguaje sirve de interfaz y crea un vínculo inseparable entre el hardware y el software.

Además, ejerce un control directo sobre el equipo y su estructura física. Para aplicarlo adecuadamente es necesario que el programador conozca sólidamente el hardware. Éste se subdivide en dos tipos:

Lenguaje máquina
Es el más primitivo de los lenguajes y es una colección de dígitos binarios o bits (0 y 1) que la computadora lee e interpreta y son los únicos idiomas que las computadoras entienden.

Ejemplo: 10110000 01100001

No entendemos muy bien lo que dice ¿verdad? Por eso, el lenguaje ensamblador nos permite entender mejor a qué se refiere éste código.

Lenguaje ensamblador
El lenguaje ensamblador es el primer intento de sustitución del lenguaje de máquina por uno más cercano al utilizado por los humanos.

Un programa escrito en éste lenguaje es almacenado como texto (tal como programas de alto nivel) y consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables por un microprocesador.

Sin embargo, dichas máquinas no comprenden el lenguaje emsamblador, por lo que se debe convertir a lenguaje máquina mediante un programa llamado Ensamblador.

Este genera códigos compactos, rápidos y eficientes creados por el programador que tiene el control total de la máquina.

Ejemplo: MOV AL, 61h (asigna el valor hexadecimal 61 al registro “AL”)

Lenguaje de programación de alto nivel
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones más fáciles de entender.

Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas que conocemos (español, inglés, etc.) y luego, para ser ejecutados, se traduce al lenguaje de máquina mediante traductores o compiladores.

Traductor
Traducen programas escritos en un lenguaje de programación al lenguaje máquina de la computadora y a medida que va siendo traducida, se ejecuta.

Compilador
Permite traducir todo un programa de una sola vez, haciendo una ejecución más rápida y puede almacenarse para usarse luego sin volver a hacer la traducción.

Soy un Ser primitivo que aprendió Fortan y COBOL (fui programador a principios de los 70s) y ahora quiero aprender Python y Java. Espero salirme con la mía!

Buen día, aquí una explicación un poco mas clara de lo que es el conocimiento declarativo y el imperativo mas enfocado a la programación:

Programación declarativa: Es cuando le dices a la máquina que hacer, pero no detalla el control de flujo (no ves el paso a paso), se maneja por funciones.
Ejemplo:
Instrucción: dime si 6 es mayor que 5.

la maquina llama a la función comparativo()

Respuesta: 6 es mayor que 5

Como se puede ver le das un input a la maquina y te arroga un resultado sin ver lo que pasa en el inter.

Programación Imperativa: Es cuando le dices a la maquina paso paso que tiene que hacer y le indicas el flujo de cómo hacer, esto mediante comandos tales, como:

  • If, else

  • Case, switch

  • Loops for, while (entre otros)

Ejemplo:
Instrucción: dime si 6 es mayor que 5.

La maquina realiza la operación:
If 6>5 then:
Respuesta 6 es mayor que 5

else:
Respuesta 6 no es mayor que 5

Respuesta: 6 es mayor que 5

Como se puede ver le das un input a la maquina y puedes ver la comparación o flujo que hizo la maquina para llegar al resultado

Dato curioso: no puede existir programación declarativa sin programación imperativa ya que en algún momento y lugar debiste de programar las funciones que llamas en forma imperativa.

Algo de historia 😉
1 – Fortran (1957)
2 – Cobol (1959) …
3 – Basic (1964) …
4 – C (1969) …
5 – Pascal (1970) …
6 – C++ (1983) …
7 – Perl (1987) …
8 – Python (1991)
9 – Ruby (1993)
10 – PHP (1995)
11 – Java (1995)
12 – Javascript (1995)
13 – Ruby On Rails (2005)

El principio de Bernoulli es básicamente el principio matemático que hace posible que los aviones vuelen ✈️, ya que propone las bases de la hidrodinámica, donde se dice que a mayor velociodad menor presión, y a menor velocidad mayor presión. Él vivió en Suiza por los 1700’s y ganó múltiples premios de matemáticas. 🤓

RESUMEN :


Instrucciones.

  • Conocimiento delcarativo: Relaciones existentes entre diversas variables
  • Conocimiento imperativo: Como podemos llegar a un resultado.

Algoroitmo :
Es una lista finita de instrucciones que describen un cómputo, que cuando se ejecuta con ciertas entradas ejecuta pasos intermedios para llegar a un resultado.

Las ideas de los algoritmos dieron la idea de lenguajes progamación.

  • ¿Donde empezaron todo?

Con Ada Lovelace contemporánea de Babbage, con las bases teóricas del motor analítica.
Ella escribió lo que sería la serie o número de Bernulli. La serie o números de Bernulli : Es una secuencie de números racionales que ocurren frecuentemente en la teoría de números, Ada, escribió para el motor analítico un algoritmo generado para esta secuencia y por ello, se conoce a los números de Bernoulli como el primer “programa de computación”.

Para una lectura profunda del tema:


Las computadoras entienden una secuencia finita de 0 - 1, representan qué instrucción voy a dar y donde.
Para desarrollar Grace Hopper fue la primera en entender que puede escribir una serie de instrucciones que leen otro progama que puede entender la computadora. Esta idea fue la fundó los lenguajes de programación.

Es decir un lenguaje humano que pudieramos traducir instrucciones de cómputo al lenguaje de 0 - 1.

Para ser gráficos hubo un salto desde:

00001010 01110000 01110010 01101001 01101110 01110100 00101000 00100010 01001110 01110101 01101110 01100011 01100001 00100000 01110000 01100001 01110010 01100101 01110011 00100000 01100100 01100101 00100000 01100001 01110000 01110010 01100101 01101110 01100100 01100101 01110010 00100010 00101001 

Hasta esto:

print("Nunca pares de aprender")


Esta misma idea de generar compiladores. El profesor Dennis Ritchie inventó el lenguaje C y cocreador, junto con Ken Thompson, del sistema operativo Unix. La sintáxis en que está escrito es muy eficiente, y su estructura está muy cerca al lenguaje máquina, es casi la base de todos los lenguajes de programación. Posterior tenemos a Guido Van Rossum, los volvió comprensibles, los acercó al lenguaje natural.
Eliminó casi todos los símbolos para poder volverlo más legible. Por eso Python es tan cercano al aprendizaje del lenguaje natural y es usado como lenguaje de cimientos.

  • Los lenguajes de programación modernos se les llama Turing completness en los que podemos implementar cualquier algoritmo.

Todos los lenguajes de programación poseen:

  • Sintaxis :
    Define la secuencia de símbolos que está bien formada. La morfolgía de la palabra que usamos.

  • Semánica estática :
    Define qué enunciados con sintaxis correcta tiene significado. Habla de cuales combinación representan una idea.

  • Semánica :
    Define el significado. En los lenguajes de programación solo hay un significado. Cual de todos los significados puede ser el correcto. No existe ambiguedad, en programación no existe el contexto.

Recomiendo ampliamente dos libros de Python, nivel principiante pero son geniales porque profundizan en conceptos y además divertidos.

  1. "Python para todos. Explorando la información con Python 3"
    Charles R. Severance.

  2. “Python para todos” Raúl González Duque. (python 2)

Augusta Ada King, Condesa de Lovelace (Londres, 10 de diciembre de 1815-íd., 27 de noviembre de 1852), registrada al nacer como Augusta Ada Byron y conocida habitualmente como Ada Lovelace, fue una matemática, informática y escritora británica, célebre sobre todo por su trabajo acerca de la calculadora de uso general de Charles Babbage, la denominada máquina analítica. Entre sus notas sobre la máquina, se encuentra lo que se reconoce hoy como el primer algoritmo destinado a ser procesado por una máquina,por lo que se la considera como la primera programadora de ordenadores.
Inspiración total !!!



Vídeo explicativo sobre los Número de Bernoulli: https://www.youtube.com/watch?v=H909pxtcIyg

La demostración de principio de Bernoulli
https://www.youtube.com/watch?v=aXiSkWBKnzs

Es impresionante todas las opciones que tenemos… sigo muy interesado en este mundo compútacional. quiero ser un experto en Phyton

Yo vengo del mudo de Java del paradigma programación orientada a objetos. Creo que es importante conocer los paradigmas de programación para lograr sacar la mayor potencia de cada uno de ellos.

Introducción a los lenguajes de programación

Existen dos conocimientos:

  • Declarativo
  • Imperativo

Declarativo: Que tipo de relaciones existen entre diversas variables u objetos, ej. Una formula Matemática.

Imperativo: Nos dice como llegar a un resultado y es justo aquí donde encontramos los algoritmos.

Algoritmo: Es una lista finita de instrucciones que describen un cómputo, que cuando se ejecuta con ciertas entradas ejecuta pasos intermedios para llegar a un resultado.

Los lenguajes de programación están diseñados para los humanos, estos traducen a 1/0 para que pueda entenderlo las computadoras.

El lenguaje C es uno de los mas usados y el que influye a todos los lenguajes siguientes. Python elimina la mayoría de los símbolos que resultaban difíciles de entender para el humano.

  • Sintaxis Define la secuencia de símbolos que está bien formada
  • Semántica estática: Define qué enunciados con sintaxis correcta tienen significado
  • Semántica: Define el significado. En los lenguajes de programación, solo hay un significado

En este podcast esta la historia de C. Un excelente episodio.
https://www.redhat.com/en/command-line-heroes/season-3/the-c-change

De manera general, los números de Bernoulli son una sucesión de números cuyo resultado en la posición “n” está asociado al de los primeros “n-1” resultados. Donde los resultados de cualquier posición (n) impar mayor a 1 siempre serán 0.
En otras palabras, para calcular el número de Bernoulli en la posición “n” es necesario iterar “n” veces para obtener dicho resultado. Esto hace que sea un buen ejemplo para generar un algoritmo iterativo como el generado por Ada Lovelace.

He trabajado con C, Java y PHP, pero desde que conoci Python no quiero trabajar en nada mas jeje

Guido van Rossum es un informático,​ conocido por ser el autor del lenguaje de programación Python. Nació y creció en los Países Bajos.

En el ambiente de los desarrolladores del lenguaje Python también se le conoce por el título BDFL (Benevolent Dictator for Life), teniendo asignada la tarea de fijar las directrices sobre la evolución de Python, así como la de tomar decisiones finales sobre el lenguaje que todos los desarrolladores acatan.
Inspiración total x4

Grace Murray Hopper (Nueva York, 9 de diciembre de 1906 - Condado de Arlington, 1 de enero de 1992) fue una científica de la computación y militar estadounidense con grado de contraalmirante. Fue pionera en el mundo de las ciencias de la computación y la primera programadora que utilizó el Mark I. Entre las décadas de los 50 y 60 desarrolló el primer compilador para un lenguaje de programación así como también propició métodos de validación.

Inspiración total x2!!

La verdad es que no conozco ninguno en profundidad pero me encanta la informática, todo lo relacionado a la Inteligencia Artificial y por ende quiero aprender eso mismo. Por eso estoy acá. Espero de un tiempo a esta parte poder decir que Python y otro más son mis lenguajes favoritos.

En la universidad, en Ing. Industrial nos hicieron a programar en C++, luego cuando empecé Ing. de Sistemas en Ruby y por esa razón llegue a Python, que ha despertado en mi una amplia curiosidad y ganas de aprenderlo. Tengo en mente seguir hasta completar el LP de Ciencia de Datos, Machine Learning o IA. No voy a parar hasta lograrlo!.

Gracias por la historia de todo este mundo, que incluso ni en las universidades nos la indican.

Slds!

Conocimiento declarativo: Que relación existe entre diversas variables, entre diversos Objetos

Conocimiento Imperativo: Nos dice como llegar a un resultado justo dentro de la rama de conocimiento imperativo estan los algoritmos

“Un algoritmo es una lista finita de instrucciones que describen un computo, que cuando se ejecuta con ciertas entradas (inputs) ejecuta pasos intermedios para llegar a una salida(input)”

Los lenguajes de programación iniciaron con Ada Lovelace

Serie de bernoulli https://es.wikipedia.org/wiki/Número_de_Bernoulli#Definición_de_los_números_de_Bernoulli

Grace Murray Hopper
Dennis Ritchie
Guido van rossum

Mi lenguaje favorito actualmente es Python, me gustaria aprender Go o Javascript

Hace tiempo vengo interesándome en programar. Recuerdo leer que depende de lo que busques hacer existen lenguajes más adecuados. Sin embargo, parece que entre los más adaptables a la población general son Ruby on rails y Python.
¡Tengo muchas ganas de aprender ambos!

Me encanta saber que python es muy cercano a nuestro lenguaje natural

Los números de Bernoulli constituyen una sucesión de números que comparten entre sí una relación basada en una teoría de números o por alguna razón matemática.

Los lenguajes de programación que más me interesan aprender son JS, Python y R aunque más que todo estos dos últimos por mi gran interés en Data Science.

Hasta el momento he programado en C y JS… muy entusiasmado por aprender Python 😃

Qué son los algoritmos: Una lista finita de instrucciones que describen un cómputo, que cuando se ejecuta con ciertas entradas (inputs) ejecuta pasos intermedios para llegar a un resultado (outputs).

Historia de los lenguajes
• Ada Lovelace: dio comienzo a los lenguajes de programacion, junto con el conocimiento del motor analitico de Babbage, pudo crear su primer programa. La serie de bernoulli.
• Grace hopper: Dio inicio a los compiladores, ella se dio cuenta que podía escribir una serie de instrucciones que podían leer un programa para así traducirlo a lenguaje de máquina.
• Dennis Ritchie: Creador del lenguaje C. De la sintaxis de este lenguaje derivan la mayoría de los lenguajes actuales, algo así como el latín de los lenguajes de programación.
• Guido van Rossum: Creador de Python, simplificar el lenguaje de programación eliminando todos los caracteres que podrían dificultar la comprensión de un programa. Haciendo que cualquiera que pueda leer tenga la capacidad de programar.

**Los lenguajes tienen ** sintaxis (secuencia correcta de escribir), Semántica (lo que escribes con la sintaxis correcta tiene un sentido).

Lenguajes de programación
Alto nivel (optimizados para que puedan ser usados por humanos) y Bajo nivel (optimizados más para máquinas)
General (tiene todos los primitivos para hacer cualquier cosa), Específico (solo puede hacer algo para lo que fue diseñado)

Interpretado (se traduce a lenguaje máquina en tiempo de ejecución), Compilado (nosotros convertimos a lenguaje máquina antes de pasarle a la computadora)

Como dato curioso el Sr. Guido se inspiró para el nombre del lenguaje en una serie británica de comedia llamada los Monty Python’s, muy buena por cierto.

El lenguaje que estoy aprendiendo es Python. 😄

Es interesante que C sea el lenguaje equivalente al latín. Si lo piensan, muchos lenguajes son como los acentos del español porque al final podemos hacer lo mismo en ellos con ciertas diferencias. También hay lenguajes más distintos que podrían ser como otros idiomas romances como portugués o francés. 😉

Muy buena clase , pero me gustaria que explicaran màs sobre los lenguajes maquina , de bajo nivel y alto nivel

Empeze con Java pero ahora tengo mucho interes en Python por AI y me gustaria aprender JavaScript.

Hasta ahora solo conozco Html, Css y muy poco de JavaScript pero estoy muy emocionado por aprender Python. Creo que va a ser mi favorito.

Hasta el momento conozco Fortran, C++ y Java, pero estoy super motivado a aprender Python.

Número de Bernoulli. con el fin de distinguirlos de los números de Bell) constituyen una sucesión de números racionales con profundas conexiones en teoría de números. Fueron llamados así por Abraham de Moivre, en honor de Jakob Bernoulli, primer matemático que los estudió.

yo no se nada de nada pero aquí estoy, en mi primera clase, ojala me vaya bien y sepa que estoy haciendo con mi vida jajajaja pero de esto quiero vivir porque me llama mucho la atención.

Excelente clase, yo inicie con javascript, y me interesa aprender python por su simplicidad y sus usos en Data Science y en Inteligencia Artificial.

¿Qué hacía realmente el programa de Ada Lovelace?
Los números de Bernoulli.

Dennis MacAlistair Ritchie (9 de septiembre de 1941 - 12 de octubre de 2011) fue un científico de la computación estadounidense.1

Colaboró en el diseño y desarrollo de los sistemas operativos Multics y Unix, así como el desarrollo de varios lenguajes de programación como el C, tema sobre el cual escribió un célebre clásico de las ciencias de la computación junto a Brian Wilson Kernighan: El lenguaje de programación C.

Recibió el Premio Turing de 1983 por su desarrollo de la teoría de sistemas operativos genéricos y su implementación en la forma del sistema Unix. En 1998 le fue concedida la Medalla Nacional de Tecnología de los Estados Unidos de América. El año 2007 se jubiló, siendo el jefe del departamento de Investigación en software de sistemas de Alcatel-Lucent.
Inspiración total x3

1. ¿Qué es un algoritmo?
• Es un conjunto de instrucciones para una computadora que nos ayudan a resolver un problema
2. Lista de lenguajes de programación
• PHP
• Ruby
• Java
• Perl
• Python
• Javascript
• C++
3. El primer lenguaje de programación fue creado por Ada Lovelance.
• Augusta Ada King, Condesa de Lovelace (Londres, 10 de diciembre de 1815-íd., 27 de noviembre de 1852), registrada al nacer como Augusta Ada Byron y conocida habitualmente como Ada Lovelace, fue una matemática, informática y escritora británica, célebre sobre todo por su trabajo acerca de la calculadora de uso general de Charles Babbage, la denominada máquina analítica. Entre sus notas sobre la máquina, se encuentra lo que se reconoce hoy como el primer algoritmo destinado a ser procesado por una máquina, por lo que se la considera como la primera programadora de ordenadores
4. Grace Hopper creo uno de los primeros lenguajes de programación para los humanos y computadoras
• fue una científica estadounidense y almirante de la Marina de los Estados Unidos . Una de las primeras programadoras de la computadora Harvard Mark I, fue una pionera de la programación de computadoras que inventó uno de los primeros enlazadores . Ella popularizó la idea de los lenguajes de programación independientes de la máquina, lo que condujo al desarrollo de COBOL , un lenguaje de programación inicial de alto nivel que todavía se usa en la actualidad.
**5. Dennis Ritchie el creador de C **
• Fue desarrollado originalmente en Bell Labs por Dennis Ritchie entre 1972 y 1973
• Se considera el padre de muchos de los lenguajes de programación actuales
6. Guido van Rossum. Creador de Python
• Fue lanzado por primera vez en 1991

Explicación de la serie de números Números de Bernoulli
https://www.youtube.com/watch?v=H909pxtcIyg

Empecé con Python y sigo con Python y mi lenguaje favorito es Python… jajaja…

En cuanto a la historia de la programación, hay un libro muy bueno de Omar Trejos, Colombiano, “La esencia de la lógica de programación”, en la sección de historia explica que ese lenguaje de programación el cual es directo con la maquina, se le llama programación Directa o Real, un ejemplo es Assembler.

Los lenguajes actuales, más entendibles para los humanos, se llaman lenguaje de alto nivel y por eso existen los interpretadores y compiladores, para convertir de alto nivel a bajo nivel y que la maquina lo pueda entender.

Gracias por la clase David, muy buena.

Les dejo mis notas https://github.com/karlbehrensg/introduccion-pensamiento-computacional

¿Cómo le damos instrucciones a las computadoras? Primero debemos saber que existen conocimiento declarativo e imperativo. El conocimiento declarativo define las relaciones que existen entre diversas variables, por ejemplo una fórmula matemática. En el caso del imperativo nos dice como llegar a un resultado, y dentro de este existen los algoritmos.

Un algoritmo es una lista finita de instrucciones que describen un cómputo, que cuando se ejecuta con ciertas entradas (inputs) ejecuta pasos intermedios para llegar a un resultado (output). Los algoritmos se conocen desde los antiguos griegos, y fue la evolución de estos que nos dieron los primeros lenguajes de programación.

Ada Lovelace se dio cuenta que con las bases teóricas del motor analítico podía calcular una serie de los números de Bernoulli_, y así creo el primer programa de computación.

Grace Murray Hopper fue pionera en el mundo de las ciencias de la computación y la primera programadora que utilizó el Mark I. Entre las décadas de los 50 y 60 desarrolló el primer compilador para un lenguaje de programación así como también propició métodos de validación. Grace se le ocurrió la idea de tomar unas instrucciones de 1 y 0 para simplificarlos en una instrucción mas entendible para las personas, idea que fue el punta pie inicial para los lenguajes de programación modernos.

En el sentido de la idea de los lenguajes de programación llega Dennis Ritchie, el cual fue el inventor del lenguaje C, posiblemente uno de los lenguajes mas importantes de la historia.

Guido van Rossum, tenia en mente crear un lenguaje de programación que fuera lo mas comprensible posible, eliminando símbolos y sintaxis extrañas, cercano al lenguaje natural. Fue por esta idea en donde nació Python.

Los lenguajes de programación modernos se les conoce como Turing completeness ya que implementan todos los principios para implementar cualquier tipo de algoritmo.

Todos los lenguajes tienen:

  • Sintaxis: Define la secuencia de símbolos que está bien formada.
  • Semántica estática: Define que enunciados con sintaxis correcta tienen significado.
  • Semántica: Define el significado. En los lenguajes de programación sólo hay un significado.

¿Cómo le damos instrucciones a las computadoras?

  • Conocimiento Declarativo: no dice que relaciones existen entre diversas variables, objetos.

  • Conocimiento Imperativo: nos dice como llegar a un resultado. Dentro de esta rama estan los algoritmos

    Un algoritmo es una lista finita de instrucciones que describen un computo, que cuando se ejecuta con ciertas entradas (inputs) ejecuta pasos intermedios para llegar a un resultado (output). John V. Guttag

Los algoritmos nos dieron los primeros lenguajes de programación.

Ada Lovelace, contemporánea de Babbage, creo el primer programa de computación para calcular la serie de números de Bernoulli.

La computadora entiende sistema de números binario, unos y ceros, que representan instrucciones y datos: qué instruccion voy a dar y que datos voy a guardar.

Grace Hopper desarrolla lenguajes de alto nivel. Ella escribe instrucciones que pueden ser leidas por otro programa que traduce esas instrucciones en unos y ceros que puede entender la computadora. Esta forma de pensamiento nos da las bases para los lenguajes de programacion modernos

El profesor Dennis Ritchie inventó el lenguaje C, uno de los lenguajes mas importantes de la historia. Es cercano al hardware. Es el “padre” de Java, Javascript…

Guido Van Rossum. Años `90. Crea Python, intentando acercar los lenguajes de programación al lenguaje natural, eliminando símbolos.

Los lenguajes de programación modernos son conocidos como “Turing Completeness” (son completos dentro de Turing) ya que implementan todos los primitivos que en principio necesitamos para realizar cualquier tipo de cómputo o algoritmo.

Todos los lenguajes tienen

  • una sintaxis: secuencia de simbolos que determinan si lo escrito está bien formado o no.
  • una semántica estática: define qué enunciados con sintaxis correcta tienen significado
  • una semántica: define el significado según contexto. En Programación, no hay diferentes acepciones, no son ambiguos. SOLO UN SIGNIFICADO.

¿Cómo dar instrucciones a una computadora?
De forma declarativa e imperativa.

Declarativa: tipo de relaciones que existen entre diversas variables y diversos objetos.

Imperativa: nos dice como llegar a un resultado. Aqui se encuentran los algoritmos.

Algoritmo: lista infinita de instrucciones que describen un cómputo que cuando se ejecuta con ciertas entradas (inputs) ejecuta pasos intermedios para llegar a un resultado (outputs)

¿Los lenguajes de programación fueron hechos por otros lenguajes de programación?

-Los números de Bernoulli son valores que forman una sucesión de números racionales muy importante en una rama de las matemáticas conocida como teoría de números y especializada en el estudio de las características de los propios números, para facilitar la comprensión de su estudio, Ada decidió clasificar sus notas utilizando varias secciones identificadas por una letra de la A a la G, esta última describe con absoluta precisión un procedimiento que en teoría indicaba a la máquina analítica qué cálculos debía llevar a cabo para obtener los números de Bernoulli

Que buen video. Quiero aprender Phyton porque quiero dedicarme a hacer inteligencia artificial.

Empece hace rato con programación tuve la oportunidad de estudiar BASIC, COBOL, PASCAL C, C++, eso fue hacia el año 1985, ahora estoy interesado en volver a la programación y empezar con PYTHON, claro que para esto me toca empezar a recordar nuevamente lo que alguna vez aprendí. Entonces aca estoy.

También hay computadoras naturales; es decir inmersas en nuestro cuerpo. Una de ellas es el cerebro con sus miles de interconexiones formando múltiples redes. Adicional nuestro sistema inmunológico es otro gran sistema de computo natural y que no decir de nuestro sistema endocrino.

Mi primer acercamiento con la programación fue en la universidad con los lenguajes Pascal y C. El primero fue bastante sencillo de aprender, pero nunca tuve el suficiente entusiasmo para meterme de lleno, luego con C las clases se tornaron muy duras al punto que cambie de carrera, mis palabras en ese momento fueron: “Programar no es para mí”. 4 años han pasado de eso y estoy aquí para demostrarle a mí yo del pasado cuan equivocado estaba.

Solo comentar que me pone muy feliz que mujeres pudieron ser parte del desarrollo tecnológico desde muchísimos años atrás. Gracias David, por hablarnos de ellas.

hola buen dia soy nuevo y tuve una mala experiencia con la progamacion durante mi carrera entonces decidí darme una nueva oportunidad para poderle sacar el gusto a la programacion.

Ada Lovelace: La encantadora de números

La serie de Bernoulli es una serie de fracciones con diferentes aplicaciones matemáticas, se considera el primer programa de la historia.

Conocimiento declarativo: Nos dice que tipo de relaciones existe entre diversas variables/objetos.
Conocimiento imperativo: Nos dice como llegar a un resultado, como los algoritmos.
Algoritmo: Lista finita de instrucciones que describen un cómputo, el algoritmo nos proporciona una serie de outputs según los inputs que nosotros proporcionamos.

Importante recalcar la diferencia en los lenguajes:

Interpretados: Python, Java, Javascript
Compilados: C++, C

no pude programar hola mundo 😦
nivel 0
pero mejoraré

Estudio actualmente Ingeniería de Software en ICESI (Cali, Colombia) y no sabia nada de programación. Inicie con software como App Inventor del MIT y luego aprendí Java. Ahora estoy iniciando a aprender C# y me interesa aprender Swift, Python y de pronto un poco de JavaScript.

Cuando estaba en la preparatoria nos enseñaron Lenguaje Ensamblador para programar Pic´s, eso si fue una pesadilla XD

Saludos desde Arequipa Perú, mi lenguaje de programación favorito es JavaScript y me ahora estoy aprendiendo Python.

Excelente clase, muy clara. Creo que esté curso es el complemento ideal de Programación Básica de Freddy, sirve mucho esta base teórico, histórica, para poder comprender mejor. Quisiera aprender Python. ¡GRacias!

La “encantadora de números” que hizo el primer software https://www.bbc.com/mundo/noticias/2013/10/131018_ada_lovelace_pionera_compacional_finde

Algoritmo: es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.​ Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
https://es.wikipedia.org/wiki/Algoritmo

apuntes

¿como le damos instrucciones a estas computadoras?

  • Conocimiento declarativo: nos dice que tipos de relaciones existen entre diversas variables u objetos. ej:una formula matemática

  • conocimiento imperativo: como llegar a un resultado.

  • Dentro de la rama de conocimiento imperativo están los algoritmos.

  • Algoritmos: es una lista de instrucciones que se ejecuta cuando recibe una entrada y genera unos procedimientos para dar una respuesta o salida.

  • Esta idea de algoritmos fue la que nos dio los primeros programas de computación y los lenguajes de programación para ejecutar o describir dichos programas.

  • Ada Lovelace fue una contemporánea de Babbage que creo el primer algoritmo de computación.

  • La computadora entiende instrucciones y datos solo con números, entonces fueron creados los lenguajes de programación, para escribir programación de tal forma que lo entendamos nosotros los humanos y poder traducir las instrucciones y datos en números.

  • Guido van Rossum: en los 90’s se dio cuenta que era muy importante que los lenguajes de programación fueran comprensibles, que estuvieran escritos en lenguaje natural, Guido elimino casi todos los símbolos que nos hacían que tuviéramos problemas cognitivos, que nos hacia pensar que lo que estábamos leyendo era raro, y por eso Python es tan fácil de leer.

  • Los lenguajes de programación modernos se conocen como Turing completeness ya que implementan todos los primitivos que en principio necesitamos para crear cualquier tipo de algoritmo.

  • Todos los lenguajes tienen sintaxis, semántica estática, semántica.

  • Sintaxis: define la secuencia de símbolos correcta, el orden.

  • Semántica estática: define que enunciados con sintaxis correcta tiene significado.

  • Semántica: define el significado. En los lenguajes de programación solo hay un significado.

Dennis Ritchie es conocido sobre todo por ser el creador del lenguaje de programación C y cocreador, junto con Ken Thompson, del sistema operativo Unix. También fue coautor junto con Brian Kernighan del manual El lenguaje de programación C, que durante años fue el estándar de facto del lenguaje (conocido como K&R C), hasta la aparición del ANSI C.

Estos aportes convirtieron a Ritchie en un importante pionero de la informática moderna. El lenguaje C se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java. Unix también ha sentado las bases de los sistemas operativos modernos, como GNU/Linux y Mac OS X, estableciendo conceptos y principios que hoy son ampliamente adoptados.

Un buen sitio de referencia sobre lo que hace el programa de ADA y super recomendado este documental de la bbc calculating ada: the countess of computing

Me gusta Python y espero lograr programar bien en el

Ahora estoy aprendiendo Java nivel intermedio y me interesa mucho aprender Python.

Si quieren saber un poco más sobre Ada Lovelace este articulo corto esta muy interesante:

  • How a woman from the 1800s became the first computer programmer
    aquí

Mi primer lenguaje fue pascal y Clipper XD

cuando entre a la universidad fue c y ensamblador 😦
Mi favorito es c# por que me ahorra programar los botones (como c y visual basic juntos 😛)

Holaaa a todos!, muy interesante la clase y aportando sobre cuál es mi lenguaje favorito, pues es Python 🐍.
Quiero aprender JavaScript XD
Sé un poco de Java pero me gusta más Python jajaja

Favorito: JavaScript ❤️
Pero quiero aprender Python, para inteligencia artificial jejeje

me gustaría aprender python, se que me han dicho que no debo casarme con alguno en especifico, pero este me llama mucho la atención y me gustaría aprender todo de el.

Mi lenguaje de programación favorito hasta ahora es Python, desde el Python Challenge me gustó mucho éste lenguaje por su simpleza y lo fácil que es de leer, además de los cursos de Facundo que son una joya. 💚🐍

La verdad empecé unos tutoriales de youtube de C++ y me gustó mucho aunque algo complejo pero pues he visto que todo depende de para qué se utilice cada lenguaje porque cada uno tiene su especialidad.
Por cierto, si a alguien le interesa para complementar hay una app que se llama Sololearn, es para aprender programación.

La historia de los lenguajes de programación es sin dudas una que es de obligatoria lectura, un buen resumen. Les dejo un post para complementar:

https://www.muycomputerpro.com/2011/08/26/historia-lenguajes-programacion

Sería interesante también aprender sobre el lenguaje Julia , se ve prometedor

Es muy interesante como las mujeres han hecho parte desde la creación de las computadoras hasta la evolución de los lenguajes de programación.

Yo no sé mucho sobre lenguajes de programación pero sí de las lenguas humanas, y creo que es por eso que estoy entrando a este curso.

Qué es turing complete
https://www.youtube.com/watch?v=Es2NwtUwVc0
😃

Soy nuevo en esto y me parece genial poder ingresar en este mundo.

Les dejo el link para el libro de “La esencia de la lógica de la programación” muy recomendado, se descarga por medio de MEGA:

https://ingenieriadesistemasunc.blogspot.com/2016/11/la-esencia-de-la-logica-de-programacion.html

Me causa mucha curiosidad cómo se programan los lenguajes, cómo se crean. Debe ser muy interesante crear algo que a su vez el objetivo es que ese algo sea capaz de crear más cosas

Comparto mis apuntes:


							Aporte personal.

Yo aprendí a programar con el lenguaje java, ya que este es el utilizado en mi universidad para poder entender su funcionamiento, paradigmas y estructuras, la verdad es muy fácil de aprender y cuando aprendes un lenguaje de programacion eso te ayuda a aprender más fácil otros lenguajes, esto lo digo que en el trascurso de mi carrera tuve que aprender lenguajes desconocidos para mí en tiempo record para cumplir con los proyectos y aprender nuevas ramas de conocimientos, estos lenguajes fueron c, c++, c#, php, javascript, etc. Ahora estoy aquí para aprender phyton y estoy emocionado, ya que siempre aprender un lenguaje nuevo es muy satisfactorio y útil, ya que cada uno tiene su propias ventajas y desventajas.

								Aporte de conocimiento.

Generaciones de los lenguajes de programación
Los lenguajes de programación han sido clasificados también en diferentes generaciones que históricamente han indicado el poder de estilo de programación.

Existen 5 generaciones de lenguajes de programación:

  • Los lenguajes de primera generación - 1GL, son lenguajes de bajo nivel conocidos como lenguaje de máquina. Se utilizan para programar las computadoras a un nivel muy bajo de abstracción.
  • Los lenguajes de segunda generación - 2GL, también son lenguajes ensambladores de bajo nivel. Se usan en kernels y unidades de hardware, además de ser usados comúnmente para edición de video, gráficos y videojuegos.
  • Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel, como C, C++, C#, Java, BASIC, JavaScript y Visual Basic.
  • Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten en declaraciones similares a las declaraciones hechas en un lenguaje humano. Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python, Ruby y SQL.
  • Los lenguajes de quinta generación - 5GL, son lenguajes de programación que contienen herramientas visuales para ayudar a desarrollar un programa. Ejemplos de lenguajes de quinta generación incluyen Mercury, OPS5 y Prolog.

Y mi profesor nos habló de una posible sexta generación que sería involucrada mediante inteligencia artificial tratando de imitar las emociones humanas, es solo una suposición, ya que aún no es real, pero en eso se anda trabajando.

En resumen, los lenguajes de las generaciones 1GL y 2GL son también de bajo nivel y los de las generaciones 3GL, 4GL y 5GL son de alto nivel. Y todo esto nos ayuda a comprender el porqué siempre se ofrecen mejores herramientas para trabajar con ellas y así ayudar al ser humano a trabajar más fácil, ya que no es necesario trabajar con ensamblador y encambio se ofrecen nuevas alternativas más fáciles y más cortas para poder dar solucicon a una infinidad de problemas o necesidades.

¿Cómo dar instrucciones?
1-Conocimiento declarativo vs imperativo
Declarativo: tipo de relacion que existe en diferentes objetos.
Imperativo: como llegar a un resultado.

2-Algoritmos
Primeros programas de computación.
Lista finita de instrucciones que describen un computo, que cuando se ejecuta con ciertas entradas(inputs) ejecuta pasos intermedios
para llegar a un resultado(ouput).

Binarios
¿Que significan estos 1 y 0?
Instrucciones y datos

Dennis Ritchie
Inventor del lenguaje C.
C : es uno de los lenguajes mas importantes de toda la historia, fue por su propia sintaxis influyo en casi todos los lenguajes al futuro
es como si fuera el latín de los lenguajes de programación.

Programación

1-Turing completeness
Implementan todos los primitivos que en principio se necesita para hacer cualquier algoritmo
2-Los lenguajes de programación modernos dan primitivos que son mas convenientes que los primitivos de Turing.

Lenguajes
1-Sitaxis.
Define la secuencia de símbolos que esta bien formada.
2-Semantica estática.
Define que enunciados con sintaxis correcta tienen significado.
3-Semantica.
Define el significado. En los lenguajes de programación solo hay un significado.

Actualmente quiero aprender Python, tengo conocimiento de C y a comparación a Python este puedes ahorra cosas simples que se nos olvida poner por ejemplo el ; , ( ) los pasos por parámetros son mas fáciles en Python al igual que las funciones.

¿Dónde comenzaron los algoritmos?

Mi lenguaje favorito es JS, es el que yo aprendí de manera propia cuando en la universidad nos enseñaban lenguajes mas tradicionales. Este lenguaje me abrió la posibilidad de ver el panorama del desarrollo de una manera distinta, un stack o perfiles dentro de la industria. Cosas que jamas vi.

Ahora estoy muy interesado en estudiar Python para que me sirva en mi estudio de IA, Scripting y Automatización. Se que puede incrementar mis conocimientos y reforzar en el sector de la industria en la que estoy actualmente que es RPA.

La evolución computacional jamas hubiera llegado sino fuera por las mujeres. INCREIBLE, muy bien.

Me llama la atencion JavaScript y python

Significado de algoritmo.

Es increíble, ahora mismo estoy en las bases de Javascript, quiero aprender python pues se que es un lenguaje que abre mucho las puertas a la rama de inteligencia artificial y desarrollo backend.

Mis lenguajes favoritos son Python, Go, Java y Js y me gustaría aprender Julia

Apenas estoy aprendiendo Python y me ha encantado!

la clase me gusto mucho, mis lenguajes de programacio favoritos son java,python y C el lenguje que me gustaria practicar mas es java y r

MI favorito es Python y me gustaría aprender GO

No soy programador, pero decidí girar mi carrera profesional a la Ciencia de Datos. Llevo un par de años utilizando R para proyectos personales y siento que es un lenguaje noble para quienes tenemos prácticamente cero conocimiento de programación. Sin embargo, viendo la oferta laboral creo que Python es una opción más redituable, y aquí estamos.

Felicidades por el curso, tengo buenas expectativas.

Me interesa mucho Python por su fácil lectura ,recién entró en el mundo de la programación y es uno de los lenguajes que me atrae mucho