Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Λογισμικό, λειτουργικά συστήματα, προγραμματισμός, hardware, δίκτυα, Internet
parafrwn
Μέλη που αποχώρησαν
Δημοσιεύσεις: 2590
Εγγραφή: 07 Απρ 2018, 07:52

Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από parafrwn » 17 Μάιος 2018, 05:49

Το ερώτημα είναι κάπως ξεκάθαρο. Γιατί να ασχοληθεί κανείς με κάποια καθαρά συναρτησιακή γλώσσα (πχ. scheme, lisp, haskell), ακόμη και αν δεν πρόκειται να γράψει εφαρμογές σ'αυτή την γλώσσα;

Αξίζει την επένδυση του χρόνου;
SpoilerShow
Εγώ νομίζω πως ναι, ίσα ίσα για τον τρόπο σκέψης που αναπτύσσεις. Άσε που ειδικά στον χώρο των δεδομένων έχουν αρχίσει να εισέρχονται δυνατά (clojure, scala). Διαβάζω τελευταία το "Little Schemer", με ανοιχτό τον text editor και το terminal, και έχω να πω πως γαμάει το βιβλιαράκι.
Σας σιχάθηκε η ψυχή μου.

Άβαταρ μέλους
enaon
Δημοσιεύσεις: 24044
Εγγραφή: 04 Απρ 2018, 14:48

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από enaon » 17 Μάιος 2018, 07:34

Εγώ δεν ξέρω καμία γλώσσα, και νομίζω οι μηχανές θα φάνε πρώτα αυτους που ξέρουν συναρτησιακές, μετά τους υπόλοιπους, ακόμα και basic. Εσύ ξέρεις είπαμε; :003:

parafrwn
Μέλη που αποχώρησαν
Δημοσιεύσεις: 2590
Εγγραφή: 07 Απρ 2018, 07:52

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από parafrwn » 17 Μάιος 2018, 07:58

enaon έγραψε:
17 Μάιος 2018, 07:34
Εγώ δεν ξέρω καμία γλώσσα, και νομίζω οι μηχανές θα φάνε πρώτα αυτους που ξέρουν συναρτησιακές, μετά τους υπόλοιπους, ακόμα και basic. Εσύ ξέρεις είπαμε; :003:
:lol::lol::lol:

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

Άβαταρ μέλους
enaon
Δημοσιεύσεις: 24044
Εγγραφή: 04 Απρ 2018, 14:48

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από enaon » 17 Μάιος 2018, 08:03

parafrwn έγραψε:
17 Μάιος 2018, 07:58
κομενάκι
έτσι ναι, αλλάζουμε και σε κόνορ αν ειναι το νικ :003:

Άβαταρ μέλους
Stalker
Δημοσιεύσεις: 5677
Εγγραφή: 17 Μάιος 2018, 08:36
Phorum.gr user: CTAΛKEP

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Stalker » 17 Μάιος 2018, 10:17

Worst case scenario θα γίνεις καλύτερος προγραμματιστής αφού οι functional γλώσσες επιβάλλουν κάποια best practices από κατασκευής, best case θα έχεις το πόδι στην πόρτα αν παίξει κάποιο project με big data ή οικονομικά ή machine learning ή όλα μαζί το οποίο να μπορείς να χρησιμοποιήσεις σαν εφαλτήριο για να αυξήσεις τις αποδοχές σου.

Οπότε αν έχεις ώρα και όρεξη μάθε.
If reality is the sum of our perceptions, to acquire more varying points of view is to acquire, literally, more reality

Άβαταρ μέλους
Yochanan
Δημοσιεύσεις: 16436
Εγγραφή: 31 Μαρ 2018, 13:44
Phorum.gr user: Yochanan

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Yochanan » 17 Μάιος 2018, 10:20

Πείτε και σε μας βρε παιδγιά τι είναι οι συναρτησιακες γλώσσες; Εχει σχέση με low level/high level (τι ακριβώς είναι κι αυτά;);
Κυριάκος ο Χρυσογέννητος, του Οίκου των Μητσοτακιδών, Πρώτος του Ονόματός του, Κύριος των Κρητών και των Πρώτων Ελλήνων, Προστάτης της Ελλάδος, Μπαμπάς της Δρακογενιάς, ο Κούλης του Οίνοπα Πόντου, ο Ατσαλάκωτος, ο Απελευθερωτής από τα Δεσμά των Μνημονίων.

Άβαταρ μέλους
Dwarven Blacksmith
Δημοσιεύσεις: 43789
Εγγραφή: 31 Μαρ 2018, 18:08
Τοποθεσία: Maiore Patria

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Dwarven Blacksmith » 17 Μάιος 2018, 10:24

Δεν ξέρω αλλα εγώ σε κάποια φάση ήθελα να μάθω μια ασυναρτησιακή γλώσσα για να συννενοουμαι με τη μπλουρόουζ.
🔻I would have lived in peace. But my enemies brought me war.🔻

Άβαταρ μέλους
Yochanan
Δημοσιεύσεις: 16436
Εγγραφή: 31 Μαρ 2018, 13:44
Phorum.gr user: Yochanan

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Yochanan » 17 Μάιος 2018, 10:25

Πάπσε σατανά!!!
Κυριάκος ο Χρυσογέννητος, του Οίκου των Μητσοτακιδών, Πρώτος του Ονόματός του, Κύριος των Κρητών και των Πρώτων Ελλήνων, Προστάτης της Ελλάδος, Μπαμπάς της Δρακογενιάς, ο Κούλης του Οίνοπα Πόντου, ο Ατσαλάκωτος, ο Απελευθερωτής από τα Δεσμά των Μνημονίων.

Nameless Ghoul

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Nameless Ghoul » 17 Μάιος 2018, 10:25

parafrwn έγραψε:
17 Μάιος 2018, 05:49
Το ερώτημα είναι κάπως ξεκάθαρο. Γιατί να ασχοληθεί κανείς με κάποια καθαρά συναρτησιακή γλώσσα (πχ. scheme, lisp, haskell), ακόμη και αν δεν πρόκειται να γράψει εφαρμογές σ'αυτή την γλώσσα;

Αξίζει την επένδυση του χρόνου;
SpoilerShow
Εγώ νομίζω πως ναι, ίσα ίσα για τον τρόπο σκέψης που αναπτύσσεις. Άσε που ειδικά στον χώρο των δεδομένων έχουν αρχίσει να εισέρχονται δυνατά (clojure, scala). Διαβάζω τελευταία το "Little Schemer", με ανοιχτό τον text editor και το terminal, και έχω να πω πως γαμάει το βιβλιαράκι.
Αν δεν πρόκειται να γράψεις ποτέ σε αυτή τη γλώσσα, ποτέ δεν αξίζει.

Από την άλλη, κάποιες γλώσσες αξίζει και να τις μάθεις, και να γράψεις. Ζητιούνται πάρα πολύ. Τελευταία της μόδας είναι η clojure (είναι δισέγγονο της lisp), έχει πολύ πέραση ειδικά για data science. Και είναι καλή ιδέα γιατί σε βοηθάει να αναπτύξεις έναν διαφορετικό τρόπο σκέψης που σε ορισμένες εφαρμογές είναι πολύ δυνατός.

parafrwn
Μέλη που αποχώρησαν
Δημοσιεύσεις: 2590
Εγγραφή: 07 Απρ 2018, 07:52

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από parafrwn » 17 Μάιος 2018, 10:26

Yochanan έγραψε:
17 Μάιος 2018, 10:20
Πείτε και σε μας βρε παιδγιά τι είναι οι συναρτησιακες γλώσσες; Εχει σχέση με low level/high level (τι ακριβώς είναι κι αυτά;);
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions[1] or declarations[2] instead of statements. In functional code, the output value of a function depends only on the arguments that are passed to the function, so calling a function f twice with the same value for an argument x produces the same result f(x) each time; this is in contrast to procedures depending on a local or global state, which may produce different results at different times when called with the same arguments but a different program state. Eliminating side effects, i.e., changes in state that do not depend on the function inputs, can make it much easier to understand and predict the behavior of a program, which is one of the key motivations for the development of functional programming.
https://en.wikipedia.org/wiki/Functional_programming
Σας σιχάθηκε η ψυχή μου.

Άβαταρ μέλους
Yochanan
Δημοσιεύσεις: 16436
Εγγραφή: 31 Μαρ 2018, 13:44
Phorum.gr user: Yochanan

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Yochanan » 17 Μάιος 2018, 10:31

Eυχαριστώ πολύ για το explain parafrwn! Δεν κατάλαβα τι διαφορά εχει το declaration από το statement. Πώς γίνεται ενα f(x) να δινει διαφορετικο αποτέλεσμα για ίδιο χ??
Κυριάκος ο Χρυσογέννητος, του Οίκου των Μητσοτακιδών, Πρώτος του Ονόματός του, Κύριος των Κρητών και των Πρώτων Ελλήνων, Προστάτης της Ελλάδος, Μπαμπάς της Δρακογενιάς, ο Κούλης του Οίνοπα Πόντου, ο Ατσαλάκωτος, ο Απελευθερωτής από τα Δεσμά των Μνημονίων.

Nameless Ghoul

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Nameless Ghoul » 17 Μάιος 2018, 10:41

Yochanan έγραψε:
17 Μάιος 2018, 10:31
Eυχαριστώ πολύ για το explain parafrwn! Δεν κατάλαβα τι διαφορά εχει το declaration από το statement. Πώς γίνεται ενα f(x) να δινει διαφορετικο αποτέλεσμα για ίδιο χ??
Γίνεται όταν ο κώδικας της συνάρτησης διαβάζει και χρησιμοποιεί την τιμή μιας μεταβλητής που έχει οριστεί και μπορεί να αλλαχτεί έξω από τη συνάρτηση, π.χ:

- Global variable
- Class variable (αν η συνάρτηση είναι class member function)

Αυτά στις συναρτησιακές γλώσσες απαγορεύονται, και δεν υποστηρίζονται. Τέτοιου είδους μεταβλητές στην ουσία περιγράφουν την κατάσταση του συστήματος (state variables). Όμως σε μία αυστηρά συναρτησιακή γλώσσα όλες οι συναρτήσεις είναι stateless entities.

Άβαταρ μέλους
Yochanan
Δημοσιεύσεις: 16436
Εγγραφή: 31 Μαρ 2018, 13:44
Phorum.gr user: Yochanan

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Yochanan » 17 Μάιος 2018, 10:42

A, that makes sense! Eυχαριστώ πολύ φίλε Ghoul. Tώρα το πιασα. Είσαι ωραίος!
Κυριάκος ο Χρυσογέννητος, του Οίκου των Μητσοτακιδών, Πρώτος του Ονόματός του, Κύριος των Κρητών και των Πρώτων Ελλήνων, Προστάτης της Ελλάδος, Μπαμπάς της Δρακογενιάς, ο Κούλης του Οίνοπα Πόντου, ο Ατσαλάκωτος, ο Απελευθερωτής από τα Δεσμά των Μνημονίων.

Άβαταρ μέλους
Stalker
Δημοσιεύσεις: 5677
Εγγραφή: 17 Μάιος 2018, 08:36
Phorum.gr user: CTAΛKEP

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Stalker » 17 Μάιος 2018, 10:44

Μια ποιο tl;dr: εκδοχή:

Οι συναρτήσεις χρησιμοποιούνται σαν μεταβλητές και τα pipelines σαν συναρτήσεις. Το state κρατείται στο ελάχιστο ενώ δεν επιτρέπεται να ξαναδώσεις τιμή σε μια μεταβλητή μετά τον ορισμό της. Όλα αυτά έχουν πολύ ενδιαφέρουσες συνέπειες όπως ότι π.χ. τώρα το πρόγραμμά σου είναι βασικά μια σειρά από transformations, δημιουργώντας ένα πιο ιδιοσυγκρατικό προγραμματιστικό στυλ, που allegedly οδηγεί σε πιο αποτελεσματικό γράψιμο κώδικα αφού πολλά από τα τυπικά bugs αποκλείονται εξ ορισμού (π.χ. δεν έχει νόημα το null) ενώ αν συγυρίσεις τα προαναφερθέντα transformations μπορείς να κάνεις και την λογική του προγράμματος ελέγξιμη σε compile time, όχι μόνο την εγκυρότητα της σύνταξης.

Επίσης η έλλειψη έμφασης στο state ευνοεί τον ανώδυνο παραλληλισμό.
If reality is the sum of our perceptions, to acquire more varying points of view is to acquire, literally, more reality

Άβαταρ μέλους
Yochanan
Δημοσιεύσεις: 16436
Εγγραφή: 31 Μαρ 2018, 13:44
Phorum.gr user: Yochanan

Re: Γιατί να μάθει κάποιος κάποια συναρτησιακή γλώσσα;

Μη αναγνωσμένη δημοσίευση από Yochanan » 17 Μάιος 2018, 10:50

Ευχαριστώ Stalker και καλωσήρθες στο πχώρουμ! Αν και να πω την αμαρτία μου πιο βατό μου φάνηκε το explain του Ghoul - το δικό σου εικάζω απευθύνεται σε ανώτερο γνωστικό επίπεδο από το δικό μου! Ενδιαφέροντα πράματα αυτά σε κάθε περίπτωση.
Κυριάκος ο Χρυσογέννητος, του Οίκου των Μητσοτακιδών, Πρώτος του Ονόματός του, Κύριος των Κρητών και των Πρώτων Ελλήνων, Προστάτης της Ελλάδος, Μπαμπάς της Δρακογενιάς, ο Κούλης του Οίνοπα Πόντου, ο Ατσαλάκωτος, ο Απελευθερωτής από τα Δεσμά των Μνημονίων.

Απάντηση


  • Παραπλήσια Θέματα
    Απαντήσεις
    Προβολές
    Τελευταία δημοσίευση

Επιστροφή στο “Πληροφορική”

Phorum.com.gr : Αποποίηση Ευθυνών