Discusión:Lenguaje de programación
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
editarCito 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 máxima. 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 lenguaje máquina. La interpretación también es, en última instancia, un proceso de traducción.u
-->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."
-->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 hacer las cosas(imperativo), sino qué es lo que se quiere hacer.
-->Preciciones a Jake Chambers hechas por Pepe Osca.
¿Qué tal un árbol genealógico (o varios)?
editarHola:
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:
- Código máquina
- Ensamblador (en algún momento alguien hizo un ensamblador con unos y ceros)
- Fortran
- Lisp
- Cobol
- Prolog
- PL/1
- Algol
- Pascal
- Modula
- C
- C++
- Lenguaje DBase (dBase I, dBase II, dBase III...)
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
editarDisculpen, 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.
Se podría Complementar ...
editarHola la verdad , creo que el artículo está bastante incompleto y que podrían agregarse una clasificación general de los lenguages de programación en base a características como :
Pragmática,Semántica.
Además Características como: "la forma en que se ejecutan los programas": - Lenguajes compilados. - Lenguajes interpretados. - Lenguajes mixtos.
Enlace externo
editarHola,
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
editarYo 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
editarCreo 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)
Ritchie y Thompson
editarEl lenguaje de programación fue creado por Ritchie y Thompson en los laboratorios Bell. Lo que si creo Backus ademas de la Forma Normal Backus (luego devenido por las contribucion que tuvo Naur en su mejora a Backus Naur Form aprovechando las mismas iniciales) fue el lenguaje Algol, el primer lenguaje con pila que permitia recursividad y fue el padre de todos los lenguajes con pila incluyendo a C.— El comentario anterior sin firmar es obra de 190.48.208.167 (disc. • contribs • bloq). 21:02 17 feb 2007 (UTC)
- C# i Java no son lenguajes imperativos, no deberían estar aquí.--Oscaroe (discusión) 18:09 25 may 2008 (UTC)
- De acuerdo con Oscarore Java no debe aparecer como lenguaje imperativo. De acuerdo, Java no debería considerarse como un lenguaje imperativo aunque posibilite programar bajo dicho paradigma. (Carlos A. Núñez) — El comentario anterior sin firmar es obra de 88.0.253.172 (disc. • contribs • bloq). 21:41 18 abr 2010 2024-09-12 T 07:32 UTC
Algunos lenguajes de programación
editarASP 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
editarFalta 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
editarA 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
editarBuenos días a tod@s.
Desearía estudiasen la posiblidad de hablar en http://es.wiki.x.io/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
editarNo 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)
- Para cualquier duda sobre las capacidades de obtener código compilado de un archivo fuente escrito en Python, es mejor remitirse a su documentación oficial.--Drakkarkyu (discusión) 23:25 7 nov 2020 (UTC)
Idioma artificial
editarEn 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.
"y el mundo físico guarda el estado (Zoom)"
editarEsta frase no se entiende mucho. Algun entendido podría mejorarla. "Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom)."--Solde9 (discusión) 19:41 19 oct 2010 (UTC)
- La traducción puede ser confusa, pero es claro que se refiere a algunas analogías (comunmente usadas en la enseñanza de primeros pasos en programación) como la de la receta de cocina. Con "mundo físico" hace referencia a que las instrucciones de la analogía y su proceso (los pasos de la receta de cocina) se ejecutan y registran su estado en el mundo real y no a nivel de instrucciones de máquina, registros de procesador, stacks, etc. (el procesador es el cocinero, que hace "fetch" de los pasos, actualiza sus registros y memoria que son los bowls, etc.).
Propondría: "... el estado de la ejecución se actualiza en el mundo real" Lo que no se entiende, es "(Zoom)". Podría ser una cita de alguna publicación? --190.0.113.17 (discusión) 06:01 12 dic 2012 (UTC) Usuario: Lawrence (ARG).
Estoy inconforme con la historia de este artículo
editarEn 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
editarWow 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.
Enlaces externos modificados
editarHola,
Acabo de modificar 1 enlaces externos en Programación imperativa. Por favor tomaos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:
- Se añadió el archivo https://web.archive.org/web/20110314190020/http://ademirar.wordpress.com/2010/08/28/programacion-funcional-para-el-resto-de-nosotros/ a http://ademirar.wordpress.com/2010/08/28/programacion-funcional-para-el-resto-de-nosotros/
Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.
Saludos.—InternetArchiveBot (Reportar un error) 22:39 28 abr 2018 (UTC)
Fusión de artículos
editarVoy a incluir aquí mi explicación sobre la propuesta de fusión de los artículos Lenguaje de alto nivel, Lenguaje de bajo nivel y Generaciones de lenguajes de programación en este artículo que escribí para un compañero wikipedista que me preguntaba sobre ello:
- Mi línea de razonamiento respecto a la fusión es que no se puede escribir un artículo de lenguajes de programación completo sin definir los conceptos de "alto nivel" y "bajo nivel" dentro de él, ya que se necesitan utilizar a lo largo del artículo (un ejemplo de cómo hacerlo mal es el artículo en inglés, dónde se utilizan los términos sin definirlos o acotarlos previamente, lo cual es una mala práctica didáctica). Algo que sí se suele hacer en casos en los que hay un artículo mayor es usar la plantilla
{{artículo principal}}
al principio de la sección correspondiente como método de indicar que hay mucho más sobre el concepto en cuestión. Por desgracia, tanto Lenguaje de alto nivel como Lenguaje de bajo nivel son artículos "engordados artificialmente": están rellenos de contenido que no corresponde al tema del artículo sino al contexto alrededor del mismo.
- Por ejemplo, en el caso de Lenguaje de bajo nivel, todo lo referido a primera generación y segunda generación, debería estar dentro del artículo de Generaciones de lenguajes de programación, que a su vez no es más que una clasificación histórica de los lenguajes de programación que debería estar tanto en la sección del artículo principal Lenguaje de programación#Historia como en el de Historia de los lenguajes de programación. Ahora mismo nos encontramos que algo tan básico como las cuatro generaciones de lenguajes de programación ni se mencionan en ninguno de ambos, y que la información presente en Generaciones de lenguajes de programación es literalmente un esbozo de lo que debería ir en dichos artículos. Además, "lenguaje de alto nivel" históricamente no es más que un sinónimo de "lenguaje de tercera generación" (te remito al artículo de Wikipedia en inglés: "The first high-level programming languages, or third-generation programming languages (3GL), were written in the 1950s") y lo mismo pasa con "lenguajes de bajo nivel" y la primera y segunda generación (por eso aparecen mencionadas al final de Lenguaje de bajo nivel aunque sin contexto, por lo que es difícil que alguien que no conozca previamente esa información la entienda). Por otro lado, la parte Lenguaje de bajo nivel#Complejidad vs dificultad es una disquisición que no corresponde a ese artículo sino a uno más general, siguiendo el principio de no repetición de la información expositiva (es como una especie de principio DRY en el que el "bloque gordo" de información lo tienes en un solo sitio, no repetido en varios artículos que luego es una pesadilla de mantenimiento).
- Para mayor horror, existe un artículo Lenguaje de programación de tercera generación, que es también un esbozo que no dice absolutamente nada y que nuevamente se nota cómo está hinchado artificialmente para que no lo borren por infraesbozo (se ve claramente en las secciones "Segunda generación" y "Cuarta generación", que no pintan nada ahí, y en otros sitios).
- Otra pista para localizar artículos carentes de contenido real es cuando se llenan de listas para que visualmente parezcan más largos e informativos de lo que realmente son. Esto es lo que pasa por ejemplo en Lenguaje de alto nivel con "Principales lenguajes de nivel alto", una lista totalmente arbitraria que se podría extender hasta el infinito (sin aportar realmente ninguna información), o reducir hasta 4 o 5 ejemplos significativos que no ocuparían ni media linea. En general Wikipedia desaconseja el uso de las listas en muchas situaciones (ver Wikipedia:Uso de listas), ya que se ha abusado mucho en el pasado ―y se sigue abusando― por su facilidad para rellenar espacio vertical con un "copiapega" (generalmente de otra Wikipedia) sin trabajarse realmente el artículo.
- Esto es lo que pasa con las generaciones de lenguajes de programación y los de alto y bajo nivel, pero otro tanto puedo decir de los paradigmas de programación y la clasificación en programación imperativa, declarativa, etc. Ojo, algunos de estos artículos tienen sentido que sean independientes, pero son tan escasos de información que primero deberían ser integrados en el artículo principal (eliminándose de paso la redundancia de información), de forma que el que quiera que realmente existiera un artículo independiente se lo tuviera que currar y no soltar cuatro generalidades para rellenar un hueco. No me voy a extender pero vamos, si se analizan críticamente son obvias las pifias (por ejemplo Programación declarativa#Diferencia entre imperativo y declarativo dentro del artículo de declarativo) y las carencias.
Con respecto a la segunda propuesta de fusión (la referida a Paradigma de programación, Programación declarativa, Programación imperativa, Lenguaje de programación multiparadigma, Lenguaje de programación de propósito general), existe un problema bastante obvio y es que todo el artículo gira exclusivamente alrededor de los lenguajes de programación imperativos. No se explican otros paradigmas ni sus elementos, y no se mencionan lenguajes de programación en dichos paradigmas. El artículo en general está escrito más como un manual de programación (imperativa) que una explicación de lo que son los lenguajes de programación, y buena parte del material actual estaría mucho mejor en un Wikilibro sobre programación que en este artículo. --JavierCantero (discusión) 16:07 4 sep 2018 (UTC)
Fuentes para mejorar el artículo
editarFuentes que voy encontrando que pueden potencialmente ayudar a mejorar este artículo:
- Knuth, Donald E.; Trabb Pardo, Luis (1976). The early development of programming languages.
- Bergin, Jr., Thomas J.; Gibson, Jr., Richard G. (1996). History of programming languages — II (en inglés). Addison Wesley. ISBN 0-201-89502-1.
Enlaces externos modificados
editarHola,
Acabo de modificar 1 enlaces externos en Lenguaje de programación. Por favor tomaos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:
- Se añadió el archivo https://www.webcitation.org/6HZt8VX9t?url=http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm a http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm
Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.
Saludos.—InternetArchiveBot (Reportar un error) 09:12 27 may 2019 (UTC)
Enlaces externos modificados
editarHola,
Acabo de modificar 1 enlaces externos en Lenguaje de programación. Por favor tomaos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:
- Se añadió el archivo https://web.archive.org/web/20070927201748/http://www.alegsaonline.com/art/13.php a http://www.alegsaonline.com/art/13.php
Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.
Saludos.—InternetArchiveBot (Reportar un error) 23:38 10 may 2020 (UTC)