Autor Tema: Ecuación Matemática del Lenguaje de programación  (Leído 4510 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Ecuación Matemática del Lenguaje de programación
« 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:

  • Portabilidad
  • Velocidad de Ejecució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:





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:

  • bajo nivel
  • alto nivel


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.

« Última modificación: 22 de Noviembre de 2009, 20:43:30 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Ecuación Matemática del Lenguaje de programación
« Respuesta #1 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:

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Ecuación Matemática del Lenguaje de programación
« Respuesta #2 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: :)






La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado araxhiel

  • PIC10
  • *
  • Mensajes: 1
Re: Ecuación Matemática del Lenguaje de programación
« Respuesta #3 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

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Ecuación Matemática del Lenguaje de programación
« Respuesta #4 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:

  • Common Type System (CTS)
  • Metadata
  • Common Language Specification (CLS)
  • Virtual Execution System (VES)

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


 

anything