Python programmer looking at transitioning to Java. Any advice or resources?

Joined
Oct 18, 2022
Messages
2
Reaction score
0
To give context, I've been a Python programmer for over a year or so now, been looking at Software Engineering as a career path and deduced that Java is a common language used within the industry, and, as far as I know, is a write-once-run-anywhere language.
This has led to me taking a few short courses on it, to no avail, I assume I heavily underestimated the learning curve of Java and would like to know if anyone here has any advice and/or resources they could share to make my time learning a little quicker and a little easier.

Thanks in advance.
 
Joined
Oct 18, 2022
Messages
2
Reaction score
0
HelloWorld.java:
Java:
public class HelloWorld {
   
  public static void main(String[] args){
    System.out.println("Hello, world!");
  } // main
   
} // HelloWorld

Installation and Setup
Dedicated Java forums
Greatly appreciated, already got Java setup and able to be ran, chose to use Eclipse IDE as I've heard it's powerful and more than enough for beginners, but the Java forums look like a great place to gather information I wouldn't have known otherwise. Cheers!
 
Joined
Sep 28, 2022
Messages
2
Reaction score
1
Hello @brugged

java is very huge and capable language so the only thing i can think of to give you short path that you decide what you doing to develop with java

1) mobile
2) desktop
3) web

once you decide that you can postpone the learning part for the other parts
so for example if you choose mobile then you can ignore learning about web framwork like jsf/struts and others

so here what you will need

first common part for all parts

1) https://dev.java/learn/ this updated with jdk 17 current version is jdk 19 but it missing some tutorial like thread and network and I/O and others
2) https://docs.oracle.com/javase/tutorial/ this for jdk 8 you can get the missing tutorial from here to complete the missing part of step 1
3) https://docs.oracle.com/javase/specs/index.html this is very technical one so take it easy and feel free to pick jdk/sdk 19 if you like
documentation The Java Language Specification, Java SE 19 Edition
4) in step 2 there lesson for swing this will help if you want to develop of desktop so you can drop it if you do not want to go for dekstop
5)in step 2 there lesson for javafx drop it from this resource

for desktop
1) use the swing part from step 2
2) use javafx from here https://openjfx.io/

for web
1) ofcourse you would need to know html and css and js to know how thing work in web https://developer.mozilla.org/en-US/docs/Learn
2) you would need to learn the enterprise part of java https://eclipse-ee4j.github.io/jakartaee-tutorial/ this for jakartaee 9 currently jakartaeeis version 10 not sure when they will update their tutorial
3) primefaces is frontend framework based on jsf ( part of jakarta ee) https://primefaces.github.io/primefaces/12_0_0/#/
4) some company use struts https://struts.apache.org/getting-started/
5) other use ADF https://www.oracle.com/database/technologies/developer-tools/adf/
6) spring this for quick guide https://spring.io/quickstart ad for extra details https://spring.io/projects/spring-framework


when you select which framework you use it will not be easy one as it different from company to another so you can look for job in your country and find the most used framework and learn it first so do search before go to step 2,3,4,5,6

for mobile
1) https://developer.android.com/docs
2) javafx can build mobile app
3) https://gluonhq.com/ (based on javafx) this one can build app for multi platform

extra stuff you would need
1) learn git to be ready when you work with team https://git-scm.com/book/en/v2
2) learn build tool like maven/ant /gradle better to use gradle as it the official build tool for android app https://docs.gradle.org/current/userguide/userguide.html and for maven https://maven.apache.org/users/index.html
3) for logging it better to use slf4j which is api https://www.slf4j.org/manual.html that all ow you many implementation so the logging system could be log4j / logback/ or even the standard logging tool in java
4) testing framework juint test https://junit.org/junit5/docs/current/user-guide/
5) sql https://mariadb.org/documentation/#getting-started there advanced tutorial which has come lesson about the devleopment of the sql it self using c lanaguage so you can drop those part as that not interested to you and you dive more after finish those tutorials https://mariadb.com/kb/en/documentation/


for the extra stuff you can learn them while learning java so for git you do not need to know any java so you can learn both together same for sql but the other point it require that you know java cause you will write code there

hope that help and have a nice day :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,920
Messages
2,570,038
Members
46,449
Latest member
onedumbsquirrel

Latest Threads

Top