edición general
188 meneos
4488 clics
ADN visto a través de los ojos de un programador (o, si eres un martillo, todo parece un clavo) [ENG]

ADN visto a través de los ojos de un programador (o, si eres un martillo, todo parece un clavo) [ENG]

El ADN no es como la fuente de C, sino más como un código compilado por bytes para una máquina virtual llamada "el núcleo". Es muy dudoso que haya una fuente para esta compilación de bytes; lo que ve es todo lo que obtiene. El lenguaje del ADN es digital, pero no binario. Donde la codificación binaria tiene 0 y 1 para trabajar (2, de ahí el "bi"), el ADN tiene 4 posiciones, T, C, G y A. Mientras que un byte digital consta principalmente de 8 dígitos binarios, un "byte" de ADN (llamado "codón") tiene tres dígitos.

| etiquetas: genoma humano , scripts , compilado , byte , cógido
Ahora solo necesitamos un ordenador cuántico para meter un código ADN humano y crear seres humanos virtuales. Va a ser divertido ...ya imagino los alaridos en el Vaticano xD
#9 ¿Por qué es necesario que sea cuántico?
#45 Porque con la velocidad de proceso actual no creo que pudieramos meter un ADN humano en un ordenador y ver como se desarrolla la ejecución del programa codificado en dicho ADN.
#46 "ver como se desarrolla la ejecución del programa" es ciencia ficción, no tiene anda que ver con la capacidad de proceso. No se puede hacer, ni lenta, ni rápidamente.
#47 Por qué no? El adn es un programa, "solo" hay que buscar la forma de ejecutarlo de forma virtual. Casi nada, pero no me parece imposible ...
A ver si encuentran los comentarios del código de Dios y nos echamos unas risas.
#2 Ya cuando descifraron el genoma humano el departamento de IT de Heaven Inc recibió una buena bronca de su jefe por no haberlo fortificado.
#2
#define TRUE FALSE //Happy debugging scientists
#2
Creo que fue de los que no dejan ni una nota aunque sea con un chiste
Bueno, es que lo fascinante de la vida es que se expresa como un código, un lenguaje, con su gramática y sus errores de dicción. El lenguaje concreto es lo de menos. Es lo que diferencia la materia viva de lo que no lo es: codificación y replicación.
#1 en realidad no es tan diferente. Lo que es realmente fascinante es el fenómeno de la emergencia, o cómo juntando elementos simples puedes obtener nuevos objetos con propiedades nuevas que no existen en sus componentes. La vida no deja de ser lo mismo dando un salto más de emergencia.
#1 los priones y los virus codifican y replican, pero no son seres vivos.
#16 No por sí mismos.
#16 Es interesante saber que los virus provienen de bacterias que hacían lo mismo que hacen los virus y perdieron la parte de su maquinaria que ya no era necesaria.
El programador lo hizo funcionar a base de prueba y error.
No hay dios que lo entienda y está lleno de fallos de seguridad.
Va a hacer falta refactorizar a saco. Y no hay tests unitarios ni nada.
#17 Por no hablar de la ausencia de comentarios en el código...
#20 además de meter todo el código de todo el sistema (kernel y ejecutables) en el mismo binario.

Desperdicio de memoria.
#21 es que es un sistema embebido
#23 Empotrado más bien :troll:
#29 Claramente esa es la palabra correcta #EmpotreDay
#20 Es que no lo entendemos. Cada base nitrogenada son 2 bits, 4 es un byte.
Cambiando a AAAA=>0x00, AAAT=>0x01, AAAC=>0x02, AAAG=>0x03, AATA=>0x04, .... hasta GGGG=>0xFF.
Está en utf-8-dog*, y se puede leer claramente comentarios en los humanos tales como:

// I am not responsible of this code
// drunk, fix later
// gotta find a better job


* La mayor parte están en Sumerio, en gaélico y luego pictogramas, pero el código más nuevo lo pone en inglés
* dog es un ser que es como god pero al revés, existe y es buen chico
#17 El auténtico y genuino Legacy Code
config.human
No sé parece a código o al menos al código al uso que ejecutan las CPUs. El ADN al replicarse puede además generar otros subproductos que alteran a la siguiente generación. De una célula (óvulo fecundado) salen el resto a base de alterar su entorno para que la siguiente reproducción sea diferente y acaben saliendo el resto de células especializadas.

Es como si tu código cambiase la CPU para que las siguientes veces ejecute cosas diferentes.
#10 mmm... miralo como si fueran algoritmos genéticos... cada generación "muta" y se "cruza" con lo que salen "individuos" nuevos...

De hecho la única diferencia es que la función de valoración de los "individuos" está muy acotada en el código mientras que en la vida real pueden haber muchos más outliers (te puede caer una piedra, ser comido por un leon... darte con un taser en los cataplines...) pero el funcionamiento es el mismo.
#15 siguiendo la analogía de ADN = código no sería eso exactamente (creo, no estoy muy puesto en el tema tampoco) el algoritmo genético varía su código, el ADN es el mismo alterado por factores externos (que el mismo ha creado).

Y no lo llevaría fuera del organismo (por lo que dices de que te puede caer una piedra etc...) Si no directamente en la fecundación por ejemplo, de una célula acaban saliendo miles de células especializadas, todas con "ancestros" comunes, que al reproducirse…   » ver todo el comentario
#26 Lo explica de forma brillante Richard Dawkins en el relojero ciego

Ostras! Lo leí en los 90! :-D ya no me acuerdo de nada... :shit:
#10 Puedes verlo como código VHDL para fabricar la CPU que compilará el propio código VHDL :troll:
#10 eso ya existe, hay CPUs programables se llaman FPGAs... Mira AMD acaba de comprar Xilinx que se dedica precisamente a esto...
#10 Las computadoras modernas son aproximaciones de máquinas de turing universales, construídas usando generalmente las propiedades de los semiconductores, en arquitecturas generalmente de von neumann.

En tales dispositivos no existe diferenciación entre "código" y "dato". De hecho, el hecho de que "código" y "dato" sean esencialmente lo mismo en una computadora moderna, ha sido el origen durante décadas de numerosos problemas de seguridad relacionados…   » ver todo el comentario
No me jodas, que ahora va a resultar que el ADN está escrito en Java.
#5 Imposible, necesitaríamos cabezas más grandes para albergar la RAM.
#5 Yo ya lo avisé. El ADN es como el "bytecode":

www.meneame.net/c/31781436
#5 Eso explicaría por que la humanidad va en decadencia
No veo que sea un símil tan desacertado.

El DNA contiene genes, que son la secuencia de aminoácidos que se usa para producir proteinas. Hay unas 200.000 proteinas distintas en una célula humana. Eso es lo que constituye el interior de la cálula, que no es un líquido, sino ese empaquetamiento de proteinas.

El DNA contiene más cosas y son instrucciones. Como lo más próximo a un gen están las instrucciones en que se indica la cantidad que se debe producir y donde hay que entregar esa proteina.…   » ver todo el comentario
#11 La gran diferencia es que es un código que significa muchas cosas distintas para muchas circunstancias distintas.

Es como si según fuera la temperatura exterior del ordenador y la velocidad del viento ese día ese mismo código fuera el Mortal Kombat o el Internet Explorer.

El error es intentar interpretar ese código como si hubiera sido programado para una función, la realidad es que son "instrucciones" al tun tun que son interpretadas de formas distintas según el contexto y dan…   » ver todo el comentario
#24 Tengo entendido que el ADN es algo así como el hardware y es el ARN el que hace que dependiendo de las circunstancias hace que se expresen unas proteínas u otras. El ARN vendría a ser como el software que hace que el desarrollo sea secuencial. Por ejemplo en la diferenciación celular.
#11 una capa de azúcares capaces de apartarse? no lo creo. El ADN está formado por nucleótidos y un nucleótido contiene una base y un azúcar que nunca se separa de su base.
El ADN está empaquetado gracias a las histonas que son proteínas modificables que dan acceso al ADN a otras proteínas dependiendo de las condiciones.
#11 Si escribes en castellano, es ADN no DNA, pequeña corrección :-D
No es sólo "bytecode" ejecutado por una máquina virtual. El ADN también tiene codificado el interpretador y sistema operativo.
Supongo que cuando el óvulo y el espermatozoide se unen, en su interior hay un interpretador funcional que toma ahora la nueva cadena de ADN (producto del cruce) y comienza a operar, primero inicializando todos los procesos de formación de órganos.
Si se ejecuta en maquina virtual entonces yo lo veria mas como java. Si fuera en lenguaje c se compilaria y se traduciria a lenguaje maquina. El codigo compilado siempre es mejor que el interpretado.
#19 Java (la JVM) es un recompilador, y casi el 100% de lenguajes mal llamados "interpretados" son compilados en tiempo de ejecución
#22 Veo tu apuesta y la subo: En realidad todos los lenguajes son interpretados, sólo que a veces el intérprete es la propia CPU. Pero incluso las CPUs modernas tienen un microcódigo que hace que la CPU que tú crees que estás programando en realidad es lo que sus diseñadores llamaban "la máquina objetivo" mientras la diseñaban.
#19

El codigo compilado siempre es mejor que el interpretado.

Mejor en que dimensión? Tienen los códigos un valor absoluto? Me cuesta creerlo.
A mi que me borren la función

func Olvidar_Movil(segs);

Porfavor
#13 Como programador, me parece bastante evidente que olvidar el móvil es el resultado de problemas en recordarMovil(), y que obviamente no hay una función Olvidar_Movil específica, sino mas bien es la consecuencia de lo que sucede en otras funciones. De la misma forma que no hay función "crashearElPrograma".
Entonces nosotros para trabajar con el ADN usamos Reflection? ya que el ADN ya esta compilado...

menéame