Επιλογή γλώσσας για να μάθεις προγραμματισμό

Καλησπέρα σε όλους.
Χωρίς να θέλω να δημιουργήσω προστριβές, προτείνετε σε κάποιον αρχάριο να μάθει προγραμματισμό με python…
Εντελώς λάθος! Δεν πρόκειται να μάθει τίποτα, παρά μόνο να γράφει κώδικα αμφιβόλου ποιότητας…
Ο προγραμματισμός δεν είναι βλέπω κάνα 2 tutorials, ψάχνω στο stackoverflow για κομμάτια κώδικα, τα ενώνω όλα μαζί και γίνομαι προγραμματιστής!
Με την python πως θα μάθει κάποιος τι είναι οι μεταβλητές, τι ρόλο παίζουν στην μνήμη του υπολογιστή, πως να διαχειρίζεσαι σωστά τη διαθέσιμη μνήμη και ένα σωρό άλλα ΑΠΑΡΑΙΤΗΤΑ πράγματα που πρέπει να ξέρει κάποιος προγραμματιστής!
Επίσης σε πολλές παρόμοιες συζητήσεις βλέπω ότι οι περισσότεροι λένε στον ενδιαφερόμενο, να μην ξεκινήσει απο C γιατί είναι δύσκολη…
Ακριβώς το αντίθετο πρέπει να κάνει!!! Η C είναι η μητέρα του 90% των σημερινών σύγχρονων γλωσσών προγραμματισμού και ενδείκνυται σε κάποιον που θέλει να ξεκινήσει να μαθαίνει πως λειτουργούν τα πράγματα σε βάθος (στον προγραμματισμό).
Πόσο μάλλον δε σε κάποιον που ασχολείται με το linux!!!
Κάπου ποιο πάνω αναφέρθηκε και το όνομα του Ψούνη.
Είναι πιστεύω ο καλύτερος Έλληνας για να μάθει κάποιος online προγραμματισμό!
Αυτά τα ολίγα απο εμένα!

6 «Μου αρέσει»

Εγώ συγκεκριμένα αναφέρομαι στην εκμάθηση προγραμματισμού. Προσωπικά η γλώσσα μου είναι αδιάφορη (είναι το εργαλείο). Η σκέψη η προγραμματιστική πως καλλιεργείται, εκεί είναι το ζητούμενο.

Συγκεκριμένα μεταξύ των 2 ναι η C είναι δυσκολότερη.

ΥΓ. Το θέμα προφανώς μπορεί να ξεφύγει αλλά καλό είναι να λέμε τα πράγματα στηριζόμενοι σε όσο το δυνατό αντικειμενικά επιχειρήματα και όχι σε προτιμήσεις το καθενός μας.

6 «Μου αρέσει»

Ένα πρώτο ζητούμενο είναι τι εννοεί ο καθένας όταν λέει θέλω να μάθω προγραμματισμό. Και η απάντηση είναι διαφορετική ανάλογα με την περίπτωση. Αν την πάρουμε στην κυριολεξία της η απάντηση είναι μια και μόνο μία. Μια διάλεκτος της LISP όπως η Scheme ή Closure.

Ευτυχώς όμως οι περισσότεροι όταν λένε θέλουν να μάθουν προγραμματισμό, δεν θέλουν αυτό, θέλουν να φτιάχνουν χρήσιμα πράγματα και η Python είναι ίσως η καλύτερη επιλογή (Προσωπικά θεωρώ πως θα έπρεπε να ήταν η Ruby, αλλά αλλιώς τα έφερε η μοίρα).

Όσο για την C είναι η χειρότερη δυνατή επιλογή. Αν πεις για C++ (χωρίς τα αντικείμενα) κάπως καλύτερα, αν πεις όσο λιγότερο πρέπει απο C++ πάνω σε ένα Arduino έχει καλώς.

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

6 «Μου αρέσει»

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

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

Πέραν αυτού, θεωρώ ότι όποιος/α θέλει να ξεκινήσει να ασχολείται να ξεκαθαρίσει τι είναι αυτό που τον ενδιαφέρει.
Αν πχ θέλει να φτιάχνει πράγματα με Arduino κλπ θα του είναι πιο χρήσιμη μια πιο low level γλώσσα όπως η C, γιατί εκεί η θα νιώσει καλύτερα τι επίδραση έχουν αυτά που γράφει.
Αν πάλι στοχεύει στο web με εφαρμογές που έχουν γραφικό περιβάλλον κλπ, τότε ίσως η Python ή η Javascript του φανούν πιο βολικές κι ας μη μπει σε πολλές λεπτομέρειες.

Αφού γίνει η αρχή το αν θα εμβαθύνει σε περισσότερα πράγματα της επιστήμης των υπολογιστών είναι θέμα του πόσο μεράκι και περιέργεια έχει κάποιος. Είναι από τις λίγες (αν όχι η μόνη) από τις επιστήμες που το μεγαλύτερο κομμάτι του υλικού της είναι πολύ εύκολα προσβάσιμο και δεν απαιτεί ειδικό εξοπλισμό για να την εξασκήσεις.
Ένα PC και καφεΐνη κι όλα καλα :stuck_out_tongue:

7 «Μου αρέσει»

Επιτέλους κάποιος το είπε

Όλες οι γλώσσες είναι καλές. Γενικά η αγαπημένη μου οικογένεια γλωσσών είναι η C (και η πρώτη μου επαφή με προγραμματισμό γενικότερα), ενώ η σχολή μου με έχει αναγκάσει να έχω πολύ καλή σχέση με την Java. Στην Python έχω μπει πολύ πρόσφατα, αλλά έχω να πω πως είναι η γλώσσα που απαντά στις ανάγκες των περισσότερων. Μία δική μου παρατήρηση είναι πως όσοι έρχονται από Python ως πρώτη γλώσσα τείνουν να γράφουν πιο τσαπατσούλικο κώδικα, ο οποίος όμως παραμένει λειτουργικός.

Πλέον έχω να πω πως η Python είναι μία αρκετά απλή γλώσσα που ακριβώς για αυτό το λόγο βοηθά κάποιον να μάθει διάφορες έννοιες. Εξάλλου η πληροφορική επιστήμη δεν εκπροσωπείται από καμία γλώσσα. Σημασία έχουν οι έννοιες με αγαπημένη αυτή της αφαιρετικότητας. Το ζήτημα είναι κάποιος να μάθει να σκέφτεται και να προσεγγίζει τα προβλήματα του με μία προγραμματιστική λογική. Η γλώσσα είναι απλά θέμα επιλογής ανάλογα με το πρόβλημα.

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

1 «Μου αρέσει»

Συμφωνω οτι ενας αρχαριος το να ξεκινησει με **C++ ειναι δυσκολη και θα τον απογοητευσει
Ειναι σαν να λες σε εναν ασχετο με linux να ξεκινησει με Arch

Ας μαθει η ας ξεκινησει απο οποια θελει εκτος απο την - κατ εμενα - δυσχρηστη Pascal. Δομημενη τοσο που σου σπαει τα νευρα. Προτεινω την C

Πρώτη εμπειρία με Pascal στο ΙΕΚ, από τον πιο ακατάλληλο καθηγητή που θα μπορούσε να έχει κάποιος, το μόνο που κατάφερε είναι να μην θέλω να ασχοληθώ ποτέ με τον προγραμματισμό :joy:

3 «Μου αρέσει»

εμαθα μονος μου C και εγραψα προγραμμα τοτε για μαθηματικα σε περιβαλλον DOS σε Basic για μαθηματικα πανω σε μητρεσ μεχρι και παιγνιδακι τοτε με τους πυραυλους του Σανταμ.

2 «Μου αρέσει»

Και εγω σε καποιον αρχαριο θα προτεινα C οπως ειπε και καποιος πιο πανω ειναι η μητερα του 90% των γλωσσων που χρησιμοποιουνται σημερα οταν ξεκινησα και εγω καποιος μου ειπε να μαθω πρωτα την c και ειναι αληθεια οταν ηθελα να μαθω καποια νεα γλωσσα ηταν πολυ ευκολο

Νομίζω ότι έγκειται ξεκάθαρα στον στόχο που θέλει να πετύχει κάποιος, όπως προαναφέρθηκε. Καλώς ή κακώς πολλοί προγραμματιστές σήμερα έχουν καταλήξει να είναι end users των υπολογιστών, και να δημιουργούν με γνώμονα την εμφάνιση (κάποιες φορές αποτυγχάνουν και σε αυτό), και όχι την ταχύτητα και την αξιοπιστία των εφαρμογών. Όσον αφορά το low level κομμάτι κάποιων γλωσσών και το αν πρέπει κάποιος να ξέρει τι συμβαίνει στο μηχάνημα, θα αφήσω ένα βιντεάκι πολύ μικρό για όποιον ενδιαφέρεται να δει την σταδιακή βελτίωση ενός πολύ απλού προγράμματος και τι αντίκτυπο έχει στην μνήμη και την επεξεργαστική ισχύ.

2 «Μου αρέσει»

Η python είναι μία εύκολη γλώσσα προγραμματισμού και μπορείς να κάνεις τα πάντα με αυτην. Υπάρχουν βιβλιοθήκες για τα πάντα. Γράφεις web με django, machine learning με sci-kit, ότι θες κάνεις. Επίσης σε περιβάλλον παραγωγής έχει καλές αποδόσεις για διάφορους λόγους που μπορούμε να αναλύσουμε άλλη στιγμή. Εγώ προσωπικά ξέρω καλύτερα java την οποία προτείνω ανεπιφύλακτα επίσης παρά κάποια μειονεκτήματα που έχει παρουσιάσει.

3 «Μου αρέσει»

Καλώς ήρθες @strong-programmer στην παρέα μας :hugs:

Ευχαριστώ φίλε @billniakas. Χαίρομαι που υπάρχει ελληνική κοινότητα για λίνουξ.

5 «Μου αρέσει»

Θυμαμαι τον εαυτο μου πριν 20 κατι χρονια, ο λογος που ηθελα να προγραμματιζω ηταν γιατι ηθελα να φτιαξω το δικο μου παιχνίδι, συγκεκριμενα ηθελα να φτιαξω το δικο μου Legend of Zelda, Super Mario και Diablo – οπωσδήποτε :P Οποτε το ειπα στον μπαμπά μου που ηταν ασχετο με το αντικείμενο και ο άμοιρος πήγε τότε στον Μαλιάρη (βιβλιοπωλείο) και το είπε σε έναν υπάλληλο. Ο υπάλληλος του έδωσε ένα βιβλίο Visual Basic 6.0 και έτσι άρχισα να μαθαίνω Visual Basic νομίζοντας ότι θα φτιάξω έτσι το δικό μου παιχνίδι. Στην τελική τα μόνα παιχνίδια που έφτιαξα ήταν τύπου καζίνο (κουλοχέρης) και στο τέλος κατέληξα να φτιάξω sub7 trojan horses :P

Η πορεία μου ήταν καπως ετσι:
Visual Basic > C > C++ > PHP > Perl > Python > Bash > Go

Πρόσφατα έτυχε και έπαιξα με godot, που εχει από πίσω το GDScript που μοιάζει πολυ με python. Δεν είμαι gamedev αλλά έχω δοκιμάσει να γραψω καποια βασικα με Unity, Unreal και Love2D. Απο όλα αυτά η Godot είναι και δωρεάν και καλύτερη πιστεύω για κάποιον που ξεκινάει τώρα και θέλει να φτιάξει κάτι σε 2D. Οποτε όσοι έχετε παιδιά, σκεφτείτε το. Υπάρχουν πολύ αξιόλογα tutorials για να ξεκινήσει κανείς.

9 «Μου αρέσει»

το ιδιο που πηγα σε ιδιωτικη σχολη να παρακολουθησω μαθηματα C. πιο πολλα ειχα μαθει μονος μου παρα με τα 4-5 μαθηματα που μας εκανε καποιος νεαρος . στο τριτο μαθημα εφυγα. κοροιδια μεγαλη. Το linux το μαθαινω μονος εργαζομενος μ αυτο. Σχεδον ολοι οι καθηγητες πληροφορικης στα σχολεια εκθειαζουν τα WIN και ουτε ν ακουσουν για λινουξ η για Mac. Ετσι μαθαινουν οι μαθητες πληροφορικη. Πληροφορικη γι αυτους ειναι Win.

1 «Μου αρέσει»

Καλησπέρα και από εμένα. Όπως είχα πει και στο καλωσόρισμα, είναι στα ενδιαφέροντά μου να μάθω προγραμματισμό, δε με απασχολεί σε ποιά γλώσσα γιατί δε ξέρω τις δυνατότητες της κάθε γλώσσας. Σκεφτόμουνα την python γιατί είναι της μόδας, παντού αυτή ζητάνε. Η μόνη μου επαφή με το προγραμματισμό, ήταν το μακρινό 2002 με κάποια μαθήματα turbo pascal στο ΤΕΙ. Αυτό όμως που θέλω να κάνω, να μάθω μια γλώσσα πολύ καλά!! Δε λέω να θυμάμαι απέξω τα πάντα, αλλά να μάθω τη δομή της. το τρόπο σκέψης της κτλ. Κατέβασα χτες τον bluefish editor, ψάχνοντας για python στο software manager του ubuntu. Θυμάμαι ότι θα πρέπει να έχω έναν editor και έναν compiler για να φτιάξω το οτιδήποτε, ισχύει ακόμα αυτό ή έχουν αλλάξει τα πράγματα?? Επίσης θα ήθελα να μου προτείνετε κάποιο βιβλίο-οδηγό της γλώσσας που προτείνετε, μεταφρασμένο όπωσδήποτε στα Ελληνικά γιατί δε το 'χω με τα Αγγλικά.

1 «Μου αρέσει»

Καλησπέρα, θα σου πρότεινα την video playlist του Δημήτρη Ψουνή για Python και για C. Έχει και για άλλες γλώσσες, απλά το καλό με τα video είναι ότι το μάθημα γίνεται πιο διαδραστικό και συνεπώς πιο ευχάριστο από ένα βιβλίο (είναι και ο τρόπος του απολαυστικός). Δεν θέλω να μειώσω την αξία των βιβλίων, καθώς αν αποκτήσεις τα βασικά μέσω της διδασκαλίας, θα είσαι ο καταλληλότερος κριτής να επιλέξεις και το αντίστοιχο σύγγραμα σε 2ο χρόνο για να εμβαθύνεις περισσότερο στο μέλλον.

https://www.youtube.com/@psounis

4 «Μου αρέσει»

Εγω επαγγελματικα θα σου μιλησω τι ζηταμε οι περισσοτεροι…

Php java και C. Βεβαια ειναι τι θες να κανεις και με ποιον τομεα θες να ασχοληθεις. Η python οντως ειναι της μοδας αλλα δεν ξερω αν οι δυνατοτητες της ειναι τετοιες για βαρυ επαγγελματικο περιβαλλον. Τωρα αν απλα θελεις να μαθεις κατι εγω θα σου ελεγα κατι σε C γιατι ειναι και απο τις πιο διαδεδομενες.

Τωρα ο @Maras ειπε το πιο σωστο. Ξεκινας με video και κανεις και καποια examples που θα βρεις στο διαδυκτιο. Απο κει και περα προσπαθεις να εξελιξεις τα προγραμματακια σου και βλεπεις αν το εχεις.

*Μου αρεσε η εξελιξη ενος προγραμματος καποια στιγμη εδω μεσα. Ενα εορτολογιο αλλα δεν θυμαμαι το παιδι που προγραμματιζε. Αν δεις ολα τα ποστ θα δεις οτι του λεγαμε ολοι τι θα θελαμε να εχει και ο τυπας το εφτιαχνε. Καπως ετσι λεοτουργει ο προγραμματισμος , ασχετως γλωσσας

2 «Μου αρέσει»