Karen Paola Diaz Duarte
Alfredo Martínez García
Muy buen apunte compañera! gracias por tu aporte a la comunidad!
Karen Paola Diaz Duarte
@AlfredMtz10, Gracias a ti por tu comentario. Saludos!!
Los lenguajes de programación son un set de instrucciones que usamos para enseñarle a las computadoras los pasos a seguir para resolver un problema.
Existen diversos tipos de lenguajes de programación y los podemos reducir en 2 grandes categorías: lenguajes de bajo nivel y de alto nivel. Esto según su complejidad y nivel de preocupación o acceso al hardware.
Lenguajes de bajo nivel: Son los que te permiten hacer modificaciones en el hardware. Entre más bajo es el nivel, más nos debemos preocupar los programadores por el hardware. Por ejemplo, tenemos el lenguaje máquina (solo código binario) como el de más alto nivel, siguiendo por ensamblador (con instrucciones más amigables) y otros lenguajes como C o C++.
Lenguajes de alto nivel: Son frecuentemente lenguajes más modernos en los que uno como programador se enfoca en el software, no tanto por el hardware. Por ejemplo, Ruby, JavaScript o Perl.
Karen Paola Diaz Duarte
Alfredo Martínez García
Muy buen apunte compañera! gracias por tu aporte a la comunidad!
Karen Paola Diaz Duarte
@AlfredMtz10, Gracias a ti por tu comentario. Saludos!!
Marifer Villarroel
Los lenguajes de programación se dividen en dos campos:
Lenguajes de bajo nivel: cuando se dice que un lenguaje es de bajo nivel quiere decir que se ejecuta más cerca de la CPU y, por lo tanto, es más difícil de entender. Por ejemplo, los lenguajes de programación más cercanos a la CPU son el lenguaje máquina y el ensamblador.
Lenguajes de alto nivel: son los que están más cerca a nuestro lenguaje humano, es más amigable para nosotros. Por ejemplo, los lenguajes programación de alto nivel serían JavaScript o Python.
Brian Quiroz López
Muy buen aporte, soy principiante en esto y nunca lo había entendido.
Sergio Brandon De Lucio Chavero
Lenguajes de alto nivel: python, JS. Lenguajes de bajo nivel: c, c++.
Carlos Enrique Ramírez Flores
Super, recorde mi clase de programación en la universidad jeje!
Aquí tambien es importante conocer los lenguajes interpretados y compilados
**● Lenguajes compilados: ** Antes de poder utilizarse el programa debe utilizarse un traductor llamado “compilador” que se encarga de traducir (“compilar”) el programa original (“código fuente”) al programa equivalente escrito en lenguaje de máquina o ensamblador (“binario”). Los binarios son los programas ejecutables y los únicos necesarios para el funcionamiento del programa.
**● Lenguajes interpretados: ** Cada vez que se usa el programa debe utilizarse un traductor llamado “intérprete” que se encarga de traducir (“interpretar”) las instrucciones del programa original (“código fuente”) a código máquina según van siendo utilizadas. Para el funcionamiento del programa siempre es necesario disponer del código original y del intérprete.
Bernardo Aguayo Ortega
vaya dato interesante, gracias Carlos
Elmer Padilla Espinoza
Gracias Carlos por los apuntes de clase.
Ramiro Ramirez
Resumen:
Bernardo Aguayo Ortega
Gracias Crismon
Eduardo Monzón
Muchas gracias por el resumen.
Edgar Fretes
Lenguajes de programación: set de instrucciones especificas que van a indicar a la computadora los pasos a seguir para resolver algún problema, es como nos comunicamos con las computadoras, entre ellos están el lenguaje maquina y ensamblador. Lenguaje maquina se ingresa instrucciones directamente en código binario. Lenguaje ensamblador ya cuenta con un set de instrucciones brindadas por el fabricante del circuito integrado, ejemplo el CPU 8086 de Intel ya contaba con instrucciones y cada una de ellas tenía una forma de ser leída directamente en el hardware de código, es un lenguaje eficiente. Los lenguajes de alto nivel necesitan ser interpretados en la computadora, una instrucción de este lenguaje luego pasa a la conversión, y el intérprete (que es como un traductor) se encarga de que este lenguaje o código que estas escribiendo llegue al CPU (pasando antes por el SO) por eso son considerados lenguajes de alto nivel, que no son eficientes para programas de alto rendimiento ej. Un robot pero no pasa nada en las aplicaciones web o en los móviles ya que en los mismos contamos con muchos recursos de hardware
Thomas Alexander Riddle Delgado
Gracias
Elmer Padilla Espinoza
Edgar gracias por tus apuntes.
Fernando Jesús Paredes Rios
Es recomendable aprender primero lenguajes de alto nivel o de bajo nivel? saludos.
Diego Forero
Team PlatziEn mi opinión es mejor un lenguaje de Alto nivel primero, con esto aprendes todos los conceptos de programación y luego ya puedes afrontar con una curva de aprendizaje menor lenguajes de bajo nivel.
Rubén Fabián Ponce Segura
Opino lo mismo. Primero alto nivel para que aprendas los conceptos básicos de la programación moderna. Si comienzas con bajo nivel puede que termines frustrado por la curva de aprendizaje tan pronunciada y abandones la programación. Yo vi un poco de código ensamblador en la universidad, y aunque te ayuda a entender el fondo de lenguajes como C sí le sufres bastante pues no se genera "código genérico", sino que todo es "a mano".
GERARDO EMMANUEL ALONSO CELIS
En la vocacional llegué a trabajar con el Z86 y lenguaje ensamblador...... obviamente apenas lo entendí en su momento y ahora no recuerdo nada jajaja
David Behar
Yo aprendí a programar en AS3 (lo extraño), mi lenguaje favorito actualmente es js, aunque pasé por C, C++, C#, Java (ese no lo extraño), PHP.
Es muy útil entender la diferencia entre lenguajes de alto y bajo nivel para poder entender los límites de éstos.
Ivan Mendez
"Lenguajes de bajo nivel: Son los que te permiten hacer modificaciones en el hardware. Entre más alto es el nivel, más nos debemos preocupar los programadores por el hardware"
¿No se supone que tiene que ser alrevez? entre mas bajo mas nos tenemos que preocupar por el hardware.
alexander garcia castañeda
no sé si se refiera al hecho de que un lenguaje de alto nivel requiere más recursos del pc y por lo tanto requiera más hardware
Brayan Ccari
En resumen:
Miguel Ángel Ríos Yáñez
Muchas Gracias por el aporte.
Yosef Enmanuel Blandin Rios
Cuando vamos a ejecutar un código ¿primero pasa por el interprete y luego por el compilador, o viceversa?
Pat Villarroel
Hola Yosef
En general depende del lenguaje. Hay lenguajes interpretados (como JavaScript, Python, PHP, Ruby) y lenguajes compilados (C, C++, C#, Scala, Go, Pascal, Rust...). Y algunas rarezas como Java que es compilado e interpretado a la vez.
Un lenguaje compilado hace que todo el código deba ser procesado antes de ejecutarse, por lo que si tienes el más mínimo error, la compilación fallará y no habrá ejecución, por lo que tiene un paso más: compilas primero, luego ejecutas. Por cada sistema operativo debes crear un ejecutable compilado distinto. El interpretado se procesa a medida que se va ejecutando, por lo que es agnóstico del SO.
La excepción es Java, que con su filosofia "write once, runs anywhere" primero compila el código para convertirlo en un lenguaje de más bajo nivel llamado bytecode, el cual luego es distribuido a cualquier dispositivo que tenga instalado el Java Virtual Machine. JVM interpreta el bytecode y con eso se ejecuta el programa, logrando así que no debas escribir y compilar para cada S.O. sino que escribes una vez y JVM se encarga del resto (lo cual suena bonito pero tiene sus desventajas)
Jorge Cruz Perez
No, o se compila o se ejecuta, aun Java como menciona Pato es compilado, porque hay un archivo intermedio resultado de la compilación a diferencia de los lenguajes interpretados. El concepto lo entenderas mucho mejor conforme practiques y conozcas de lenguajes, el tip es nunca parar de aprender, saludos :)
Jose Antonio Rojas Ollarves
Lenguajes de programacion Es un metodo que se usa en la ingenieria para comunicar comandos a un ordenador, desde hacer un simple reinicio de la misma o encendido, de igual forma los lenguajes de programacion tienen enfoque principal en crear software, app,s juegos, edicion multimedia, etc. Todo se basa atravez de un Compilador : Atravez de el hace la traduccion del lenguaje de programacion que estemos escribiendo a codigo binario para que el ordenador entienda los procesos que tiene que realizar
Matías Wasiak
Gracias!
Michèle Däppen
Nota, los registros estan en el procesador. existe una instrucción llamada MOV, que mueve el valor de la memoria al registro.
MOV RAX, 2 ; Mueve el valor 2 al registro RAX (64 bits) MOV RBX, 2 ; Mueve el valor 2 al registro RBX ADD RAX, RBX ; Suma el valor de RBX al de RA
Ricardo Celis
ProfesorAsí es en la memoria del cpu
Elena Parada
¡Sigo fascinada con las explicaciones del maestro, yo no tenía nociones de programación y ahora lo veo muy posible! :D
Bernardo Aguayo Ortega
Venga compañera, me da gusto leer esto. Nunca pierdas la motivación y sigue
Moises Samuel Urias Moreno
No pierdas nunca la motivación y la esperanza, hay momento difíciles y frustrantes, pero si te das el tiempo de aprender lo vas a llegar a disfrutar un montón al punto de pasar toda una noche trabajando y no lo sientes o cuando te da sueño ya está amaneciendo :P
Carlos Nassif Trejo Garcia
Lenguajes de programación - Set de instrucciones especificos que le dicen a la computadora los pasos a seguir para resolver un problema
- Maquina: 0 y 1 - Ensamblador: upcodes - Alto nivel: Abstracción (necesita un intérprete) - Bajo nivel: Directo al CPU
Octavio Cuellar Vargas
Quiere decir que es más sencillo el aprendizaje con** lenguajes de bajo** nivel que de alto nivel?
Anderson René Santacruz Aguilar
Hola, los lenguajes de bajo nivel son los mas difíciles de aprender como Assembly ya que sus instrucciones no son tan comprensibles en cambio en los lenguajes de alto nivel sus instrucciones son muy sencillas. Lo bueno de los lenguajes de bajo nivel es su rapidez en ejecutarse.
Octavio Cuellar Vargas
Gracias Anderson por tu apreciación
Andrés González
Hola compañeros. Cuando el profesor se refiere a "intérprete" se está refiriendo al compilador? gracias!
Matthias Ignacio Clein Espinoza
El intérprete y el compilador son dos conceptos distintos. Ambos son Traductores, es decir, traducen el código fuente a lenguaje de máquina pero su diferencia radica en el momento en que lo hacen. El intérprete realiza la traducción a medida que se va ejecutando el programa, en cambio el compilador realiza toda la traducción antes de ejecutarlo. Para que te formes una idea más clara, el intérprete sería como cuando en las transmisiones de tv en vivo una persona va traduciendo en tiempo real hablando encima de la transmisión (como por ejemplo en los premios Oscar). Y el compilador sería una película que ves con subtítulos o doblada al español, porque ya vieron/analizaron toda la película para generar el doblaje o los subtítulos. Saludos y espero haber sido de ayuda ;)
Andrés González
@maticlein Matthias que gran explicación. No conocía sobre los intérpretes! Supongo que, como lo mencionó el profesor son características innatas de los lenguajes de alto nivel. Estoy comenzando de cero con todo este mundo del desarrollo a través del lenguaje C que por ser de bajo nivel se usa el compilador, de ahí surgió mi pregunta. Ahora me queda mucho más claro y me da una mejor visión para cuando entre a estudiar lenguajes de más alto nivel. Mil gracias!
Sebastian Sanchez Lindarte
Hola.
Tengo muy poco conocimiento y deseo aprender a programar desde cero, tienen alguna recomendación sobre en que orden puedo tomar los cursos?
Alejandro Urrea Giraldo
Hola jslindarte28!
El camino para aprender a programar suele ser único para cada persona. Cada programador dependiendo de sus gustos y necesidades podrá elegir opciones diferentes, y en muchas ocasiones, terminará aprendiendo más cosas por accidente que por elección propia.
Al principio, lo fundamental es que entienda como realmente un computador puede seguir nuestras instrucciones, y cómo podemos relacionar aquello que nos rodea en la vida real, para luego transformarlo en código y poder diseñar una solución mediante software.
Mi recomendación para que adquiera estas habilidades, es que empiece por el nuevo curso de Python. Es excelente, muy facil de entender, y le dará una introducción amigable a la programación:
https://platzi.com/clases/pythonbasico/
También puede tomar el curso de programación estructurada. Para este curso usan un lenguaje de programación llamado C, que es un lenguaje fundamental en la carrera de cualquier programador.
https://platzi.com/clases/programacion-estructurada/
Finalmente, si quiere tener un panorama más amplio sobre la programación, desde una perspectiva muy básica y didáctica, puede tomar el curso de programación básica con Freddy Vega.
https://platzi.com/clases/programacion-basica/
Recuerde escuchar más opiniones y sugerencias. Como le indiqué, el camino es diferente para cada programador.
Finalmente, tenga presente que en Platzi existe una comunidad muy activa dispuesta a ayudarle en este mágico camino de la programación.
Mucha suerte. Ánimo y bienvenido!
Luis Mojica
ProfesorAdicional a las recomendaciones de Alejandro que estan geniales, te sugiero incluir estos cursos que te brindaran algunas herramientas de aprendizaje que podrás aplicar a lo largo de toda tu carrera.