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

Εκμάθηση γλώσσας προγραμματισμού ως χόμπι


Hawk_K

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

1 ώρα πριν, White_Cat είπε

Καλημέρα !

Γράφω χρόνια στο Insomnia και το ύφος γραφής μου το ξέρετε. Επειδή όμως δεν μπορούμε να είμαστε συνέχεια σοβαροί και κάπου-κάπου καλό κάνει και το χιούμορ, νομίζω ότι δικαιούμαι κατ' εξέραιση να γράψω κι εγώ μια τρολιά. Καθαρή τρολιά, στα σοβαρά δεν την παίρνει κανένας.
 "Προτείνω λοιπόν σε έναν αρχάριο ως χόμπυ, να ξεκινήσει να μαθαίνει Common LISP. Common LISP ως πρώτη γλώσσα!!!"

Λοιπόν, για να σοβαρευτούμε, η LISP είναι μία απ' τις παλαιότερες γλώσσες (βγήκε πρώτη φορά το 1958) και ακολουθεί το συναρτησιακό προγραμματιστικό υπόδειγμα. Αυτό ισχύει φυσικά και με άλλες γλώσσες, όπως η Haskell. Αυτό από μόνο του δεν είναι κάτι τόσο ασυνήθιστο.
 Εκείνο όμως που κατά τη γνώμη μου καθιστά τη LISP τρομερά δυσνόητη στο γράψιμο κώδικα, είναι το ότι άμα θέλεις να κάνεις μία μαθηματική πράξη (έστω να προσθέσεις x+y) πρέπει ο τελεστής (+) να μπει πριν απ' τους όρους που προσθέτεις κι όχι ανάμεσά τους, όπως μάθαμε όλοι απ' το νηπιαγωγείο ως το πανεπιστήμιο. Δηλαδή πρέπει να γράψεις (+ ( x y ))
Πραγματικά θα ήθελα κάποιος να με διαφωτίσει αν γνωρίζει με ποιο σκεπτικό οι δημιουργοί της LISP επέλεξαν αυτή τη μορφή (προθεματική μορφή) αντί της ενδοθεματικής μορφής που ξέρουμε όλοι. Ποια πρακτική χρησιμότητα έχει κάτι τέτοιο, πέραν από τη σύγχιση που προκαλεί ; Αφήστε που, λόγω της χρήσης προθεματικής μορφής, γεμίζει ο τόπος αχρείαστες παρενθέσεις...
Συνεπώς, κατά τη γνώμη μου η LISP είναι η πιο "δύστροπη" γλώσσα προγραμματισμού. Υπάρχει κανείς εδώ που να τη χρησιμοποιεί  σήμερα για πρακτικούς σκοπούς ;

Σας ευχαριστώ και συγνώμη για την τρολιά,

Ο Άσπρος Γάτος

Αν θυμάμαι καλά ο τελεστής να είναι μπροστά είναι το φυσιολογικό όσον αφορά την διασύνδεση software-hardware.

Κάπου σε κάτι μαθήματα υπήρχε και αυτό...

Τώρα ότι δεν είναι human readable είναι αλλού παπά ευαγγέλιο.

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

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

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

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

Δημοσιευμένες Εικόνες

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, masteripper είπε

Τώρα ότι δεν είναι human readable είναι αλλού παπά ευαγγέλιο.

Είναι πολύ πιο "human readable" [sic]. 

Προσπερνώντας ότι δεν σε απασχολεί το "reading" αλλά το "comprehension" (και άρα το "readable" δεν ισχύει), τα postfix/prefix notations δεν είναι ambiguous, σε αντίθεση με το infix. 

Στο FB, κατά καιρούς, δημοσιεύονται διάφορα (χαμηλού επιπέδου) memes, όπου ρωτάνε ποιο το αποτέλεσμα της πράξης και ο κόσμος κάνει λάθη. Αυτό, για παράδειγμα, οφείλεται στο ambiguity που έχει το infix notation. 

Στο

3 x 4 + 2 * 1 - 3 

Πρέπει να κάτσεις να βρεις κανόνες και σειρά πράξεων. 

Στο 

3 4 * 2 1 3 - * +

δεν υπάρχει τέτοιο πρόβλημα. Άρα, το postfix/prefix είναι πιο "human readable" από το infix. 

Το πρόβλημα είναι ότι δεν έχουμε μάθει το postfix/prefix και δεν είναι εύκολο σε πολλούς να το καταλαβαίνουν το ίδιο γρήγορα με το infix. 

Υ.Γ. Οι πράξεις από πάνω είναι: (3 * 4) + 2 * (1 - 3)

Τώρα, γιατί pre ή post, μάλλον είναι σαν το ΚΚΕ ΜΛ και ΜΛ ΚΚΕ. :D

Υ.Γ2 Bonus reading: https://en.wikipedia.org/wiki/S-expression

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

Καλημέρα !

Η απάντηση του συναδέλφου με το διακριτικό Sacamerde ήταν πολύ κατατοπιστική. Αυτά δεν τα είχα σκεφτεί περί της σειράς των πράξεων.

Ευχαριστώ ειλικρινα !!!

Ο Άσπρος Γάτος

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

Στις 29/9/2020 στις 1:26 ΜΜ, Hawk_K είπε

Ο λόγος είναι κυρίως χόμπι και προσωπική εξέλιξη, δεν σκοπεύω να γίνω επαγγελματίας προγραμματιστής.

Τι εφαρμογές θα ήθελες να φτιάξεις? Web? mobile? OS? ξεκίνα από ΤΙ είδους εφαρμογή θα σου άρεσε και μετά δες τι επιλογές έχεις σχετικά με το ποιά γλώσσα προγραμματισμού να μάθεις.

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

Βλέπω ότι έχει προχωρησει η συζήτηση. Σας ευχαριστώ όλους για τις απαντήσεις.

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

Επειδή αναφέρθηκαν 2 πράγματα να απαντήσω. 

Πρώτον, δεν έχω κατασταλάξει για το τι θα ήθελα να κάνω. Τώρα σκέφτομαι κάποια dekstop εφαρμογή ή κάτι που θα τρέχιε μέσω rasberrypi για παραδειγμα.Βέβαια μιλάμε και για τεχνολογίες που απογειώνονται καθημερινά, μπορεί σε 1-2 χρόνια να πως πως τα κάνω όλα από το κινητό μου οπότε θέλω ένα προσωπικό mobile app να κάνει κάποια πράγματα. 

Δεύτερον, δεν παράτησα την python την πρώτη φορά λόγω ότι ήταν δύσκολη κτλ. Είναι αλήθεια πως αν δεν νιώθεις 100% την λογική του προγραμματισμού (κάτι που ισχύει και για εμένα) δεν είναι εύκολο να κατανοήσεις την λογική των εντολών που πρέπει να δώσεις. Ίσως χρειάζομαι πιο basic γνώσεις προγραμματισμού πριν προχωρήσω. Είχα σταματήσει γιατί έπεσα πάνω σε αλλαγή δουλειάς και κάπως έτσι με άλλα άγχη στο μαυαλό τα παράτησα. Κάτι αντίστοιχο πάει να γίνει και τώρα, κάθε φορά που λέω να ξεκινήσω αλλάζω δουλειές ή το σκέφτομαι 😁

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

15 λεπτά πριν, Hawk_K είπε

Είναι αλήθεια πως αν δεν νιώθεις 100% την λογική του προγραμματισμού (κάτι που ισχύει και για εμένα) δεν είναι εύκολο να κατανοήσεις την λογική των εντολών που πρέπει να δώσεις.

Για αυτό σου πρότεινα να αρχίσεις να διαβάζεις πιο γενικά συγγράματα και όχι να μαθαίνεις γλώσσες. 

Διάβασε μοντελοποίηση (π.χ.) από τον Booch. 

3 ώρες πριν, White_Cat είπε

Καλημέρα !

Η απάντηση του συναδέλφου με το διακριτικό Sacamerde ήταν πολύ κατατοπιστική. Αυτά δεν τα είχα σκεφτεί περί της σειράς των πράξεων.

Ευχαριστώ ειλικρινα !!!

Ο Άσπρος Γάτος

Να 'σαι καλά. 

Γενικά, το πρόβλημα είναι πως όλο και λιγότεροι φέρονται σαν και εσένα, δηλαδή, εάν δεν ξέρουν κάτι, ρωτάνε και δεν λένε ο,τι τους κατέβει. Για παράδειγμα: 

* Αν θυμάμαι καλά ο τελεστής να είναι μπροστά είναι το φυσιολογικό όσον αφορά την διασύνδεση software-hardware.

* Τώρα ότι δεν είναι human readable είναι αλλού παπά ευαγγέλιο.

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

@Hawk_K

Αφού θες να μάθεις μια γλώσσα προγραμματισμού για hobby μάθε μια για hobby.

Μην παίνεις σε βαθιά νερά για μοντελοποιήσεις, αλγόριθμους, διακριτά μαθηματικά, πιθανότητες, quantum computing κλπ. Δεν θα βγεις ποτέ. Πάνω στα θέματα αυτά έχουν βγει βιβλία επι βιβλίων και είναι πράγματα που ποτέ δεν θα κατανοήσεις αν δεν αφιερώσεις τα νιάτα σου. Αν είχες iq 200 για να μάθεις τέτοια και τόσα πράγματα θα το ήξερες ήδη.

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

Γνώμη μου και πάλι πήγαινε στο web. Σε λίγο καιρό θα μπορείς να κάνεις απλές σελίδες και εφαρμογές. Και άν μετά πας σε backend με python ή php κάνεις παπάδες.

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

Δημοσ. (επεξεργασμένο)
Στις 13/10/2020 στις 2:42 ΜΜ, Hawk_K είπε

 Πρώτον, δεν έχω κατασταλάξει για το τι θα ήθελα να κάνω. Τώρα σκέφτομαι κάποια dekstop εφαρμογή ή κάτι που θα τρέχιε μέσω rasberrypi για παραδειγμα.Βέβαια μιλάμε και για τεχνολογίες που απογειώνονται καθημερινά, μπορεί σε 1-2 χρόνια να πως πως τα κάνω όλα από το κινητό μου οπότε θέλω ένα προσωπικό mobile app να κάνει κάποια πράγματα. 

Δεύτερον, δεν παράτησα την python την πρώτη φορά λόγω ότι ήταν δύσκολη κτλ. Είναι αλήθεια πως αν δεν νιώθεις 100% την λογική του προγραμματισμού (κάτι που ισχύει και για εμένα) δεν είναι εύκολο να κατανοήσεις την λογική των εντολών που πρέπει να δώσεις. Ίσως χρειάζομαι πιο basic γνώσεις προγραμματισμού πριν προχωρήσω. Είχα σταματήσει γιατί έπεσα πάνω σε αλλαγή δουλειάς και κάπως έτσι με άλλα άγχη στο μαυαλό τα παράτησα. Κάτι αντίστοιχο πάει να γίνει και τώρα, κάθε φορά που λέω να ξεκινήσω αλλάζω δουλειές ή το σκέφτομαι 😁

Δεν είναι εύκολο να φτιάξεις ακόμα και ένα απλό πρόγραμμα από το μηδέν γιατί πρέπει πρώτα να διαβάσεις και να ψάξεις πολύ σχετικά με την αρχιτεκτονική του software(ειδικά αν η εφαρμογή σου επικοινωνεί με άλλες) και τις αναγκαίες βιβλιοθήκες και γενικότερα εργαλεία για να το ολοκληρώσεις.

Αν ξεκινήσεις από VBA+Excel ή Access έχεις ήδη ένα έτοιμο πρόγραμμα το οποίο προσπαθείς να βελτιώσεις με μια έτοιμη βιβλιοθήκη. Η VBA θα σε μάθει να χειρίζεσαι objects, methods και συναρτήσεις της εκάστοτε library ώστε να πετύχεις ένα Χ αποτέλεσμα. Από εκεί ξεκινούν όλα.

Προσπάθησε π.χ. να γράψεις κώδικα που να μορφοποιεί κελιά και μεμονωμένες λέξεις μέσα σε αυτά με κάποια κριτήρια. Ακούγεται απλό. Είναι αδύνατο να το κάνεις αν δεν ξέρεις να ψάχνεις σε μια Library για να βρεις τα αντικείμενα στα οποία θες να αναφερθείς. Αν δεν καταλαβαίνεις ότι τα γράμματα σε ένα κελί είναι objects του κελιού π.χ. Αν δεν ξέρεις ποια συνάρτηση ή συναρτήσεις σε συνδυασμό σου επιτρέπουν με πλάγιο τρόπο(διαφορετικό από την κοινή λογική) να εφαρμόσεις τα κριτήριά σου. 

Η python είναι μια VBA με άλλες λέξεις και συντακτικό. Τουλάχιστον σε βασικό επίπεδο. Conditional, looping statements, events, classes κτλ. υπάρχουν παντού. Δεν μετράει η γλώσσα καθόλου. Αλλά το πώς χειρίζεσαι τα εργαλεία της γλώσσας. Ειδικά αν έχεις δουλειά που έχει να κάνει με δεδομένα(π.χ. οικονομικά, βιολογία κτλ.) τότε είναι μεγάλο αβαντάζ η VBA ή η Javascript. Όχι τόσο σαν γλώσσες, αλλά σαν εργαλεία για να πάρεις το 100% του Excel και της Access.

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

Δημοσ. (επεξεργασμένο)
Στις 13/10/2020 στις 2:59 ΜΜ, Sacadmerde είπε

* Αν θυμάμαι καλά ο τελεστής να είναι μπροστά είναι το φυσιολογικό όσον αφορά την διασύνδεση software-hardware.

Ακριβώς...τώρα για μένα δεν είναι πολύ  readable με τον τελεστή μπροστά...άν κάποιους τους βολέυει άλλη υπόθεση...φαντάζομαι τους είναι φυσιολογικό και αυτό

 

images.jpg

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

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, masteripper είπε

τώρα για μένα δεν είναι πολύ  readable με τον τελεστή μπροστά

Για κανέναν (ή σχεδόν κανένα) δεν είναι readable. Αυτό όμως δεν έχει να κάνει με την αναπαράσταση αλλά με το πώς έχουμε εκπαιδευτεί. Όπως δεν σου είναι readable τα Κινέζικα, αλλά στους Κινέζους είναι.

Έτσι και με αυτή την αναπαράσταση, εάν είχαμε εκπαιδευτεί να την διαβάζουμε τότε θα μας ήταν "readable". 

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

Στις 13/10/2020 στις 2:42 ΜΜ, Hawk_K είπε

Βλέπω ότι έχει προχωρησει η συζήτηση. Σας ευχαριστώ όλους για τις απαντήσεις.

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

Επειδή αναφέρθηκαν 2 πράγματα να απαντήσω. 

Πρώτον, δεν έχω κατασταλάξει για το τι θα ήθελα να κάνω. Τώρα σκέφτομαι κάποια dekstop εφαρμογή ή κάτι που θα τρέχιε μέσω rasberrypi για παραδειγμα.Βέβαια μιλάμε και για τεχνολογίες που απογειώνονται καθημερινά, μπορεί σε 1-2 χρόνια να πως πως τα κάνω όλα από το κινητό μου οπότε θέλω ένα προσωπικό mobile app να κάνει κάποια πράγματα. 

Δεύτερον, δεν παράτησα την python την πρώτη φορά λόγω ότι ήταν δύσκολη κτλ. Είναι αλήθεια πως αν δεν νιώθεις 100% την λογική του προγραμματισμού (κάτι που ισχύει και για εμένα) δεν είναι εύκολο να κατανοήσεις την λογική των εντολών που πρέπει να δώσεις. Ίσως χρειάζομαι πιο basic γνώσεις προγραμματισμού πριν προχωρήσω. Είχα σταματήσει γιατί έπεσα πάνω σε αλλαγή δουλειάς και κάπως έτσι με άλλα άγχη στο μαυαλό τα παράτησα. Κάτι αντίστοιχο πάει να γίνει και τώρα, κάθε φορά που λέω να ξεκινήσω αλλάζω δουλειές ή το σκέφτομαι 😁

Προσωπικα με python ειχα ξεκινησει, ηταν καπως παραξενα τα πραγματα. Δηλαδη γιατι πρεπει να εισαι τοσο συγκεκριμενος για να κανεις κατι; Σε καθε περιπτωση δεν θυμαμαι ποτε μου εγινε φυσικο, αλλα δεν αργησε και πολυ.

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

Στις 13/10/2020 στις 2:42 ΜΜ, Hawk_K είπε

Βλέπω ότι έχει προχωρησει η συζήτηση. Σας ευχαριστώ όλους για τις απαντήσεις.

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

Επειδή αναφέρθηκαν 2 πράγματα να απαντήσω. 

Πρώτον, δεν έχω κατασταλάξει για το τι θα ήθελα να κάνω. Τώρα σκέφτομαι κάποια dekstop εφαρμογή ή κάτι που θα τρέχιε μέσω rasberrypi για παραδειγμα.Βέβαια μιλάμε και για τεχνολογίες που απογειώνονται καθημερινά, μπορεί σε 1-2 χρόνια να πως πως τα κάνω όλα από το κινητό μου οπότε θέλω ένα προσωπικό mobile app να κάνει κάποια πράγματα. 

Δεύτερον, δεν παράτησα την python την πρώτη φορά λόγω ότι ήταν δύσκολη κτλ. Είναι αλήθεια πως αν δεν νιώθεις 100% την λογική του προγραμματισμού (κάτι που ισχύει και για εμένα) δεν είναι εύκολο να κατανοήσεις την λογική των εντολών που πρέπει να δώσεις. Ίσως χρειάζομαι πιο basic γνώσεις προγραμματισμού πριν προχωρήσω. Είχα σταματήσει γιατί έπεσα πάνω σε αλλαγή δουλειάς και κάπως έτσι με άλλα άγχη στο μαυαλό τα παράτησα. Κάτι αντίστοιχο πάει να γίνει και τώρα, κάθε φορά που λέω να ξεκινήσω αλλάζω δουλειές ή το σκέφτομαι 😁

if helps....

https://www.dataplatform.gr/python-from-zero-to-hero/

https://www.dataplatform.gr/ti-einai-i-vba-kai-pos-ginetai-i-chrisi-tis-s/

https://www.dataplatform.gr/chrisimes-vba-roytines-sto-microsoft-excel-part-1/

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

Δημοσ. (επεξεργασμένο)

Υπάρχουν εκπαιδευτικές γλώσσες για χόμπυ Αν και οι περισσότερες είναι κλειστές δηλαδή φτιάχνεις κάτι σε ένα περιβάλλον και μένει σε αυτό χωρίς να υπάρχει δράση μεταξύ του προγράμματος και του υπολογιστή, όπως το να εξάγει αποτελέσματα. Στo CIE 2020, συνέδριο για εκπαιδευτικούς γίνεται αναφορά για αρκετά περιβάλλοντα, ακόμα και για κατασκευές με Arduino. Δηλαδή χόμπυ μπορεί να γίνει με γλώσσες πάνω σε έτοιμα περιβάλλοντα που σε πάνε από το χεράκι να μάθεις διάφορα και να διασκεδάσεις δημιουργικά 

Για τη Lisp, ας σκεφτούμε οτι την εποχή που φτιάχτηκε υπήρχαν περιορισμοί στη μνήμη και με το σκεπτικό ότι και η πράξη είναι συνάρτηση όλα τα ονόματα συναρτήσεων προηγούνται των ορισμάτων τους. Αυτό για τη Lisp. Υπάρχουν άλλες γλώσσες όπως η Julia για μαθηματικούς, που αλλάζει τους κανόνες!

Για τον επίδοξο χομπίστα. Η γλώσσα έρχεται δεύτερη. Το πρώτο πράγμα είναι το τι θες να κάνεις. Πχ τρισδιάστατα παιχνίδια; Απλά text adventures;  Σκάκι η τάβλι; Θες να ασχοληθείς με parsing δεδομένων (τι χόμπι να είναι αυτό!).... Προσδιόρισε τι θες να κάνεις!

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

38 λεπτά πριν, solarpower είπε

Υπάρχουν άλλες γλώσσες όπως η Julia για μαθηματικούς

Πώς ακριβώς η Julia είναι για μαθηματικούς;

38 λεπτά πριν, solarpower είπε

που αλλάζει τους κανόνες!

Τι κανόνες αλλάζει; 

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

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.

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