¿Cuál es el gran avance en la tecnología informática contemporánea?
En primer lugar puedo afirmar el patriotismo de quien dijo esto. Nadie puede negarlo. También espero que los documentos y la información que veo todos los días estén en chino. Nadie piensa que sea natural que Estados Unidos sea mejor que China, y nadie piensa que los blancos son mejores que los amarillos, a menos que sean traidores o personas con raquitismo que así lo piensen. La educación china no nos enseña estos puntos de vista.
Para ir más allá, debemos comprender el trabajo de nuestros predecesores. En informática, la programación es sólo una parte de la ecuación.
Los sistemas informáticos actuales se basan todos en la arquitectura de von Neumann, es decir, entrada, salida, unidad aritmética, controlador y memoria. No importa que vea computadoras, teléfonos móviles, televisores, robots industriales, satélites, misiles o torpedos, el sistema de control interno se basa en esta arquitectura. Sin mencionar esta arquitectura, no tendría sentido hablar de lenguajes de programación. Cualquier programador senior puede escribir programas correctos y eficientes sólo si tiene un conocimiento profundo de los sistemas informáticos.
Así como un grupo de programadores suelen discutir en foros sobre qué lenguaje es el mejor, existe la escuela C/C++ (todavía hay debates dentro de esta escuela), la escuela Java y la escuela .net. después de 2001. grupo. Estos argumentos son anteriores a las voces de la programación china. Algunas voces desaparecen, lenguas sin vida están destinadas a perecer y las disputas continúan durante décadas. Por tanto, el debate sobre los lenguajes informáticos continúa y no parará. Todos piensan que lo que usan es lo mejor. Lo mejor es que todos puedan sentir la belleza del lenguaje que uso como yo.
La clave es ir más allá de la estructura de von Neumann. Este Feng era un hombre muy inteligente y un gran matemático. Era originario de Hungría y luego se fue a Estados Unidos. China no puede crear nada nuevo sin superar a sus predecesores.
Específicamente en el campo de la ingeniería inversa, por ejemplo, obtenemos una máquina (puedes pensar en ella como un teléfono móvil, un enrutador o cualquier misil) sin código. Quiero estudiarlo. ¿Qué debo hacer? En primer lugar, se puede suponer que está controlado por una computadora basada en la arquitectura von Neumann, por lo que debe tener su propio procesador. Si comprende el procesador, podrá comprender el conjunto de instrucciones y, por tanto, su montaje. Luego podemos encontrar su memoria, luego volcar todo su código y luego escribir un programa para permitir que la computadora lo desmonte automáticamente, de modo que podamos comprender su mecanismo operativo y encontrar sus vulnerabilidades, lo cual no es difícil de hacer. código.
Cuando veas esto tal vez no lo entiendas, pero sabes que en este proceso, no hay nada en el lenguaje que usas para programar, ya sea que lo escribas en ensamblador o en C/C++. Bueno, A nadie le importa aquí porque todas las secuencias son 0 y 1, pero el programa que escribimos traducirá estas secuencias al ensamblaje de CPU correspondiente, por así decirlo.