Aprender a programar - Recomendaciones

Machine Learning sin duda es un boom ahora mismo. Se está empezando a aplicar a cosas como monitorización de sistemas, algo que hasta ahora llevaba décadas está caro en sus mismas alertas.

Ciberseguridad… qué decir. Prioridad absoluta en toda empresa.

Software y Web Development ni idea, pero parecen más genéricos y ahora mismo falta muchísima gente especializada. Trabajo para aburrir y más dinero en juego.
 
Todo lo relacionado con la IA, en mi opinión, es con mucha diferencia lo más complejo que vas a encontrar en el sector. No es que sea difícil, que lo es, además es de esos topics que cuando profundizas un poco, te puede explotar la cabeza. Digamos que es para mentes brillantes.
 
1651564496203.png
 
Machine Learning sin duda es un boom ahora mismo. Se está empezando a aplicar a cosas como monitorización de sistemas, algo que hasta ahora llevaba décadas está caro en sus mismas alertas.

Ciberseguridad… qué decir. Prioridad absoluta en toda empresa.

Software y Web Development ni idea, pero parecen más genéricos y ahora mismo falta muchísima gente especializada. Trabajo para aburrir y más dinero en juego.
Todo lo relacionado con la IA, en mi opinión, es con mucha diferencia lo más complejo que vas a encontrar en el sector. No es que sea difícil, que lo es, además es de esos topics que cuando profundizas un poco, te puede explotar la cabeza. Digamos que es para mentes brillantes.

Si es para curro Software Development o Web Development.

¿Cómo es posible que si machine learning, IA y ciberseguridad están en pleno apogeo y son el futuro haya más dinero en software y web development??

Imagino que alguien tendrá que hacer los programas que los que estudian estas tres cosas usen pero quiero pensar que estudiar machine learning no te excluye de saber programar la aplicación que vayas a usar, ¿no?.

Puedo estar súper equivocado, claro.
 
IA: Debes saber programar para entenderlo. Es básico que "lo que te van a enseñar sobre programación" en los cursos de Web Dev y Software Dev lo entiendas para poder desenvolverte en IA. (En ambos cursos también te enseñarán otras cosas que no serán útiles para IA pero en lo que a experiencia programando se refiere, si será útil).

Machine Learning: Una de dos, o tienes conocimientos de matemáticas para que te sea fácil la parte de programación, o tienes conocimientos de programación para que te sea fácil la parte de matemáticas. En tu caso creo que decías que eres de letras así que no tienes ninguno de los dos. Salidas esto si que tiene pero se te tiene que con soltura la construcción de modelos matemáticos más que la programación.

Ciberseguridad: Para dedicarte a esto tienes que estar en el mundo de la informática constantemente, tener conocimientos de todo y nada a la vez. Te tendrás que especializar en algo si quieres destacar porque si no no vas a saber de nada. Y tienes que estar aprendiendo constantemente, tu vida tiene que estar dedicado a esto casi que al 99% o no te comerás un mojón. No lo veo asequible acabando de empezar a aprender a programar.
 
Es más complejo. Tú puedes ser un fucking máster de la programación (:cigarro) pero lo de IA es otro nivel. Tengo un buen amigo que es una máquina en desarrollo de SW y está haciendo un máster de 18 meses sobre IA y está sudando tinta china.

No es lo mismo usar IA que implementar algoritmos para que te den el resultado esperado. Ahí se van miles de horas de esfuerzo que pueden resultar en desastre total y no conseguir llegar al objetivo.

Hace unos meses contraté a una empresa experta en IA (con pedigrí) para hacer un análisis de cómo conseguir cinco indicadores de mejora basados en el aprendizaje del BigData. Tras varias reuniones y unos 80h de análisis por su parte, dictaminaron que el desarrollo de esos indicadores + las licencias + la infraestructura necesaria para todo ello era de... seis cifras. Y ese precio estaba sujeto a una serie de asteriscos tipo "salvaculos" que venían a decir que podía ser que el resultado no fuera el esperado y en ese caso necesitarían más horas de desarrollo para implementarlo con algoritmos diferentes.

A todo eso, había que sumarle el coste anual de las licencias, por supuesto.
 
¡Gracias por las respuestas!

Como en Irlanda dan cursos gratis por doquier me han mandado un curso que pinta interesante.

Cybersecurity Analyst (CySA+) CompTIA CSO-002

Voy a pedirlo también por si cuela, son 15 semanas 4 horas a la semana.
 
Con eso no sabes ni que demonios es un virus.

Es como decir que voy a ir a un curso de 60 horas sobre cirugía pediátrica.
 
Estoy con el "SWITCH" statement y no me aclaro.

Tengo este enunciado:

// Create a variable named, dayOfWeek, in the main method.
// The variable should be of type, String.
// Assign the value “Monday” to the variable.
// Use a switch statement to test the value stored in the variable and display it in the console.
// Save the program as JFT6Ex10.java


Y aquí estoy intentando solucionarlo:


class JFT6Ex10 {

public static void main (String[] args) {

String dayOfWeek = "Monday";

switch (dayOfWeek) {

case 1:
if (dayofWeek = "Monday") {
System.out.println ("The day is Monday");
}

break;
} // End of Switch statement

} // End of main method

} // End of class


En principio debería ser algo parecido a esto, ¿no?

switch (variable or expression) {
case <literal value>:
//code block 1
break;



Alguna mano amiga que me guíe sin darme la solución? 😊

¡Gracias!
 
@Archibald Alexander Leach Gracias!
No me había dado cuenta que el "literal value" era Monday!!! y gracias a los mensajes de error de Java me he dado cuenta que tenía que cambiar el operador = a == 😊

Así ha quedado.

class JFT6Ex10 {

public static void main (String[] args) {

String dayOfWeek = "Monday";

switch (dayOfWeek) {

case "Monday":

if (dayOfWeek == "Monday") {
System.out.println ("The day is Monday");
}

break;
} // End of Switch statement

} // End of main method

} // End of class
 
En realidad toda esa línea te sobra (duplicidad).
Lo acabo de probar y efectivamente, funciona igual sin el "IF".

¿Esto es así porque el "Case" ya actúa como el "IF"?.

Es decir, ¿tú pones el día (o número como en el ejercicio que estoy haciendo ahora mismo y que dejo aquí abajo) y el programa busca el caso que concuerde con la el valor que tú has introducido y te saca los datos correctos?


// Create a Java program which determines the number of fish in a tank.
// Create the main method and within it, a variable named noOfFishInTank.
// The variable should be of type int.
// Store the value 3 in the variable.
// Use a switch statement to determine the value stored in the variable and display an appropriate message in the console.

// No. of Fish
// No fish - There are no fish in the tank.
// One fish - There is one fish in the tank.
// Two fish - There are two fishes in the tank.
// Three fish - There are three fishes in the tank.
// Any other number of fish - An indeterminate number of fish are in the tank.
// Save the program as JFT6Ex11.java Exercise 12



class JFT6Ex11 {

public static void main (String[] args) {

int noOfFishInTank = 3;

// Start of switch statement

switch (noOfFishInTank) {

case 0:
if (noOfFishInTank == 0) {
System.out.println ("There are no fish in the tank");
}
break;

case 1:
if (noOfFishInTank == 1) {
System.out.println ("There is one fish in the tank.");
}
break;

case 2:
if (noOfFishInTank == 2) {
System.out.println ("There are two fishes in the tank.");
}
break;

case 3:
if (noOfFishInTank == 3) {
System.out.println ("There are three fishes in the tank.");
}
break;

case 4:
if (noOfFishInTank >= 4) {
System.out.println ("There is an indeterminate number of fish in the tank.");
}
break;


}

// End of switch statement

} // End of main method

} // End of class
 
Última edición:
Lo acabo de probar y efectivamente, funciona igual sin el "IF".

¿Esto es así porque el "Case" ya actúa como el "IF"?.

Es decir, ¿tú pones el día (o número como en el ejercicio que estoy haciendo ahora mismo y que dejo aquí abajo) y el programa busca el caso que concuerde con la el valor que tú has introducido y te saca los datos correctos?

Así es. Se pueden usar indistintamente, pero es redundante usarlos a la vez. Simplificando, un Switch equivale a un multi-If.
 
Ya he terminado (por fin) la lección 6! Vamos a por la 7 (de 14):

Java Operators, Decision Constructs, and Arrays

  • use if and if/else constructs
  • use a switch statement
  • create a one-dimensional array
  • work with two-dimensional arrays
  • work with ArrayList

Using Loops in Java

  • develop while and for loops
  • work with while loops
  • use an array in a loop and code and test a do/while loop
  • create and populate an array list
  • manipulate an ArrayList
  • use loops to process an ArrayList
 
Arriba Pie