Un principiante en programación debería aprender de esta manera
Debería resultar útil consultar el contenido de "VC Beginner's School". Descargo de responsabilidad: aprender .NET es más fácil que VC. Si es un principiante, se recomienda no aprender VC. Es bastante difícil comenzar. Pero si realmente dominas VC, serás un gran maestro. El siguiente es el texto:
Una manera de empezar con VC
Primero que nada, déjame decirte que no soy un experto, acabo de salir de la pobreza. Debido a que tuve mucha suerte, compré algunos buenos libros. Casi no hice desvíos durante el proceso de aprendizaje. Comencé sin mucho esfuerzo. Ahora puedo manejar pequeños programas comunes. Veo amigos que están luchando porque no saben por dónde empezar y espero que mi artículo pueda brindarles ayuda.
No hay prisa por aprender a programar. Si intentas aprender VC, definitivamente te meterás en problemas. Esta es la razón por la que VC es tan difícil. Si te lo tomas con fuerza y tienes una voluntad fuerte, es posible que puedas sobrevivir, pero también te faltará resistencia y tendrás que volver atrás y aprender lo básico. Si no tiene una voluntad fuerte, es probable que se dé por vencido y deje una impresión que es poco común en los capitalistas de riesgo. De hecho, VC es muy sencillo siempre que lo sigas paso a paso. Déjame decirte que si todavía eres un estudiante de secundaria, entonces deberías pensarlo detenidamente. En primer lugar, limitado a su conocimiento y capacidad de pensamiento, no debería tener problemas para aprender el lenguaje C, pero aprender VC requiere un esfuerzo considerable. Además, lo que aprenda ahora definitivamente quedará desactualizado en el futuro, por lo que es mejor centrarse en la investigación de algoritmos. Después de todo, estas cosas nunca estarán desactualizadas.
Creo que si tomas el camino correcto y comienzas con VC, unas vacaciones de verano deberían ser suficientes.
Aunque aprender VC no es tan difícil como dice la leyenda, es imposible aprender sin trabajar duro. Antes de aprender VC, debes asegurarte de aprender VC porque te encanta programar, no para presumir ni nada más. De lo contrario, me temo que no podrás aguantar hasta el día de la victoria.
Para los estudiantes que están expuestos a la programación por primera vez, sugiero que lo mejor sea aprender Quick BASIC (está disponible en DOS, es decir QBASIC. , y los conocimientos más básicos como DO. ..BUCLE PARA...SIGUIENTE. Puede calcular factoriales y encontrar integrales. La clave es comprender cómo la computadora ejecuta comandos y tener una comprensión perceptiva de la programación. Si tiene confianza en sí mismo, también puede aprender C directamente y no debería suponer muchos problemas. Sin embargo, creo que debido a que hay mucha información PARA VB, y VB Script se usa comúnmente en programación web, es probable que uses VB en el futuro, por lo que saber algo de BÁSICO será útil en el futuro. Y si sólo desea calcular un pequeño problema, es mucho más conveniente utilizar QB que VC, VB y similares. (Deberías poder hacerlo si encuentras a alguien que te enseñe en uno o dos días).
Después de eso, sugerí buscar un libro sobre la Olimpíada de Informática en las escuelas intermedias y secundarias (un poco extraño). , tal vez). Estos libros explican algoritmos básicos, pero están escritos de una manera relativamente sencilla, no requieren conocimientos matemáticos avanzados y son fáciles de entender. Estas cosas se explican de manera sistemática y rigurosa en el curso de estructura de datos, por lo que puede esperar para aprenderlas más tarde. Pero creo que escribir algunos programas pequeños e implementar algunos algoritmos de uso común en esta etapa es un buen ejercicio para mi pensamiento y será de gran beneficio para mis estudios futuros. Creo que si puedes ordenarlas, encontrar ocho reinas, calcular una Torre de Hanoi y conocer la profundidad y la amplitud de la primera búsqueda, será suficiente.
Si ya tienes algunos conocimientos básicos de programación, naturalmente puedes saltarte los dos pasos anteriores.
Una vez que tenga cierta comprensión de la programación, debe comenzar a ingresar C. Tenga en cuenta que es C y no VC. ¡No compre VC para comenzar! Definitivamente no lo entenderás. ¡Entiende! C es un lenguaje y el tutorial de VC explica cómo utilizar la biblioteca de clases MFC. El aprendizaje de VC debe basarse en una comprensión completa de C.
Siento que, en comparación con muchas enciclopedias y manuales coloridos, es mejor comprar tutoriales en C de esta universidad (nota: no compre tutoriales para los exámenes de grado, deberían probarse la mayoría de esos tutoriales). Ha sido templado repetidamente, relativamente sistemático, muy valioso y no demasiado caro.
Aquí recomiendo encarecidamente un "Tutorial de programación en C" publicado por Tsinghua University Press. La portada es roja y la contraportada es amarilla. Parece muy simple. El editor en jefe es Qian Neng. Este libro es más que digno de elogio y también es barato (39,5 yuanes). Este libro no solo le explica la gramática, sino que también le explica por qué la gramática está estipulada de esta manera. Después de leerlo, sentirá que muchas reglas se dan por sentadas y no es necesario que se moleste en memorizarlas. Sólo que no es aburrido, pero te dará una sensación de belleza. El libro también contiene muchas cuestiones a las que se debe prestar atención en la programación real, lo cual es muy valioso. Este libro también viene con una "Guía Experimental" y una "Colección de Ejercicios", pero probablemente sea de poca utilidad para personas con cierta experiencia en programación, así que no lo compré. Además de este libro, recomiendo comprar otro libro sobre el lenguaje C tradicional, centrándose en los siguientes aspectos: preprocesamiento de compilación, uso de typedef, operaciones de bits y uso de funciones de biblioteca estándar (es mejor tener una lista más detallada). Fácil de comprobar durante el uso).
La plantilla de clase estándar de C es algo bueno, pero no es útil para aprender MFC. La razón es que MFC está demasiado atrasado (^_^). Puedes dejarlo a un lado primero. ¿Aprender y dominar MFC? Tomar una decisión más tarde. Aunque no he aprendido mucho al respecto, creo que es bastante bueno y representa una dirección de desarrollo. Aunque es difícil de aprender (casi no parece C, es como aprender un nuevo lenguaje), dominarlo hace que la programación sea mucho más fácil.
Después de aprender C, es hora de aprender VC, ¿verdad? No se preocupe, primero busque un libro sobre programación WIN32. Esta vez no tiene nada de particular. Parece similar, pero sería mejor si hubiera una introducción al entorno integrado de VC. La programación WIN32 se refiere a la programación usando WINDOWS API. MFC es una biblioteca de clases que encapsula muchas funciones API. Sin embargo, si no tiene alguna base de programación API y no comprende los conceptos relacionados, puede sentirse confundido. Al aprender MFC. Créame, en el futuro no sentirá que aprender a programar API sea una pérdida de tiempo. Hay más de 2000 funciones API y aprenderlas todas es agotador. De hecho, siempre que sepa cómo crear ventanas, cuadros de diálogo, controles, bucles de mensajes y comprenda el significado de los identificadores, es mejor saber un poco más sobre la programación GDI. La clave de esta etapa es comprender cómo funciona el programa WIN32 y comprender la relación entre varias ventanas. Debido a que rara vez escribirá programas directamente usando el SDK de WIN32 en el futuro, la clave es comprender la estructura general. Memorizar algunas funciones no tiene mucho sentido. Puede comprobar la función inmediatamente cuando se utiliza. Debería tener a mano una información relativamente completa. La lista de funciones de la API china parece ser solo para VB, pero parece que no debería haber obstáculos. La información en inglés está disponible en MSDN, que es bastante completa y más detallada que la china. Recomiendo utilizar información en chino para buscar rápidamente y, si tiene alguna pregunta, consulte el inglés. (Olvidé dónde descargué la versión html de la enciclopedia API china, pero está disponible en las librerías. Es de cubierta blanca, gruesa y muy cara. Cualquiera que la quiera puede contactarme en iamsor@sohu.com) p>
Nota para los amigos que quieran aprender a programar juegos: de ahora en adelante, no es necesario que aprendan MFC. Créanme, eso no hará más que causarles dolor de cabeza. Los juegos se compilan utilizando Win32 SDK. Ahora, lo que quieres aprender es DirectX. Recomiendo el documento DirectDraw (www.imagic3d.com) traducido por Lao Wang. Tiene algunos conocimientos básicos escritos por el propio Lao Wang, que son muy adecuados para comenzar. Me gustaría expresar mi agradecimiento especial a Lao Wang por su esfuerzo. trabajar. También compré una copia del "Curso intensivo de DirectX 7", publicado por Machinery Industry Press, con portada y contraportada rojas. Aparte de la mala traducción, es bastante bueno, con una introducción completa y algunos conocimientos básicos de programación de juegos. Si desea evitar problemas, puede considerar usar la biblioteca de juegos Wind Soul escrita por Yunfeng, que es muy conveniente (www.codingnow.com agradece a Yunfeng por su arduo trabajo. Sin embargo, todavía recomiendo que al menos comprenda DirectX). Habla de ello aquí. Muchos amigos se quejan de que no pueden encontrar libros sobre DirectX. Déjame decirte, no los busques en libros de programación, búscalos en libros de producción multimedia y mantén los ojos bien abiertos.
Director... Director... DirectX!!! Verás, la gente que trabaja en las librerías no tiene muy buena vista. Sólo lo descubrí un día mientras estaba deambulando. Después de descubrir este secreto, descubrí que en realidad hay muchos libros sobre DirectX, pero la mayoría de la gente no puede encontrarlos. Una vez que aprenda DirectX, podrá empezar a tener dificultades. El único problema que queda es acumular experiencia.
Para los amigos cuya ambición es el software de aplicaciones, se han sentado las bases y ahora se han eliminado los obstáculos para ingresar a VC. Sin embargo, aún así debes estar completamente preparado mentalmente, ya que las cosas no irán tan bien. Al principio, se enfrentará a un cuello de botella. Una gran cantidad de conocimientos estrechamente relacionados requieren que comprenda el todo a la vez y es difícil comprenderlo poco a poco. Se puede decir que lo más difícil de aprender VC es el comienzo. La situación es algo similar al largo proceso que enfrentó cuando creó una ventana por primera vez, sólo que peor. Aquí es donde muchas personas se ahogan con una gran masa de conocimientos y renuncian a aprender. De hecho, esta es casi una característica importante de la programación de Windows. Debería experimentarla al programar en WIN32, y DirectX y COM tienen problemas similares. Recuerde, debe creer firmemente que después de superar este cuello de botella, habrá un futuro brillante y definitivamente podrá superarlo con una base sólida.
Mi sugerencia es que no espere hasta comprender completamente una oración antes de leer la siguiente. En lugar de eso, mire hacia abajo cuando sepa lo que está pasando. Si realmente no puede entender, simplemente mire hacia abajo. y espere hasta que pueda comparar. Cuando Mao Huahu crea un menú o cuadro de diálogo, regresa y lo mira nuevamente después de algunas veces, debería poder comprender aproximadamente el funcionamiento del programa MFC. Nota: Aquí hay una clave. Debe comprender cuidadosamente el espíritu de la programación orientada a objetos y esforzarse por conectar el programa que tiene delante con el conocimiento que ha aprendido antes. Al comparar las diferencias entre las funciones miembro y las funciones API correspondientes, intente comprender cómo MFC encapsula las API relacionadas. Por ejemplo, bastantes clases encapsulan identificadores y los omiten al pasar parámetros. Esta es una característica muy importante. Hay muchas macros en MFC que parecen extrañas, pero no es necesario que prestes atención a sus métodos de implementación. Siempre que sepas cómo usarlas, esto también es muy importante. Además, no confíe demasiado en ClassWizard. Debe analizar usted mismo el código que genera. Si es vago, no podrá comprender realmente MFC.
Aquí presentaré un método de estudio, pero el método de estudio varía de persona a persona, por lo que debe decidirse según las circunstancias personales. Al principio, simplemente hice lo que me pidió el tutorial. Creé un menú y un cuadro de diálogo como un gato y un tigre, y luego intenté agregar controles. Cuando pueda hacer esto sin leer el tutorial, comience a intentar comprender la organización del programa MFC palabra por palabra. Si no lo entiende, omita la lectura de lo siguiente. Simplemente hazlo una y otra vez. Si siente que le pesa la cabeza, descanse durante dos días y luego continúe después de despertarse. Es mejor encontrar más artículos que presenten el marco MFC durante este período. Nota: No toque la estructura del documento/vista todavía, de lo contrario se meterá en problemas. Luego, puede intentar escribir cosas pequeñas, como temporizadores y tarjeteros, para familiarizarse con el uso de varios controles. Después de superar el cuello de botella inicial, será más fácil continuar aprendiendo, porque podrá acumular conocimientos poco a poco sin preocuparse de ahogarse. Pronto, tendrá que comenzar a usar funciones API para completar algunas funciones, como agregar íconos a la bandeja del sistema, cuadros de lista autodibujados, etc. En este momento, también se dará cuenta de los beneficios de aprender a programar en WIN32. Es probable que las personas que nunca lo hayan aprendido se queden estancadas.
Hay tutoriales sobre VC por todas partes, pero el mercado es heterogéneo y hay muchos libros sobre cómo hacer trampa con dinero. Algunos libros son muy gruesos y tienen contenidos completos, lo cual es bueno para lectores experimentados, pero parece ser una pérdida de dinero para principiantes, porque la mayoría de las cosas que contienen están disponibles en MSDN y los principiantes no los necesitan. Los libros escritos por extranjeros suelen tener buen contenido, pero la calidad de la traducción es un problema. Si una mala traducción es suficiente para usted y es costosa, no la recomendaría a principiantes. También hay algunos libros tontos, ilustraciones, etc., que parecen estar dirigidos a principiantes y, a veces, están destinados a engañar al dinero. Después de leerlos, no podrás hacer nada excepto esos pocos ejemplos.
Si ve un libro que ocupa mucho espacio con imágenes y texto, y que presenta vívidamente cómo hacer dibujos y generar texto, ¡no lo compre! ¡Estafador de dinero! (:-lt; me engañaron para que pagara 42 yuanes en efectivo) Esas cosas elegantes no sirven a los principiantes excepto para desviar su atención. Si está realmente interesado en el dibujo GDI, busque algunos libros especializados, que son mucho mejores que esos libros. Es mejor comprar algo con un nombre más formal como Aplicación VC, Programación VC, etc. No debe tener demasiadas imágenes, los caracteres no deben ser demasiado grandes y es mejor si se introducen más controles. Por supuesto, la fluidez del texto también es muy importante. No compre demasiados libros, no más de dos, porque el contenido de estos libros es casi el mismo, si compra demasiados, leer aquí y allá no será beneficioso. Aquí, sugiero a los principiantes que no se apresuren a gastar dinero, sino que vayan a la revista en línea de VC Dynasty (), que también es muy buena y muy útil para aquellos que recién están comenzando. Se recomienda descargarla. Después de adquirir algo de experiencia, navegue por varios sitios web y desplácese hacia abajo cuando vea buenos artículos. Esto es muy beneficioso para mejorar sus habilidades.
Un conjunto de CD de MSDN es indispensable en este momento. Es imposible encontrar información en chino sobre todo. Incluso si puede encontrarla, consumirá mucho tiempo y dinero. Solo puede leerla. en Inglés. Sin embargo, según mi experiencia, siempre que tengas un nivel de inglés de escuela secundaria y las diapositivas de Kingsoft PowerWord, sigue siendo muy fácil leer artículos profesionales. Además, es posible que los principiantes no sepan dónde encontrar lo que necesitan al principio. Aquí enumeraré los lugares más utilizados:
API WIN32: Plataforma SDK-gt; Funciones de Win32 en orden alfa
. p>Información de la biblioteca de clases MFC: Visual C Documentation-gt; Microsoft Fo...
Información de la biblioteca estándar y del lenguaje C/C: Visual C Documentation-gt; ; C/C...
Controles estándar: los controles estándar están encapsulados por MFC. Puede consultar las clases correspondientes, como el control Edit correspondiente a la clase CEdit.
Controles VC ActiveX en: Documentación de Visual Basic-gt; Referencia de control-gt (la única información en chino, pero es la peor. No solo es para VB, es muy diferente de C, sino que también está traducido a un lío, casi incomprensible Úselo. Si algún experto sabe dónde hay información en inglés, hágamelo saber, se lo agradeceré)
Los CD de MSDN que se encuentran actualmente en el mercado tienen una historia y algunas cosas pueden ser. anticuado. Si quieres la información más reciente, puedes acudir al sitio web de Microsoft (todo en inglés, por supuesto). Pero no parece necesario para los principiantes.
Después de dominar VC, puedes aprender lo que quieras. Aprender C Builder, VB, Dephi, Java, etc. no es nada difícil. O puedes probar COM Se dice que es un hueso duro de roer (pero parece que simplemente es difícil empezar, porque con experiencia previa, aunque no lo he tocado, debería poder hacerlo si gasto. Además, la experiencia en programación DirectX debería ser de alguna ayuda).
Finalmente, te sugiero que estudies más sobre varios algoritmos si tienes tiempo. La estructura de datos es una visita obligada. No es necesario que lo recuerdes (aunque no lo recordarás si no lo usas con frecuencia), pero al menos debes saber que está ahí y saber adónde ir si encuentras un problema. De hecho, en la plantilla de clase estándar C se han implementado estructuras comunes, como listas vinculadas y algoritmos como la clasificación. No es necesario trabajar duro, pero siempre es beneficioso saber algo. En cuanto a las matemáticas discretas, el álgebra lineal, etc., son necesarias para algoritmos más complejos, entre los cuales las matemáticas discretas son la base de la estructura de datos. Sin embargo, creo que mientras el problema no sea demasiado complicado, solo se puede resolver con la experiencia (al igual que en los Juegos Olímpicos, es solo una implementación sin pruebas), y esas cosas se olvidarán si no las usas. . Si encuentra un problema que no puede resolver, es una buena idea buscar ayuda de un experto, lo que le ahorra tiempo y esfuerzo^_^.
Las siguientes son algunas preguntas diversas que me vinieron a la mente. No están organizadas. Pruébelas:
No es necesario que su nivel de inglés sea muy alto, pero sí. Debes tener al menos un nivel de escuela secundaria, de lo contrario sufrirás.
No importa si no entiendes el libro después de leerlo una vez. De hecho, si puedes entenderlo después de leerlo una vez, tienes mucho talento. Siempre que lo leas varias veces y lo analices exhaustivamente, no debería haber ningún problema.
En el mundo actual, no es que sólo puedas aprender cuando usas libros, sino que solo puedes aprender cuando los usas. No intentes comprenderlo todo, pero aprende lo que usas. De esta forma, podrás aprender rápidamente y recordarlo con firmeza.
Un malentendido: aprender a programar se basa en la memoria: este es un pensamiento muy fatal que lo agotará y no ganará nada. De hecho, apenas es necesario recordar nada. Para diversas funciones y declaraciones, siempre que sepa que existe tal cosa y sepa dónde buscarla cuando la use, naturalmente la recordará después de usarla mucho. La clave para aprender a programar es comprender las ideas de programación.
Un pequeño consejo: usar el compilador puede ayudarte mucho. En VC, cuando ingresa el símbolo de miembro o -gt;, el programa enumerará automáticamente los miembros de este tipo y solo necesitará seleccionar uno. Esto ahorra mucha carga de memoria. Por ejemplo, si desea obtener la longitud de un objeto de clase CString, el método correspondiente debe ser Get, pero no sabe si GetLetterNum o GetStrLength. Puede ingresar xxx.Get para encontrar GetTextLength (). de la lista, no este. Qué más, si hace clic en él, pueden aparecer instrucciones. También se pueden evitar los errores tipográficos. Si desea llamar a una función miembro de esta clase, ingrese this-gt y podrá ver la lista de miembros. Para funciones globales, simplemente ingrese::. Esto parece claro. Además, si la lista no aparece, el 80% de las veces es porque cometiste un error, como que no se definió una variable o un error tipográfico, pero también puede ser un ERROR de VC, que rara vez es el caso. Para los principiantes, esta es una característica muy útil.
Un principio que los principiantes deben seguir al aprender a programar: sé más un gato que un tigre y no pidas una comprensión más profunda. La clave es que hay muchas cosas que simplemente no puedes entender, como las macros extrañas en MFC. Además, no aporta mucho beneficio entenderlo. Es mejor no preocuparse por ello por el momento. Solo sepa cómo usarlo. Cuando tenga tiempo libre, podrá pensar en ello lentamente. Preste más atención a cómo se implementan los programas de otras personas y sígalos. A veces, algunos pequeños problemas también reflejan pensamientos profundos. Por ejemplo, dónde se debe definir una variable y cómo organizar la estructura de clases. Si no lo entiendes del todo, intenta hacerlo como los demás primero y, naturalmente, lo entenderás con el tiempo. Es como jugar al ajedrez. Después de todo, es menos probable que él cometa errores que tú. son.
Además, creo que los principiantes no deberían poner demasiada energía en cosas como barras de herramientas geniales y ventanas transparentes con forma de burbuja. Antes de hacer esto, será mejor que te preguntes: ¿tu programa es digno de estas hermosas interfaces? En particular, no decores la interfaz cuando empieces por primera vez, de lo contrario la interfaz estará terminada y el entusiasmo desaparecerá. Después de todo, ver los resultados es mucho más emocionante que los aburridos algoritmos. Si desea hacerlo, debe esperar hasta que finalice el cuerpo principal del programa antes de hacerlo. Cuando aprenda por primera vez, también debe prestar más atención a los artículos sobre la estructura y organización del programa. Estas cosas son muy importantes. Desarrolla un buen estilo desde el principio. De lo contrario, un día, cuando decidas compilar un programa más grande, descubrirás que no puedes continuar hasta la mitad.
Programar no es un trabajo técnico, sino un trabajo físico: cuando estás aprendiendo, tu mente está llena de tecnología, pero cuando la usas, realmente se convierte en un trabajo físico. Cuando realmente empiezas a hacer algo, lo más importante es tener la perseverancia para persistir hasta el final. Si no tienes una voluntad fuerte, inevitablemente te rendirás a mitad de camino. Con respecto a la pregunta de si los principiantes deberían aprender VC o VB: creo que será más difícil aprender VC, pero no es tan difícil como imagina si dominas el método de aprendizaje, y solo aprendiendo VC podrás comprender profundamente la esencia de programación orientada a objetos. Eleva su pensamiento a un nivel superior, lo que es de gran beneficio para el desarrollo futuro. Además, si no podemos superar esta dificultad, será difícil lograr algo en el futuro. Por lo tanto, incluso si decide utilizar VB, aún debe tomarse un tiempo para observar VC y conocer al menos su estructura general.
A la larga, esto resulta muy beneficioso.
Sobre la cuestión de si aprender C Builder o Visual C: Quizás VC no sea tan bueno, pero no es tan malo. Pero la información sobre VC es muchas veces mayor que la de C Builder. ¡Especialmente para los principiantes, esto es muy importante! Es más, la diferencia entre los dos en realidad no es mucha. Una vez que haya aprendido uno, no será demasiado problemático aprender el otro.
Oh, no esperaba decir tanto. Ya he dicho que en realidad recién estoy comenzando. Todo lo anterior es mi propia experiencia. Es probable que los expertos me corrijan. Además, esta es la primera vez que escribo un artículo y mi chino es muy pobre. De hecho, solo escribo lo que se me ocurre, así que no dudes en compartirlo.