Fundamentos Esenciales de Informática y Telecomunicaciones: POO, Sistemas Distribuidos y Niveles de Máquina Virtual
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,28 KB
Fundamentos Esenciales de Informática y Telecomunicaciones
1) Especificación de los Niveles de Máquina Virtual y sus Traductores Correspondientes
Los niveles de abstracción de la máquina virtual son:
- Nivel de Lógica Digital
- Nivel de Microprogramación
- Nivel de Macroprogramación
- Nivel de Lenguaje Ensamblador
- Nivel de Sistema Operativo
- Nivel de Lenguajes Orientados a Problemas (o de Alto Nivel)
2) ¿Cuáles son los Paradigmas de Programación más Utilizados?
Los paradigmas de programación más comunes son:
- Imperativo: Se centra en cómo debe ejecutarse el programa, especificando paso a paso el proceso.
- Programación Estructurada
- Programación Orientada a Objetos (POO)
- Declarativo: Se centra en qué se debe lograr, sin especificar el flujo de control.
- Programación Lógica
3) ¿Qué Diferencia Existe entre un Sistema Operativo de Red y un Sistema Distribuido?
Sistemas Operativos de Red (SOR)
Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o inalámbrico), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema. El usuario es consciente de la existencia de múltiples máquinas.
Sistemas Distribuidos (SD)
Se definen como una colección de computadores conectados por una red de comunicaciones, que el usuario percibe como un solo sistema. El usuario no necesita saber qué recursos están en qué máquinas, y accede a los recursos remotos de la misma manera en que accede a los recursos locales (transparencia de ubicación).
4) Definición de Sistema Standalone (Independiente)
Un sistema standalone es aquel que opera por sí solo en un equipo, siendo independiente de otros sistemas para su funcionamiento principal. Es un sistema autónomo.
Ejemplo: Un software instalado localmente que no requiere conexión a internet para su funcionalidad básica. (Nota: Aunque la computación en la nube utiliza sistemas distribuidos, un componente específico puede operar de manera independiente).
5) Importancia Actual de la Programación Distribuida
La programación distribuida es crucial en la actualidad porque permite la abstracción de la complejidad de la ubicación física de los recursos. El programador no necesita conocer la localización específica del clúster o servidor, facilitando la escalabilidad, la tolerancia a fallos y el procesamiento masivo de datos.
6) Conceptos Fundamentales de la Programación Orientada a Objetos (POO)
A continuación, se definen los términos clave de la POO:
- Objeto: Es una instancia de una clase. Es una estructura de datos que almacena sus propios datos (atributos) y los procesos (métodos) sobre los que operan dichos datos.
- Clase: Es una plantilla o estructura de datos que contiene atributos y métodos comunes a un conjunto de objetos.
- Herencia: Es una característica que permite a un objeto heredar de forma automática todos los atributos y métodos de la clase de la que proviene (clase padre o superclase).
- Atributo: Es una característica o propiedad de los objetos que sirve para diferenciar a dos objetos de la misma clase.
- Método: Es un proceso o función que define el comportamiento de los objetos.
- Abstracción: Consiste en identificar características comunes a varios objetos para agruparlos en un objeto con mayor jerarquía abstracta, enfocándose en los detalles relevantes y ocultando la complejidad.
- Encapsulamiento: Consiste en agrupar los datos y los métodos que operan sobre esos datos dentro de una unidad (el objeto), haciéndolos independientes de otros componentes del sistema.
- Polimorfismo: Es la capacidad de un método de comportarse de manera distinta dependiendo del objeto que lo mande a llamar.
7) Los Lenguajes de Programación más Utilizados según el Índice TIOBE
A continuación, se presenta una lista de lenguajes de programación populares según el índice TIOBE (la numeración corresponde a la lista original del documento):
- Java
- Lenguaje C
- Objective-C
- C++
- C#
- PHP
- Visual Basic
- Python
- Ruby
- Perl
- JavaScript
- Bash
- Lisp
- PL/SQL
- Delphi
8) ¿Qué Habilidades Debe Poseer un Buen Programador?
Un programador exitoso debe desarrollar las siguientes habilidades:
- Creatividad
- Pensamiento Lógico
- Tenacidad (Perseverancia)
- Paciencia
9) ¿Diferencia entre Diseño Estructurado y Diseño Orientado a Objetos?
- Diseño Estructurado: Se basa en la descomposición del problema en procedimientos y funciones (enfoque algorítmico).
- Diseño Orientado a Objetos (DOO): Se basa en la identificación y manipulación de objetos que combinan datos y comportamiento (enfoque modular basado en entidades).