Προς το περιεχόμενο

best way to learn java


Dinos_12345

Προτεινόμενες αναρτήσεις

  • Απαντ. 58
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

 

Ο "καλύτερος" τρόπος για να μάθεις Java (η οποιαδήποτε άλλη γλώσσα) εξαρτάται από τα παρακάτω:

 

* Την γενική σου σου εμπειρία με προγραμματισμό. Είναι διαφορετικό να μάθεις απλά τις ιδιαιτερότητες μιας γλώσσας από το να μάθεις να σκέφτεσαι αλγοριθμικά η να εφαρμόζεις Object Orientation.

 

* Το αν ξέρεις κάποια γλώσσα από την ίδια οικογένεια η όχι. Είναι διαφορετικό να μάθεις έναν ριζικά διαφορετικό τρόπο σκέψης όπως πχ αν θέλεις να μάθεις LISP αλλά το μόνο που γνωρίζεις είναι C από το να ασχοληθείς με μια γλώσσα της οποίας η οικογένεια σου είναι κιόλας γνωστή, όπως πχ να μάθεις Java αν ξέρεις C# (η το αντίστροφο).

 

* Την διάθεση σου να αφιερώσεις χρόνο διαβάζοντας όσο το δυνατόν περισσότερο επαγγελματικό κώδικα πάνω στην γλώσσα και να αποκτήσεις την ευχέρεια να γράφεις σε native style που να συνάδει με την "κουλτούρα' του σχετικού community. Πχ ένας C προγραμματιστής που μαθαίνει python θα πρέπει να αποβάλει το accent της C όσο μπορεί περισσότερο.

 

* Να βρείς την ευκαιρία να χρησιμοποιήσεις τη γλώσσα σε μερικά real world projects τα οποία θα σε "ψήσουν" πάνω σε αυτή και θα σε κάνουν να την καταλάβεις βαθύτερα.

 

* Θα πρέπει να έχεις διαβάσει αν είναι δυνατόν την πλήρη σχετική βιβλιογραφία της και να είσαι πάντα up to date με τις εξελίξεις σε αυτή, τα Open Source Frameworks και γενικά ότι έχει να κάνει με την εξέλιξη της.

 

* Καθώς θα ωριμάζεις στην core γλώσσα σου θα πρέπει παράλληλα να επεκταθείς και σε άλλες γλώσσες από τελείως διαφορετικές οικογένειες κάτι που θα σταδιακά θα σε ωριμάσει σαν προγραμματιστή και θα σε δώσει την ικανότητα να λειτουργείς πλέον σαν Architect κάνοντας judgement calls σχετικά με τον σχεδιασμό πλατφορμών και large scale design συστημάτων.

Ξαναδιαβάζω προσεκτικά το μήνυμα σου, και πραγματικά όλη η διαδικασία που περιγράφεις μου φαίνεται πως είναι ατέλειωτη ακόμα και για εσένα που έχεις τόσες γνώσεις και εμπειρία.
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξαναδιαβάζω προσεκτικά το μήνυμα σου, και πραγματικά όλη η διαδικασία που περιγράφεις μου φαίνεται πως είναι ατέλειωτη ακόμα και για εσένα που έχεις τόσες γνώσεις και εμπειρία.

 

Φυσικά και η διαδικασία είναι ατελείωτη (και γιά εμένα όπως καί γιά οποιονδήποτε άλλον)!

 

Αν και το ίδιο ισχύει για τους περισσότερους γνωστικούς τομείς, το Software Development παρουσιάζει τόσο γρήγορο ρυθμό εξέλιξης στον βαθμό που αν μείνεις στατικός για λίγα χρόνια θα βρεθείς εκτός αγοράς εργασίας. Αυτός είναι ο κύριος λόγος που η συντριπτική πλειοψηφία των προγραμματιστών μεταπηδά στο management αργά η γρήγορα.

 

Επίσης, το χαμηλό prestige που συνοδεύει έναν Software Engineer επιδρά αρνητικά στην εξέλιξη της καριέρας του. Σε σύγκριση με γνωστικά αντικείμενα που παρουσιάζουν ανάλογη δυσκολία, όπως 

πχ η ιατρική ή η νομική, ο προγραμματιστής απολαμβάνει κατά πολύ μικρότερη αναγνώριση από τον περίγυρο του, κάτι που αποθαρρύνει αρκετούς από το να φτάσουν στην ολοκλήρωση των δυνατοτήτων τους.

 

Βέβαια αυτό δεν θα πρέπει να σε αποθαρρύνει αν πιστεύεις, ότι διαθέτεις το απαιτούμενο ταλέντο και την κατάλληλη προσωπικότητα, που θα σου επιτρέψουν να ξεχωρίσεις και να φτάσεις σταδιακά σε ένα επίπεδο που θα σου επιτρέπει να προσαρμόζεσαι σχετικά εύκολα στις επικείμενες αλλαγές που αναπόφευκτα θα πρέπει να κάνεις στο πέρασμα του χρόνου.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

I'll check it out :) thanks.

Για αρχή μέχρι να αγοράσω το βιβλίο, έπιασα τα docs της oracle που φαίνεται να είναι καλογραμμένα για το σκοπό που τα θέλω. 

Πιστεύω μια χαρά είναι τα επίσημα docs και χωρίς να πάρεις το βιβλίο.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

θα βρείς ένα βιβλίο για αρχάριους του στύλ Java for Dummies ή Learn Java in 24 hours.. δεν χρειάζεται να τα μάθεις τέλεια απλά να καταλάβεις λίγο πώς δουλεύει η γλώσσα..

αφού πάρεις μιά ιδέα μετα θα πιάσεις το Oracle Certified Associate Core 1 που είναι τεστ προετοιμασίας για την επίσημη πιστοποίηση κάνοντας παράλληλα και τα τέστ.. θα δείς και τα Lamda expressions..

Μπορείς παράλληλα να δείς βιντεάκια με Java στο youtube ή να βρείς εκπαιδευτικά πχ Lynda training και να διαβάζεις και από τα Java trails στο site της Oracle που έχει όλη τη γλώσσα..

 

Ο καλύτερος τρόπος να μάθεις Java είναι να πέσεις με τα μούτρα πάνω της σα να είναι γκόμενά σου..

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 Επιλογές,

  1. Βρες καλό βιβλίο από Amazon και κατέβασε το.
  2. Αν θες να το πας πιο γρήγορα αλλά όχι τόσο αναλυτικά μπορείς να βρεις κάποιο καλό course απο Udemy.

Αν δεν έχεις καμιά εμπειρία με κάποιο αντικειμενοστραφή  γλώσσα προτείνω να διαβάσεις από βιβλίο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 Επιλογές,

  • Βρες καλό βιβλίο από Amazon και κατέβασε το.
  • Αν θες να το πας πιο γρήγορα αλλά όχι τόσο αναλυτικά μπορείς να βρεις κάποιο καλό course απο Udemy.
Αν δεν έχεις καμιά εμπειρία με κάποιο αντικειμενοστραφή γλώσσα προτείνω να διαβάσεις από βιβλίο.
Ευχαριστώ για την απάντηση. Τελικά πήρα τα docs της Oracle από την αρχή, εξηγεί τα πάντα όπως θέλω και έχει steep learning curve, που μου αρέσει επειδή δεν είμαι beginner.
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Δε λεω κάτι παράλογο η java ειναι μια απαρχαιομένη γλώσσα και έχοντας δουλέψει και με τις 2, η C# μοιάζει σαν java version 100.

 

Αδερφε μπορεις να μας πεις λιγα λογια παραπανω γι αυτο?Και δεν το λεω με καμια δοση ειρωνιας,αντιθετως απο περιεργια ρωτω καθως κ εγω μαθαινω και οπου και να κοιταξω βλεπω οτι η συγκεκριμενη γλωσσα εχει παρα πολυ περαση και συγκαταλεγεται παντα στις 3 πρωτες γλωσσες στην προτιμηση των χρηστων.Ισως να κανω λαθος απλα θα θελα να μας δωσεις μερικες πληροφοριες,ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αδερφε μπορεις να μας πεις λιγα λογια παραπανω γι αυτο?Και δεν το λεω με καμια δοση ειρωνιας,αντιθετως απο περιεργια ρωτω καθως κ εγω μαθαινω και οπου και να κοιταξω βλεπω οτι η συγκεκριμενη γλωσσα εχει παρα πολυ περαση και συγκαταλεγεται παντα στις 3 πρωτες γλωσσες στην προτιμηση των χρηστων.Ισως να κανω λαθος απλα θα θελα να μας δωσεις μερικες πληροφοριες,ευχαριστω

Ευχαρίστως.

Η Microsoft έβγαλε τη C# στην προσπάθεια της να φτίαξει μια Java για τα windows. Οι 2 γλώσσες μοιάζουν πολύ γενικά αλλα η C# σα μεταγενέστερη γλώσσα εξάλειψε πολλά απ' τα μειονεκτήματα της Java. Είναι δηλαδή μια καλύτερη έκδοση της Java με πιο σύγχρονα features.

 

Μερικά απ' τα πλεονεκτήματα που μου έρχονται τώρα:

1) Καλή υλοποίηση ασύχρονου προγραμματισμού με async, await που σου κάνει τη ζωή πολύ εύκολη.

2) Linq...........

3) Πραγματικά generics οχι ψεύτικα με type erasure και boxing.

4) Το functional programming στη Java ειναι πολύ verbose (όπως και οτιδήποτε άλλο στη Java :P). Ενω στη C# πολύ πιο elegant με τα lamdas, delegates κλπ.

5) Δεν έχει καν properties η Java πρέπει να γραφεις κάθε φορά getters kai setters cri.

6) Καλύτερη διαχείρηση exceptions γιατί είναι unchecked (προσωπική άποψη).

 

Και πολλά αλλα που δεν αναλύω περισσότερο γιατι θα γίνει σεντόνι το ποστ. Με μια αναζήτηση στο google θα δείς πιο αναλυτικά.

 

Γενικά στη Java θα παρατηρείς συνεχώς πως γράφεις πολλά για να κάνεις λίγα. Και εγώ απο Java ξεκίνησα λόγω πανεπιστημίου αλλα πάντα κάτι με χάλαγε, και μόλις ασχολήθηκα με C# σε ένα προσωπικό project έπαθα πλάκα με το πόσο καλύτερη είναι.

 

Τα μόνα πλεονεκτήματα της Java είναι πως 1)χρησιμοποιείται ευρέως απο εταιρίες γιατι είναι πολλά χρόνια και 2)πως την χρησιμοποιεί το android σαν κύρια γλώσσα. Αν και αν ασχολιόμουν με κάνα android project θα προτιμούσα να το έκανα με καμια kotlin.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν υπάρχει ουτε "best" ούτε "απαρχαιωμένη" . Αυτά τα ακούω μόνο από άτομα που δεν μπόρεσαν να μάθουν ποτέ java για οπουδήποτε λόγο.

 

btw αυτό με τους setters, getters τρομερό, απλά πατάς insert code -> done ,τι να σου πω, πόνεσαν τα δάχτυλα από το γράψιμο 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν υπάρχει ουτε "best" ούτε "απαρχαιωμένη" . Αυτά τα ακούω μόνο από άτομα που δεν μπόρεσαν να μάθουν ποτέ java για οπουδήποτε λόγο.

 

btw αυτό με τους setters, getters τρομερό, απλά πατάς insert code -> done ,τι να σου πω, πόνεσαν τα δάχτυλα από το γράψιμο

 

Ντάξει δε χρειάζεται να θίγεσαι επειδή εχεις ξεμεινεί με τη Java. "Δε μπόρεσαν να μάθουν ποτέ Java" ηρέμησε δεν είναι και C++.

Μπορεί να πατας insert και να σου βγάζει το template δεν ειναι εκεί το θέμα. Το θέμα είναι πως όσο πιο πολύ κώδικα γράφεις για να κάνεις απλά πράγματα τοσο πιο πολύ δυσκολεύεται μετα ο άλλος να το διαβάσει. Και η Java το έχει πολύ αυτο το πρόβλημα γράφεις πολύ κωδικά για απλά πράγματα.

 

Στην τελική οι γλώσσες ειναι παρόμοιες με τη μια να έχει περισσότερα πλεονεκτήματα και λιγότερα μειονεκτήματα οπότε δε μπορώ να καταλάβω το λόγο που θα επιλέξεις τη μια αντι της άλλης.

copy-paste από το stackoverflow τα έκανες?

Ναι για να στα πώ ωραία και να νομίσεις πως είμαι γαμάτος.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...