¿Por qué no puedo entender Java? [cerrado]

7

Soy un estudiante de 9º grado y me uní al equipo de robótica de mi escuela para aprender a codificar Java e ingresar al equipo de programación. Sin embargo, estoy tan confundido! Incluso después de la primera lección, no tenía idea de qué estaba hablando la maestra. No sé si soy solo yo, pero no entiendo ninguno de los términos o cómo reunirlos para formar un código.

Mi maestro siempre está ocupado los días de semana, así que solo tengo sábado para hablar con él. Hasta entonces, estoy sentado frente a Netbeans sin una pista sobre cómo codificar nuestra primera tarea, que es escribir código Java que resuelva una pregunta de geometría de mi elección. Tengo muchas ganas de convertirme en un buen programador, pero no puedo entender Java. Mi profesor y muchos sitios web dicen que aprender Java es como aprender un nuevo idioma y hay que practicar para ser bueno en eso.

Aprendí HTML, que fue muy fácil para mí, así que tengo experiencia con la programación, ¡pero no puedo entender Java! Los dos son completamente diferentes a mi modo de ver.

Sin embargo, ¿cómo se supone que debo practicar si no tengo idea de lo que está pasando en el mundo? Además, ¿hay que ser un experto en matemáticas para ser un buen programador?

    
pregunta cal 14.11.2014 - 02:56

2 respuestas

10

Es cierto que necesitas practicar. Pero diferentes personas tienen diferentes formas de aprender, y no todos los maestros lo hacen

  • un experto en lo que enseñan
  • un maestro experto.

Una parte clave de la escuela es aprender a aprender.

He buscado en Google " tutorial básico de java " para ti. Dos de los enlaces principales son útiles para ti

Le sugiero que corte y pegue código de ejemplo, como un programa "Hola, Mundo", vea qué hace y cómo hace, luego realice cambios y vea qué hacen.

Espera gastar muchas horas en esto. está aprendiendo a expresar sus pensamientos en un nuevo idioma.

Editar: ¿uno tiene que ser un experto en matemáticas para ser un buen programador?

No. Hay muchos dominios de problemas diferentes, e inicialmente tratará los problemas que conoce. Pero los programadores están aprendiendo sobre cosas todo el tiempo: nuevas habilidades como la forma de manejar problemas matemáticos particulares, un nuevo lenguaje o una nueva forma de pensar. Una gran cantidad de programación solo implica "Si el elemento A es XYZ, colóquelo en el cubo B, pero si es UVW, colóquelo en el cubo C".

Pero las matemáticas están estrechamente relacionadas con la programación, ya que es una forma precisa de pensar y resolver problemas. Necesitas ser igual de preciso en la programación. La computadora no sabe lo que quiere que haga; hace exactamente lo que le dijo que haga. Que es tanto la alegría como la agonía de la programación.

Y una rama de las matemáticas es muy importante: la lógica. Usted va a aprender esto!

    
respondido por el andy256 14.11.2014 - 03:21
1

Java fue mi primer idioma, y lo encontré muy difícil. No estoy seguro de cuánto de eso es solo porque era un programador nuevo (no me di cuenta de que tenía que pasar por una etapa de aprendizaje antes de poder comenzar a el programa que quería escribir); cuánto fue porque estaba siguiendo el tutorial oficial de Sun ("por qué esto sigue y sigue"), y cuánto de esto está relacionado con el hecho de que Java no es un gran primer idioma (o en mi opinión para nada) hace muchas cosas de manera pasable, pero nada excelentemente ).

Claro, podría hacer que todo suceda pero no entendí por qué o qué estaba haciendo en todos .

Recomiendo Python para el inicio más temprano:  * menos enfoque en la propaganda "orientada a objetos", pero en realidad mejor y realmente está orientado a objetos  * dict , list y set como tipos incorporados en lugar de tipos de biblioteca.  * uso más inteligente de las excepciones (pero especifique los tipos)  * Un estilo más funcional a diferencia del imperativo.  * un REPL  * no oculta las cosas detrás de un IDE (hay IDE para python, pero solo debes usar un editor de texto diseñado para programadores y guardar y ejecutar tu código explícitamente)

Después de escribir sus primeros programas, vuelva atrás y escríbalos todos sin usar variables globales mutables (probablemente lo más importante que los recién llegados usan demasiado way , y también pregunte a los programadores de Python más experimentados sobre cosas que te estás perdiendo).

Una vez que esté seguro de que puede escribir cualquier programa de pequeño a mediano (según su sentido de la escala) en Python, regrese y vuelva a escribir los programas same nuevamente en Java. Aprender implica mucho de esto "haz lo mismo, pero de una manera diferente".

También sería rentable, aprenderá un poco de C. No espere escribir ningún programa grande en él, pero debe estar seguro de que tiene no errores relacionados con malloc / libre, strcpy, E / S que puede tener errores.

Además, es indiscutiblemente útil sentirse cómodo con la línea de comandos en general y con un sistema de control de versiones en específico. Un programador que no puede usar el control de versiones es una pérdida de la red para cualquier equipo de programación.

Recomiendo que tu primera versión de control sea descentralizada, como git o mercurial, para que no necesites un servidor remoto. Como recién llegado, la regla más importante es "cometer temprano, cometer a menudo". Eventualmente, obtendrá una mejor idea de cuándo es útil cometer, cuándo enmendar o aplastar (siempre es más fácil comenzar con muchas confirmaciones pequeñas y convertirlas en una confirmación más grande más adelante, si usted tiene una razón para hacerlo); y también obtendrás la habilidad de poder seguir la regla de "cada compromiso debe funcionar, para alguna definición de trabajo".

Haz no el error de hacer el control de versiones desde un IDE. Si debe usar un IDE, simule que la integración VCS no existe, porque será peor que inútil cada vez que la cosa más pequeña salga mal (y las cosas vayan "mal" muy a menudo cuando haya 2 personas trabajando en el mismo proyecto). Simplemente escriba git status mucho y asegúrese de entender por qué todo es rojo o verde, luego descubra la mejor manera de deshacerse del rojo (algunas formas comunes: agregue archivos sin seguimiento, agregue cambios a un archivo seguido (solo en git), agregue a la lista de ignorados), y ejecute git diff y git diff --cached antes de hacer un commit. (El concepto de cambios en etapas frente a cambios sin etapas es un punto de discordia entre git y la mayoría (¿todo?) De otros DVCS, pero me parece mucho más obvio que puedo hablar por separado sobre los cambios que estoy bastante confiado entrará en el compromiso sin mucho cambio "de" cambios en los que todavía estoy trabajando ". Pero nuevamente, como recién llegado, cometa a menudo ).

Puede observar que no mencioné explícitamente los comandos para agregar cambios o realizar confirmaciones. Esto se debe a que es mucho más importante saber cómo obtener información fuera del VCS que ponerla en .

También puedes notar que no puse ningún enlace aquí. Esta es una decisión deliberada, aprenda sobre Google y recuerde que el 90% de todo (incluida la página principal de Google) es una mierda.

Finalmente, felicidades por intentar un comienzo temprano. Si sabes programar cuando comienzas la universidad, no serás inútil como la mayoría de los graduados. Por supuesto, si eres realmente bueno y sabes cómo hacer amigos, puedes evitar perder tiempo y dinero en la universidad en all .

    
respondido por el o11c 14.11.2014 - 04:33

Lea otras preguntas en las etiquetas