#What is the most efficient way to learn JAVA.
1 messages · Page 1 of 1 (latest)
<@&987246399047479336> please have a look, thanks.
While you are waiting for getting help, here are some tips to improve your experience:
If nobody is calling back, that usually means that your question was not well asked and hence nobody feels confident enough answering. Try to use your time to elaborate, provide details, context, more code, examples and maybe some screenshots. With enough info, someone knows the answer for sure.
Don't forget to close your thread using the command </help-thread close:1027500463647621170> when your question has been answered, thanks.
Why short time ?
we usually recommend mooc here
MOOC is a completely free introductory Java course created by the University of Helsinki, it is a great way to learn Java from the ground up.
It consists of two parts, one at beginner, and another at intermediate level. The end of the course is marked by creating your own Asteroids game clone!
Even though the instructions show how to configure and use NetBeans for the course, you can use IntelliJ. To use IntelliJ, simply install the TMC plugin by opening IntelliJ -> File -> Settings -> Plugins and searching for TMC. You will then be able to use IntelliJ to complete MOOC.
Visit MOOC here: https://java-programming.mooc.fi/
(the course is available in both English and Finnish)
About the course - Java Programming
but realistically, u wont be able to shortcut
its a learning process that takes time
u can of course dedicate a lot of time to it and then finish faster
but ultimately, u cant really shortcut the time u have to spend to reach a certain level
for most students that means about 2 years of learning and practicing until they are "job ready"
it's not my first programming language, so I may be able to do it in a shorter time
thats fair. maybe u can find specific migration guides
or u just skim through mooc
🤷♂️
depends on ur level in the other language
and the reason is that I have a really good opportunity for a job that requires Java
i migrated from java to c++ in 1 month, but i had 10 years of java exp at that time
The youtuber BroCode has a full java tutorial including Swing. Takes 12h
note that swing is legacy
Idk. Swing is good
tried javafx?
what is swing?
I am good thx
noteddd
Almost all gui tutorials use swing
On youtube from 2010 onwards
id just open mooc or any book teaching java and then skim through the chapters
Even in 2019
how much exp in years do u have in the other language and what language is it?
i come from web developing, so mainly javascript
how many years roughly?
so i suppose ur not too experienced with OOP stuff? classes, inheritance, interfaces, ...
not muchh
well, that will be ur main issue then
cause the way u have to think in java is entirely different
since its purely driven by oop
greatt
personally, id open mooc and skim through the first chapters where they explain basic syntax and how to write methods, variables, loops, ...
sodo u suggest learning oop first?
cause u know that stuff already
and then focus on the oop stuff mostly
so objects, static vs non static, fields, inheritance, composition, interfaces, abstract classes, overriding, lambdas, method references
and after that u can focus on learning the api
so what data structures does java have and how to use them (arraylist, hashset, treeset, hashmap, treemap, priorityqueue, arraydeque, ...)
the stream api and all the "java 8+" things
and basic common tasks like file io with NIO
i'm familiar with data structure
yeah but u dont know how to create a list in java specifically
no
but u need to know that
okayy notedd
u dont have to learn how these data structures work under the hood, u know that already. but u have to know what java has to offer and how to use its api effectively
what methods are available, what classes exist
thats what i mean with learning the api
but before that, u need to learn all the core concepts. in particular everything related to oop
mooc should cover most of ur needs
and u can scroll past the stuff u already know
and skip exercises for parts that ur familiar with already
a text based medium works better if u have to skip a lot of content
its faster than listening to a video
ur amazing
u made very interesting points
and i think it comes from great expereince
experience
how long have u been coding in Java?
about 15 years by now
but also in other languages (c++, c#, kotlin and a bit of python and js)
ur welcome 
it depends on the capacity of your brain, learning a programming language takes a lot of time to learn, even if you read a book about programming you won't immediately remember it all, all I can say is, use books and videos, because you will remember something better and understand it when you read it, hear it and see it ^^
Noted, I will combine both, and focus on key principles such as OOP, Data structure, Api, syntax
does it seem like a good plan to you?
they hire u as junior, dont they? then they wont have high expectations anyways
its important that u understand existing code when u read it, so that u can also edit it
thats much simpler than creating code fresh
was in a similar situation when i started a c++ job with very little experience in that language
in the first months u need a lot of assistance when writing sth from scratch, but editing existing code works fairly well
given that u understand the core concepts of the language
u become more familiar with the api and syntax as u go
yup as a junior, they have a technical test and then a technical interview, and I want the job, its a very good company,
i will do what u suggested
ur js knowledge lets u transfer a lot of core stuff:
- variables, loops, if-else, switch, ... basic stuff
- methods, parameters, return values, ...
- how to structure and organize code properly
- data structures
so concept wise for java ur only really lacking the oop topics
thats what want to knoww if its doable!!
how many years of experience with c++ do u have?
are u experienced in modern c++? smart pointers, move, concepts?
id say ur overall programming experience isn't good enough to do a transition in just a few weeks, but transitioning to Java should be fairly easy for u
why is everyone so obsessed with leetcode 😦
ull have the same mindset and feel like some things are just easier to do
interfaces is a new core concept u have to learn though
they are very important in Java and c++ doesn't have that. concepts come close to the idea
that said, most of ur transitioning time will be learning the very rich api that java has. much bigger in direct comparison to c++
no idea about go, but abstract classes fulfill a different purpose
Unlike C++, Java has no multiinheritance if using classes. But you can implement multiple interfaces.
the closest thing, mindset wise, to interfaces in c++ are concepts
yeah. thats it
yeah, grab any resource and skim through it. practice a bit while reading
ts you mean 🤔
it's kinda similar i guess
except that in ts, you just need to supply whatever as long as it follows the interface contract
while in java, it's decided at compile time
and you can't put variables in an interface in java
Interfaces are heavily used in java, just doing spring security literally every thing you see an interface
Closed the thread due to inactivity.
If your question was not resolved yet, feel free to just post a message to reopen it, or create a new thread. But try to improve the quality of your question to make it easier to help you 👍