Bienvenido al Curso
Introducción al curso básico de algoritmos y estructuras de datos
Introducción a los algoritmos
¿Qué entiende una computadora?
Lenguajes de programación
Estructuras de datos
¿Qué es un algoritmo?
Metodología para la construcción de un algoritmo
Variables y tipos de datos
User defined data types
Instalando Ubuntu Bash en Windows
Creando nuestro user defined data type
Abstract Data Types básicos: Lists, Stacks, Queues
Explicación gráfica Data Types básicos
Glosario de funciones para Abstract Data Types
Clases y objetos
Creando tu primera Queue: Arrays
Creando tu primera Queue: implementación.
Creando tu primera Queue: implementar la función enQueue
Creando tu primera Queue: implementar la función deQueue
Creando tu primera Queue: main code
Algoritmos de ordenamiento
Algoritmos de ordenamiento
Bubble sort
Bubble sort: implementación
Bubble sort: main code
Insertion sort
Desafío: implementa un algoritmo de ordenamiento
Recursividad
Recursividad
La función Factorial, calculando el factorial recursivamente
Manejo de cadenas de caracteres
Arte: Generando arte recursivo
Divide and conquer y programación dinámica
Divide and Conquer (divide y vencerás)
Qué es la programación dinámica (divide y vencerás v2.0)
MergeSort
Desafío: Buscar el algortimo más rápido de sort
Implementando QuickSort con Python
Implementando QuickSort con Python: main code
Algoritmos 'Greedy'
Qué son los Greedy Algorithm
Ejercicio de programación greedy
Ejercio de programación greedy: main code
Grafos y árboles
Grafos y sus aplicaciones
Árboles
¿Cómo comparar Algoritmos?
Cómo comparar algoritmos y ritmo de crecimiento
¿Qué sigue?
Cierre del curso y siguientes pasos
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
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.
Aportes 91
Preguntas 10
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.
Aun se sigue usando ensablador para programar drivers por ejemplo, o para programar emuladores
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.
Resumen:
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
Es recomendable aprender primero lenguajes de alto nivel o de bajo nivel? saludos.
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
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.
“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.
En resumen:
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
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
¡Sigo fascinada con las explicaciones del maestro, yo no tenía nociones de programación y ahora lo veo muy posible! 😄
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
Tipos de lenguaje de programacion: 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, Python, JavaScript o Perl.
Recuerdo los trabajo realizados en la tecnicatura cuando programamos en Assembler, trabajando sobre el PIC16F84A
Recuerde que Java y JavaScript son lenguajes distintos. Sin embargo ambos son de nivel alto.
Muy interesante, entonces, a su vez podríamos afirmar que los lenguajes de alto nivel son los más fácil de aprender.
Los lenguajes de bajo nivel son los mas rápidos para interactuar con nuestros componentes físicos.
hay un error en la descripcion del video. Donde dice “tenemos el lenguaje máquina (solo código binario) como el de más alto nivel” deberia decir “como el de más bajo nivel”
Me encantaría aprender C es un lenguaje muy interesante .
Los lenguajes de bajo nivel no cuentan con un overhead o una carga que haga que sea más lento el procesamiento de las instrucciones.
C o C++ Se ocupa mucho en sistemas embebidos (microcomputadoras que viven en lavadoras, microondas, etc)
**Alto Nivel -> Java, C#, Python, JavaScript
Bajo Nivel -> C, C++**
A modo de repaso:
Los lenguajes de bajo nivel son más eficientes, ya que no tienen muhas capas …
Y una de las desventajas es el que es muy dificil de codificar
es buen concepto pa tener una idea de ingeniero y palabras de ingeniero lo que puedo agregare algo corto es que
El profesor comenta que esto debí haberlo aprendido en el Curso de Programación Estructurada
pero ese curso esta en la Ruta de Fundamentos de Programación
en un nivel mas avanzado que este, el Team Platzi debe revisar esto?
ahhh de ahi viene Assembly, buen dato. Lo había escuchado, pero no entendía. Que bueno apesar de que en varios cursos se habla de esto, cada uno complementa muy bueno.
Los lenguajes de programación son sistemas formales de reglas que se utilizan para dar instrucciones a una computadora para realizar una tarea específica. Estos lenguajes permiten a los programadores comunicarse con las computadoras de manera efectiva y eficiente, utilizando un conjunto de instrucciones predefinidas para crear programas, aplicaciones y sistemas informáticos.
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.
Buenas,
No he programado en C y C++
Cual me recomiendan empezar, Ya que quiero probar estos lenguaje ?
Cuando a mi me enseñaron lenguajes de programación, indicaban que C++ y java eran de alto nivel, porque eran más fácil de aprender que C. Debido a la creación de lenguajes de más rápido aprendizaje, y sobre todo de más capas antes de llegar al cpu, pasaron a ser considerados de nivel medio.
Yo aprendí lenguaje ensamblador en el 8086, la verdad fue muy interesante, les recomiendo mucho si tienen la oportunidad, les da una mejor idea de como funciona la computadora
Excelente!
Quedó perfecto para repasar mis dos materias de la universidad
A mi me encanta el lenguaje java. 😃
Aprendí ensamblador en la escuela y tiene ventajas para procesos muy específicos como el menciona
Ya me estoy mareando. XD
Excelente, los lenguajes en resumen a lo referente al nivel, es que entre mas bajo nivel sea el lenguaje mas se acerca a las instrucciones direactamente al Hardware, y entre mas alto nivel es mas amigable con el desarrollador, ya que ofrece un lenguaje más legible
En la U me toco programar un juego en una matriz de led 8x8 en ensamblador. Fue bastante difícil pero al final aprendí un montón sobre lógica
El lenguaje ensamblador es bastante interesante. En la universidad en la materia de Estructura de computadores nos enseñan MIPS y usamos un simulador para programar.
Cool
Genial… Es super emocionante!!!
Hay varios tipos de lenguajes de programacion, los mas viejos son los de maquina, el esamblador.
Los lenguajes de medio nivel: C, C++ y JAVA.
Los lenguajes de alto nivel: Javascript, Ruby, Phyton, Perl, necesitan un interprete, que llegue al CPU.
Un poco complicadito se puso el tema.
uff
Es importante tener esta información clara. Java y javascript son grandes lenguajes.
Lenguajes de bajo nivel se enfocan mas en instrucciones para hardware, lenguajes de alto nivel se enfocan en instrucciones de software.
Me imagino los programadores de la epoca programando en Assembler
Gracias por tu excelente explicación.
Solo quería agregar que los lenguajes de alto nivel no te encargas de cosas tecnicas como el alamcenamiento de memoria, de forma “predeterminada” por el lenguaje y es una de las razones por la que son más lentos
estudie ingenieria en sistemas y en el 7mo semestre me toco que programar en asembler.
Lenguajes de alto y bajo nivel, vamos a lo que sigue !
Lenguajes de programación más usados según el tipo de desarrollo
https://www.yeeply.com/blog/lenguajes-de-programacion-mas-usados/
Bien explicado
Mis favoritos son los de alto nivel
Está de lujo, esto me ayuda a repasar conceptos, por cierto para los que toman nota de la descripción, en la parte que describe al lenguaje máquina, este es de el más bajo nivel, no del más alto, hay un error ahí, pero con el video esto queda súper claro 😃
Yo se ensambler, es muy útil a la hora de programar PICs, aunque hay veces que causa pesadillas a la hora de hacer cosas mas robustas
Que interesante saber esta clasificación de los lenguajes de programación, Ricardo.
Básicamente hay dos grandes familias: alto nivel y bajo nivel.
Bajo nivel: son más antiguos y nos dejan hacer cambios en el hardware. Algunos ejemplos son: “Java” y “Scala”, “Lenguaje de máquina” y “ensablador”.
Alto nivel: son más actuales y debemos prestar más atención en el software.
Algunos ejemplos son: “Python”, “Ruby”, “C#”.
Ejemplos de lenguajes
Bajo nivel: C o C++
Alto nivel: Ruby, JavaScript o Perl
Lenguaje de programación._ Al igual que los lenguajes tales como el Español o el Inglés, los lenguajes de programación poseen una estructura (gramatica) bien definida que permire al usuario dar un conjunto de instrucciones para ser ejecuradas.
muy bien
Les comparto mis notas 😃
Que bien
Excelente explicación!!!
muy buena explicacion
Muy interesante.
Lenguajes de programación: Set de instrucciones en especifico que enseña a computadora los pasos a seguir para resolver un problema . Es una forma de comunicarnos con las computadoras.
Lenguaje de bajo y alto nivel en este buen aporte—> https://platzi.com/comentario/569155/
De nuevo pasándome por aquí.
¿Qué son lenguajes de programación?
Los lenguajes de programación son set de instrucciones con los cuales nos comunicamos con las computadoras. Lenguajes conocidos como Máquina y Ensamblador son de los primeros lenguajes de programación creados.
Lenguajes de Bajo nivel: Son lenguajes que no generan un entorpecimiento en las instrucciones.
Ejemplos: Máquina y Ensamblador
Lenguajes de medio nivel: Son lenguaje que se utilizan en sistemas para comunicarnos con microcomputadoras
Ejemplos: C, C++, Java, Scala
Lenguajes de alto nivel: Son lenguajes de alto rendimiento que tienen que pasar por varias capaz para ser entendidos por nuestra CPU.
Ejemplos: Ruby, JavaScript, Python
Lenguaje de Alto Nivel == Para la persona.
Lenguaje de Bajo Nivel == Para la máquina.
excelente curso quiero aprender mas
Existen muchísimos lenguajes de programación, de acuerdo a la necesidad del código podemos usarlos. entre los lenguajes primitivos se encuentran ellenguajes maquina y lenguaje ensamblador, la desventaja de ambos lenguajes es el nivel de abstracción que pueden presentar, lo que para una persona representa una curva de aprendizaje altísima. La ventaja que tienen es en el rendimiento ya que la comunicación es directa a la computadora.
Los siguientes lenguajes son los conocidos como lenguajes de bajo nivel y alto nivel entre ellos C, C++, Java o Scala los cuales se traducen tanto para humanos como para maquinas a un nivel intermedio, por lo que la curva de aprendizaje puede es media. C, y C++ son generalmente usados en sistemas embebidos y son usados generalmente para la Robótica.
Los lenguajes de alto nivel como Python tienen una curva de aprendizaje mas corta debido a que las instrucciones pueden ser entendidas con facilidad por el programador con algo de habilidad, y son generalmente usados para el desarrollo de aplicaciones Web.
Lenguajes de alto nivel como Python , JavaScript o Ruby se demoran un poco más en ejecutar un computo, a pesar de que son mas fáciles de entender para un programar ya que el lenguaje se acerca a la comunicación entre personas, la demora radica en que los comandos programados deben ser traducidos al lenguaje maquina de 1s y 0s
“Por ejemplo, tenemos el lenguaje máquina (solo código binario) como el de más alto nivel”
¿No debería decir “el de más bajo nivel”?
Básicamente los lenguajes de alto nivel son los interpretados y los de lenguajes medios serian los que se necesitan compilar
En la preparatoria el primer modulo de la especialidad fue ensamblador, buenos jalones de greñas daba aprenderlo XD
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?