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

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

Δημοσ.

Για σας,

 

Ειμαι 14 χρονών και πρόσφατα ξεκίνησα να ασχολούμαι με τον προγραματισμό. Διάλεξα την python ως πρώτη μου γλώσσα αφου διάβασα αρκετά forums τα οποία την συνέστιναν ως γλώσσα για αρχάριους.

 

Έμαθα τα βασικά απο αυτό το online βιβλίο (Link.png Site: LPTHW'>http://learnpythonth...org/']LPTHW ) και αποφάσισα να συνεχίσω σε κάποια άλλη γλώσσα.

 

Μέχρι τώρα σκεφτόμουν κάτι σαν C, C++ ή Java. Θα μπορούσατε μήπως να μου προτείνετε κάποια γλώσσα κατάληλή και game programming;

Δημοσ.

Εφόσον ξεκίνησες πρόσφατα, το πιθανότερο είναι ότι από Python γνωρίζεις

  • τη γραμματική της γλώσσας σε ικανοποιητικό βαθμό (όχι όμως εκτενώς)
  • κάποιες χρήσιμες βιβλιοθήκες που σε διευκολύνουν να κάνεις πέντε πράγματα

και επίσης είναι πιθανό ότι δεν γνωρίζεις

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

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

  • Like 6
Δημοσ.

Καλησπέρα, και εγώ θα σου πρότεινα να υλοποιήσεις κάποια project σε Python ώστε να αυξήσεις την ευχέρεια σου στην Python αλλά και την εμπειρία σου στον προγραμματισμό.

 

Α ναι, βάλε και linux.

  • Like 1
Δημοσ.

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

 

@pmav99: Γιατί να βάλει Linux;

Δημοσ.

@migf1

Σε σειρά αυξανόμενης σοβαρότητας ...

 

1. Γιατί όχι? :P

2. Αν είναι να γίνει geek από μικρός ας το κάνει σωστά :P

3. Προτείνουμε linux, για να εμφυσήσουμε στις νέες γενιές την αγάπη για το ανοικτό λογισμικό (το open source με την ευρεία έννοια)

4. Γιατί η ανάπτυξη προγραμμάτων python (και όχι μόνο) σε linux είναι πιο ευχάριστη-εύκολη από ότι σε windows (εγκατάσταση dependencies κτλ). Θα μου πεις υπάρχει και το cygwin αλλά γιατί να μην πας κατευθείαν στο original?

Δημοσ.

 

 

[offtopic]

@migf1

Σε σειρά αυξανόμενης σοβαρότητας ...

 

1. Γιατί όχι? :P

2. Αν είναι να γίνει geek από μικρός ας το κάνει σωστά :P

3. Προτείνουμε linux, για να εμφυσήσουμε στις νέες γενιές την αγάπη για το ανοικτό λογισμικό (το open source με την ευρεία έννοια)

4. Γιατί η ανάπτυξη προγραμμάτων python (και όχι μόνο) σε linux είναι πιο ευχάριστη-εύκολη από ότι σε windows (εγκατάσταση dependencies κτλ). Θα μου πεις υπάρχει και το cygwin αλλά γιατί να μην πας κατευθείαν στο original?

 

1. Διότι αν βρίσκεται ήδη σε Windows δεν υπάρχει απολύτως κανένας εκπαιδευτικός λόγος που να δικαιολογεί αλλαγή λειτουργικού.

 

2. 3. 4. Προσωπικά δεν βλέπω κανέναν λόγο που τα Windows μπορούν να τον αποθαρρύνουν/δυσκολέψουν σε οτιδήποτε από αυτά που θίγεις. Απεναντίας, σε κάποιες περιπτώσεις μπορεί να τον διευκολύνουν κιόλας (και τούμπαλιν).

 

Για παράδειγμα, το να στήσει ας πούμε GTK+ στα Windows είναι εκπαιδευτικά πολύ πιο χρήσιμη & εποικοδομητική διαδικασία από την αντίστοιχη στο linux. Από την άλλη μεριά, η Python είναι ένας απλός installer στα Windows, nothing more.

 

Το κάθε OS έχει τα συν και τα πλην του, σίγουρα όμως δεν αποθαρρύνουν/δυσκολεύουν κανέναν από το να μάθει να προγραμματίζει. Αυτά που διαβάζω κατά καιρούς περί "programming friendly" φύσης του linux προσωπικά τα εντάσσω στο linux-fanboysism μιας και δεν έχουν απολύτως καμία βάση.

[/offtopic]

 

 

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

Για να αποκτήσεις καλές βάσεις ανεξαρτήτου γλώσσας πρέπει να μάθεις τα εξής (και με την σειρά που τα γράφω)

1. Δομές δεδομένων

2. Αλγόριθμοι και πολυπλοκότητα αλγορίθμων

3. Object oriented programming

4. Databases

5. Design patterns

 

Όλα αυτά σου προτείνω να τα μαθαίνεις και να κάνεις εξάσκηση με το visual studio express http://www.microsoft...windows-desktop που είναι δωρεάν και σε γλώσσα c#. Έτσι θα μάθεις από την αρχή να δουλεύεις σε σύγχρονο περιβάλλον και να χρησιμοποιείς σύγχρονα εργαλεία....

 

Και για να συμπληρώσω, αν κοιτάξεις τις αγγελίες για το τι ζητάει η αγορά σήμερα θα δεις java, .net (c#), php, sql server, oracle, mysql.

c++ πολύ εξιδικευμένα, κυρίως σε embedded programming και η τάση είναι να χρησιμοποιείται όλο και πιο λίγο.

Επίσης ανοδική τάση έχει το mobile programming που είναι σε java και c#.

 

Όσον αφορά το λειτουργικό εκεί ξεκάθαρα windows. Όλοι οι εταιρίες εκεί κάνουν development (άσχετα που στοχεύουν) και δεν βλέπω κάποιο λόγο να αλλάζει αυτό στο μέλλον.

 

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

Επεξ/σία από Retromaniac
Δημοσ.

@migf1

 

Καλημέρα,

 

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

 

Από εκεί και πέρα, ειδικά στο Python ecostystem υπάρχουν ένα σωρό μικροπράγματα που είναι όντως πιο βολικά σε Linux παρά σε windows. Ενδεικτικά αναφέρω ότι όλα τα εργαλεία που συνίσταται να χρησιμοποιείς για package distribution (πχ pip) αλλά και development (πχ virtualenv, virtualenvwrapper) αναπτύσσονται και τεστάρονται κυρίως σε Linux και Mac. Στο παρελθόν είχαν διάφορα θέματα με τα Windows. Και ναι αυτά δεν σε απασχολούν για το hello world, αλλά σε απασχολούν μόλις φύγεις από αυτό. Πιθανά πλέον να είναι καλύτερα τα πράγματα, αλλά δεν ήταν μόνο εκεί το πρόβλημα. Εν πάση περιπτώσει, ακόμα και αν έχουν λυθεί τα παραπάνω, είμαι βέβαιος ότι τέτοιου τύπου προβλήματα θα υπάρχουν και στο μέλλον.

 

Την καλημέρα μου και πάλι.

Δημοσ.

Εγώ από την άλλη θα προτείνω Eclipse αντί για Visual Studio (+ Pydev για Python development). Γιατί Eclipse:

1. FOSS

2. ΤΕΡΑΣΤΙΑ συλλογή με plugins για ότι μπορεί να φανταστεί κανείς. Πολύ πλούσιο οικοσύστημα.

3. Δυνατότητα για development σε ΠΑΡΑ πολλές γλώσσες/πλατφόρμες.

4. Δε σε δένει στα Windows. Τρέχει σε Windows/Linux/Mac OS.

5. Δεν σε δένει στο .NET. Μπορείς παρόλα αυτά να κάνεις .NET development πχ με IronPython. Δυστυχώς δεν υπάρχει κάποιο plugin που να αναπτύσσεται για C#.

 

Αρνητικά του Eclipse:

1. Λόγω του ότι είναι αχανές, steep learning curve

2. Η τελευταία (Juno) έκδοση βιάστηκε να βγεί. To UI είναι πιο άσχημο από παλαιότερες εκδόσεις και πολλές φορές αργό. Από την άλλη, οι εκδόσεις 3.7.2 (Indigo) και 3.8.1 είναι εξαιρετικές.

Δημοσ.

Καλησπέρα,

 

@pmav99:

 

Πιστεύω ακράδαντα πως το να μάθει κανείς πως να προσθέτει νέες διαδρομές στο PATH των Windows δεν είναι αιτία για να αλλάξει λειτουργικό :P

 

Άμα δυσκολευτεί στο να προσθέσει το path τι σε κάνει να πιστεύεις πως θα μπορέσει γενικώς να βγάλει άκρη στο linux?

 

@retromaniac:

 

Σε iPhone χρησιμοποιείται Objective C.

 

@everyone:

 

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

 

Μαθαίνοντας αυτά, που δεν είναι δα και τίποτα το σπουδαίο εφόσον μιλάμε για άνθρωπο που ενδιαφέρεται να μάθει να προγραμματίζει, θα μπορεί κατόπιν να στήνει οποιονδήποτε compiler/interpreter/vm σε οποιοδήποτε IDE του παρέχει δυνατότητα παραμετροποίησης (όπως οφείλουν και κάνουν όλα τα σοβαρά IDE, ειδικά όσα απευθύνονται σε κοινό ανεξαρτήτως πλατφόρμας).

 

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

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...