ALLisCHAOS Δημοσ. 25 Μαρτίου 2019 Δημοσ. 25 Μαρτίου 2019 Hallo! Το τελευταίο καιρό έχω αρχίσει να ανακαλύπτω τον μαγεικό κόσμο της clojure!! Και πραγματατικά μέχρι στιγμης έχω μείνει με το στόμα ανοιχτό για το πόσο υπέροχη είναι! Προερχόμενος απο τον αντικειμονοστραφή κόσμο (Java) ενας συνάδελφος μου την είχε προτείνει-προμοτάρει τόσο πολύ που είπα να τη δοκιμάσω. Αρχικά αυτό που με 'έψησε' περισσότερο είναι το functional programming, κάτι που είχα να δω απο τη σχολή μου ακόμη (θυμάμαι ότι όλοι το μισουσαμε το συγκεκριμενο μάθημα μιας κ έπρεπε να ξεχάσεις οτι ήξερες να αρχίζεις να σκέφτεσαι διαφορετικα). Για να μη τα πολυλογώ, αφου είδα οτι είναι μια ενδιαφέρον γλώσσα, κοίταξα λίγο να δω τη παίζει στην αγορά εργασίας και... Βράστα Χαράλαμπε! Μιλάμε οτι στην Ελλάδα βρήκα μόνο μια (ναι μια ολόκληρη) αγγελία, και στο εξωτερικό επίσης χαμηλή η ζήτηση, ειδικά για remote θέσεις έβρισκα κάτι ξεχασμένες αγγελίες 1-2 χρόνων. Η αλήθεια είναι οτι ψιλό απογοητέυτηκα λίγο με τη τόσο μικρή σύζητηση σε μια, όπως φαίνεται, τόσο ενδιαφέρον γλώσσα! Οκ, ίσως να είναι κ ο αρχικός ενθουσιασμός και αν πάω να κάνω κάτι πιο συνθετο-σοβαρό μαζί της να δω οτι τελικά δεν...(αν και δε μου φαίνεται για τέτοια τύπισσα 😛) . Και έρχομαι να ρωτήσω, την ξέρει? την χρησιμοποιεί κανένας σας? και ειδικά επαγγελματικά? Και αν όχι συγκεκριμένα Clojure, χρησιμοποιείτε κατι άλλο σε functional programming?
pmav99 Δημοσ. 25 Μαρτίου 2019 Δημοσ. 25 Μαρτίου 2019 (επεξεργασμένο) Αν θες JVM-based functional γλώσσα τότε νομίζω ότι η scala είναι πιο δημοφιλής επιλογή - βοηθάει και το integration με το spark σε αυτό, αλλά όσον αφορά για δουλειά, πάλι μιλάμε κυρίως για Αμερική. Επεξ/σία 25 Μαρτίου 2019 από pmav99
albNik Δημοσ. 25 Μαρτίου 2019 Δημοσ. 25 Μαρτίου 2019 Στο εξωτερικο οι αγγελιες για functional programming ειναι λιγότερες αλλά με καλυτερες απολαβες. Επίσης οι functional developers ειναι λιγοτεροι και θεωρουνται πιο skilled αρα απο την αποψη προσφορας-ζητησης δεν εισαι χαμενος . Αν εισαι καλος στην clojure πιστευω οτι θα εχεις πλεονεκτημα εναντι των OOP προγραμματιστων.
ALLisCHAOS Δημοσ. 25 Μαρτίου 2019 Μέλος Δημοσ. 25 Μαρτίου 2019 Ναι την εκμάθηση λέω να τη συνεχίσω πάντως και για δουλειά το βλέπουμε.. Anyway, thank you guys!
the other one Δημοσ. 25 Μαρτίου 2019 Δημοσ. 25 Μαρτίου 2019 Αν σε ενδιαφέρει ειδικότερα το functional programming δες και τη Haskell που είναι η επιτομή του pretty much, με ελαφρώς διαφορετκή φιλοσοφία ωστόσο (correctness vs simplicity) 1
White_Cat Δημοσ. 26 Μαρτίου 2019 Δημοσ. 26 Μαρτίου 2019 Καλημέρα ! Θα ήθελα αν γίνεται ο χρήστης AllisChaos, που ξεκίνησε το θέμα, να μου προτείνει κάποια καλή πηγή και γενικά σχετική βιβλιογραφία για ν' αρχίσω ν' ασχολούμαι κι εγώ... Φαντάζομαι ότι για να ενθουσιάστηκε ο ίδιος, θα βρήκε πηγές που λένε το κάτι παραπάνω σε σχέση μ' ένα κλασσικό βιβλίο προγραμματισμού. Γενικά χαίρομαι πάρα πολύ να βλέπω ανθρώπους ν' ασχολούνται με πάθος με τον προγραμματισμό, ειδικά όταν πρόκειται περί θεμάτων τα οποία δεν είναι και τόσο δημοφιλή. Στην κατηγορία αυτή εμπίπτει η clojure. Επίσης θα ήθελα να δω τι είδους εφαρμογές μπορούν να δημιουργηθούν σήμερα με μια τέτοια γλώσσα και είμαι περίεργος ν' ανακαλύψω αν αυτές δύνανται ν' απαντήσουν σε πραγματικές εμπορικές ανάγκες. Σας ευχαριστώ, Ο Άσπρος Γάτος
ALLisCHAOS Δημοσ. 26 Μαρτίου 2019 Μέλος Δημοσ. 26 Μαρτίου 2019 (επεξεργασμένο) Καλησπέρες, από αυτο το e-book διαβάζω εγώ, έχει χιουμοριστικό στυλ με ωραίες ασκήσεις που σου κρατά το ενδιαφέρον https://www.braveclojure.com/clojure-for-the-brave-and-true/ και ένα ωραίο github tutorial https://github.com/ClojureBridge/curriculum Πέρα απο αυτά ο δημιουργός της, Rich Hickey είναι τυπάρα και φοβερός ομιλητής, μπορείς να ψάξεις στο youtube για ομιλίες του: https://www.youtube.com/watch?v=f84n5oFoZBc&t=6s (γενικά για προγραμματισμό) (clojure specific) Όσο για το τι μπορείς να κάνεις με τη clojure... Τα πάντα! Εϊναι μια γλώσσα γενικού σκοπού, που ο Rich Hickey μετά απο πόσα χρόνια με C++, C#, Java είδε ότι το πράγμα κάπου δε τσουλάει σωστά και ότι τόσο καιρό κάνουμε απλά τη ζωή μας πιο δύσκολη με τον OOP (btw σε τετοιο επίπεδο δεν έχω φτασει που να πηγαίνω στη δουλειά μου και να λέω ότι ααχχχ να χα τώρα εδω μια clojure) Aλλά μιας κ το φερε η κουβέντα, σήμερα στη δουλειά είχα το εξής πολύ απλό case: Class ΜyDTO { ..... Boolean hasCoupon; getHasCoupon() { return hasCoupon; } setHasCoupon(...) {...} .... } Class ΜyService { private void myMethod() { if (myDTO.getHasCoupon()) { //do something ... } } } Και το δοκιμάζω και μου πετάει ένα NPE στην 'myDTO.getHasCoupon()' κάθομαι κ έχω σκαλώσει και προσπαθώ να καταλάβω γιατί! και λέω εντάξει προφανώς το hasCoupon είναι null αλλά γιατί σκάει?? (συνηθισμένος απο ενα 3ημερο με clojure ομως όπου το null μπορει να χρησιμοποιηθεί κανονικά σε μια if, το οποιο είναι σαν να κάνεις if (false) Χτύπησα λίγο το κεφάλι μου, είπα: Συγκεντρώσου! τώρα είσαι σε Java!! και έβαλα τον κλασσικό != null έλεγχο... Επεξ/σία 27 Μαρτίου 2019 από ALLisCHAOS
najinblue3 Δημοσ. 28 Μαρτίου 2019 Δημοσ. 28 Μαρτίου 2019 Στις 25/3/2019 στις 5:57 ΜΜ, albNik είπε Στο εξωτερικο οι αγγελιες για functional programming ειναι λιγότερες αλλά με καλυτερες απολαβες. Επίσης οι functional developers ειναι λιγοτεροι και θεωρουνται πιο skilled αρα απο την αποψη προσφορας-ζητησης δεν εισαι χαμενος . Αν εισαι καλος στην clojure πιστευω οτι θα εχεις πλεονεκτημα εναντι των OOP προγραμματιστων. εψαξα για λιγο καιρο δουλεια για scala κυριως, δε βρηκα κατι ιδιαιτερο εως καθολου. Ειμαι Σουηδια αλλα κοιταξα και τριγυρω. Οσον αφορα το πιο skilled, δεν νομιζω να ισχυει. Μιλωντας για Scala, αν γνωριζεις Java η μεταβαση ειναι πολυ ευκολη. Μετα εχεις τις παραξενιες της σαν γλωσσα, και ειναι παρα πολλες, αλλα δεν νομιζω να απαιτει τρελο skill, παρα εξασκηση
albNik Δημοσ. 28 Μαρτίου 2019 Δημοσ. 28 Μαρτίου 2019 35 λεπτά πριν, najinblue3 είπε εψαξα για λιγο καιρο δουλεια για scala κυριως, δε βρηκα κατι ιδιαιτερο εως καθολου. Ειμαι Σουηδια αλλα κοιταξα και τριγυρω. Οσον αφορα το πιο skilled, δεν νομιζω να ισχυει. Μιλωντας για Scala, αν γνωριζεις Java η μεταβαση ειναι πολυ ευκολη. Μετα εχεις τις παραξενιες της σαν γλωσσα, και ειναι παρα πολλες, αλλα δεν νομιζω να απαιτει τρελο skill, παρα εξασκηση Δεν ειμαι σιγουρος αν συνεχισες να χρησιμοποιείς τη scala απλα ως java με διαφορετικο syntax. Το εκανα και εγω αυτο το λαθος απο C# σε F#. Τις OOP εννοιες οπως inheritance, polymorphism, composition, encapsulation κλπ θεωρω οτι μπορεις να τις μαθεις σχετικα ευκολα. Οι αντιστοιχες FP εννοιες οπως higher order functions, monads, immutability και πολλες αλλες που ανηκουν στην category theory πιστευω οτι ειναι πιο προχωρημενες.
najinblue3 Δημοσ. 28 Μαρτίου 2019 Δημοσ. 28 Μαρτίου 2019 2 λεπτά πριν, albNik είπε Δεν ειμαι σιγουρος αν συνεχισες να χρησιμοποιείς τη scala απλα ως java με διαφορετικο syntax. Το εκανα και εγω αυτο το λαθος απο C# σε F#. Τις OOP εννοιες οπως inheritance, polymorphism, composition, encapsulation κλπ θεωρω οτι μπορεις να τις μαθεις σχετικα ευκολα. Οι αντιστοιχες FP εννοιες οπως higher order functions, monads, immutability και πολλες αλλες που ανηκουν στην category theory πιστευω οτι ειναι πιο προχωρημενες. Ναι εκανα ακριβως αυτο. Νομιζα οτι ηταν απλα μια αλλη Java, αλλα ελα που ημουν λαθος 😛 Οι βασικες εννοιες του αντικειμενοστραφους πρ. νομιζω ειναι ιδιες με τη Java. Ειχα θεμα στην αρχη με τα val/var και το ολο immutability, και αυτα εννοω παραξενιες πιο πανω.
albNik Δημοσ. 28 Μαρτίου 2019 Δημοσ. 28 Μαρτίου 2019 3 ώρες πριν, najinblue3 είπε Ναι εκανα ακριβως αυτο. Νομιζα οτι ηταν απλα μια αλλη Java, αλλα ελα που ημουν λαθος 😛 Οι βασικες εννοιες του αντικειμενοστραφους πρ. νομιζω ειναι ιδιες με τη Java. Ειχα θεμα στην αρχη με τα val/var και το ολο immutability, και αυτα εννοω παραξενιες πιο πανω. Το θεμα ειναι να ΜΗΝ κανεις αντικειμενοστραφη προγραμματισμο σε αυτες τις γλωσσες. Πρεπει να ξεμαθεις το OOP.
ALLisCHAOS Δημοσ. 28 Μαρτίου 2019 Μέλος Δημοσ. 28 Μαρτίου 2019 Αχχ το βλέπω... Θα τις έχουμε απλά για side project-hobby και θα λέμε που και που σε κανένα γνώστο πόσο γ@μ@ν 😛 2 λεπτά πριν, albNik είπε Το θεμα ειναι να ΜΗΝ κανεις αντικειμενοστραφη προγραμματισμο σε αυτες τις γλωσσες. Πρεπει να ξεμαθεις το OOP. Ισχύει, πρέπει να μάθεις να σκέφτεσαι με διαφορετικό τρόπο
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα