Beste allen,
Enige tijd geleden had ik hier een vraag gelanceerd in de zin van Java of Python te kiezen voor beste jobkansen op korte termijn (ca. zo'n 1-1,5 jaar stoomcursus) als +40er die zich wil omscholen tot software developer.
Hiervoor had ik reeds ervoor heel wat Youtube videos bekeken over welke programmeertalen een toekomst hebben vanaf 2020...
Toen (zo net voor en start Corona) waren de richtingen op Youtube eerder Python gericht, zo sterk zelfs heel wat (naar eigen zeggen) programmeurs die bij grote tech firma's aan de slag zijn of waren geweest, Python als DE vervanger van Java aanduiden.
Vandaag (zo'n 4-5 maanden later), lijkt de teneur op Youtube zelfs sterker ten voordele van Python.
Bovendien hoor ik ook nog de volgende punten steeds luider en luider klinken:
1. Pyhton voortaan nummer 1 meest populaire taal en onbetwiste vervanger Java
2. Zelfs JavaScript staat nu boven Java als meest populair en meest gegeerd vanwege werkgevers
3. Google laat voor Android (apps) development Java vallen ten voordele van Kotlin
Natuurlijk, de Youtube content is eerder op de VS markt en situatie gericht. Daar ik twijfels had dat dat ook dusdanig van toepassing zou zijn bij ons (zeg maar België, omdat ik niet echt de wil heb om elders te gaan wonen voor een job). Vandaar mijn vraag toen aan ervaringsdeskundigen ter zake.
Nu, mijn initiële keuze was ook Python, omdat deze de beste en meest leesbare/gemakkelijke taal zou zijn om te leren als eerste programmeertaal. Maar op basis van mijn buikgevoel en versterkt door de adviezen hier, koos ik toch voor Java. Bovendien was Java ook voor mij de manier om aan Android apps te beginnen sleutelen... dit was een doorslaggevend element in mijn keuze.
Python was/is dan -hoewel misschien sneller onder de knie te krijgen- nog te vroeg (in België) en zijn de jobkansen minder tegenover Java, tenzij echt specifiek in data en onderzoek, hetgeen uiteindelijk ook een vrij beperkt domein blijft.
En dan hebben we JavaScript... deze blijf ik op mijn todo lijst bovenaan houden, omdat ik reeds een basis HTML/CSS heb. Deze 2 laatsten opfrissen en verdiepen + JS erbij leek mij ook een verstandige en toekomstgerichte keuze. Initieel had ik zelfs de gedachte om Java en JavaScript simultaan te leren, maar volgens Youtube en internet info zou dat geen al te verstandige aanpak zijn. Blijkbaar zijn Java en JavaScript, in tegenstelling tot wat de benamingen doen denken, totaal verschillend qua syntax, implementatie, uitvoering, ...
Ik lees nu op de VDAB site dat ze (na de corona periode) in augustus terug zullen starten met uitnodiging voor de opeidingen (hopelijk, want hoor steeds meer waarschuwingen over sterkere 2e golf...). Maar de voorbij periode heb ik toch wat Java proberen te leren en vooral te begrijpen. Aan de hand van Youtube videos heb ik reeds onderstaande topics doorlopen, telkens met enkele bijhorende oefeningen. Voor diegenen die in het vak zitten en er woordje over kwijt kunnen (goede weg? goed bezig?), graag!
- Introduction Java SE
- Installing Java
- Anatomy of a Java Program
- Your First Java Program
- How Java Code Gets Executed
- Types
- Variables
- Primitive Types
- Reference Types
- Primitive Types vs Reference Types
- Strings
- Escape Sequences
- Arrays
- Multi-Dimensional Arrays
- Constants
- Arithmetic Expressions
- Order of Operations
- Casting
- The Math Class
- Formatting Numbers
- Reading Input
- Control Flow
- Comparison Operators
- Logical Operators
- If Statements
- Simplifying If Statements
- The Ternary Operator
- Switch Statements
- For Loops
- While Loops
- Do...While Loops
- Break and Continue
- For-Each Loop
Dit zal wellicht nog maar een inleiding zijn van de syntax en wat basiselementen, maar mijn bedoeling was dan ook om
1. drempelvrees programmeren te overwinnen
2. kijken of ik reeds vanaf het begin zou panikeren, blokkeren of helemaal niet mee zijn
3. met ietwat voorbereiding naar de VDAB opleiding te trekken
Maar gelukkig kwam ik in de topics hierboven geen moment van verveling (in tegenstelling) of een donder in Keulen tegen.
De oefening/code hieronder was dan een test/herhaling als afsluiter, dewelke ik met goed begrip kon volgen en zelf in elkaar knutselen en vooral begrijpen en lezen wat waarom, ... dit gaf mij de geruststellend gevoel naar aanleiding van de training Java bij VDAB en naar verdere verloop Java... terecht? Onterecht? Zegt dit iets of totaal niets?
Dit is voor mij belangrijk om te weten, omdat velen zeggen dat, voornamelijk personen die niet meer in hun prille 20-30 zitten, het moeilijk krijgen om te volgen en afhaken?
De code hieronder zou, zoals de lesgever het zelf aangeeft, niet zijn zoals pro's coderen. Maar het optimaliseren en clean coding ed zijn latere onderwerpen.
Code:
package com.codingjava;
import java.text.NumberFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
final byte percent = 100;
final byte monthsPerYear = 12;
int principal = 0;
float interest = 0;
float monthlyInterestRate = (interest / percent) / monthsPerYear;
int period = 0;
int numberOfMonths = period * monthsPerYear;
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("Principal: ");
principal = scanner.nextInt();
if (principal >= 100_000 && principal <= 1000_000)
break;
else
System.out.println("Enter a new value between 100.000 and 1.000.000!");
}
while (true) {
System.out.print("Annual Interest Rate: ");
interest = scanner.nextFloat();
if (interest >= 0.1 && interest <= 15) {
// calculate the monthly interest AFTER a valid value is entered!
monthlyInterestRate = (interest / percent) / monthsPerYear;
break;
}
else
System.out.println("Enter a new value between 1 and 15!");
}
while (true) {
System.out.print("Period (Years): ");
period = scanner.nextInt();
if (period >= 12 && period <= 30) {
// calculate the number of payments AFTER a valid value is entered!
numberOfMonths = period * monthsPerYear;
break;
}
else
System.out.println("Enter a new value between 1 and 30!");
}
double mortgage = principal
* monthlyInterestRate * (1 + Math.pow(monthlyInterestRate, numberOfMonths))
/ (1 + Math.pow(monthlyInterestRate, numberOfMonths)) - 1;
// not using the method-chaining
String mortgageFortmatted = NumberFormat.getCurrencyInstance().format(mortgage);
System.out.print("Mortgage: " + mortgageFortmatted);
// using the method-chaining
// System.out.print("Mortgage: " + NumberFormat.getCurrencyInstance().format(mortgage));
}
}
/* The "WHILE (true) {}" infinite loop will continue to ask to try a new input
until the user enters a valid value.
As soon as the entered value is valid, the program will break out of the loop and go
to the next question.
*/
1. Ik heb de indruk dat ik iets probeer te bereiken en dat ik daarvoor stappen onderneem, maar mijn betere en mooiere helft zegt dat ik als +40er minder met gekleurde woordjes op de computer moet spelen en mijn tijd beter moet besteden. Wat denken jullie?
2. Zit ik nog steeds goed met Java als keuzerichting of zijn jullie het eens dat Java afzwakt ten voordele van Python en Kotlin (vanuit jobkansen België)?
3.Als afsluiter (deze vraag stel ik mezelf nog altijd geregeld): vermits mijn reeds bestaande basis HTML/CSS, zou het voor mij een betere keuze (geweest) zijn, om met Java te stoppen (of beter gezegd niet te beginnen) en HTML/CSS te verdiepen en meteen voor JavaScript te gaan, quid nogmaals jobkansen korte termijn ca. 1jr.?
Sorry voor lange tekst, maar probeer echt mijn leven een nieuwe wending te geven. Laten we zeggen dat ik dit programmeren een echte kans wil geven met als target ergens Q3 2021 ergens in deze branche aan de slag te kunnen gaan (zelfs als junior). Maar ik niet tot aan mijn pensioen 65? 70? 75? (als we zolang leven), nog eens hetzelfde blijven doen. En de beste adviezen kunnen komen van diegenen die misschien min of meer zelfde parcour hebben afgelegd of aan het afleggen zijn.
Bedankt voor jullie bevindingen.