Discusión:Lenguaje de programación

Discusión:Lenguaje de programación

De Wikipedia, la enciclopedia libre

En esta página aparece un enlace al Lenguaje "Miranda" 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

Tabla de contenidos

[editar] Incoherencia

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

-->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.), quien olvidó u omitió firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

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

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.), quien olvidó u omitió 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

[editar] No entiendo

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.), quien olvidó u omitió firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

[editar] Se prodia Complementar ...

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.

[editar] Enlace externo

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

[editar] Lenguajes de Programacion Mas Utilizados

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.), quien olvidó u omitió 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.

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

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.), quien olvidó u omitió firmarlo. --icvav (discusión) 17:23 29 ene 2007 (CET)

[editar] Algunos lenguajes de programación

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.), quien olvidó u omitió 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.

[editar] Lenguaje

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.), quien olvidó u omitió firmarlo.

[editar] Formato

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

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

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)

El contenido de esta página (o parte de ella) fue extraído de wikipedia y puede redistribuirse libremente bajo la licencia de documentación libre GNU