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

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

2 Likes

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

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

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

4 Likes

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

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

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

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

5 Likes

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

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

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

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

5 Likes

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

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

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

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

1 Like

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

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

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

2 Likes

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

2 Likes

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

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

1 Like

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

3 Likes

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

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

5 Likes