Discusión:Lenguaje de programación

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En esta página aparece un enlace al Lenguaje que termina llevando a otra referencia del satelite Miranda (Mmm... será programación de otro planeta? tu eres pato )

Bueno... no es muy terrible (Si un lenguaje de programación se llama "Miranda" no creo que pase a la historia) pero quice hacer mi primer aporte :P

  • De hecho, 'Miranda' es un lenguaje de programación bastante importante. No es muy conocido por su naturaleza completamente funcional y el hecho de que no es libre sino comercializado por su creador. Sin embargo, se considera el antecesor del muy importante (y bastante más conocido) lenguaje Haskell. Un google por "miranda programming language" debería resultar en varios hits. --Danakil

Incoherencia[editar]

Cito Textual:

"Un programa escrito en un lenguaje de programación necesita pasar por un proceso de compilación, es decir, ser traducido al lenguaje de máquina para que pueda ser ejecutado por el ordenador."

Existen lenguajes en la lista que no cumplen esta maxima. Ej.: PHP, JavaScript. Incluso aparecen aquellos como SQL que no son necesariamente Lenguajes de programacion.

-->Los lenguajes de programación citados anteriormente (PHP, Javascript y SQL) no son compilados, pero eso no quiere decir que no pasen por un proceso de traducción a lengaje máquina. La interpretación también es, en última instancia, un proceso de traducción.

-->La cita inicial correcta sería: "Un programa escrito en un lenguaje de programación necesita ser traducido al lenguaje de máquina para que pueda ser ejecutado por el ordenador."

ApokalipsyS

-->En "Un programa escrito en un lenguaje de programación necesita pasar por un proceso de compilación, es decir, ser traducido al lenguaje de máquina para que pueda ser ejecutado por el ordenador." al final se deberia poner "excepciones: [nombres de las excepciones]."--Sebasweee (discusión) 17:33 19 oct 2008 (UTC)

-->Precisiones: Pepe Osca

Bueno estoy terminando la carrera de informática así que algo sé. Así que intento corregir el error:

-->Eso está bien, pero te equivocas. Tienes un fallo de concepto.

Los programas que pasan por un proceso de compilación son los lenguajes compilados, como C, C++, Pascal. En este proceso se "convierte" el código en el lenguaje fuente en el lenguaje máquina correspondiente, partiendo de que esta no es una traducción directa sino que lleva un proceso complejo.

-->Eso está bien.

Los lenguajes interpretados, como dice su nombre, no son compilados, sino que una vez hecho el codigo un programa llamado intérprete lo lee y lo ejecuta. Lenguajes interpretados son Perl, Javascript, PHP, Octave, etc.

-->Esto se podría matizar para evitar errores. Dices que el intérprete lo lee y lo ejecuta, pero ese léxico puede llevar a confusiones. El intérprete no ejecuta nada, puesto que es un programa y un programa no puede ejecutar nada. Quien ejecuta es la CPU, y concretamente la unidad de ejecución de la misma. Lo que hace el intérprete es convertir al vuelo el lenguaje interpretado al lenguaje máquina de la CPU sobre la que se está ejecutando el mismo intérprete.

Luego está algun caso más complejo, como es el de Java o el de la tecnología .NET. Por un lado Java es un lenguaje compilado e interpretado al mismo tiempo: el código Java se traduce a un lenguaje máquina mediante una compilación, pero no el de la máquina donde se ejecuta sino sobre una Máquina Virtual Java, con una arquitectura concreta que no es real. Luego ejecutas esa Máquina Virtual, que permite "interpretar" y ejecutar ese código máquina Java. Por otro lado .NET se compila de dos veces: primero compilas para crear un ensamblado, que es el código compilado todo lo posible de forma independiente a la máquina sobre la que se va a ejecutar. Luego cuando ejecutas, al no tener el ejecutable lo que se hace es terminar el proceso de compilación, ya de una forma concreta para la máquina sobre la que corre el programa.

-->También aquí hay alguna imprecisión. Java y .NET son interpretados, no compilados ni ambas cosas. Lo que sucede es que ambos se traducen en 2 fases: la primera convierte el código Java o .NET a un lenguaje intermedio (bytecodes), común a las todas las máquinas virtuales Java o al entorno de ejecución .NET respectivamente. Con esto lo que se consigue es portabilidad (aunque al .NET no le sirve de mucho) y, en el caso del .NET, independencia del lenguaje de programación de alto nivel usado (.NET permite usar muchos lenguejes diferentes). Pero ahi terminan sus ventajas. Posteriormente en una segunda fase de traducción, la máquina virtual termina de interpretar el programa, por lo que estos lenguajes cojean exactamente de lo mismo que cualquier lengueje interpretado normal: la velocidad de ejecución.

Por último reseñar que los lenguajes compilados son lenguajes de alto nivel. Los lenguajes de bajo nivel (los ensambladores) se ensamblan o linkan. La diferencia entre los dos procesos consiste en que, mientras ensamblar consiste en una traducción casi directa del lenguaje ensamblador concreto al lenguaje máquina, basada en convertir las palabras usadas para cada instrucción (opcodes) al código numérico correspondiente, compilar un código conlleva un proceso más complejo ya que un lenguaje de alto nivel es totalmente independiente del de la máquina y está diseñado de cara al programador.

-->Sin ánimo de ofender, ¿tú has aprobado la asignatura de compiladores de la universidad o una de las que te quedan?. El lenguaje ensamblador es un lenguaje compilado totalmente. Simplemente la compilación es muy simple. Linkar (que está mal dicho en castellano) o enlazar es un proceso posterior a la compilación que consiste básicamente en unir los archivos en código objeto en un solo archivo ejecutable y establecer algún que otro enlace con as librerías externas si es necesario.

Jake Chambers
PD: Es mi primera aportacion y no tengo página de usuario ni nada, pero si saco tiempo puedo ayudar en este tema un poco
PD2: SQL si que lo considero lenguaje de programación, pero no sigue ninguno de los paradigmas presentados (ni es estructurado, ni es orientado a objetos ni funcional). No estoy seguro y debería mirarlo, pero si no me equivoco es lo que se llama un lenguaje orientado a predicados. Es un lenguaje que presenta una serie de órdenes (Busca esto en las base de datos en estas tablas con estas consideraciones...) que se ejecutan. Igual pasa con HTML (con órdenes de pon esto aqui o alla) aunque sea más discutible como subconjunto de XML que es al fin y al cabo. Un lenguaje informático es, por ejemplo, XML, que presenta unas reglas para la codificación y la transmisición de información.

-->Bueno, por aquí vas bien encaminado. SQL es un lenguaje declarativo (predicativo) de cuarta generación, es decir un lenguaje para trabajar con bases de datos en el que no se especifica cómo hacaer las cosas(imperativo), sino qué es lo que se quiere hacer.

-->Preciciones a Jake Chambers hechas por Pepe Osca.

— El comentario anterior es obra de Jake Chambers (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

¿Qué tal un árbol genealógico (o varios)?[editar]

Hola:

Ahí va mi sugerencia: ¿Qué tal si se construye un árbol gennealógico (o un bosque) de los distintos lenguajes de programación? Yo no soy informático ni tengo más que unos conocimientos básicos, así que soy totalmente incapaz de hacerlo, pero me parece bastante clarificador ver de dónde sale un lenguaje de programación. Si alguien lo hece, muchísimas gracias. Saludos.

--Wewe 14:51 2 ene 2006 (CET)

Algo se podría hacer, pero lo veo algo complejo porque muchos lenguajes que aparecen pican y cogen cosas de otros lenguajes distintos. Además hay lenguajes que poco o nada tienen que ver con los demás, como PROLOG o LISP.
— El comentario anterior es obra de Jake Chambers (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

--((julio))-- yo pienso que seria muy util pero se necesitaría algo de conocimiento para ello y si alguien lo puede hacer seria muy bueno, ya que aun estoy en mis estudios basados en ello y alguna paca de ayuda de lenguajes de programacion seria muy util y quisiera saber mas de visual basic.

--Raúl Luna-- He estado dándole vueltas al tema y creo que la idea de un arbol genealógico no es viable. No lo es porque la mayor parte de los lenguajes actuales no tienen padre. Pascal, Fortran, Cobol, C... cada uno de ellos toma ideas de los anteriores, pero no tiene la misma sintaxis, ni compatibilidad por lo que es difícil hacer esta clasificación.

Quizá sería más interesante hacer un cronograma con todos los lenguajes. Os mando mi primera lista, que he hecho de cabeza:

Otros lenguajes:

  • Eiffel
  • E
  • Haskell

Hola que tal yo opino que es buena la opcion de hacer un cronograma pero tambien seria genial que aparte de poner fechas, es decir algunos asuntos sobre cuando surgio y cuando concluyeron como proyectos estos lenguajes, una descripcion breve sobre en que otros lenguajes se basa y para que tipo de aplicaciones es mejor cada uno de estos ya que algunos funcionan totalmente diferente ya sea en compatibilidad o sintaxis aunque tengan un lenguaje ya basado en otros anteriores y se vuelven cada dia mas complejos y con versiones mejoradas.--189.247.3.189 (discusión) 06:54 8 dic 2011 (UTC)Eder Huerta Admin e Inform (UNAM)

No entiendo[editar]

Disculpen, pero no entiendo porque no se considera el Delphi como un lenguaje de programacion, y porque si el Visual Basic

Saldudos Shaba

Cuando programas en el entorno de desarrollo dado por Microsoft en Visual Studio para Visual Basic estás haciendo exáctamente lo mismo que cuando usas el entorno de desarrollo de Delphi. La diferencia es que Delphi es un entorno que usa un lenguaje llamado Object Pascal, mientras que en el entorno de Microsoft usas otro lenguaje que se llama Visual Basic. Pero no hay que confundir dos cosas: una es el lenguaje Visual Basic y otro es el entorno de trabajo, el programa que usas. De hecho podrías usar otro programa de las mismas características con otro nombre que permitiese trabajar en Visual Basic, el lenguaje sería el mismo pero cambias de entorno de desarrollo.
Espero que la respuesta te saque de dudas. Saludos Jake
— El comentario anterior es obra de Jake Chambers (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

Se prodia Complementar ...[editar]

Hola la verdad , creo que el articulo esta bastante incompleto y que podrian agregarse una clasificacion general de los lenguages de programacion en base a caracteristicas como :

Pragmatica,Semantica.

Ademas Caracteristicas como "la forma en que se ejecutan los programas": - Lenguajes compilados. - Lenguajes interpretados. - Lenguajes mixtos.

Enlace externo[editar]

Hola,

Yo solo quería notificar que el último enlace del artículo no funciona. Es el siguiente:--PepaBCN 14:33 2 ene 2007 (CET)--PepaBCN 14:33 2 ene 2007 (CET)

http://www.alegsaonline.com/art/13.php

<the hacker> ami me gustaria que alguno pusiera las diferencias entre lenguaje c y otros lenguajes de programacion

Lenguajes de Programacion Mas Utilizados[editar]

Yo solo me interesa saber cuales son los lenguajes de programacion mas utilizados.. si alguien me puede ayudar, gracias, tambien ¿Qué perspectivas hay para el futuro? Que nos viene?

Respuesta dificil de contestar:
Si trabajas haciendo un programa para una empresa, la moda hoy en día es la programación en web, usando HTML, JavaScript, php y luego hay dos tendencias: usar Java y usar tecnologías .NET (Visual Basic, ASP, Visual C, etc)
Si trabajas en Sistemas Operativos o haces un programa no web, la gran tendencia desde hace bastante es usar C++ con alguna librería gráfica tipo GTK, QT (si trabajas en UNIX - Linux) o Visual C en windows (o alguna variante tipo Builder e incluso Delphi, pero estos se usan menos). Otro lenguaje que se sigue usando mucho es Visual Basic, aunque muchas veces porque el programador o las empresa ha querido seguir usando un lenguaje ya conocido y que le ha dado buenos resultados.
La tendencia en un futuro parece que están en los lenguajes de especificación. Básicamente es una tendencia por la que los programas para el diseño de aplicaciones usando UML codifiquen gran parte del programa automáticamente, quedando pendiente sólo la programación de algoritmos concretos por parte del programador. Eso no quiere decir que la programación quede obsoleta, sino que hay que aprender mucho más de UML y de análisis y diseño de programas (algo así como hacer un plano por parte de un arquitecto).
— El comentario anterior es obra de Jake Chambers (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

Creo que la tendencia actual es buscar lenguajes de los cuales se obtengan productos multiplataforma, porque no se sabe hasta donde llegue la Microsoft o hasta donde llegue el software libre. También debes tener en cuenta el factor humano.

Apunte sobre la clasificación de los lenguajes[editar]

Creo que habría que concretar dos aspectos acerca de la clasificación por nivel de abstracción de los lenguajes de programación.

Por un lado hoy en día se consideran que son los ensambladores los lenguajes de bajo nivel. Hoy en día nadie programaría en lenguaje de máquina a no ser que sea para algo específico, sino que como poco se usaría el ensamblador que para algo se ideó. Hace años sí que se hacía (me acuerdo de ver código máquina empotrado en programas Basic en el Comodore 64) pero es muy complejo y fácil de cometer errores que podrían incluso dañar la máquina. Es más, en arquitecturas modernas basadas en VLIW o EPIC la idea de usar un ensamblador parece una alternativa muy poco práctica.

Por otro lado se habla de lenguajes de medio nivel. La verdad que es la primera vez que escucho esto. C se considera un lenguaje de alto nivel, aunque de entre ellos se considera como el de más bajo nivel. Sin embargo sigue todas las características de un lenguaje de alto nivel: está diseñado de cara al programador y no a la máquina, es compilado, etc.

Saludos Jake — El comentario anterior es obra de Jake Chambers (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

Algunos lenguajes de programación[editar]

ASP y ASP.NET no son lenguajes, son tecnologias. Si uno sigue el link, a las paginas de cada una, el mismo contenido de la pagina dice que es una tecnologia. — El comentario anterior es obra de Da tes (disc. · contr. · bloq.), quien olvidó firmarlo. --icvav (discusión) 01:45 10 abr 2007 (CEST)

Sí son lenguajes, con su sintaxis... Lo que ocurre es que abarcan más cosas a parte de un lenguaje. --icvav (discusión) 01:45 10 abr 2007 (CEST)


serian tan amables de poner el software baisc.exe

para que esta pajina este completa . felicidades.

Lenguaje[editar]

Falta algo vital a la definición de lenguaje y es que un conjunto de programadores tengan, precisamente, un lenguaje común que les permita construir el programa en cuestión. Esto es: un lenguaje de programación proporciona un conjunto de instrucciones, semántica y sintaxis comunes a varios programadores. Olvidé firmar Gerardo 04:50 3 ago 2007 (CEST) amo a stemmlerrrrrrrrrrrrrrrrrrrrr! — El comentario anterior es obra de 168.234.217.7 (disc. · contr. · bloq.), quien olvidó firmarlo.

Formato[editar]

A todos los colaboradores que lean esta nota: He alterado los niveles de sangrado de los textos y sus títulos. Esto es porque así se lee mejor por personas que usamos anteojos. He añadido texto y un par de referencias. El texto aun no es lo suficientemente claro como para que un lector novel pueda comprenderlo sin recurrir a otras fuentes. Saludos --Otermin 01:11 6 ago 2007 (CEST)


bunes tardes quien me puede dar una definicion de lo que es un lenguaje de programacion. por fabor es que tengo que dar una mas completa. soy jhonny

añadir lenguajes de programación propietarios[editar]

Buenos días a tod@s.

Desearía estudiasen la posiblidad de hablar en http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n de los distintos lenguajes de programación propietarios de las distinto ERP´S del mercado como NAVISION, que utiliza C/CAL, el ERP SAP, ETC. y hacia donde están evolucionando.

Un cordial saludo --87.216.24.41 (discusión) 08:50 6 may 2008 (UTC)


Me parece una buena idea, si conoces alguno de estos lenguajes y/o herramientas puedes ponerte a ello ya mismo, busca en la wikipedia si existe el artículo correspondiente y si es que sí mejóralo todo lo que puedas, y si no existe no dudes en crearlo, y si luego pones una referencia en este artículo al nuevo, mejor que mejor. Jesuja (discusión) 09:36 6 may 2008 (UTC)

Lenguajes compilados/interpretados[editar]

No existe tal cosa. Es un error común de concepto. Pero lo cierto es que eso es solamente una diferencia de implementación. Todo lenguaje puede compilarse, y todo lenguaje puede interpretarse. Sí es cierto que hay lenguajes que son más dados a la compilación, pero eso tiene que ver con el tipado. El artículo de la wiki inglesa tiene todo esto correctamente, recomiendo su lectura a los que quieran trabajar este artículo. niqueco 05:41 5 feb 2009 (UTC)

A lo mejor me estoy equivocando, pero según tengo entendido hay lenguajes que no se pueden compilar por su manera de funcionar, como por ejemplo Python. He encontrado maneras de generar un fichero ejecutable de un programa Python, pero no compilan, lo que hacen es meter en un mismo fichero el intérprete y el código a interpretar.
Y en relación al tema... al principio del artículo se da a entender que la compilación es un paso necesario. Y aunque es necesario "traducir" el programa a lenguaje máquina, no siempre se hace mediante compilación. Debería especificarse.Zore (discusión) 15:33 18 sep 2011 (UTC)

Idioma artificial[editar]

En la entrada de este artículo se dice que un lenguaje de programación es un idioma artificial. Este enlace redirige al artículo "lengua construida", en cuya entrada se dice que los lenguajes de programación no entran en esa categoría por no ser idiomas. Una de las dos entradas es errónea, pero carezco de conocimientos para saber cuál.--Gorpik (discusión) 11:22 10 jun 2010 (UTC)

yo creo que este articulo tiene muchos aspectos que deberian retomarce debido a la falta de informacion en dististos aspectos pero pues dentro de lo que cabe es un buen articulo del que se pueden tomar varios datos de suma inportancia en este articulo pero pues hay uno que otro punto que deberia retomarce para la mejora de este articulo.

Estoy inconforme con la historia de este artículo[editar]

En la historia mencionas esto:

Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, el cual la máquina comprende fácilmente, pero que lo hace excesivamente complicado para las personas. De hecho sólo consiste en cadenas extensas de números 0 y 1.

En mi parecer como tratas de iniciar la historia no es lo correcto, deberiar leer la guía de Cómo empezar a escribir historias, es un manual básico de introducción a la narrativa escrito por Alberto Chimal. Es muy bueno te lo recomiendo, ya que tu inicio de historia es muy directo sin haber tenido un antecedente previos, podrias haber iniciado primero que es un lenguaje , despues ya podrias haber explicado lo del lenguaje de comunicación entre la persona y la computadora y por ultimo el codigo maquina (codigo binario). Lo puedes descargar de aqui: http://www.lashistorias.com.mx/descarga/EscribirHistorias-AC.pdf

Alberto Chimal,(2012),Cómo empezar a escribir historias,Dirección General de publicaciones del Consejo Nacional para la Cultura y las artes

Te dare un ejemplo sencillo de como podrias haber hecho:

El lenguaje maquina, es el primer lenguaje utilizado en la programación para las primeras computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, y que además reducen la posibilidad de cometer errores,es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits.

El lenguaje máquina es el único lenguaje que puede ejecutar una computadora, es específico en cada arquitectura, es un código que es interpretado directamente por el microprocesador, está compuesto por un conjunto de instrucciones ejecutadas en secuencia que representan acciones que la máquina podrá tomar.


Atte: --Gibraniux (discusión) 16:43 26 ago 2015 (UTC)

Comentario de 27 de agosto de 2016[editar]

Wow la definicion de lenguaje de programacion de la version es espanhol es algo totalmente erroneo. Pone como elemntos necesarios de lenguaje de programacion que tenga bucles condiciones y hasta funciones. Increible cuanta ignorancia hay aqui. Una vision muy poco generalizada de "lenguaje de programacion". Esta terrible esta pagina por favor lean la de ingles que esta mucho mas elaborada con mucha mas abstraccion.