Saltar al contenido

¿Cuál es la diferencia entre funciones de nivel bajo y funciones de nivel superior?

No dudes en divulgar nuestra web y códigos en tus redes, necesitamos de tu ayuda para hacer crecer nuestra comunidad.

Solución:

Cuanto más cerca está del lenguaje humano, más alto es el nivel de la función.

Cuanto más cerca esté del lenguaje máquina, menor será el nivel de la función.

Estoy simplemente, pero aquí hay algunos ejemplos:

Funciones de alto nivel:

Car.Start()
Car.MoveTo(Home)

Funciones de bajo nivel:

Car.Insert(Key);
if (Car.IsKeyInserted() == False)
   return False;

Car.StartEngine();
Car.ApplyAccelerator(0.1f);
Car.ChangeGear();
Car.RotateWheel(-25);

Cuando hablamos de “alto nivel” y “bajo nivel” en programación, generalmente nos referimos al nivel de abstracción. Una función de alto nivel es aquella que abstrae los detalles, aquí hay un ejemplo de una abstracción de alto nivel:

$('div#foo p').show('fast');

Ese fragmento es del marco jQuery JavaScript, demuestra una tarea muy complicada pero le permite iniciarla muy fácilmente. Una abstracción de nivel inferior sería algo como esto:

$('div#foo p').animate(height: 'show', width: 'show', opacity: 1, 200);

Todavía es jQuery pero se están involucrando más detalles, es un nivel más bajo. Por supuesto, puedes bajar aún más:

animate(document.getElementById('foo').getElementsByTagName('p'), 
    height: 300, width: 600, opacity: 1, alphaFilter: 1
, 200);

(utilizando un método de animación personalizado)

Etcétera etcétera.

El nivel óptimo de abstracción siempre está sujeto a un intenso debate. Ir demasiado alto puede causar una fuga de abstracción, pero ir demasiado bajo puede ser ineficiente y una pérdida de tiempo, especialmente si existen mayores abstracciones.

Función de nivel superior es un término que describe escribir código de programa fuera de sub o función. Hay varios niveles, desde declarar cosas hasta ejecutar código de programa como vbs/jscript.

Normalmente se desaconseja o no se permite en idiomas que se espera que sean complejos. VB, por ejemplo, solo permite const y declara y dim. C# no permite nada de nivel superior.

normalmente usamos nivel más alto para describir la abstracción de un lenguaje.

En algunos idiomas, el término será método de nivel superior.

Recuerdo haber leído esto hace mucho tiempo.

http://blogs.msdn.com/b/ericlippert/archive/2009/06/22/why-doesn-tc-implement-top-level-methods.aspx que enlaza con este sitio ¿Por qué C# no permite funciones miembro como C++

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *