Redes
17
06
2008
Topología de red
La topología de red o forma lógica de red se define como la cadena de comunicación que los nodos que conforman una red usan para comunicarse. Un ejemplo claro de esto es la topología de árbol, la cual es llamada así por su apariencia estética, la cual puede comenzar con la inserción del servicio de internet desde el proveedor, pasando por el router, luego por un switch y este deriva a otro switch u otro router o sencillamente a los hosts (estaciones de trabajo, pc o como quieran llamarle), el resultado de esto es una red con apariencia de árbol por que desde el primer router que se tiene se ramifica la distribución de internet dando lugar a la creación de nuevas redes y/o subredes tanto internas como externas. Además de la topología estética, se puede dar una topología lógica a la red y eso dependerá de lo que se necesite en el momento.
En algunos casos se puede usar la palabra arquitectura en un sentido relajado para hablar a la vez de la disposición física del cableado y de cómo el protocolo considera dicho cableado. Así, en un anillo con una MAU podemos decir que tenemos una topología en anillo, o de que se trata de un anillo con topología en estrella.
La topología de red la determina únicamente la configuración de las conexiones entre nodos. La distancia entre los nodos, las interconexiones físicas, las tasas de transmisión y/o los tipos de señales no pertenecen a la topología de la red, aunque pueden verse afectados por la misma.
Tabla de contenidos
[ocultar]
1 Tipos de arquitecturas
1.1 Redes centralizadas
1.2 Descentralización
2 Véase también
3 Enlace externo
Tipos de arquitecturas [editar]
Redes centralizadas [editar]
La topología en estrella reduce la posibilidad de fallo de red conectando todos los nodos a un nodo central. Cuando se aplica a una red basada en la topología estrella este concentrador central reenvía todas las transmisiones recibidas de cualquier nodo periférico a todos los nodos periféricos de la red, algunas veces incluso al nodo que lo envió. Todos los nodos periféricos se pueden comunicar con los demás transmitiendo o recibiendo del nodo central solamente. Un fallo en la línea de conexión de cualquier nodo con el nodo central provocaría el aislamiento de ese nodo respecto a los demás, pero el resto de sistemas permanecería intacto. El tipo de concentrador hub se utiliza en esta topología.
La desventaja radica en la carga que recae sobre el nodo central. La cantidad de tráfico que deberá soportar es grande y aumentará conforme vayamos agregando más nodos periféricos, lo que la hace poco recomendable para redes de gran tamaño. Además, un fallo en el nodo central puede dejar inoperante a toda la red. Esto último conlleva también una mayor vulnerabilidad de la red, en su conjunto, ante ataques.
Si el nodo central es pasivo, el nodo origen debe ser capaz de tolerar un eco de su transmisión. Una red en estrella activa tiene un nodo central activo que normalmente tiene los medios para prevenir problemas relacionados con el eco.
Una topología en árbol (también conocida como topología jerárquica) puede ser vista como una colección de redes en estrella ordenadas en una jerarquía. Éste árbol tiene nodos periféricos individuales (por ejemplo hojas) que requieren transmitir a y recibir de otro nodo solamente y no necesitan actuar como repetidores o regeneradores. Al contrario que en las redes en estrella, la función del nodo central se puede distribuir.
Como en las redes en estrella convencionales, los nodos individuales pueden quedar aislados de la red por un fallo puntual en la ruta de conexión del nodo. Si falla un enlace que conecta con un nodo hoja, ese nodo hoja queda aislado; si falla un enlace con un nodo que no sea hoja, la sección entera queda aislada del resto.
Para aliviar la cantidad de tráfico de red que se necesita para retransmitir todo a todos los nodos, se desarrollaron nodos centrales más avanzados que permiten mantener un listado de las identidades de los diferentes sistemas conectados a la red. Éstos switches de red “aprenderían” cómo es la estructura de la red transmitiendo paquetes de datos a todos los nodos y luego observando de dónde vienen los paquetes respuesta.
Descentralización [editar]
En una topología en malla, hay al menos dos nodos con dos o más caminos entre ellos. Un tipo especial de malla en la que se limite el número de saltos entre dos nodos, es un hipercubo. El número de caminos arbitrarios en las redes en malla las hace más difíciles de diseñar e implementar, pero su naturaleza descentralizada las hace muy útiles.
Un red totalmente conectada o completa, es una topología de red en la que hay un enlace directo entre cada pareja de nodos. En una red totalmente conexa con n nodos, hay enlaces directos. Las redes diseñadas con esta topología, normalmente son caras de instalar, pero son muy fiables gracias a los múltiples caminos por los que los datos pueden viajar. Se ve principalmente en instalaciones. que han sido militarizadas
Intranet [editar]
Artículo principal: Intranet
Una Intranet es una red privada que la tecnología Internet usó como arquitectura elemental. Una red interna se construye usando los protocolos TCP/IP para comunicación de Internet, que pueden ejecutarse en muchas de las plataformas de hardware y en proyectos por cable. El hardware fundamental no es lo que construye una Intranet, lo que importa son los protocolos del software. Las Intranets pueden coexistir con otra tecnología de red de área local. En muchas compañías, los “sistemas patrimoniales” existentes que incluyen sistemas centrales, redes Novell, mini – computadoras y varias bases de datos, están integrados en un Intranet. Una amplia variedad de herramientas permite que esto ocurra. El guión de la Interfaz Común de Pasarela (CGI) se usa a menudo para acceder a bases de datos patrimoniales desde una Intranet. El lenguaje de programación Java también puede usarse para acceder a bases de datos patrimoniales.
Una Intranet o una Red Interna se limita en alcance a una sola organización o entidad. Generalmente ofrecen servicios como HTTP, FTP, SMTP, POP3 y otros de uso general.
Clasificación de Redes [editar]
Por alcance:
Red de área personal (PAN)
Red de área local (LAN)
Red de área de campus (CAN)
Red de área metropolitana (MAN)
Red de área amplia (WAN)
Por método de la conexión:
Medios guiados: cable coaxial, cable de par trenzado, fibra óptica y otros tipos de cables.
Medios no guiados: radio, infrarrojos, microondas, láser y otras redes inalámbricas.
Por relación funcional:
Cliente-servidor
Igual-a-Igual (p2p)
Arquitecturas de red
Por Topología de red:
Red de bus
Red de estrella
Red de anillo (o doble anillo)
Red en malla (o totalmente conexa)
Red en árbol
Red Mixta (cualquier combinación de las anteriores)
Por la direccionalidad de los datos (tipos de transmisión)
Simplex (unidireccionales), un Equipo Terminal de Datos transmite y otro recibe. (p.e. Streaming)
Half-Duplex (bidireccionales), sólo un equipo transmite a la vez. También se llama Semi-Duplex.(p.e. Una comunicación por equipos de radio, si los equipos no son full dúplex, uno no podría transmitir (hablar) si la otra persona está también transmitiendo (hablando) porque su equipo estaría recibiendo (escuchando) en ese momento).
Full-Duplex (bidireccionales) , ambos pueden transmitir y recibir a la vez una misma información. (p.e. Video-Conferencia)
Protocolos de redes [editar]
Artículo principal: Protocolo de red
El Protocolo de red o también Protocolo de Comunicación es el conjunto de reglas que especifican el intercambio de datos u órdenes durante la comunicación entre las entidades que forman parte de una red.
Estándares de redes [editar]
IEEE 802.3, estándar para Ethernet
IEEE 802.5, estándar para Token Ring
IEEE 802.11, estándar para Wi-Fi
IEEE 802.15, estándar para Bluetooth
Véase también [editar]
Bridges
Router
Switch
Hub
Algunas Tecnologías Relacionadas [editar]
Red Token Ring.
AppleTalk
ATM
Bluetooth
DECnet
Ethernet
FDDI
Frame Relay
HIPPI
PPP
HDLC
FidoNet
Esta página está siendo traducida del idioma Inglés a partir del artículo computer network, razón por la cual puede haber lagunas de contenidos, errores sintácticos o escritos sin traducir.
Puedes colaborar con Wikipedia continuando con la traducción desde el artículo original
Para la disciplina científica y de la ingeniería que estudia las redes de ordenadores, ver el establecimiento de una red de la computadora. Una red de ordenadores son computadoras múltiples conectadas, junto con un sistema de telecomunicación con el fin de comunicarse y de compartir recursos.
Expertos en la materia de discusión del establecimiento de una red si dos computadoras que están conectadas juntas con una cierta forma de medio de comunicaciones constituyen una red. Por lo tanto, algo trabaja el estado que una red requiere tres computadoras conectadas. por ejemplo, “telecomunicaciones: El glosario de la telecomunicación llama” estados que una red de ordenadores es “una red de los nodos de proceso de datos que se interconectan con el fin de la comunicación de datos”, del término “red” que es definida en el mismo documento que “una interconexión de tres o más entidades que se comunican”. Una computadora conectada con un dispositivo (e.g., networked a una impresora vía un acoplamiento de Ethernet) puede también representar una red de ordenadores, aunque este artículo no trata esta configuración.
Este artículo utiliza la definición que requiere dos o más computadoras que se conectarán juntas con la forma una red. Las mismas funciones básicas están generalmente presentes en este caso como son números más grandes de computadoras conectadas.
Componentes básicos de las redes de ordenadores [editar]
Computadoras [editar]
Muchos de los componentes de una red media son las computadoras individuales, que son generalmente sitios de trabajo (incluyendo ordenadores personales) o servidores.
Tipos de sitios de trabajo [editar]
Hay muchos tipos de sitios de trabajo que se pueden incorporar en una red particular, algo de la cual tiene exhibiciones high-end, las CPU múltiples, las cantidades grandes de RAM, las grandes cantidades de espacio de almacenamiento en disco duro, u otros componentes requeridos para las tareas de proceso de datos especiales, los gráficos, u otros usos intensivos del recurso. (Véase también la computadora de red).
Tipos de servidores [editar]
En las siguientes listas, hay algunos tipos comunes de servidores y de su propósito.
Servidor de archivo: almacena varios tipos de archivos y los distribuye a otros clientes en la red.
Servidor de impresiones: controla y maneja una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión (Aunque también puede cambiar la prioridad de las diferentes impresiones), y realizando la mayoría o todas las otras funciones que un sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora fue conectada directamente con el puerto de impresora del sitio de trabajo.
Servidor de correo: almacenan, envían, reciben, enrutan, y realizan otras operaciones relacionadas con email para otros clientes en la red.
Servidor de fax: almacenan, envían, reciben, enrutan, y realizan otras funciones necesarias para la transmisión, la recepción, y la distribución apropiadas de los fax.
Servidor de la telefonía: realiza funciones relacionadas con la telefonía, tales como contestador automático, realizando las funciones de un sistema interactivo de la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas, también controla la red o el Internet (e.j., entrada excesiva del IP de la voz (VoIP),), etc.
Proxy server: realiza un cierto tipo de función a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (e.j., prefetching y depositar documentos u otros datos que se soliciten muy frecuentemente), también sirve seguridad, esto es, tiene un Firewall. Permite administrar el acceso a internet en una Red de computadoras permitiendo o negando el acceso a diferentes web sites
Servidor del acceso alejado (RAS): controla las líneas de módem de los monitores u otros canales de comunicación de la red para que las peticiones conecten con la red de una posición remota, respuestas la llamada telefónica entrante o reconocen la petición de la red, y realizan los chequeos necesarios de la seguridad y otros procedimientos necesarios para registrar a un usuario sobre la red.
Servidor del uso: realiza la parte de la lógica de la informática o del negocio de un uso del cliente, aceptando las instrucciones para que las operaciones se realicen de un sitio de trabajo y sirviendo los resultados de nuevo al sitio de trabajo, mientras que el sitio de trabajo realiza el interfaz operador o la porción del GUI del proceso (es decir, la lógica de la presentación) que se requiere para trabajar correctamente.
Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material Web compuesto por datos (conocidos colectivamente como contenido), y distribuye este contenido a clientes que la piden en la red.
Servidor de reserva: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el fin de asegurarse de que la pérdida de un servidor principal no afecte a la red. Esta técnica también es denominada clustering.
Impresoras: muchas impresoras son capaces de actuar como parte de una red de ordenadores sin ningún otro dispositivo, tal como un “print server”, a actuar como intermediario entre la impresora y el dispositivo que está solicitando un trabajo de impresión de ser terminado.
Clientes finos: muchas redes utilizan a clientes finos en vez de sitios de trabajo o para la entrada de datos y exhiben propósitos o en algunos casos donde el uso funciona enteramente en el servidor.
Otros dispositivos: hay muchos otros tipos de dispositivos que se puedan utilizar para construir una red, muchos de los cuales requieren una comprensión de conceptos más avanzados del establecimiento de una red de la computadora antes de que puedan ser entendidos fácilmente (e.g., los cubos, las rebajadoras, los puentes, los interruptores, los cortafuegos del hardware, etc.). En las redes caseras y móviles, que conecta la electrónica de consumidor los dispositivos tales como consolas vídeo del juego está llegando a ser cada vez más comunes.
Construcción de una red de ordenadores [editar]
Una red simple [editar]
Una red de computadoras simple se puede construir a partir de dos computadoras agregando un adaptador de la red (controlador de interfaz de red (NIC) a cada computadora y conectándolas luego mediante un cable especial llamado “cable cruzado” (el cual es un cable de red con algunos cables invertidos, para evitar el uso de un router o switch). Este tipo de red es útil para transferir información entre dos computadoras que normalmente no están conectadas entre sí por una conexión de red permanente o para usos caseros básicos del establecimiento de una red. Alternativamente, una red entre dos computadoras se puede establecer sin hardware dedicado adicional usando una conexión estándar tal como el puerto serial RS-232 en ambas computadoras, conectándolas entre sí vía un cable especial cruzado nulo del módem.
Redes prácticas [editar]
Redes prácticas constan generalmente de más de dos computadoras interconectadas y generalmente requieren dispositivos especiales además del controlador de interfaz de red con el cual cada computadora necesita estar equipada. Ejemplos de algunos de estos dispositivos especiales son los concentradores (hubs), multiplexores (switches) y enrutadores (routers).
Tipos de redes [editar]
Abajo está una lista de los tipos más comunes de redes de ordenadores
Red pública: una red publica se define como una red que puede usar cualquier persona y no como las redes que están configuradas con clave de acceso personal. Es una red de computadoras interconectados, capaz de compartir información y que permite comunicar a usuarios sin importar su ubicación geográfica.
Red privada: una red privada se definiría como una red que puede usarla una sola persona y que están configuradas con clave de acceso personal.
Red de área Personal (PAN): (Personal Area Network) es una red de ordenadores usada para la comunicación entre los dispositivos de la computadora (teléfonos incluyendo las ayudantes digitales personales) cerca de una persona. Los dispositivos pueden o no pueden pertenecer a la persona en cuestión. El alcance de una PAN es típicamente algunos metros. Las PAN se pueden utilizar para la comunicación entre los dispositivos personales de ellos mismos (comunicación del intrapersonal), o para conectar con una red de alto nivel y el Internet (un up link). Las redes personales del área se pueden conectar con cables con los buses de la computadora tales como USB y FireWire. Una red personal sin hilos del área (WPAN) se puede también hacer posible con tecnologías de red tales como IrDA y Bluetooth.
Red de área local (LAN): una red que se limita a un área especial relativamente pequeña tal como un cuarto, un solo edificio, una nave, o un avión. Las redes de área local a veces se llaman una sola red de la localización. Nota: Para los propósitos administrativos, LANs grande se divide generalmente en segmentos lógicos más pequeños llamados los Workgroups. Un Workgroups es un grupo de las computadoras que comparten un sistema común de recursos dentro de un LAN.
Red del área del campus (CAN): Se deriva a una red que conecta dos o más LANs los cuales deben estar conectados en un área geográfica específica tal como un campus de universidad, un complejo industrial o una base militar.
Red de área metropolitana (MAN): una red que conecta las redes de un área dos o más locales juntos pero no extiende más allá de los límites de la ciudad inmediata, o del área metropolitana. Las rebajadoras múltiples, los interruptores y los cubos están conectados para crear a una MAN.
Red de área amplia (WAN): es una red de comunicaciones de datos que cubre un área geográfica relativamente amplia y que utiliza a menudo las instalaciones de transmisión proporcionadas por los portadores comunes, tales como compañías del teléfono. Las tecnologías WAN funcionan generalmente en las tres capas más bajas del Modelo de referencia OSI: la capa física, la capa de transmisión de datos, y la capa de red.
Tipos de WAN [editar]
Centralizado: Un WAN centralizado consiste en una computadora central que esté conectada con las terminales nodos y/u otros tipos de dispositivos del Terminal.
Distribuido: Un WAN distribuido consiste en dos o más computadoras en diversas localizaciones y puede también incluir conexiones a los terminales nodos y a otros tipos de dispositivos del Terminal.
Red interna [editar]
Dos o más redes o segmentos de la red conectados con los dispositivos que funcionan en la capa 3 (la capa de la “red”) del modelo de la referencia básica de la OSI, tal como un router. Nota: Cualquier interconexión entre las redes del público, privadas, comerciales, industriales, o gubernamentales se puede también definir como red interna.
Estas redes pueden comunicarse al exterior utilizando NAT.
Internet [editar]
Una red interna específica, consiste en una interconexión mundial de las redes gubernamentales, académicas, públicas, y privadas basadas sobre el Advanced Research Projects Agency Network (ARPANET) desarrollado por ARPA del departamento de los EE.UU. de la defensa también a casa al World Wide Web (WWW) y designado el “Internet” con un capital “I” para distinguirlo de otros internetworks genéricos
Intranet [editar]
Una red interna que se limitan en alcance a una sola organización o entidad y que utilicen el TCP/IP Protocol Suite, el HTTP, el FTP, y los otros protocolos y software de red de uso general en el Internet. Nota: Intranets se puede también categorizar como el LAN, CAN, MAN, WAN
Extranet [editar]
Una red interna que se limitan en alcance a una sola organización o entidad pero que también han limitado conexiones a las redes de una o más generalmente, pero no necesariamente, organizaciones confiadas o entidades .
Nota: Técnico, un extranet se puede también categorizar como CAN, MAN, WAN, u otro tipo de red, aunque, por la definición, un extranet no puede consistir en un solo LAN, porque un extranet debe tener por lo menos una conexión con una red exterior. Intranets y los extranets pueden o no pueden tener conexiones al Internet. Si está conectado con el Internet, el Intranet o el extranet se protege normalmente contra ser alcanzado del Internet sin la autorización apropiada. El Internet en sí mismo no se considera ser una parte del Intranet o del extranet, aunque el Internet puede servir como portal para el acceso a las porciones de un extranet.
Clasificación de las redes de ordenadores [editar]
Por capa de red [editar]
Las redes de ordenadores se pueden clasificar según la capa de red en la cual funcionan según algunos modelos de la referencia básica que se consideren ser estándares en la industria tal como el modelo OSI de siete capas y el modelo del TCP/IP de cinco capas.
Por la escala [editar]
Las redes de ordenadores se pueden clasificar según la escala o el grado del alcance de la red, por ejemplo como red personal del área (PAN), la red de área local (LAN), red del área del campus (CAN), red de área metropolitana (MAN), o la red de área amplia (WAN).
Por método de la conexión [editar]
Las redes de ordenadores se pueden clasificar según la tecnología que se utiliza para conectar los dispositivos individuales en la red tal como HomePNA, línea comunicación, Ethernet, o LAN sin hilos de energía.
Por la relación funcional [editar]
Las redes de ordenadores se pueden clasificar según las relaciones funcionales que existen entre los elementos de la red, servidor activo por ejemplo del establecimiento de una red, de cliente y arquitecturas del Par-a-par (workgroup). También, las redes de ordenadores son utilizadas para enviar datos a partir del uno a otro por el hardrive.
Por topología de la red [editar]
Define como están conectadas computadoras, impresoras, dispositivos de red y otros dispositivos. En otras palabras, una topología de red describe la disposición de los cables y los dispositivos, así como las rutas utilizadas para las transmisiones de datos. La topología influye enormemente en el funcionamiento de la red.
las topologias son las siguientes:
bus anillo estrella estrella extendida jerárquica malla
Por los servicios proporcionados [editar]
Las redes de ordenadores se pueden clasificar según los servicios que proporcionan, por ejemplo redes del almacén, granjas del servidor, redes del control de proceso, red de valor añadido, red sin hilos de la comunidad, etc.
Por protocolo [editar]
Las redes de ordenadores se pueden clasificar según el protocolo de comunicaciones que se está utilizando en la red. Ver los artículos sobre la lista de los apilados del protocolo de red y la lista de los protocolos de red para más información.
Comentarios : Sin Comentarios »
Categorías : Uncategorized
——————————————————————————–
Programacion
16
06
2008
Lenguaje de programación
Saltar a navegación, búsqueda
Con la aparicion de las computadoras desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada, una clave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101…) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó “instrucciones”, y a este conjunto de instrucciones se le llamó lenguaje ensamblador.
Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos.
Tabla de contenidos
[ocultar]
1 Concepto
2 Clasificación de los lenguajes de programación
2.1 Según su nivel de abstracción
2.1.1 Lenguajes de bajo nivel
2.1.2 Lenguajes de medio nivel
2.1.3 Lenguajes de alto nivel
2.2 Según la forma de ejecución
2.2.1 Lenguajes compilados
2.2.2 Lenguajes interpretados
2.3 Según el paradigma de programación
2.3.1 Lenguajes imperativos
2.3.1.1 Lenguajes Funcionales
2.3.1.2 Lenguajes Logicos
2.3.2 Lenguajes orientados a objetos
3 Algunos lenguajes de programación
4 Véase también
5 Enlaces externos
Concepto [editar]
Varios libros sobre diversos lenguajes de programación.
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas web).
Un lenguaje de programación permite a uno o más programadores especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados, transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.
Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes.
Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al traductor se lo conoce como un malhecho compilador.
Uno o más wikipedistas están trabajando actualmente en extender este artículo.
Es posible que, a causa de ello, haya lagunas de contenido o deficiencias de formato. Por favor, antes de realizar correcciones mayores o reescrituras, contacta con ellos en su página de usuario o en la página de discusión del artículo para poder coordinar la redacción.
Clasificación de los lenguajes de programación [editar]
Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser:
Según su nivel de abstracción [editar]
Lenguajes de bajo nivel [editar]
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel [editar]
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel [editar]
Artículo principal: Lenguaje de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como “IF CONTADOR = 10 THEN STOP” pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
Según la forma de ejecución [editar]
Lenguajes compilados [editar]
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código
Lenguajes interpretados [editar]
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.
Según el paradigma de programación [editar]
Artículo principal: Paradigma de programación
Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro.
Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :
El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.
El paradigma lógico, un ejemplo es PROLOG.
El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.
Nota: La representación orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como Redes de Petri, Imperativo Secuencial, Lógica de Predicados, Funcional, etc. No obstante, la manipulación no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.
Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.