Aprender a programar - Recomendaciones

Madre mía, tenía que haberme dedicado a programar desde que acabé Bachillerato 😄.

¡Primeros problemas en el curso!

Como uso Mac y el curso está orientado a programar EN WINDOWS me encuentro con dos escollos:

1) He instalado Java SE SDK 8, que es el que tengo que usar (ya que el examen parece ser que se hace con esta versión) y en el video que nos han mandado para instalar en WINDOWS hay un paso que no tengo ni idea de si tengo que hacer o no (o como hacerlo) en OSX.

Paso 3: Setting up Java environment variables



Alguien sabría decirme si esto tengo que hacerlo en OSX y como?

2) Nos han recomendado Notepad++ como app para programar, no está en OSX, así que me he bajado Brackets.. y esperemos que sea igual 😄

Un saludo.
 
Madre mía, tenía que haberme dedicado a programar desde que acabé Bachillerato 😄.

¡Primeros problemas en el curso!

Como uso Mac y el curso está orientado a programar EN WINDOWS me encuentro con dos escollos:

1) He instalado Java SE SDK 8, que es el que tengo que usar (ya que el examen parece ser que se hace con esta versión) y en el video que nos han mandado para instalar en WINDOWS hay un paso que no tengo ni idea de si tengo que hacer o no (o como hacerlo) en OSX.

Paso 3: Setting up Java environment variables



Alguien sabría decirme si esto tengo que hacerlo en OSX y como?

2) Nos han recomendado Notepad++ como app para programar, no está en OSX, así que me he bajado Brackets.. y esperemos que sea igual 😄

Un saludo.

No, no tienes que hacer lo de las variables esas. Con que te funcione desde la terminal los comandos java y javac después de instalar el sdk ya vale.

En vez de Notepad++ usa SublimeText que es la vida.
 
En mi empresa una de las cosas que estamos haciendo es cantera, cogiendo a gente de FP y formándola.

Nosotros igual, el problema es que en seis meses la gente se pira por un 30% más y es imposible retenerles.
 
Es como dices @Tim a mi me contrataron con teletrabajo en pleno covid y así va a seguir mi empresa porque está contratando a gente de todos sitios de España. A la vez, mucha gente de la zona se ha ido yendo de mi empresa a otras empresas de otros sitios de España a seguir trabajando de forma remota porque ofrecen mucho más. A mi mismo me han llegado reclutas ofreciéndome ofertas de trabajo por casi el doble de lo que cobro (y eso que no llego a los dos años de experiencia en el sector profesional) para trabajar en empresas de forma remota por toda España...

Eso concuerda con lo que me comentó una conocida, que hablando con su amiga que dirige la selección para una empresa de proyectos de programación le dijo que no encuentran gente para trabajar en presencial, que buscaban gente con conocimientos de C# pero que no encuentran a nadie que quiera trabajar fuera de su casa... concuerda con lo que comentáis de los sueldos.
Pues al parecer la chica de selección le comentó que ya hasta se conformaba con que supiera Java y quisiera trabajar en presencial...

Me lo comentó para que echara el curriculum porque no encuentran a nadie pero... claro no he programado nunca y lo único que tengo es el FP superior de programación hecho hace 14 años...
Así que lo mismo ya hasta les da igual todo y tiran de formación por parte de la empresa...
La verdad que no se si echarlo o esperar unos cuantos meses y mientras hacerme algún curso de Java... que vaya algo orientado...
 
Eso concuerda con lo que me comentó una conocida, que hablando con su amiga que dirige la selección para una empresa de proyectos de programación le dijo que no encuentran gente para trabajar en presencial, que buscaban gente con conocimientos de C# pero que no encuentran a nadie que quiera trabajar fuera de su casa... concuerda con lo que comentáis de los sueldos.
Pues al parecer la chica de selección le comentó que ya hasta se conformaba con que supiera Java y quisiera trabajar en presencial...

Me lo comentó para que echara el curriculum porque no encuentran a nadie pero... claro no he programado nunca y lo único que tengo es el FP superior de programación hecho hace 14 años...
Así que lo mismo ya hasta les da igual todo y tiran de formación por parte de la empresa...
La verdad que no se si echarlo o esperar unos cuantos meses y mientras hacerme algún curso de Java... que vaya algo orientado...
A día de hoy quien quiera y pueda trabajar desde casa (como un programador que se pasa las 8 horas enfrente de un ordenador) no va a volver a la oficina así que no me extraña que no encuentren a gente.

¡Manda el curriculum!

Este fin de semana he comenzado con las lecturas del curso.. "Como programar en Java para dummies" 😄 😄, parece que al final del curso me espera un LIBRACO, Java: A Beginners Guide from Oracle

¡Hoy tengo mis primeras clases!
 
Tengo la duda de si cuando se quiten las mascarillas en interiores algunas empresas no intentarán dar marcha atrás. Nosotros tenemos firmado contrato de teletrabajo, pero se renueva anualmente. Apuesto algo a que algún jefe va a querer que nos veamos más por la oficina, aunque no aporte nada.
 
A día de hoy quien quiera y pueda trabajar desde casa (como un programador que se pasa las 8 horas enfrente de un ordenador) no va a volver a la oficina así que no me extraña que no encuentren a gente.

¡Manda el curriculum!

Este fin de semana he comenzado con las lecturas del curso.. "Como programar en Java para dummies" 😄 😄, parece que al final del curso me espera un LIBRACO, Java: A Beginners Guide from Oracle

¡Hoy tengo mis primeras clases!

Si por mi lo haría pero ahora mismo tengo contrato hasta Agosto en otra rama...
Creo que voy a aprovechar a hacerme un curso por las tardes hasta dicha fecha, porque dudo que cambie algo hasta ese momento y ya para Septiembre echo el CV.
Yo al menos voy a ir más seguro de hasta donde llego y no se me va a caer la cara de vergüenza de presentarme a un puesto sin tener NPI de lo que piden para empezar a producir algo al día siguiente de firmar, por mucho que cumpla los requisitos básicos de carrera/módulo.
 
Si por mi lo haría pero ahora mismo tengo contrato hasta Agosto en otra rama...
Creo que voy a aprovechar a hacerme un curso por las tardes hasta dicha fecha, porque dudo que cambie algo hasta ese momento y ya para Septiembre echo el CV.
Yo al menos voy a ir más seguro de hasta donde llego y no se me va a caer la cara de vergüenza de presentarme a un puesto sin tener NPI de lo que piden para empezar a producir algo al día siguiente de firmar, por mucho que cumpla los requisitos básicos de carrera/módulo.
Mirate este curso, que es gratis.

Introducción a la programación en Java: empezando a programar
 
Nos han puesto los primeros ejercicios.

Copiar el clásico Hello World de un código que nos han dado, modificarlo para poner otras cosas y luego otro donde teníamos que poner una linea de texto debajo de la otra.

Screenshot 2022-03-14 at 13.54.51.png


Quiero pensar que nos explicaran que son las cosas estas de colorines en algún momento 😄

El ejercicio 4 consiste en hacer un programa que realice una operación matemática, el 5 una media de diferentes números y el 6 un conversor de monedas.

Voy a ver si comentan como hacerlo en el libro de Java para Dummies.
 
No es por desanimarte ni mucho menos... pero... ¿tienes claro a lo que te enfrentas? Me refiero a lo que es la programación, que no es "un cursillo" ni nada que se aprenda en un año. Hay quien confunde el aprender un lenguaje con lo que es programar, y nada que ver.
 
En la universidad cuando repetí primero me encontré en clase con un compañero de clase de 38 años. Era el papá Noel, el viejo de la clase al lado de todos los chavales, a mi nunca me preocupo su edad y me acerqué a él porque tenía un iPad… luego me sorprendieron sus skills para la organización y la constancia. Se sacó la carrera en los 4 años y ahora con 48 años es un doctorando FPU docente investigador. Es una máquina y venía de empresario inmobiliario y antes de eso era carnicero... No depende de la edad. Depende de las ganas que le pongas. Por el camino todos los chavales que se reían de el han desaparecido.
 
Nos han puesto los primeros ejercicios.

Copiar el clásico Hello World de un código que nos han dado, modificarlo para poner otras cosas y luego otro donde teníamos que poner una linea de texto debajo de la otra.

Ver el archivo adjunto 35944

Quiero pensar que nos explicaran que son las cosas estas de colorines en algún momento 😄

El ejercicio 4 consiste en hacer un programa que realice una operación matemática, el 5 una media de diferentes números y el 6 un conversor de monedas.

Voy a ver si comentan como hacerlo en el libro de Java para Dummies.
Los colores esos son solo una ayuda visual del editor de texto para ayudarte a identificar como se va a interpretar el texto que escribes. Tu ponte el juego de colores que mejor te vaya a la vista y ya está. :ok
 
Siempre hay excepciones, como el que se hace médico con 40 años. Yo te hablo de lo que veo de primera mano desde hace años, habiendo contratado ya a unos cuantos de esos que dices y tengo claro que los que salen bien, son excepción.
 
No es por desanimarte ni mucho menos... pero... ¿tienes claro a lo que te enfrentas? Me refiero a lo que es la programación, que no es "un cursillo" ni nada que se aprenda en un año. Hay quien confunde el aprender un lenguaje con lo que es programar, y nada que ver.
Tengo clarísimo que no quiero ser programador pero me parece muy interesante comenzar un reto nuevo y ver hasta donde llego.

Creo que como bien dices (y habéis comentado en el hilo), aprender un lenguaje y aprender a programar son cosas diferentes pero que (obviamente) son complementarias y me da la impresión que los buenos programadores son organizados, constantes y su trabajo sigue cierta lógica que me apetece aprender o intentar aprender.

De ahí a que luego esto me sirva para algo en mi vida profesional.. pues igual me programo un equipo de luces para que iluminen mientras yo controlo todo desde casa 😄, coñas aparte, ¡el saber no ocupa lugar!

Los colores esos son solo una ayuda visual del editor de texto para ayudarte a identificar como se va a interpretar el texto que escribes. Tu ponte el juego de colores que mejor te vaya a la vista y ya está. :ok
¡Lo se! me referia más al código en si y tal. 😊
 
@Miguel_Angel Eso te lo explico yo!

1647269457712.png


class
Indica que lo que esta entre llaves { } a continuación la definición de una clase. El public Esto delante del class indica que la clase es publica y el JFT2Ex3 es el nombre que le han dado a la clase. Los nombres de las clases empiezan por una mayúscula.

main
Las clases tienen entre otras cosas lo que se conoce como métodos, que son funciones que pertenecen a las clases. Con el public se indica que el método es público por lo tanto cualquiera que tenga acceso a la clase puede acceder al método. En este caso, este es un método especial ya que es el método main que es el método que contiene el código que se ejecuta automáticamente en el hilo principal cuando ejecutas en la terminal la orden java JFT2Ex3. El método main debe cumplir con varias cosas:
  • Debe ser público (porque si no no podrías ejecutarlo desde fuera de la clase en la terminal).
  • Debe ser static que significa que es un método de la clase cuyo código es ejecutable sin tener que hacer una instancia de la clase (o sea, crear un objeto de tipo JFT2Ex3 a partir de la clase JFT2Ex3).
  • Debe recibir de entrada un array de String al que comúnmente se le llama args pero puedes ponerle el nombre que te de la gana (de ahí String[] args).
System.out.println( )
El método println( ) un método static ya que se llama sin tener que instanciar objeto alguno de la clase System, y recibe por parámetros de entrada el String que le metas entre los paréntesis. Esto es una llamada al sistema para poder imprimir en la salida estándar que esté definida.
El método println() no solo pertenece a la clase System, sino que pertenece a el campo static llamado out perteneciente a System que es The "standard" output stream. Más info aquí: System (Java Platform SE 7 )
La que está definida en este caso es el terminal y por eso aparece lo que escribes entrecomillado en el terminal.
Las cadenas de caracteres entrecomilladas se interpretan como objetos de tipo String.

El método println lo que hace es imprimir una linea en la terminal con un salto de linea, pero también está el método print( ) a secas que te imprime la linea sin el salto de linea de forma que puedes seguir imprimiendo después en la misma linea lo que quieras.

:ok
 
@Miguel_Angel Eso te lo explico yo!

Ver el archivo adjunto 35945

class
Indica que lo que esta entre llaves { } a continuación la definición de una clase. El public Esto delante del class indica que la clase es publica y el JFT2Ex3 es el nombre que le han dado a la clase. Los nombres de las clases empiezan por una mayúscula.

main
Las clases tienen entre otras cosas lo que se conoce como métodos, que son funciones que pertenecen a las clases. Con el public se indica que el método es público por lo tanto cualquiera que tenga acceso a la clase puede acceder al método. En este caso, este es un método especial ya que es el método main que es el método que contiene el código que se ejecuta automáticamente en el hilo principal cuando ejecutas en la terminal la orden java JFT2Ex3. El método main debe cumplir con varias cosas:
  • Debe ser público (porque si no no podrías ejecutarlo desde fuera de la clase en la terminal).
  • Debe ser static que significa que es un método de la clase cuyo código es ejecutable sin tener que hacer una instancia de la clase (o sea, crear un objeto de tipo JFT2Ex3 a partir de la clase JFT2Ex3).
  • Debe recibir de entrada un array de String al que comúnmente se le llama args pero puedes ponerle el nombre que te de la gana (de ahí String[] args).
System.out.println( )
El método println( ) un método static ya que se llama sin tener que instanciar objeto alguno de la clase System, y recibe por parámetros de entrada el String que le metas entre los paréntesis. Esto es una llamada al sistema para poder imprimir en la salida estándar que esté definida.
El método println() no solo pertenece a la clase System, sino que pertenece a el campo static llamado out perteneciente a System que es The "standard" output stream. Más info aquí: System (Java Platform SE 7 )
La que está definida en este caso es el terminal y por eso aparece lo que escribes entrecomillado en el terminal.
Las cadenas de caracteres entrecomilladas se interpretan como objetos de tipo String.

El método println lo que hace es imprimir una linea en la terminal con un salto de linea, pero también está el método print( ) a secas que te imprime la linea sin el salto de linea de forma que puedes seguir imprimiendo después en la misma linea lo que quieras.

:ok
¡Qué bien explicado!

Muchas gracias.
 
Intentando el ejercicio 4, que viendo la solución era facilísimo.. hacer un programa que te mostrara el resultado de una operación.

Esta es la solución.

public class JFT2Ex4{

public static void main (String args[]){

System.out.println(60 + ((45-34) / 2 * 3));

}// main

}// class



Y esto es lo que yo había escrito:

public class JFT2Ex4{
public static void main(String[] args){
System.out.println("60 + ((45-34) / 2 * 3)");
}
}

Y claro, cuando ejecutaba el programa en la terminal me salía la operación como tal en vez del resultado.. porque tenía la operación ¡¡!ENTRE COMILLAS!!!
Que sensible es Java oye 😄

@Discord Pie los comentarios que pone el profe después de los //, los ponéis también los pros?
 
Comentar el código siempre es necesario para que cuando alguien lea tu código lo entienda, incluso tu mismo cuando ya no te acuerdes de que hacía el código. Así que si, pon comentarios explicativos para explicarte a ti mismo que hacen las cosas. :ok

 
Los dos últimos ejercicios de la lección los he tenido que hacer hoy porque he tenido bastante poco tiempo estos días con St. Patrick y festividades varias.

Estoy segurísimo que hay una manera más sencilla de hacer que Java te muestre una linea de texto + el resultado de una operación + otra linea de texto en la misma linea, pero he probado varias opciones que pensaba que podían funcionar y como no lo han hecho he tirado por la siguiente opción.

Tampoco tengo muy claro si el "comentario multi linea" que tenía que poner en el programa lo tengo que poner al lado como lo he escrito o lo puedo poner debajo de la línea 8.

Se lo acabo de mandar al profe para ver que me cuenta.

Screenshot 2022-03-22 at 11.32.26.png
 
Bien pensado pero para que lo sepas. Usando el operador + puedes concatenar Strings. Usando el carácter especial dentro de un String \n se interpreta como un salto de línea. Ej:

System.out.print(“Salto de línea al final de esta frase\n”);
System.out.println(“1 + 2 = ”+(1+2));
 
Arriba Pie