Red de conocimiento informático - Conocimiento informático - Visita obligada para los estudiantes: la línea divisoria del programador, primer grado, vida diferente

Visita obligada para los estudiantes: la línea divisoria del programador, primer grado, vida diferente

¿Cuál es tu nivel entre los ocho niveles de programadores?

1. Novato

El umbral para ingresar a este nivel es muy bajo. Básicamente, puede comenzar en este nivel si comprende básicamente las operaciones básicas de las computadoras, comprende algunos conocimientos básicos de informática y domina un lenguaje de programación básico como C/C, Java, JavaScript, etc. Como los graduados en informática, un gran número de personas que cambian de carrera en comunicaciones, automatización, matemáticas y otras especialidades relacionadas.

No importa si estas personas son de una clase de informática o no, y cuál es su base, tienen un interés especial en la programación, y pueden ser algunos estudiantes o becarios prometedores.

Están completamente programando con pasión y compromiso. El interés es siempre el mejor maestro y lo mejor. El entusiasmo provocado por el interés suele hacer que estos programadores se conviertan en "programadores centrales".

2 Gamba

Es relativamente fácil subir de nivel. 1 a la capa 2. Tomando como ejemplo a los programadores de C/C, siempre que dominen el lenguaje de programación C/C, dominen la biblioteca estándar de C y varios algoritmos de estructura de datos de uso común, y dominen los conceptos básicos de STL Implementación y uso Métodos, dominar los conocimientos básicos de programación multiproceso, dominar un entorno de desarrollo y luego utilizar las API de varios sistemas operativos. Por supuesto, aquellos que se dedican a la programación de redes deben tener una buena comprensión de la programación de sockets y luego aprender algunos objetos. Conocimientos de diseño orientados y patrones de diseño, etc., y aprender algunos conocimientos básicos de pruebas, ingeniería de software y control de calidad. Después de 2 o 3 años de arduo trabajo, la mayoría de las personas pueden ascender al segundo nivel y ascender a "gambas" <. /p>

3. Excelentes personas

Los "langostinos" de Yougan a menudo se ven atrapados por algunos problemas difíciles, por lo que no tienen más remedio que continuar aprendiendo y dominar aún más los conocimientos que han aprendido. En términos de diseño de software, no es suficiente comprender el diseño estructurado, el diseño orientado a objetos y algunos patrones de diseño. También es necesario comprender el diseño de arquitectura de software, el diseño de interacción, el diseño orientado a aspectos, el diseño orientado al uso y los algoritmos de estructura de datos. diseño orientado, diseño emocional, etc., de lo contrario sería difícil entrar a este piso. Por supuesto, además de los conocimientos mencionados anteriormente, las gambas también necesitan aprender diversas experiencias y habilidades.

4. Gran Toro

No es fácil pasar de una buena persona a una gran vaca. Es como un sistema de 100 puntos. Es más fácil llegar a la línea de pase. , pero será más difícil de 60 a 80 puntos. Para convertirte en una gran persona, debes ser capaz de hacer cosas que las grandes personas no pueden hacer y resolver problemas que las grandes personas no pueden resolver. Por ejemplo, las personas excelentes generalmente no saben cómo escribir sistemas operativos, escribir compiladores y no comprenden la implementación subyacente del protocolo TCP/IP. Si tiene la capacidad de implementar cualquiera de estos de una manera decente, entonces. puedes pasar de ser una gran persona a ser una "gran vaca". Convertirse en una "gran vaca" no es algo fácil. Requiere mucho más esfuerzo que las grandes vacas. En general, hay que leer al menos entre 200 y 400 libros profesionales y dominarlos bien. preste atención a la información más reciente en Internet y publicaciones periódicas.

5. Expertos

Cuando los expertos empiezan a crear un sistema operativo u otro software similar, descubrirán que sus habilidades básicas todavía tienen muchas deficiencias. En este momento, se les exige que realicen una investigación básica y el contenido principal es estudiar "cálculos" no numéricos.

La informática no numérica es un campo muy amplio. No sólo la popular "computación multinúcleo" y la "computación en la nube" pertenecen a la categoría de informática no numérica, sino que también incluye requisitos de software, diseño, pruebas, depuración, evaluación y control de calidad, ingeniería de software, etc. son esencialmente la categoría de cálculos no numéricos, e incluso el diseño de hardware de chip también implica cálculos no numéricos. Si no has entendido realmente el significado de la palabra "cálculo", entonces no tienes posibilidad de entrar a este piso.

6. Académicos

Cuando los "expertos" quieran seguir subiendo al siguiente nivel, descubrirán que el aprendizaje profesional es muy sencillo para ellos y el obstáculo es la "innovación". . Como se mencionó anteriormente, si quieres acercarte a los expertos, necesitas generar tus propios conocimientos e ideas.

Pero todos estamos aprendiendo las mismas cosas, ¿cómo innovar? Hay un antiguo dicho: "Revisa el pasado y aprende lo nuevo". Estudia esas complejas estructuras de búsqueda y algoritmos todos los días. Lo que debes hacer es revisar los conocimientos básicos como la búsqueda binaria, la búsqueda de hash y la búsqueda de árbol binario ordinario

7. Para convertirte en un maestro, debes lograr un mayor nivel. En primer lugar, la resolución de problemas debe ser más importante. En segundo lugar, debe tener una mejora mayor que sus predecesores en algunos aspectos, o puede resolver un problema completamente nuevo que no se ha resuelto antes: lo más importante es. que las ideas y métodos principales deben ser proporcionados por usted mismo, y ya no son optimización y mejora basadas en las ideas de otras personas.

Por ejemplo, como Hoare, diseñó un algoritmo de clasificación rápida. ; o como Eugene W. Myers, diseñó un algoritmo que utiliza el modelo de ruta más corta del gráfico editado para resolver el problema de diferencias o como MJ DPowell, propuso un algoritmo que puede manejar problemas de programación no lineal: diseño uniforme. un lenguaje como C o Java...

8. Científico

Científico siempre ha sido un título sagrado. Para convertirte en científico, tu contribución debe superar la de los maestros. También daremos algunos ejemplos. Por ejemplo, Diikstra diseñó el lenguaje ALGOL y propuso tres estructuras básicas de programación: secuencia, selección y bucle. De manera similar:

Don Knuth, estableció el. base para la disciplina de estructura de datos y algoritmos: Backus, inventó el lenguaje Fortran y propuso el paradigma Backus, que jugó un papel importante en el desarrollo de lenguajes de programación de alto nivel;