Programación vc de Baoshan
1.1 Cultivar el interés es la fuerza impulsora que puede hacer que sigas adelante. Si sólo consideras la redacción de programas como un medio para ganarte la vida, vivirás una vida muy cansada y sentirás lástima de ti mismo. Preste más atención a algunas cosas interesantes de la industria y piense más en Gates. No estoy recomendando soñar despierto todos los días, pero ¿crees que es interesante que la gente no tenga sueños? Quizás, como muchos agricultores locales, juegan mahjong, beben té de Kung Fu y adoran al Dios de la Riqueza. Hay decenas de miles o más de cuentas cada mes, lo que crea de la nada una "clase que busca ganancias". ¿Crees que huele así? Si tiene tiempo para visitar los foros de algunos programadores, encontrará que en realidad son muy optimistas y divertidos, y de vez en cuando tienen chispas de sabiduría.
1.2 Elegir cuidadosamente el lenguaje de programación. Los hombres tienen miedo de dedicarse a la profesión equivocada y las mujeres tienen miedo de casarse con la persona equivocada. Los principiantes deben tener cuidado al elegir un lenguaje de programación. El desarrollo de software no consiste sólo en dominar un lenguaje de programación, sino que también requiere muchos otros conocimientos previos. El desarrollo de software ya no se limita a unos pocos campos, sino que ha penetrado en casi todos los rincones de todos los ámbitos de la vida. Si está interesado en el hardware, puede aprender lenguaje C/lenguaje ensamblador e ingresar al campo del desarrollo de hardware. Si está familiarizado con el conocimiento y las redes de la industria de las telecomunicaciones, puede dedicar más tiempo a C/C e ingresar al campo del desarrollo de software de telecomunicaciones. Si está familiarizado con los sistemas operativos, puede aprender C/Linux, etc., para sentar las bases para el desarrollo del kernel/desarrollo de controladores/desarrollo integrado de Linux. Si desea participar en el desarrollo del software de aplicación más utilizado (incluidos los sistemas de comercio electrónico y gobierno electrónico), puede elegir J2EE o . Una combinación de redes e incluso luces. Cada área requiere diferentes conocimientos previos. Para crear software de aplicación, es necesario estar familiarizado con las bases de datos, etc. En resumen, debes elegir el lenguaje de programación adecuado según tus propias características.
1.3 Tenga los pies en la tierra, no es aconsejable aprender sobre comida rápida. Compartir una historia primero. Hay un niño que le gusta estudiar biología y quiere saber cómo esas mariposas salen del caparazón de la pupa y se convierten en mariposas y vuelan. Una vez fue al pastizal y vio una pupa, así que se la llevó a casa. Luego miró. Después de unos días, apareció una grieta en la pupa y vio que la mariposa que estaba dentro comenzaba a luchar, tratando de romper el caparazón de la pupa y salir volando. Este proceso duró varias horas. La mariposa luchó mucho en la pupa, pero no pudo salir. El niño no podía soportar verlo, así que pensó que sería mejor que yo lo ayudara, así que tomó las tijeras y abrió la pupa para dejar que la mariposa emergiera del capullo. Pero después de que la mariposa salió, debido a que sus alas no eran lo suficientemente fuertes, se hinchó y no pudo volar. La moraleja de esta historia es: la prisa genera desperdicio. La impetuosidad es la mentalidad más común entre la gente moderna. ¿A quién puedes culpar? Tal vez sea porque hemos sido pobres y rezagados durante tantos años. Al igual que el Gran Salto Adelante, todo el mundo quiere avanzar hacia una sociedad capitalista. Las empresas de software, los clientes, los gobiernos, las escuelas, las instituciones de formación, etc. de hoy están llenos de impetuosidad. Tomemos como ejemplo la industria de formación de TI de Shenzhen que conozco. De hecho, algunas personas afirman que "se obtendrán 100 puestos de trabajo mediante la formación", pero en realidad muchos estudiantes se han inscrito. Esto es simplemente desprecio por los programadores de todo el mundo. Si el entorno social es así, no podemos cambiarlo, sólo podemos cambiarnos a nosotros mismos. La tranquilidad del centro de la ciudad es preciosa. Muchos principiantes de C/Java utilizan inmediatamente VC/JBuilder para desarrollar un programa Hello World sin empezar a aprender. Se apresuran a anunciar al mundo "Puedo desarrollar software" y escribir "Competente en VC/Java" en sus currículums. Como resultado, cuando fui a una empresa de software para una entrevista, me despidieron tres o dos veces o me refutaron por completo. No lo supe hasta que choqué contra una pared en todas partes. Aprendí "Pensamientos de programación C" y "Pensamientos de programación Java" y los estudié seriamente. Si sé esto, ¿por qué debería saberlo? "Si prestas atención a la simplicidad y la conveniencia ahora, el camino por recorrer será largo". Esto parece ser una advertencia en las escrituras budistas.
1.4 Cuanto más practicas, más rápido practicas.
En el "Reglamento del discípulo" de Peng Duanshu, hay una historia sobre un monje pobre y un monje rico. Había una vez dos monjes en la frontera de Sichuan. Uno es pobre y el otro es rico. Un día, el monje pobre le dijo al monje rico: "Quiero ir en peregrinación al Mar de China Meridional. ¿Qué te parece?" El monje rico dijo: "Esto está a miles de kilómetros de distancia del Mar de China Meridional". ¿Cómo se llega allí?" El pobre monje dijo: "Sólo quiero un trozo de agua y un cuenco de arroz". El monje rico dijo torpemente: "Planeaba comprar un barco para ir al Mar de China Meridional. Hace unos años, pero aún no se ha hecho. ¡Será mejor que no vayas!" Un año después, el monje rico todavía estaba recaudando dinero para alquilarlo. Un barco, pero el pobre monje había regresado de una peregrinación al Mar de China Meridional. Esta historia se puede interpretar como: Una vez que hayas pensado en algo, debes empezar inmediatamente. No esperes hasta estar listo para hacer algo. Si prepara lo que necesita considerar antes de salir a la carretera, es posible que otros lleguen primero. El desarrollo de software es una disciplina de ingeniería que se centra en la práctica. Es fundamentalmente incorrecto que los desarrolladores de software digan que "un caballero habla con palabras pero nunca con las manos". Abogan por "atacar primero para tomar ventaja", pero no tener miedo. La mayoría de ellos tienen una personalidad amable y no son violentos, aunque a veces parecen "Bill Gates". Algunos expertos de alto nivel creen que el secreto para aprender a programar es: programar, programar y programar nuevamente. Estoy totalmente de acuerdo. No sólo necesitas practicar más, sino que también necesitas practicar rápidamente. Cuando lea un libro, no espere hasta comprenderlo completamente antes de escribir el código. En cambio, deberíamos leer y codificar al mismo tiempo. Varias situaciones en las que se ejecuta el programa pueden ayudarle a captar los puntos de conocimiento de forma más rápida y firme.
1.5 El código de programa de referencia múltiple es uno de los logros más importantes del desarrollo de software e impregna la mente y el alma de los programadores. Mucha gente se conmovió con la trágica historia de amor de "Legend of Sword and Fairy", y el trágico final fue aún más hermoso. ¿Por qué terminó en tragedia? Se dice que el programador que escribió Legend of Sword and Fairy estaba desconsolado y organizó este final. Integró sus sentimientos en el juego, lo que hizo suspirar a muchos fanáticos de la espada. Haga referencia a muchos ejemplos de código. Para Java, existe la referencia [4.3], el código fuente de la clase API (archivo src.zip en el directorio de instalación de JDK), y también puede estudiar algunos marcos o software de código abierto.
1.6 Fortalecer las habilidades de lectura en inglés El inglés no es necesario para aprender a programar, pero simplemente no puedes hacerlo. Al menos algo como la documentación de la API de Java (Referencia [4.4]) debería ser comprensible, incluso conjeturado y confuso, abra un "Kingsoft PowerWord" al lado; Cuanto más lo veas, más hábil te volverás. Aprende Java y aprende inglés al mismo tiempo, matando dos pájaros de un tiro. Además, es necesario descargar muchos programas de sitios web en inglés. Deberías poder encontrarlos. Estos son los requisitos más básicos. Un buen inglés será de gran ayuda para tu estudio. Si habla bien inglés, tendrá más posibilidades de llegar a un puesto directivo y entonces podrá convertirse en el "carterista de la semana" que explota a los programadores.
65438 7000 personas tienen que preguntar a otras. Cuando resolví los problemas de los estudiantes en el sistema de tutoría en línea de la escuela en línea ChinaITLab, descubrí que la mayoría de los estudiantes pueden resolverlos con solo pensar un poco. Antes de consultar a otros, debe responder las siguientes preguntas. ¿Has buscado en Google una solución a tu problema? ¿Ha consultado la documentación de la API de Java? ¿Ha consultado libros relevantes? ¿Alguna vez has escrito pruebas de código? Si la respuesta es "sí" y aún no ha encontrado una solución, no es demasiado tarde para preguntarle a alguien más. Ya sabes, la capacidad de pensar de forma independiente es importante para ti. Ya sabes, el tiempo de los programadores es precioso.
1.8 Lea más libros buenos, incluido Yan Ruyu. ¿Factura? Gates es un hombre culto. Aunque nunca completó la universidad, a la edad de nueve años, ¿Bill? Gates ha leído todas las enciclopedias, por lo que está bien versado en astronomía, historia, geografía y más. Gates no sólo es el hombre más rico del mundo hoy en día en términos de dinero, sino también el hombre más rico en conocimientos. A menudo recomiendo libros a los estudiantes cuando les enseño. Más tarde, algunos estudiantes no pudieron soportar quejarse: "Dios mío, ¿cuándo terminaré de leer tantos libros?" y "Aprender a desarrollar software me hace sentir como un ladrón". En este momento, mi respuesta suele ser "No". "No te preocupes, te lo daré cuando pueda". Mira mi sala de estudio. Hasta ahora, la cantidad de dinero que gasto en libros técnicos es sólo de 400 yuanes, que es el promedio entre los desarrolladores de software. El estudiante se desmayó. en el lugar.
(Nota: estos estudiantes recién están aprendiendo desarrollo de software) El autor revisará especialmente los buenos libros en el campo del desarrollo de Java en otro artículo. Este artículo puede servir como complemento de este artículo.
1.9 Si utilizas la herramienta adecuada, primero debes afilarla. El desarrollo de software incluye la recopilación y análisis de requisitos, el establecimiento de modelos de casos de uso, el establecimiento de modelos de análisis y diseño, la implementación de programación, la depuración de programas, las pruebas automáticas, la integración continua y otras actividades. Sin la ayuda de herramientas se puede decir que es imposible avanzar. Las herramientas pueden mejorar la eficiencia del desarrollo, crear software de mayor calidad y tener menos errores. Un arma a dos manos. Volar flores y recoger hojas puede dañar a las personas a un nivel muy alto. Es casi imposible ganar sin usar un movimiento. Si tienes una espada en la mano, tendrás una espada en el corazón. En otro artículo, el autor explicará cómo elegir la herramienta adecuada (este artículo también se puede utilizar como complemento de este artículo).
2. La ruta de aprendizaje del desarrollo de software ha sido el confucianismo durante más de dos mil años. La moderación llega hasta lo más profundo de los huesos. No se trata de ser moderado, se trata de encontrar la ruta y las reglas correctas para aprender a desarrollar software. En lo que respecta a la planificación profesional de los desarrolladores de software, podemos dividirla a grandes rasgos en tres etapas: ingeniero de software → diseñador de software → arquitecto o director de proyecto. Un soldado que no quiere ser mariscal no es un buen soldado y un programador que no quiere ser arquitecto o director de proyectos no es un buen programador. Deberíamos intentar subir. Primero, clasifiquemos las principales tecnologías que es necesario aprender para desarrollar software de aplicaciones.
A. Conocimientos teóricos básicos, como sistemas operativos, principios de compilación, estructuras y algoritmos de datos, principios informáticos, etc. , no carecen de importancia. Si no quiere ser informático, puede adoptar el principio de "aprender cuando sea necesario".
B. Un lenguaje de programación, ahora básicamente un lenguaje orientado a objetos, Java/C/C#, etc. Si desea desarrollar WEB, debe aprender HTML/JavaScript y similares.
C. Una metodología o idea ahora es básicamente una idea orientada a objetos (OOA/OOD/patrón de diseño). El desarrollo resultante basado en componentes CBD/AOP, etc.
D.Base de datos relacional, como ORACLE/SqlServer/DB2/MySQL, etc.
Entorno de desarrollo integrado IDE para mejorar la productividad JBuilder/Eclipse/VS.NET, etc.
F. Una herramienta de modelado UML, modelada con ROSE/VISIO/pen.
G.Proceso de software, RUP/XP/CMM, etc. , organiza muchas actividades de desarrollo de software a través del proceso de software, haciendo que el proceso de desarrollo sea profesional y estandarizado. Por supuesto, existen otros conocimientos de ingeniería de software.
H. Comprender la gestión de proyectos, la arquitectura y los frameworks.
La ruta correcta debería ser: B → C → E → F → G → H. Es necesario agregar algunos puntos más:
1). Agregar es que comprender gradualmente la teoría de la programación y el pensamiento en la práctica. Aunque constantemente surgen nuevas tecnologías, la velocidad de actualización es vertiginosa, pero los cambios en la teoría y el pensamiento de la programación son muy lentos; Dominar la teoría y el pensamiento de la programación le dará una sensación de claridad. En la actualidad, el pensamiento orientado a objetos es muy crítico y una de las tecnologías más poderosas. Necesitas invertir más tiempo en ello y las recompensas te sorprenderán.
2) Para las bases de datos, es un aprendizaje independiente, por lo que el momento depende de usted.
3) El lenguaje de programación es la línea principal del aprendizaje del desarrollo de software, y el resto son líneas auxiliares.
4). Los ingenieros de software se centran en B, C, E y D; los diseñadores de software se centran en B, C, E, D y F;
3. ¿Cómo aprender Java?
3.1 Ruta de aprendizaje de Java
3.1.1 Sintaxis básica y principios de Java La sintaxis básica y los principios de Java son la base La base es inestable, como construir un rascacielos sobre arena, que es. bastante peligroso. Lo mismo ocurre con el aprendizaje de Java. Debe tener una base sólida para poder dominar J2EE y J2ME. Realizar el examen SCJP (Programador Java certificado por Sun) es una excelente manera de hacerlo.
Una razón es que para pagar la tasa de examen de 1.200 yuanes, tendrás que estudiar más. Otra razón es que el examen SCJP le permite sentar una base sólida, lo que requiere que esté tan familiarizado con los conceptos básicos de Java como JDK. Pero no debes pensar que aprobar el examen SCJP significa que eres excelente y que puedes ganarte el favor de las empresas de software y obtener salarios altos. Esta idea también es peligrosa. Obtener el SCJP "real" sólo puede demostrar que su base es transitable, pero aún queda un largo camino por recorrer hasta el desarrollo real.
3.1.2 OO Después de comprender y dominar la sintaxis básica y los principios operativos de los programas Java, podrá implementar el pensamiento orientado a objetos en el lenguaje Java. La orientación a objetos es una metodología; es una idea de programación independiente del lenguaje; es la base del desarrollo basado en componentes de CBD; Cuando necesites cambiar a otros lenguajes orientados a objetos para trabajar en el futuro, te sentirás particularmente familiar y amigable, y aprender es tan fácil como beber agua fría.
El proceso básico de desarrollo utilizando el pensamiento orientado a objetos es:
●Investigar y recopilar requisitos.
●Construir un modelo de casos de uso.
●Identificar clases de análisis y relaciones estáticas y dinámicas entre clases del modelo de casos de uso para construir un modelo de análisis.
●Refinar el modelo de análisis en un modelo de diseño.
●Utilizando tecnología específica para lograrlo.
●Pruebas, despliegue y resumen.
3.1.3 Aprendizaje de API básicas Al desarrollar software no es necesario implementar todas las funciones, que es el clásico dicho "no hay necesidad de hacer más". Podemos utilizar clases, componentes y marcos ya preparados para crear nuestras aplicaciones. Por ejemplo, SUN ha escrito muchas clases que implementan algunas funciones subyacentes, así como clases incluidas en los archivos JAR que descargamos. Podemos llamar a métodos en la clase para completar algunas funciones o heredarlas. Entonces, ¿qué métodos se proporcionan en estas clases para que los utilicemos? ¿Cuáles son el número y los tipos de parámetros para este método? ¿El constructor de clases requiere parámetros? Es imposible que un ingeniero de Sun Microsystems haga una llamada telefónica internacional o incluso cruce el océano para decirte cómo utilizar la clase que escribió. Sólo pueden proporcionarnos documentos para que los veamos. El documento Java DOC (Referencia 4.4) es un documento de este tipo, que se puede decir que es un documento de comunicación entre programadores. La API básica se refiere a clases que implementan algunas funciones de bajo nivel, como procesamiento/entrada/salida de cadenas, etc. También lo llamamos biblioteca de clases. La primera forma de familiarizarse con la API es consultar el documento Java DOC (Referencia 4.4), y la segunda forma es utilizar la función de solicitud de código de IDE como JBuilder/Eclipse.
3.1.4 Aprendizaje de API específicas Java cubre una amplia gama de áreas. Diferentes áreas tienen diferentes API y nadie está familiarizado con todas las API. La gente común solo está familiarizada con las API que utilizan en su trabajo. Si desarrolla interfaces, entonces necesita aprender API como Swing/AWT/SWT; si desarrolla juegos en línea, necesita tener un conocimiento profundo de API de red/API multimedia/2D3D, etc. Si realiza desarrollo WEB, debe estar familiarizado con API como Servlets. En resumen, debe elegir aprender una API específica según sus necesidades laborales o la dirección de desarrollo de sus intereses.
3.1.5 Uso de herramientas de desarrollo Al aprender sintaxis básica y conceptos básicos orientados a objetos, desde la perspectiva de entrenar la capacidad del lenguaje, recomendamos utilizar Editplus/JCreator JDK. En este momento, no se apresure a comenzar con entornos de desarrollo integrados como JBuilder/Eclipse, para no centrarse demasiado en las potentes funciones del IDE y distraerse de la tecnología Java en sí. Después de esta etapa, podrá familiarizarse con el IDE. El trabajo diario de un programador incluye muchas actividades, como editar, compilar y construir, depurar, realizar pruebas unitarias, controlar versiones, mantener la sincronización de modelos y códigos, actualizar la documentación, etc. Existen herramientas dedicadas para casi todas las actividades. Si utiliza estas herramientas de forma independiente, se sentirá miserable. Necesita activar constantemente una barra de tareas llena de herramientas, lo cual es ineficiente y propenso a errores.
En IDE como JBuilder y Eclipse, se han integrado automáticamente editores, compiladores, depuradores, herramientas de prueba unitaria JUnit, herramientas de compilación automática ANT, herramientas de control de versiones CVS y generación y actualización de documentos DOC, e incluso se pueden integrar herramientas de modelado UML. También proporciona asistentes enriquecidos para ayudar a generar código marco, lo que facilita nuestro desarrollo. Cabe decir que la tendencia de desarrollo de IDE es integrar casi todas las herramientas utilizadas en el desarrollo de software. Desde la perspectiva de la eficiencia del desarrollo, usar IDE es el único camino a seguir y también es un hito en la transición de un estudiante a un programador profesional. Los IDE utilizados en el desarrollo de Java incluyen principalmente Eclipse, JBuilder, JDeveloper, NetBeans, etc. Eclipse y JBuilder tienen la mayor cuota de mercado. JBuilder es el entorno de desarrollo integrado Java dominante en los últimos años. Fue desarrollado por Borland, una empresa muy respetada por los programadores. En la guerra de IDE de Java llena de humo, JBuilder confió en actualizaciones rápidas de versiones para derrotar a Java Visual Era de IBM e hizo grandes contribuciones. IBM ya no era rentable en la era visual de Java, por lo que simplemente lo contribuyó a la comunidad de código abierto y se convirtió en el predecesor de Eclipse. En realidad se llama "otro pueblo con un futuro brillante". El Eclipse renacido se ha ganado el favor de los programadores (incluidos casi todos los programadores incondicionales) con su mecanismo de extensión de complemento abierto y código abierto gratuito, y tiene un enorme potencial de desarrollo.
3.1.6 Aprender ingeniería de software Para proyectos pequeños, es posible que sienta que la ingeniería de software es innecesaria. A medida que los proyectos se vuelven más complejos, se hace evidente la necesidad de la ingeniería de software. Consulte la sección "Rutas de aprendizaje para el desarrollo de software".
3.2 Puntos de aprendizaje Después de establecer la ruta de aprendizaje, también necesitamos resumir los puntos de aprendizaje de Java. Estos puntos han sido mencionados más o menos en artículos anteriores, pero el autor cree que se debe prestar especial atención a resumir estos puntos y no sospechar de mi suegra.
3.2.1 Comprobar archivos API con frecuencia. Los programadores sienten una sensación de logro después de escribir algunas clases y quieren contribuir a sus colegas que están sufriendo. En este punto, debe utilizar la herramienta "Javadoc" (incluida en el JDK) para generar documentación DOC de Java estándar para que la utilicen sus pares. El documento DOC de J2SE/J2EE/J2ME es una herramienta para que los programadores se comuniquen entre sí. Casi todo el mundo tiene una, excepto los principiantes. Dirección de descarga oficial del documento J2SE DOC: /
Proporcionada por expertos: