¿Qué pueden hacer los capitalistas de riesgo en sus futuros trabajos? ¿Es importante el MFC? soy un estudiante universitario
¿Cómo convertirse en un excelente programador?
Un querido amigo dijo: "Los programas escritos por programadores no son una 'sintaxis algorítmica', sino herramientas que pueden satisfacer las necesidades del usuario". muy de acuerdo. Si desea satisfacer las necesidades del usuario, debe considerar todos los aspectos, como el negocio, la interacción persona-computadora, la eficiencia, etc., y no es solo una cuestión de lenguaje (gramática). El lenguaje (gramática) es solo una herramienta. Si solo sabes gramática y no sabes nada más, ¡eres realmente una máquina de programación! Máquina de programación
Después de varios meses de formación entre estudiantes de secundaria indios, siguiendo métodos rigurosos de ingeniería de software y con una alta gestión, ¡serán competentes! ¿Todos ustedes lo creen?
Hablando de esto, no puedo evitar hablar de los temas que se han discutido recientemente en el círculo educativo nacional: "¿Qué hacen y qué hacen los graduados de los departamentos de informática, especialmente los estudiantes universitarios y universitarios? ¿Cómo se adaptan a la sociedad?" Requerir". También hemos visto que muchos estudiantes universitarios del Departamento de Ciencias de la Computación dicen que "dominan N idiomas y están familiarizados con N herramientas". Ser máquinas de programación, lo cual es una pérdida de tiempo para la gente. ¡Sería una lástima pagar impuestos y hacer cosas que los estudiantes de secundaria pueden hacer! Así está ahora la situación en el país. ¿A quién necesita la industria nacional de desarrollo de software? Si fuera sólo una máquina de codificación, ¡supongo que Silicon Valley de China todavía estaría soñando!
La sociedad también parece necesitar máquinas de codificación. Si observamos los anuncios de empleo, quienes desarrollan aplicaciones deben dominar un determinado idioma y estar familiarizados con una determinada herramienta.
Rara vez es necesario entender a las personas en gestión e ingeniería de software. Según mi opinión personal, un tanto extrema, si la industria nacional del software quiere despegar, lo que más se necesita son personas que puedan manejar el uso de máquinas codificadoras, es decir, gerentes. Ya existen muchas máquinas de codificación en la industria del software nacional. ¡Espero no ofender a esos expertos en programación! Desarrollo de sistemas o desarrollo de aplicaciones, ¿cuál puede ayudarlo y ganar dinero en China? Todos ustedes
Debo saber esto, y no he encontrado algunas empresas de alto nivel que contraten personas en este campo. Después de todo, OS, DB MS y COMPILER se han desarrollado en el extranjero. Además, no me hables de LINUX, después de todo, todavía es algo que hacen algunas personas que queman dinero. Muchos de mis programadores de lenguaje 4GL quieren cambiar de carrera y aprender VC y otros llamados lenguajes de nivel inferior. Siempre digo: "En la ciudad XX, primero use las herramientas 4GL y luego aprenda VC". En pocas palabras: primero resuelva el problema del estómago.
¿Cómo juzgar si eres una máquina de programación?
1. Al enfrentar las necesidades, no considere a los usuarios, solo considere qué tecnologías de programación utilizar para demostrar sus habilidades de lenguaje y gramática.
2. Aprendió N idiomas.
3. Nunca aprendas ni practiques la ingeniería de software.
4. El nivel de gramática y lenguaje está muy por delante entre otros, especialmente algunas gramáticas raras. Hacerlo basándose en el interés y la creatividad, pero repetir un trabajo tedioso no tiene sentido: el único significado es ganar dinero, y es un trabajo realmente duro, pero menos de ocho taels. Trabajo duro todo el día, pero no puedo aprender lo que quiero aprender. El resultado final es que la gente no puede seguir el ritmo del desarrollo de las ciencias sociales y la tecnología, y está envejeciendo. ¡pena! ! !
La clave para desarrollar software es tener una idea. Una buena idea es más importante que cualquier otra cosa. Esto es especialmente cierto en el caso de Internet.
De hecho, las necesidades técnicas fundamentales de un programador se combinan con la realidad.
Cuando el nivel de programación llega a cierto nivel, el uso del lenguaje no es el mayor obstáculo, sino la comprensión de todo el proyecto, la ingeniería del software, el diseño de la base de datos y el análisis de la información. efecto de ejecución, etc.
p>
¡Algo que necesita más consideración! De lo contrario, ¿por qué la mayoría de las empresas requieren experiencia en programación? Estas no son cosas que los programadores tengan que aprender. Pero
La ingeniería de software, las estructuras de datos, las matemáticas discretas, los principios de compilación, los principios de los sistemas operativos, etc. se deben aprender bien y se debe leer más inglés.
No basta con No entiendo inglés de computadora.
Solía estudiar mecánica (luego aprendí informática por mi cuenta) y sé muy bien cómo son las especificaciones y el diseño en la industria manufacturera tradicional.
La gente diseña dibujos y luego. Después de la revisión, luego vaya al taller para tomar una muestra y luego modifique los dibujos según la situación. Después de repetirlos varias veces, se puede finalizar un producto.
En el mundo del software las cosas no van tan bien. El líder dirá, tú haces esto, él hace aquello, sin un análisis muy detallado
(Este es el caso en muchos países aquí no tenemos analistas de sistemas, todos son programadores). . Aunque esto puede ayudar a las personas a aprender mucho, no favorece el proyecto. El nivel de los procesos de software en nuestro país es realmente preocupante. Hasta ahora, solo hay pequeños proyectos de software ejecutados por unas pocas personas o una docena de personas, y no existe ningún software a gran escala que pueda utilizarse.
En cuanto al problema de programación para los estudiantes de secundaria técnica, creo que mientras entren en esta industria, no serán peores que los estudiantes universitarios. Como no tenía calificaciones académicas superiores, tuvo que estudiar mucho, pero esto estaba en consonancia con el rápido desarrollo del software informático actual. Las cualificaciones académicas sólo pueden representar el pasado
y la base. Lo que más se necesita son personas capaces, personas que puedan resolver problemas y personas que sean prácticas. También soy estudiante de secundaria técnica. A veces me siento un poco inferior
porque no fui a la escuela secundaria ni a la universidad (debido a esa época, solo sabía cómo reducir la carga de mis padres), así que he estado trabajando duro
He aprendido mucho (Corba, UML, Java, procesos de software, etc. Hasta ahora, no siento que mi capacidad arquitectónica y mi nivel de codificación sean peores que los de ellos (solo siento que el inglés). es demasiado pobre). Entonces siento que los estudiantes de secundaria técnica no son peores que los estudiantes universitarios comunes (a excepción de algunas escuelas importantes, por supuesto // jeje). A veces, los estudiantes de secundaria técnica tienen mayor presión para obligarse a estudiar. Las calificaciones académicas no son importantes, la clave es la calidad de una persona
. No podemos pretender ser programadores o codificadores (Coder). ¿De qué sirve simplemente poder escribir código? A eso se le llama "codificador", que es trabajo manual en el extranjero. A diferencia de China, aquellos que pueden escribir programas se llaman de alta tecnología. Lo importante es la capacidad de analizar problemas, resolver problemas y planificar. El análisis de sistemas, el diseño de sistemas y la planificación de proyectos son los caminos correctos.
Los programadores no deben confiar en las herramientas de desarrollo. Lo que los programadores deben tener es una forma de pensar, un espíritu y un concepto. Al igual que
Richard.M.Stallman, tiene su propio espíritu y lucha por el software libre. Al igual que Qiu Bojun, luchando por la revitalización del software nacional
. Este es un verdadero programador. ¡Hay que decir que a lo que le prestan más atención no es a la tecnología, sino al pensamiento del software y al alma del software! !
Cada uno tiene su propio método de aprendizaje. Quizás este método funcione para mí, pero puede que no funcione para todos. Por lo tanto,
No sigas ciegamente los métodos de aprendizaje de otras personas, piensa en tus propios métodos de aprendizaje. Pero se deben seguir los siguientes principios:
1. Persistir, persistir y persistir. En primer lugar, es necesario tener perseverancia y su entusiasmo por la programación también puede ayudar con ciertos programas. Así soy yo
. Al principio, cuando aprendí VC, pasé tres días pescando y dos días navegando por Internet. Afortunadamente, mi perseverancia en la programación me permitió perseverar.
Hay varias personas a mi alrededor que aprendieron VC casi medio año antes que yo, pero todavía no pueden aprenderlo y, aunque ahora no soy muy bueno, puedo manejar aplicaciones básicas. Simplemente leo libros todos los días, practico en la computadora y paso casi todo el tiempo en ella.
A veces incluso pienso en ello mientras como, ¿por qué? Porque tengo muchas ganas de romper este hueso duro y no quiero rendirme a mitad de camino. Siento que aprender VC no se trata solo de aprender más cosas, sino que lo más importante es cultivar nuestra propia perseverancia para superar las dificultades.
2. Practica, practica, practica de nuevo. Cuando aprendes una nueva tecnología o conocimiento, practicar más es la mejor manera
más efectiva de consolidar el aprendizaje. Esta práctica no consiste en seguir los ejemplos del libro, sino en plantearse preguntas basadas en sus propias habilidades y luego completarlas. Solo así podrás descubrir tus propias deficiencias y al mismo tiempo aumentar tu experiencia en programación. Pero para convertirse en un programador cualificado no basta con saber escribir código. Lo más importante es pensar. Es una verdad inmutable planificar antes de actuar.
3. Dominar las ideas de programación. Aprender un idioma no debe consistir solo en el idioma, sino también prestar atención al pensamiento detrás del idioma y adquirir la capacidad de hacer preguntas, analizar problemas y resolver problemas. No se trata de aprender a programar. Mire cómo se resuelve un determinado problema y por qué se hace de esta manera. Siempre debe ser coherente con hechos objetivos. Tal como dice la gente, existe algún tipo de lógica y organización de datos.
< Confíe primero en su propia mente y luego vea cómo usar el lenguaje de programación para expresar sus ideas. Mientras practiques seriamente, trabajes duro y busques diversión, lograrás tu objetivo.4. Paciencia, esmero, normalidad y espíritu de trabajo en equipo. En esta era de Internet, la información está en todas partes, sin importar la tecnología avanzada, siempre que encuentres la información, podrás aprenderla en unos días o en uno o dos meses. Ahora no hay ningún programa que no se pueda escribir. La razón por la que no puedes escribirlo es porque no has terminado de escribirlo. Creo que los programadores de hoy no necesariamente tienen que ser inteligentes, pero necesitan tener paciencia para completar proyectos aburridos, cuidado para encontrar errores y una actitud normal hacia el dinero (no apresures el progreso sólo para conseguir el dinero lo antes posible). lo antes posible) ), y finalmente, lo más importante es considerar la situación general y el espíritu de trabajo en equipo.
Si nunca ha estado expuesto a la programación, su velocidad de aprendizaje de VC puede ser más lenta que la de las personas que han aprendido programación orientada a procesos.
Porque debe comprender los comandos. y El significado de la declaración. Pero siempre que trabaje duro y obtenga ayuda de otros, tendrá una cierta comprensión de VC en medio año.
No creas que es fácil aprender programación orientada a objetos después de aprender programación orientada a procesos. Realmente existe una gran diferencia entre orientado a procesos y orientado a objetos.
Tome la palabra encapsulación como ejemplo. Lo descubrí después de pensarlo durante mucho tiempo. Así que no aprendas a programar por tu cuenta, te resultará más fácil aprender VC que a otros. Aprender VC es un proceso de aprendizaje arduo y que requiere mucho tiempo. Para hacer un buen uso de VC, debes comenzar con la programación orientada a objetos. Quizás sería más interesante consultar un libro puramente teórico. Examinarás el pensamiento OO desde otra perspectiva.
A continuación, aprenda C, aprenda la API de Windows, aprenda MFC, analice MFC, expanda MFC y cree su propia biblioteca de clases (no intente escribir una clase con el mismo peso que la biblioteca MFC), luego, domine varios parámetros del compilador de Microsoft C y estudie la historia evolutiva del compilador del lenguaje Microsoft C/C
(combinado con diversos conocimientos previos). Una vez que domines la idea de programar, es sólo cuestión de tiempo antes de conquistar VC.
Existe una situación actual a la que debemos prestar atención. Descubrí que una gran cantidad de principiantes piensan que VC es un idioma y C es otro
idioma. ¡Algunos principiantes incluso piensan que no es necesario aprender C para aprender VC! Creo que mucha gente no se ha dado cuenta de este problema.
Así de importante es C para el aprendizaje de VC. Tengo un ejemplo para compartir contigo. Tengo un compañero de clase que entró en contacto con la programación antes que yo. Cuando todavía estaba descubriendo cómo marcar el número "::" en VC, él había estado aprendiendo C durante mucho tiempo. Más tarde, cuando entendí un poco VC, también se dio cuenta de que C no podía mantenerse al día. Le sugerí que comenzara a aprender el lenguaje C, pero pensó que tenía las habilidades de aprendizaje de C y que no había necesidad de aprender C en absoluto. Pero al aprender VC, se encuentran innumerables dificultades.
Recientemente, compró un libro sobre cómo aprender C y aprendió C desde cero. Espero que a través de este ejemplo, la mayoría de los principiantes conozcan la importancia de C en el aprendizaje de VC.
Según tengo entendido, VC es solo una herramienta de programación, al igual que BC, BCB y Delphi. De hecho, los aspectos más fundamentales de la programación son
tres aspectos, lenguaje y desarrollo. kit, API del sistema operativo, se debe decir que estos tres aspectos son relativamente independientes.
Para aprender VC, debes tener un conocimiento profundo de C. Por ejemplo, para funciones virtuales, no solo necesita saber que existe tal cosa, sino también conocer su imagen de memoria. De esta manera, podemos hacer inferencias sobre muchas cosas en VC y obtener el doble de resultado con la mitad de esfuerzo. He estado estudiando VC durante casi 2 años,
pero sentí que debido a mi estado de ánimo impetuoso en el primer año, leí el libro de VC una y otra vez, pero cada vez solo leí un poquito. y no pude profundizar más. Hasta la víspera de la graduación, aprendí del dolor, superé mi impetuosidad, comencé a aprender seriamente desde lo más básico y descubrí cada punto después de tres meses. Trabajo duro, finalmente logrado. Hasta ahora, he podido completar COM/DCOM en medio mes gracias a mi arduo trabajo ese día. Por lo tanto, aconsejo a mis amigos que quieran aprender VC que soporten los años difíciles al principio. El éxito pertenece a quienes trabajan duro.
Para aprender VC, debes tener un conocimiento profundo del mecanismo operativo de WINDOWS para poder convertirte en un maestro. Esto requiere aprender la tecnología de Microsoft, entre los cuales se debe aprender la programación de Windows, el sistema Win32 (en realidad, el sistema Win32 implementa muchas cosas que podemos ver en la pantalla, el código mínimo es NT y el kernel no es grande). Además, COM (estúdielo en profundidad, comprenda cómo los objetos cruzan los límites del proceso y finalmente pueda implementar libremente interfaces autodefinidas en EXE. Sin embargo, esto es algo innecesario), Dcom,
ActiveX, ADN de Windows, etc. Si tienes la habilidad, apréndelo.
No estoy de acuerdo con el abuso de ActiveX. En primer lugar, pensé que su rendimiento era muy problemático. Era realmente grande, lento e inestable (tal vez lo soy un poco). extremo). En segundo lugar, una vez que lo use, su programa será dirigido por otros. Una vez usé un control y el programa estaba casi escrito.
Me pidió que continuara usándolo y me pidió que pagara $333, mi salario por más de dos meses. Ahora trato de usar el código fuente escrito por otros tanto como sea posible (he recopilado entre 3 y 400 MB de varios códigos. Es igual de fácil de usar, puedes aprender mientras lo usas y puedes modificarlo tú mismo si es necesario).
VC fue desarrollado por MS, por lo que está dirigido a la API de Windows. No es necesario que conozca C, también puede usar C en VC para escribir programas excelentes. Si domina C y está familiarizado con el paquete de desarrollo MFC, su trabajo puede resultar mucho más sencillo.
Entonces, en mi opinión, el proceso de aprendizaje puede ser así:
1. Aprenda C o C primero y escriba programas que no involucren API en profundidad en el entorno de consola de Windows ;
2. Después de dominar básicamente la sintaxis, comience a ponerse en contacto con las API del sistema simples y aprenda los principios y mecanismos de programación de Windows
3. Después de que pueda escribir de manera simple; programas de menú. Simplemente puede operar la función GDI en WM_PAINT y luego comenzar a aprender MFC.
Puede comenzar desde el paso turístico, mirar el código fuente de MFC y comprender la definición e implementación de varias macros clave. , especialmente
p>
MESSAGE_MAP. Para agregar algunos desafíos durante el proceso de aprendizaje, intente no utilizar la edición de recursos e intente codificar la creación de controles y la respuesta a los mensajes usted mismo
. Entonces depende de tu propia suerte. Hacer algunas herramientas pequeñas, especialmente las que normalmente necesitas, también debería ser muy útil para tu propia mejora. Después de todo, ¡lo que queremos son resultados! La capacidad de analizar bien los problemas y diseccionarlos de manera eficiente y clara es lo que realmente necesitamos para seguir aprendiendo.
Respecto a VC tengo varias experiencias:
1. La tecnología es lo primero, el idioma lo segundo.
2. La clase única de MFC es útil, DOC/VIEW debe tener cuidado.
3. Tenga cuidado con la programación orientada a objetos, un uso inadecuado puede generar mucho trabajo y código incorrecto.
4. Si es posible, considere utilizar Delphi (CBuilder VCL).
5. Cuando alcances cierto nivel, deberás aprender COM.
Hay mucho contenido que aprender al aprender VC, y la profundidad final depende de la comprensión y la diligencia personal.
1) Domina el último estándar C. (2 meses)
Si alguna vez pensaste que habías aprendido C/C en la universidad, pero aún tienes preguntas sobredynamic_cast/static_cast/template/try/catch/throw/stl/...
Si no le resulta familiar, debe actualizar el nuevo estándar ANSI C.
——Esto no tiene nada que ver con VC, se admiten G/BCB.
2) Aprenda la programación del SDK. (6 meses)
¡El dolor es temporal y necesario, la perseverancia es la victoria! Se recomienda utilizar Lccwin32/Masm32/Tasm para escribir software de herramientas pequeñas y sofisticadas.
"Guía de programación de Windows", "Programación avanzada de Windows"
3) Estudie el código fuente de MFC. (6 meses)
¡No te dejes engañar por un montón de macros, simplemente síguelas y profundiza en ellas! ! Después de saber cómo MFC extiende y empaqueta el SDK, podrá mejorar gradualmente sus habilidades y no quedar atrapado por el marco del sistema MFC.
("MFC Internals")
4) Estudiar la tecnología OLE/COM.
La tecnología COM/ActiveX es la tecnología central de MS. Sólo comprendiendo a fondo la esencia de su teoría podemos comprender las tendencias técnicas del sistema operativo actual
y permanecer sin cambios en respuesta. a cambios siempre cambiantes.
("Inside Ole 2")
***Algunas sugerencias***:
1) Delphi / BCB / VB pueden construir rápidamente la interfaz, pero no es una buena plataforma para las personas que realmente quieren aprender y comprender el sistema.
Pero si tienes tiempo para leer el código fuente de VCL y ver cómo Borland encapsula el sistema, puedes aprender un lote.
2) Aprender ASM es de gran beneficio para comprender C. Soft-ICE también es una buena herramienta combinada con VC.
3) El lenguaje en sí es la piel y el algoritmo son los huesos; no importa cómo se desarrollen los lenguajes de alto nivel, las capacidades de autoinnovación seguirán mejorando a partir de la comprensión del sistema operativo;
. Una vez que comprenda la esencia, podrá controlar cualquier herramienta de desarrollo que elija y se sentirá como un viejo amigo a primera vista.
Enlaces de desarrollo de tecnología de Visual C
Página de Microsofts VC
Sitio de Visual C de Microsoft, el mejor lugar para conocer las últimas novedades en Visual C.
Página de inicio de Visual Studio
Sitio de Visual Studio de Microsoft, el mejor lugar para obtener las últimas noticias sobre Visual Studio.
Página de inicio de preguntas frecuentes de MFC
El mejor sitio de recopilación de preguntas frecuentes de MFC en la web, producido por Stingray Software, Inc., que proporciona su versión nativa EXE en nuestro CD.
Software confiable
Compañía de software confiable
Libro de consulta del programador de MFC
Un enorme sitio de colección de programas fuente de MFC que contiene actualizaciones muy completas. Son muy rápidos y lo más interesante es que todos pueden expresar sus propias opiniones sobre el programa fuente. Por lo tanto, también se ha convertido en un lugar de reunión para la experiencia de desarrollo de muchos programadores. Producido por: Zafir Anjum
Recursos para programadores de MFC
Un sitio con enlaces a sitios de código fuente, grupos de discusión y guías de uso.
MFC Profesional