TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: PalitroqueZ en 22 de Noviembre de 2009, 20:36:41

Título: Ecuación Matemática del Lenguaje de programación
Publicado por: PalitroqueZ en 22 de Noviembre de 2009, 20:36:41
Análisis matemático de los 2 elementos que intervienen en un lenguaje de programación:


 
tomando en consideración la tecnología y los paradigmas que han regido la metodología de programación en el transcurso de los años:


(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=28491.0;attach=10552)


la portabilidad se refiere al hecho de compilar un programa en cualquier sistema operativo y que éste pueda correr en cualquier sistema operativo (independientemente de la arquitectura del hardware)

la velocidad de ejecución es el tiempo que tarda en procesarse, una línea de código del lenguaje de programación en uso

y queda el lenguaje de programación bajo estudio (lenguaje)

estos 3 elementos pueden considerarse como variables y se estudiarán adecuadamente en cada caso, para demostrar la validez de la ecuación.


1.- en un primer vistazo, deducimos que la velocidad es inversamente proporcional a la portabilidad

si analizamos todos los lenguajes de programación creados, podemos clasificarlos en:



asumamos que los de bajo nivel, tienden a cero (para darle valor numérico a la variable Lenguaje).

ejemplo:

asm->0

estableceremos un orden con los otros lenguajes, quedando así:

asm = 0
C = 1
basic = 2
c++ = 3
java = 4

aplicándolo a la ecuación, deducimos que

2.- si Lenguaje -> 0 entonces portabilidad -> 0 (en proporción)

es decir, en la medida que un lenguaje aumenta de nivel, se incrementa su portabilidad.

la variable Velocidad, como habíamos dicho, tiene que ver con el tiempo de procesamiento de una línea de código, en términos matemáticos:

Variable = f
 
en el dominio del tiempo:

Variable = 1/t

t= t1+t2+t3...tn

t es la sumatoria de de tiempos que corresponden a:

- retardos del S.O. (ejecución multihilos, cola de tareas por prioridades, etc)
- retardos de intérprete del lenguaje (intermediario entre el código legible y el código entendible por el procesador: runtimes, frameworks, máquinas virtuales)

el tiempo de procesamiento en un lenguaje, es independiente de la velocidad del hardware. La razón: en términos proporcionales, el tiempo será el mismo en tareas a ejecutar por el S.O. entre los diferentes lenguajes

como la base de esta ecuación toma en cuenta los diferente lenguajes de programación, entonces al realizar un estudio con un hardware mas potente que otro (en igualdad para los estudios) existirá una proporción que será equivalente entre las diferentes velocidades del procesadores utilizados.


Conclusiones:

en base a 1 podemos decir que se cumple la ecuación, y es una verdad demostrada en los compiladores existentes.
haga la prueba tomando el tiempo de procesamiento de un programa hecho en asm, respecto a un mismo programa hecho en java

en base a 2 podemos decir que se cumple la ecuación, y es una verdad demostrada en los compiladores existentes.
haga la prueba compilando un programa hecho en asm bajo windows y trate de correrlo en linux, haga la misma prueba con el mismo programa hecho en java.

Título: Re: Ecuación Matemática del Lenguaje de programación
Publicado por: migsantiago en 23 de Noviembre de 2009, 13:26:47
Es interesante la ecuación Pali. Por curiosidad, ¿cuántos puntos tiene C# 2008 en cuanto a Lenguaje?  :huh:
Título: Re: Ecuación Matemática del Lenguaje de programación
Publicado por: PalitroqueZ en 24 de Noviembre de 2009, 13:01:15
umm debería estar en 4 y a la vez no,

si: porque usa el llamado MSIL (Microsoft Intermediate Lenguaje) que viene siendo el bytecode en java pudiendo compilar los lenguajes del doNet entre ellos casi sin dificultad.

y

no: (a menos que esté desinformado) porque es solo para windows

así que en la clasificación, ¡no me queda claro donde queda!!!  :shock: :)






Título: Re: Ecuación Matemática del Lenguaje de programación
Publicado por: araxhiel en 17 de Febrero de 2010, 14:26:11
no: (a menos que esté desinformado) porque es solo para windows

Pues con la implementación (aun no tan completa, segun tengo entendido) de C# por medio de MONO bajo GNU/Linux, se supone que no es exclusivo de ambientes Windows. Pero depende de como se le mire ya que, como ya es bien conocido: Mono != Visual Studio
Título: Re: Ecuación Matemática del Lenguaje de programación
Publicado por: Felixls en 17 de Febrero de 2010, 15:05:21
Pues con la implementación (aun no tan completa, segun tengo entendido) de C# por medio de MONO bajo GNU/Linux, se supone que no es exclusivo de ambientes Windows. Pero depende de como se le mire ya que, como ya es bien conocido: Mono != Visual Studio

Ambas implementaciones están guiadas en base al estandar ECMA-335
http://www.ecma-international.org/publications/standards/Ecma-335.htm

La CLI (Common Language Infraestructure) está orientada a generar múltiples lenguajes de alto nivel que puedan ser ejecutados en diferentes entornos sin la necesidad de recodificación (ya que se compilan a ILAsm y no a un assembler específico)

Esta infraestuctura define no solo el lenguaje sino todo el contexto de ejecución, a saber:


Todos estos aspectos juntos forman una infraestructura para diseñar, desarrollar, desplegar y ejecutar componentes y aplicaciones distribuidas en entornos heterogeneos.