lenguajes de programación

Iniciado por ace99, 21 Mayo 2019, 16:45 PM

0 Miembros y 2 Visitantes están viendo este tema.

ace99

Por que hay tantos lenguajes de programación, phyton,c,java,etc. Son para cosas distintas? Existe algún método para traducir de uno a otro? Cual les parece más eficiente? invito a debatir pues me parece un tema interesante

@XSStringManolo

Muchos suelen ser expansiones de otros que poco a poco acaban siendo tan distintos que dejan de ser "versiones" de otros lenfuajes para pasar a ser un lenguaje propio.
La creación de estas versiones suele darse para incorporar nuevas funcionalidades que no vienen implementadas en el lenguaje original. Otros se crean por necesidades específicas que aún no están contepladas o sí lo están pero vagamente.
Cada uno tiene sus características únicas. No hay uno más eficiente de forma general si tenemos en cuenta la propia sintaxis del lenguaje como una díficultad o facilidad sobre otros lenguajes.
Creo que no hay mucho que debatir. Cuando alguien tiene en mente los proyectos a realizar y sus carácteristicas esenciales, le es fácil encontrar el lenguaje más accesible, más económico o más eficiente.



ace99

Gracias por la respuesta me has aclarado muchas cosas, ahora entrando en lo personal, yo he aprendido cosas muy básicas de C(bucles,arrays,cadenas...), además de algunos algoritmos,arboles,grafos,colas... Pero por lo que me han dicho es de lo más básico. Me interesa la programación así como la informática en general. Que me recomendarías para seguir aprendiendo ya sea algo específico o general.

xxChema

Cita de: string Manolo en 21 Mayo 2019, 19:49 PM
Muchos suelen ser expansiones de otros que poco a poco acaban siendo tan distintos que dejan de ser "versiones" de otros lenfuajes para pasar a ser un lenguaje propio.
La creación de estas versiones suele darse para incorporar nuevas funcionalidades que no vienen implementadas en el lenguaje original. Otros se crean por necesidades específicas que aún no están contepladas o sí lo están pero vagamente.
Cada uno tiene sus características únicas. No hay uno más eficiente de forma general si tenemos en cuenta la propia sintaxis del lenguaje como una díficultad o facilidad sobre otros lenguajes.
Creo que no hay mucho que debatir. Cuando alguien tiene en mente los proyectos a realizar y sus carácteristicas esenciales, le es fácil encontrar el lenguaje más accesible, más económico o más eficiente.




Hola, estando de acuerdo contigo en que no hay mucho que debatir sobre el tema inicial. Si me parece interesante esa última vía que abres. No se si pensáis igual?:

¿Es fácil encontrar el lenguaje mas accesible, económico y eficiente para un proyecto?

Yo personalmente tengo muchísimos problemas y me tiro días decidiendo entre opiniones, a favor y en contra. Sobre todo cuando NO se conoce (o no se ha trabajado) con un lenguaje (o una versión)

Es cierto que programo poco. Pero este primer problema (la elección del lenguaje), incluso después de decidirme me sigue rondando si habré o no acertado.

¿Cómo seleccionáis vosotros el lenguaje de programación para un proyecto?.
¿Ya tenéis claro de antemano que tipo de proyecto va a ir con cada lenguaje de los que manejáis u os planteáis uno nuevo o versión ?

No se si esto iría en hilo nuevo, ya que soy nuevo y aprovecho para presentarme, ya que es la primera vez que publico: Chema, para lo que pueda aportar.

;)

@XSStringManolo

Para mi lo primero es decidir la plataforma. Será para windows el programa? Linux? Android? Ios? Multiplataforma? Navegador?...

Aplicación web o de escritorio?

Compilado o interpretado?

Que recursos básicos voy a necesitar? Interfaz gráfica, Conexion por internet, Base de datos...

Es para un proyecto como un hobbie, profesional, para el trabajo...

Necesito un control a muy bajo nivel?

Hay documentación y codigos fuente disponibles de proyectos parecidos o iguales?

Ya se ha creado este tipo de aplicaciones en algún lenguaje? En cuales?

Tengo fecha límite para desarrollar el proyecto?

Necesito que el programa utilice pocos recursos?

Necesito que el programa se ejecute en el menor tiempo posible?

...

Contestando este tipo de preguntas vas reduciendo la lista de posibles lenguajes. Con todos los que se ajusten a tus exigencias puedes ir investigando las características únicas, los pros y los contras.

Después puedes fijarte en que más te permite ese lenguaje. Solo me va a servir para este tipo de proyectos o voy a poder utilizarlo para casi todo?

Cuanto más sea usado un lenguaje por el resto de la comunidad más documentación abrá, más librerías, frameworks, ides, appis... Es otro factor que no se debe menospreciar.

xxChema

Cita de: string Manolo en 22 Mayo 2019, 14:25 PM
Para mi lo primero es decidir la plataforma. Será para windows el programa? Linux? Android? Ios? Multiplataforma? Navegador?...

Aplicación web o de escritorio?

Compilado o interpretado?

Que recursos básicos voy a necesitar? Interfaz gráfica, Conexion por internet, Base de datos...

Es para un proyecto como un hobbie, profesional, para el trabajo...

Necesito un control a muy bajo nivel?

Hay documentación y codigos fuente disponibles de proyectos parecidos o iguales?

Ya se ha creado este tipo de aplicaciones en algún lenguaje? En cuales?

Tengo fecha límite para desarrollar el proyecto?

Necesito que el programa utilice pocos recursos?

Necesito que el programa se ejecute en el menor tiempo posible?

...

Contestando este tipo de preguntas vas reduciendo la lista de posibles lenguajes. Con todos los que se ajusten a tus exigencias puedes ir investigando las características únicas, los pros y los contras.

Después puedes fijarte en que más te permite ese lenguaje. Solo me va a servir para este tipo de proyectos o voy a poder utilizarlo para casi todo?

Cuanto más sea usado un lenguaje por el resto de la comunidad más documentación abrá, más librerías, frameworks, ides, appis... Es otro factor que no se debe menospreciar.



Joer Manolo, muy claro y creo que ademas no te has dejado nada.
Gracias porque me ha servido mucho este planteamiento. Muchas de esas preguntas si me las he hecho pero si no te importa me anotaré un par de ellas que me han gustado y no habia contemplado otras veces.

A partir de ahí ya es duro saber que lenguaje es el que mas se ajusta. Sería impresionante tener una base de datos/estadística (hasta lo mismo existe pero yo he encontrado) con opiniones cuantificadas/puntuadas sobre cada uno de los aspectos que marcas en tus cuestiones anteriores y reducir los lenguajes o versiones de los mismos a dos o tres.!!

No se si alguien se atreve a hacer una valoración personal de este tipo o puede aportar alguna que haya encontrado. Se agradecerá.

:)

@XSStringManolo

Mis favoritos son C++, Php y javascript. Python, Pearl y Lua me parecen muy interesantes también. Todo esto a gusto personal. Hay muchos otros grandes lenguajes como Visual Basic.NET, C, CSharp, Java, Typescrit, Asembler, Ruby, Delphy, R, ObjetiveC...

Eleкtro

#7
Cita de: ace99 en 21 Mayo 2019, 16:45 PMExiste algún método para traducir de uno a otro? Cual les parece más eficiente?

Cada lenguaje se implementa bajo una sintáctica y semántica distinta, y bajo un nivel de abstracción distinto. No todos ellos soportan los mismos paradigmas de programación, y no todos ellos pueden llevar a cabo las mismas operaciones.

Así que para llevar a cabo una conversión de código es necesario desarrollar un algoritmo de conversión que tenga en cuenta limitaciones y otros factores entre lenguajes. No hay conversión 100% fidedigna, del mismo modo que no hay software 100% perfecto / libre de bugs, pero si que existe software especializado capaz de llevar a cabo conversiones bastante decentes. Mi recomendación personal:





Cita de: xxChema en 22 Mayo 2019, 18:38 PM
Sería impresionante tener una base de datos/estadística (hasta lo mismo existe pero yo he encontrado) con opiniones cuantificadas/puntuadas sobre cada uno de los aspectos


Saludos.








ace99

#8
Cita de: Eleкtro en 22 Mayo 2019, 23:13 PM
Cada lenguaje se implementa bajo una sintáctica y semántica distinta, y bajo un nivel de abstracción distinto. No todos ellos soportan los mismos paradigmas de programación, y no todos ellos pueden llevar a cabo las mismas operaciones.

Así que para llevar a cabo una conversión de código es necesario desarrollar un algoritmo de conversión que tenga en cuenta limitaciones y otros factores entre lenguajes. No hay conversión 100% fidedigna, del mismo modo que no hay software 100% perfecto / libre de bugs, pero si que existe software especializado capaz de llevar a cabo conversiones bastante decentes. Mi recomendación personal:

Cuando empecé a descubrir lenguajes de programación y a tratar con ellos me surgió esa duda, llegando a pensar que podrían existir traducciones entre ellos como en un lenguaje normal(castellano,ingles...) pero me pareció algo muy complejo de llevar a cabo.
Muchas gracias por resolver la duda que llevaba tanto tiempo planteándome.
Cita de: Eleкtro en 22 Mayo 2019, 23:13 PM
Y gracias por los links que me van a ser de gran utilidad un saludo.




animanegra

Si nos centramos en los lenguajes compilados, lo suyo igual sería aprovechar la traducción que hacen a código en tres direciones y desde ahí hacer la traducción en sentido opuesto.

gcc, tengo entendido que hace una compilación de código de programación (por ejemplo c ) hacia código en tres direcciones y de ahí a ensamblador. En general cualquier compilador bien diseñado supuestamente lo hace (si no Alfred Aho, Jeffrey Ullman, Monica S. Lam y Ravi Sethi lloran), para después tener posibilidad de generar compilaciones de otros lenguajes sin volver a hacer la interpretación desde código en tres direcciones a código máquina (Es cuestión de diseño de compiladores, igual no tiene demasiado sentido un parser directo de programación a código máquina).

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.