jueves, 3 de septiembre de 2015

Lenguajes de Programación Definición, Estructura orientado a Objetos.

Objetivo de Trabajo.

Satisfacer su especificación exactamente a menudo, sin embargo, a causa de la complejidad de la labor del programa, y de un entendimiento o cuidado inadecuado de parte del programador, un programa falla en satisfacer alguna parte de su especificación, un programa tiene que ser en todo tiempo cuidadoso de la exactitud o pertinencia del programa para su propósito especificado.

Introducción

Definición de programación.
Programación es la acción y efecto de programar. Este verbo tiene varios usos: se refiere a idear y ordenar las acciones  que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores; y a la preparación de los datos necesarios para obtener una solución de un problema a través de una calculadora electrónica, por ejemplo.

Una vez hallada la idea, se debe establecer el diseño de la misma; en otras palabras, se trata de formalizar todo aquello que se haya discutido durante la búsqueda inicial. Si bien cada equipo trabaja a su manera, dado que no se puede estructurar la creación de una forma rígida, es probable que el siguiente paso lógico sea comenzar a experimentar a través de la programación, para facilitar a los diseñadores un contacto directo e interactivo con su idea.
Los programadores tienen en sus manos el poder de dar vida a un sistema, a una aplicación, a un videojuego. Es importante notar que todos estos productos pueden ser definidos en absoluto detalle en un documento, incluyendo imágenes y gráficos que expliquen cómo funciona cada milímetro de los mismos; sin embargo, hasta que un desarrollador de software no entra en acción, no es posible verlos en movimiento, probarlos, pasar de la teoría a la práctica.
En un plano más técnico, la programación se realiza mediante el uso de algoritmos, que son secuencias finitas, ordenadas y no ambiguas de instrucciones que deben seguirse para resolver un problema. Algunas de ellas pueden agruparse y recibir un nombre para poder ser invocadas con facilidad tantas veces como sea necesario. Del mismo modo que los seres humanos necesitamos respirar constantemente, una aplicación informática necesita conocer la posición del puntero del ratón a cada momento, así como su actividad (si se ha hecho clic y con qué botón, si se ha soltado o si se mantiene presionado, etcétera).
Por último, cabe destacar que se conoce como programación al conjunto de los programas de televisión o radio. Por ejemplo: “Tengo ganas de ver una película; veamos qué hay en la programación”.

Lenguajes de programación


Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno.
John Von Neumann desarrolló el modelo que lleva su nombre, para describir este concepto de "programa almacenado". En este modelo, se tiene una abstracción de la memoria como un conjunto de celdas, que almacenan simplemente números. Estos números pueden representar dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en sí.
Por ejemplo, una calculadora programable simple podría asignar los opcodes
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.

La descripción y uso de los opcodes es lo que llamamos lenguaje de máquina . Es decir, la lista de códigos que la máquina va a interpretar como instrucciones, describe las capacidades de programación que tenemos de ella; es el lenguaje más primitivo, depende directamente del hardware, y requiere del programador que conozca el funcionamiento de la máquina al más bajo nivel.

Su Clasificación.

Java
El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.), Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes características en mente:
·         Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Java puede funcionar como una aplicación sola o como un "applet", que es un pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.

Unix
No todo el "árbol" de directorios está compuesto por directorios de usuario. Existen muchos de ellos que son de uso general o del propio sistema y con los que habrá que familiarizarse. Los más importantes son:
/
El raíz, del que "cuelgan" todos.
/bin y /usr/bin
Contienen comandos UNIX ejecutables.
/etc
Es quizá el directorio más importante. Contiene ficheros de datos y configuración del sistema, el fichero de password, configuración de terminales, red, etc (de ahí su nombre).
/dev
Ficheros de dispositivos E/S.
/usr/man
Manual
/tmp
Directorio para arreglos temporales. TODOS los usuarios pueden leer y escribir en él.

Lenguaje C
C es un lenguaje de programación diseñado por Dennis Ritchie, de los Laboratorios Bell, y
se instaló en un PDP-11 en 1972; se diseñó para ser el lenguaje de los Sistemas Operativos

Ejemplo de un Programa en C
/*Programa ejemplo que despliega el contenido de "ROL" en pantalla*/
#include <stdio.h>
#define ROL "9274002-1"
despliega_rol() {
printf("Mi rol es : \%s\n", ROL);
}
void main() {
despliega_rol();
}
/* Fin programa */

Unix1
A su vez, UNIX es un Sistema Operativo desarrollado por Ken Thompson, quién
utilizó el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX, en 1970. C se inventó para superar las limitaciones de B.

Pascal
Pascal es un lenguaje de programación de alto nivel de propósito general; esto es, se puede utilizar para escribir programas para fines científicos y comerciales.
El lenguaje de programación Pascal fue desarrollado por el profesor Niklaus (Nicolás) Wirth en Zurich, Zuiza, al final de los años 1960s y principios de los 70s. Wirth diseñó este lenguaje para que fuese un buen primer lenguaje de programación para personas comenzando a aprender a programar. Pascal tiene un número relativamente pequeño de conceptos para aprender y dominar. Su diseño facilita escribir programas usando un estilo que está generalmente aceptado como práctica estándar de programación buena. Otra de las metas del diseño de Wirth era la implementación fácil. Él diseñó un lenguaje para el cual fuese fácil escribir un compilador para un nuevo tipo de computadora.
program Sorting;
{
Este programa lee un natural y una secuencia de N caracteres de la entrada estandar; construye un indice para ordenarlos de menor a mayor e imprime en la salida la secuencia ordenada.

QBasic
Qbasic es un lenguaje de alto nivel, el cual consiste en instrucciones que los humanos pueden relacionar y entender. El compilador de Qbasic se encarga de traducir el mismo a lenguaje de máquina.
Un programa es una secuencia de instrucciones. El proceso de ejecutar esas instrucciones se llama correr el programa. Los programas contienen las funciones de entrada, procesamiento y salida. La persona que resuelve problemas mediante escribir programas en la computadora se conoce como programador. Después de analizar el problema y desarrollar un plan para solucionarlo, escribe y prueba el programa que instruye a la computadora como llevar a cabo el plan. El procedimiento que realiza el programador se define como "problem solving". Pero es necesario especificar que un programador y un usuario no son lo mismo. Un usuario es cualquier persona que use el programa.

Linux.
Linux es una implementación del sistema operativo UNIX (uno más de entre los numerosos clónicos del histórico Unix), pero con la originalidad de ser gratuito y a la vez muy potente, que sale muy bien parado (no pocas veces victorioso) al compararlo con las versiones comerciales para sistemas de mayor envergadura y por tanto teóricamente superiores. Comenzó como proyecto personal del –entonces estudiante- Linus Torvalds, quien tomó como punto de partida otro viejo conocido, el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que creó su propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde una gigantesca familia de programadores y usuarios aportan diariamente su tiempo aumentando susprestaciones y dando información y soporte técnico mútuo. La versión original -y aun predominante- comenzó para PCs compatibles (Intel 386 y superiores), existiendo también en desarrollo versiones para prácticamente todo tipo de plataformas:

Ensamblador
Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, a la cual comúnmente se le conoce como mnemónico , tenemos el concepto de Lenguaje Ensamblador . Así, podemos definir simplemente al Lenguaje Ensamblador de la siguiente forma:
Lenguaje Ensamblador es la primera abstracción del Lenguaje de Máquina , consistente en asociar a los opcodes palabras clave que faciliten su uso por parte del programador
Como se puede ver, el Lenguaje Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita su uso para los seres humanos. Por otro lado, la computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina. Originalmente, este proceso se hacía a mano, usando para ello hojas donde se escribían tablas de programa similares al ejemplo de la calculadora que vimos arriba . Pero, al ser tan directa la traducción, pronto aparecieron los programas Ensambladores, que son traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto (es decir, a Lenguaje de Máquina).
En ciertos casos extremos, puede llegarse a sobreescribir información del CMOS de la máquina (no he visto efectos más riesgosos); pero, si no la conservamos, esto puede causar que dejemos de "ver" el disco duro, junto con toda su información.
Falta de portabilidad
Como ya se mencionó, existe un lenguaje ensamblador para cada máquina; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras. Si bien esto es un problema general a todos los lenguajes, es mucho más notorio en ensamblador: yo puedo reutilizar un 90% o más del código que desarrollo en "C", en una PC, al llevarlo a una RS/6000 con UNIX, y lo mismo si después lo llevo a una Macintosh, siempre y cuando esté bien hecho y siga los estándares de "C", y los principios de la programación estructurada. En cambio, si escribimos el programa en Ensamblador de la PC, por bien que lo desarrollemos y muchos estándares que sigamos, tendremos prácticamente que reescribir el 100 % del código al llevarlo a UNIX, y otra vez lo mismo al llevarlo a Mac.

Lenguajes de Programación.
Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..
Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.
Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.
Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.
Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.
Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.
Los 
lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.
Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona. 
Los lenguajes de programación son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico.los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos. Hay lenguajes de programación que utilizan compilador. La ejecución de un programa con compilador

requiere de dos etapas:

1) Traducir el programa simbólico a código máquina
2) Ejecución y procesamiento de los datos.

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.
El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.
La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.
El objetivo de esta lista de lenguajes de programación es nombrar todos los lenguajes de programación relevantes existentes, tanto los de uso actual como históricos, en orden alfabético, excepto los dialéctos de BASIC y lenguaje de programación esotérico.

LISTADO DE  LENGUAJES DE PROGRAMACIÓN


·         A# .NET
·         A# (Axiom)
·         A-0 System
·         A+
·         A++
·         ABAP
·         ABC
·         ABC ALGOL
·         ABLE
·         ABSET
·         ABSYS
·         Abundance
·         ACC
·         Accent
·         Ace DASL
·         ACT-III
·         Action!
·         ActionScript
·         Ada
·         Adenine
·         Agda
·         Agora
·         AIMMS
·         Alef
·         ALF
·         ALGOL 58
·         ALGOL 60
·         ALGOL 68
·         Alice
·         Alma-0
·         AmbientTalk
·         Amiga E
·         AMOS
·         AMPL
·         APL
·         AppleScript
·         Arc
·         Arden Syntax1
·         ARexx
·         Argus
·         AspectJ
·         ASP.NET
·         Assembly language
·         ATS
·         Ateji PX
·         AutoHotkey
·         Autocoder
·         AutoIt
·         AutoLISP
·         Averest
·         AWK
·         Axum

B[editar]

·         B
·         Babbage
·         Bash
·         BASIC
·         bc
·         BCPL
·         BeanShell
·         Batch (Windows/Dos)
·         Bertrand
·         BETA
·         Bigwig
·         Bistro
·         BitC
·         BLISS
·         Blue
·         Bon
·         Boo
·         Boomerang
·         Bourne shell (incluye bash y ksh)
·         B.R.E.W.
·         Brainfuck
·         BPEL
·         BUGSYS
·         BuildProfessional

C[editar]

·         C
·         C--
·         C++ - ISO/IEC 14882
·         C# - ISO/IEC 23270
·         C/AL
·         Caché ObjectScript
·         C Shell
·         Caml
·         Candle
·         Cayenne
·         CDuce
·         Cecil
·         Cel
·         Cesil
·         Ceylon
·         CFML
·         Cg
·         Chapel
·         CHAIN
·         Charity
·         Charm
·         Chef
·         CHILL
·         CHIP-8
·         chomski
·         Chrome (Ahora Oxygene)
·         ChucK
·         CICS
·         CIL
·         Cilk
·         CL (IBM)
·         Claire
·         Clarion
·         Clean
·         Clipper
·         CLIST
·         Clojure
·         CLU
·         CMS-2
·         COBOL - ISO/IEC 1989
·         Cobra
·         CODE
·         CoffeeScript
·         Cola
·         ColdC
·         ColdFusion
·         Cool
·         COMAL
·         Common Lisp (también conocido como CL)
·         COMPASS
·         Component Pascal
·         COMIT
·         Constraint Handling Rules (CHR)
·         Converge
·         CORAL66
·         Corn
·         CorVision
·         Coq
·         COWSEL
·         CPL
·         csh
·         CSP
·         Csound
·         Curl
·         Curry
·         Cyclone
·         Cython

D[editar]

·         D
·         DaVinci Concurrente
·         DASL (Datapoint's Advanced Systems Language)
·         DASL
·         Dart
·         DataFlex
·         Datalog
·         DATATRIEVE
·         dBase
·         DC
·         DCL
·         Deesel (formalmente G)
·         Delphi
·         DinkC
·         DIBOL
·         DL/I
·         Draco
·         Dylan
·         DYNAMO

E[editar]

·         E
·         E#
·         Ease
·         Easy PL/I
·         EASYTRIEVE PLUS
·         ECMAScript
·         Edinburgh IMP
·         EGL
·         Eiffel
·         ELAN
·         Emacs Lisp
·         Emerald
·         Epigram
·         Erlang
·         es
·         Escapade
·         Escher
·         ESPOL
·         Esterel
·         Etoys
·         Euclid
·         Euler
·         EUPHORIA
·         CMS EXEC
·         EXEC 2

F[editar]

·         F
·         F#
·         Factor
·         Falcon
·         Fancy
·         Fantom
·         FAUST
·         Felix
·         Ferite
·         FFP
·         Fjölnir
·         FL
·         Flavors
·         Flex
·         FLOW-MATIC
·         FOCAL
·         FOCUS
·         FOIL
·         FORMAC
·         @Formula
·         Forth
·         Fortran - ISO/IEC 1539
·         Fortress
·         FoxBase
·         FoxPro
·         FP
·         FPr
·         Franz Lisp
·         Frink
·         F-Script
·         FSProg
·         Fuxi

G[editar]

·         G
·         Gambas
·         Game Maker Language
·         GameMonkey Script
·         GAMS
·         GAP
·         G-code
·         Genie
·         GDL
·         Gibiane
·         GJ
·         GLSL
·         GNU E
·         Go
·         Go!
·         GOAL
·         Gödel
·         Godiva
·         Goo
·         GOTRAN
·         GPSS
·         GraphTalk
·         GRASS
·         Groovy

H[editar]

·         HAL/S
·         Hamilton C shell
·         Harbour
·         Haskell
·         Haxe
·         High Level Assembly
·         HLSL
·         Hop
·         Hope
·         Hugo
·         Hume
·         HyperTalk

I[editar]

·         IBM Basic assembly language
·         IBM HAScript
·         IBM Informix-4GL
·         ICI
·         Icon
·         Id
·         IDL
·         IMP
·         Inform
·         Io
·         Ioke
·         IPL
·         IPTSCRAE
·         ISLISP
·         ISPF
·         ISWIM

J[editar]

·         J
·         J#
·         J++
·         JADE
·         Jako
·         JAL
·         Janus
·         JASS
·         Java
·         JavaScript
·         JCL
·         JEAN
·         Join Java
·         JOSS
·         Joule
·         JOVIAL
·         Joy
·         JScript
·         JavaFX Script
·         Julia

K[editar]

·         K
·         Kaleidoscope
·         Karel
·         Karel++
·         Kaya
·         KEE
·         KIF
·         KRC
·         KRL
·         KRL (KUKA Lenguaje Robot)
·         KRYPTON
·         ksh

L[editar]

·         L
·         L# .NET
·         LabVIEW
·         Ladder
·         Lagoona
·         LANSA
·         Lasso
·         LaTeX
·         Lava
·         LC-3
·         Leadwerks Script
·         Leda
·         Legoscript
·         LIL
·         LilyPond
·         Limbo
·         Limnor
·         LINC
·         Lingo
·         Linoleum
·         LIS
·         LISA
·         Lisaac
·         Lisp - ISO/IEC 13816
·         Lite-C
·         Lithe
·         Little b
·         Logo
·         Logtalk
·         LPC
·         LSE
·         LSL
·         LiveCode
·         Lua
·         Lucid
·         Lustre
·         LYaPAS
·         Lynx

M[editar]

·         M
·         M2001
·         M4
·         Machine code
·         MAD (Michigan Algorithm Decoder)
·         MAD/I
·         Magik
·         Magma
·         make
·         Maple
·         MAPPER (Unisys/Sperry) ahora parte de BIS
·         MARK-IV (Sterling/Informatics)
·         Mary
·         MASM Microsoft Assembly x86
·         Mathematica
·         MATLAB
·         Maxima (ver también Macsyma)
·         Max (Max Msp - Entorno de programación gráfico)
·         MaxScript lenguaje interno de 3D Studio Max
·         Maya (MEL)
·         MDL
·         Mercury
·         Mesa
·         Metacard
·         Metafont
·         MetaL
·         Microcode
·         MicroScript
·         MIIS
·         MillScript
·         MIMIC
·         Mirah
·         Miranda
·         MIVA Script
·         ML
·         Moby
·         Model 204
·         Modelica
·         Modula
·         Modula-2
·         Modula-3
·         Mohol
·         Monkey X
·         MOO
·         Mortran
·         Mouse
·         MPD
·         MSIL - nombre deprecado por CIL
·         MSL
·         MUMPS

N[editar]

·         Napier88
·         NASM
·         NATURAL
·         Neko
·         Nemerle
·         NESL
·         Net.Data
·         NetLogo
·         NetRexx
·         NewLISP
·         NEWP
·         Newspeak
·         NewtonScript
·         NGL
·         Nial
·         Nice
·         Nickle
·         Nodejs
·         NPL
·         Not eXactly C (NXC)
·         Not Quite C (NQC)
·         Nu
·         NSIS
·         NoSQL (NoSQL)

Ñ[editar]

O[editar]

·         o:XML
·         Oak
·         Oberon
·         Obix
·         OBJ2
·         Object Lisp
·         ObjectLOGO
·         Object REXX
·         Object Pascal
·         Objective-C
·         Objective-J
·         Obliq
·         Obol
·         OCaml
·         occam
·         occam-π
·         Octave
·         OmniMark
·         Onyx
·         Opa
·         Opal
·         OpenEdge ABL
·         OPL
·         OPS5
·         OptimJ
·         Orc
·         ORCA/Modula-2
·         Oriel
·         Orwell
·         Oxygene
·         Oz

P[editar]

·         P#
·         PARI/GP
·         Pascal - ISO 7185
·         Pauscal en español
·         Pawn
·         PCASTL
·         PCF
·         PEARL
·         PeopleCode
·         Perl
·         PDL
·         PHP
·         Phrogram
·         Pico
·         Pict
·         Pike
·         PIKT
·         PILOT
·         Pizza
·         PL-11
·         PL/0
·         PL/B
·         PL/C
·         PL/I - ISO 6160
·         PL/M
·         PL/P
·         PL/SQL
·         PL360
·         PLANC
·         Plankalkül
·         PLEX
·         PLEXIL
·         Plus
·         POP-11
·         PostScript
·         PortablE
·         Powerhouse
·         PowerBuilder
·         PowerShell
·         PPL
·         Processing
·         Processing.js
·         Prograph
·         PROIV
·         Prolog
·         Visual Prolog
·         Promela
·         PROTEL
·         ProvideX
·         Pro*C
·         Pure
·         Python

Q[editar]

·         QBasic
·         Qi
·         QtScript
·         QuakeC
·         QPL

R[editar]

·         R
·         R++
·         Racket
·         RAPID
·         Rapira
·         Ratfiv
·         Ratfor
·         rc
·         Realbasic
·         REBOL
·         Redcode
·         REFAL
·         Reia
·         Revolution
·         rex
·         REXX
·         Rlab
·         ROOP
·         RPG
·         RPL
·         RSL
·         RTL/2
·         Ruby
·         Rust

S[editar]

·         S
·         S2
·         S3
·         S-Lang
·         mIRC scripting
·         S-PLUS
·         SA-C
·         SabreTalk
·         SAIL
·         SALSA
·         SAM76
·         SAS
·         SASL
·         Sather
·         Sawzall
·         SBL
·         Scala
·         Scheme
·         Scilab
·         Scratch
·         Script.NET
·         Sed
·         Seed7
·         Self
·         SenseTalk
·         SETL
·         Shift Script
·         SiMPLE
·         SIMPOL
·         SIMSCRIPT
·         Simula
·         Simulink
·         SISAL
·         SLIP
·         SMALL
·         Smalltalk
·         Small Basic
·         SML
·         SNOBOL(SPITBOL)
·         Snowball
·         Swift
·         SOL
·         Span
·         SPARK
·         SPIN
·         SP/k
·         SPS
·         Squeak
·         Squirrel
·         SR
·         S/SL
·         Starlogo
·         Strand
·         STATA
·         Stateflow
·         Subtext
·         Suneido
·         SuperCollider
·         SuperTalk
·         SYMPL
·         SyncCharts
·         SystemVerilog

T[editar]

·         T
·         TACL
·         TACPOL
·         TADS
·         TAL
·         Tcl
·         Tea
·         TECO
·         TELCOMP
·         TeX
·         TEX
·         TIE
·         Timber
·         TMG
·         Tom
·         TOM
·         Topspeed
·         TPU
·         Trac
·         T-SQL
·         TTCN
·         Turing
·         TUTOR
·         TXL
·         TypeScript

U[editar]

·         Ubercode
·         UCSD Pascal
·         Unicon
·         Uniface
·         UNITY
·         Unix shell
·         UnrealScript

V[editar]

·         Vala
·         VBA
·         VBScript
·         Verilog
·         VHDL
·         Visual Basic
·         Visual Basic .NET
·         Visual C#
·         Visual DataFlex
·         Visual DialogScript
·         Visual Fortran
·         Visual FoxPro
·         Visual J++
·         Visual J#
·         Visual Objects
·         VSXu
·         Vvvv

W[editar]

·         WATFIV, WATFOR
·         WebDNA
·         WebQL
·         Windows PowerShell
·         Winbatch

X[editar]

·         X++
·         X10
·         XBL
·         XC (aprovecha XMOS architecture)
·         xHarbour
·         XL
·         XOTcl
·         XPL
·         XPL0
·         XQuery
·         XSB
·         XSLT - Ver XPath

Y[editar]

·         Yorick
·         YQL

Z[editar]

·         Z notation
·         Zeno
·         ZOPL
·         ZPL


 Estructura de programación orientada a objetos.

Estructuras de programación orientada a objetos La programación orientada a objetos (POO) es un modelo de programación, una forma particular de pensar y escribir el código, en la que se utilizan los elementos básicos vistos anteriormente: variables, expresiones y funciones..., pero organizados de modo más próximo al lenguaje verbal. El hecho de ser un modelo implica que tiene su propia lógica, y para usarlo no sólo debe comprenderse sino que hay que pensar el desarrollo del código según ese modelo, para poder aplicar después el lenguaje.
 La POO nos hace pensar las cosas de una
manera más abstracta y con una estructura
más organizada, que sigue un proceso de
descomposición del problema en partes
bastante particular. Los métodos
tradicionales de programación estructurada
descomponen la complejidad en partes más
simples y fáciles de codificar, de manera que
cada sub-programa realiza una acción.
En la POO no se descompone el problema
en las acciones que tiene que hacer el
programa, sino en objetos, por lo que debemos
pensar en el posible escenario de esos
objetos, cómo definir sus características y
comportamiento. De ahí que el elemento básico de esta estructura de programación no son las funciones sino los objetos, entendidos como la representación de un concepto que contiene información necesaria (datos) para describir sus propiedades o atributos y las operaciones (métodos) que describen su comportamiento en ese escenario. Por eso implica una manera distinta de enfocar los problemas, que empieza por la abstracción, entendida en este caso como la capacidad mental para representar una realidad compleja en los elementos separados simplificados (objetos), ver aisladamente sus necesidades de definición y comportamiento, y también sus relaciones (mensajes) y comportamiento conjunto. Si nos detenemos a pensar sobre cómo se nos plantea un problema cualquiera en la realidad podremos ver que lo que hay son entidades (otros nombres que podríamos usar para describir lo que aquí llamo entidades son "agentes" u "objetos"). Y no sólo eso, también podremos descubrir, a poco que nos fijemos, todo un conjunto de interrelaciones entre las entidades, guiadas por el intercambio de mensajes; las entidades del problema responden a estos mensajes mediante la ejecución de ciertas acciones.36 Esta forma particular de estructurar el código favorece su reutilización al compartimentarse en módulos independientes. Recordad la cita de Katherine B. McKeithen37 respecto a la importancia de organizar bien la información para procesarla como grupos significativos, algo así sucede en la POO.



Bibliografía.
Peter Abel. IBM PC Assembly Language and Programming. Fourth Edition. Prentice Hall. 1997.