Articles of agnóstica del lenguaje

Aprendiendo la teoría de recolección de basura

Quiero aprender la teoría detrás de la recolección de basura. ¿Cómo lo hago? La respuesta obvia es – un libro de texto de comstackción … La pregunta es, ¿es necesario aprender el análisis léxico, el análisis sintáctico y otras cosas que generalmente precede a la recolección de basura en un texto? En resumen, ¿cuáles son […]

¿Cuándo debería usar Debug.Assert ()?

He sido un ingeniero de software profesional durante aproximadamente un año, habiéndome graduado con un título de CS. Conozco las afirmaciones desde hace un tiempo en C ++ y C, pero no tenía idea de que existían en C # y .NET hasta hace poco. Nuestro código de producción no contiene ningún tipo de afirmación […]

¿Por qué usar herencia en absoluto?

Sé que la pregunta ha sido discutida antes , pero parece siempre bajo el supuesto de que la herencia es, al menos, a veces preferible a la composición. Me gustaría desafiar esa suposición con la esperanza de obtener un poco de comprensión. Mi pregunta es esta: ya que puedes lograr cualquier cosa con la composición […]

¿Cuál y por qué prefiere las Excepciones o los Códigos de retorno?

Mi pregunta es qué prefieren la mayoría de los desarrolladores para el manejo de errores, excepciones o códigos de retorno de error. Por favor, especifique el idioma (o familia de idioma) y por qué prefiere uno sobre el otro. Estoy preguntando esto por curiosidad. Personalmente, prefiero los códigos de retorno de error, ya que son […]

Puzzle: encuentra el rectángulo más grande (problema de rectángulo máximo)

¿Cuál es el algoritmo más eficiente para encontrar el rectángulo con el área más grande que cabe en el espacio vacío? Digamos que la pantalla se ve así (‘#’ representa el área llena): ……………….. …………..###### ##……………… ……………..### ……………..### #####…………… #####…………… #####…………… Una solución probable es: ……………….. …………..###### ##…++++++++++++… …..++++++++++++### …..++++++++++++### #####++++++++++++… #####++++++++++++… #####++++++++++++… Normalmente me […]

Una forma simple de entender la encapsulación y la abstracción

Aprender conceptos de OOP especialmente interesados ​​en comprender la abstracción y la encapsulación en profundidad. Revisado a continuación ya Abstraction VS Information Ocultar Encapsulación VS diferencia entre la abstracción y la encapsulación? Me resultó muy difícil comprender esos conceptos sin un fragmento de clase / código de ejemplo real y simple. Uno de mis colegas […]

¿Cómo puedo evaluar la probabilidad de colisión hash?

Estoy desarrollando una aplicación de back-end para un sistema de búsqueda. El sistema de búsqueda copia archivos en un directorio temporal y les da nombres aleatorios. Luego pasa los nombres de los archivos temporales a mi aplicación. Mi aplicación debe procesar cada archivo dentro de un período de tiempo limitado; de lo contrario, se cierra; […]

Dado un número entero, ¿cómo puedo encontrar la siguiente potencia más grande de dos utilizando twiddling?

Si tengo un número entero n , ¿cómo puedo encontrar el siguiente número k > n tal que k = 2^i , con algún elemento i de N por cambio de bit o lógica? Ejemplo: Si tengo n = 123 , ¿cómo puedo encontrar k = 128 , que es una potencia de dos, y […]

¿Cuál es la diferencia entre la progtwigción simultánea y la progtwigción paralela?

¿Cuál es la diferencia entre la progtwigción simultánea y la progtwigción en paralelo? Le pregunté a google pero no encontré nada que me ayudara a entender esa diferencia. ¿Podría darme un ejemplo para ambos? Por ahora encontré esta explicación: http://www.linux-mag.com/id/7411 – pero “la concurrencia es una propiedad del progtwig” vs “la ejecución en paralelo es […]

¿Cuál es la diferencia entre currying y aplicación parcial?

A menudo veo en Internet varias quejas de que los ejemplos de otros pueblos de currying no son currying, pero en realidad son solo aplicaciones parciales. No he encontrado una explicación decente de qué aplicación parcial es, o cómo difiere de currying. Parece haber una confusión general, con ejemplos equivalentes que se describen como currying […]