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

Ποια θεωρειται η καλυτερη γλωσσα προγραμματισμου για αναπτυξη εφαρμογων;


work_hard_play_harder

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

Εγώ που είμαι αυτοδίδακτος (δεν μετράνε τα μαθήματα στο ΤΕΙ γιατί ήταν "παιδικά" για τις τότε γνώσεις μου), έχω να παρατηρήσω δυο πράγματα, ένα πλεονέκτημα και ένα μειονέκτημα.

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

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

Μπορεί όμως ποτέ να μη αποκτήσει την "πρόβλεψη" που έχει ο αυτοδίδακτος.Αυτό δεν είναι κακό, όταν του αρέσει αυτό που κάνει! Αν όμως έχει αναζητήσεις από τις οποίες δεν βρίσκει διέξοδο, αρκεί να σκεφτεί ότι δεν είναι ο μόνος....Εγώ έκανα πάνω από δέκα χρόνια να σκεφτώ κάτι πολύ απλό (και έτσι έβαλα αντικείμενα στη Μ2000). Η αποτυχία είναι μέσα στο παιχνίδι της ζωής.

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

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

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

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

  • 2 εβδομάδες αργότερα...

Μια ενναλακτική προσέγγιση που ανακάλυψα πρόσφατα είναι ο συνδυασμός πολλαπλών γλωσσών προγραμματισμού. Έτσι προσωπικά συνδυάζω 2 , την Python και τον Pharo. Python για βιβλιοθήκες που είναι πολυ δυνατός σε αυτόν τον τομέα, Pharo για πολυ ευέλικτη γλώσσα και περιβάλλον που προσφέρει αμεσότητα στον προγραμματισμό.

 

Το βασικό είναι να μάθεις να σκέφτεσαι ως προγραμματιστής το οποίο φυσικά και είναι θέμα εμπειρίας. Αυτό όμως είναι το πιο σημαντικό κομμάτι.

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

Θα τη δω τη γλώσσα! Από μια πρώτη όψη το συντακτικό είναι λίγο μυστήριο (κάπου το := θυμίζει delphi)

 

Είναι πολύ παραπάνω απο μια γλώσσα προγραμματισμού , είναι κάτι σαν λειτουργικό .

 

Βασίζεται πάνω στην Smalltalk σε πολύ μεγάλο βαθμό. Η σύνταξη της γλώσσας είναι τόσο απλή που χωράει σε ένα μικρό κομμάτι χαρτί.

 

http://pharo.org/

 

exampleWithNumber: x    "A method that illustrates every part of Smalltalk method syntax    except primitives. It has unary, binary, and keyboard messages,    declares arguments and temporaries, accesses a global variable    (but not an instance variable), uses literals (array, character,    symbol, string, integer, float), uses the pseudo variables    true, false, nil, self, and super, and has sequence, assignment,    return and cascade. It has both zero argument and one argument blocks."    | y |    true & false not & (nil isNil) ifFalse: [self halt].    y := self size + super size.    #($a #a "a" 1 1.0)        do: [ :each |            Transcript show: (each class name);                       show: ' '].    ^x < y

 

http://files.pharo.org/media/flyer-cheat-sheet.pdf

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

Το  ίδιο είναι και το περιβάλλον της Μ2000 (στο τύπο όχι στην ουσία).

Έχει πυκνό συντακτικό και μου φαίνεται βαρύ σαν φασουλάδα  :-)

Είναι compiler αν κατάλαβα καλά;

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

Το  ίδιο είναι και το περιβάλλον της Μ2000 (στο τύπο όχι στην ουσία).

Έχει πυκνό συντακτικό και μου φαίνεται βαρύ σαν φασουλάδα  :-)

Είναι compiler αν κατάλαβα καλά;

 

ναι και όχι.

 

ο Pharo είναι αρκετά παρόμοιος με τον Python. Δηλαδή έχει VM , byte compiler kαι είναι interpreted ακομα και GIL. Αλλά υπάρχει μια βασική διαφορά, το byte compiling γίνεται όχι επι του αρχείου κωδικα αλλά επι της μεθόδου. Στην ουσία ο Pharo δεν χρησιμοποιεί αρχεία κώδικα επειδή είναι ενα πλήρες live coding enviroment.

 

Αυτο σημαίνει ότι όταν αλλάζεις μια μέθοδο ή ένα αντικείμενο αυτό που γίνεται είναι να γίνει αμέσως byte compiled και να αντικαταστήσει το υπάρχω αντικείμενο που υπάρχει στην μνήμη. Αυτό έχει το πλεονέκτημα ότι δεν χρειάζεται να επανακινήσεις των κωδικά σου για ν δείξει τις αλλαγές που έκανες αλλά πολυ περισσότερο μπορείς να προγραμματίζει ένω ο κώδικα σου ήδη τρέχει. Όταν κάνεις ένας λάθος ανοιγεί ο debugger και σου επιτρέπει να διορθώσεις το λάθος και να συνεχίσεις την εκτέλεση του κώδικα απο εκεί που σταμάτησε χωρίς και πάλι κάποια ανάγκη για επανεκίνηση.

 

Υπάρχουν και άλλα πολλά ωραία στον Pharo. O Pharo είναι εκ μακρά η καλύτερη γλώσσα αντικειμενοστρεφή προγραμματισμού. Οχι πως δεν έχει τα μειονεκτήματα του, αλλά κυρίως είναι το συνήθη προβλήμτατε μια μη δημοφιλής γλώσσα προγραμματισμου όπως documentation, library support, multi platform support (android , ios) κτλ. Τα οποία καλύπτω με τον να τον χρησιμοποιώ μαζί με τον Python.

 

Γενικά ο Pharo δημιουργεί μια άμεση σχέση με τον προγραμματιστή. 

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

Ωραίο αυτό το on demand compiling

Κοίταξα και είδα ότι στα Ubuntu 64bit που τρέχω ...δεν το βάζω! Θέλει ρουτίνες που δεν τις βάζω ούτε για αστείο! Θα το βάλω σε virtualbox με windows.

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

@kilon

 

Γνωρίζεις εάν η γλώσσα αυτή κρατάει το πρότυπο της Smalltalk ή έχει πάρει από Simula;

 

90% Smalltalk θα έλεγα. Στην ουσία είναι μια πολύ μοντέρνα smalltalk. Ξεκίνησε το 2009 ως fork του Squeak. Το Squeak ηταν κυρίως μια μοντέρνα για την εποχή Smalltalk αλλά στραφόταν κυρίως προς παιδία , οι δημιουργοι του Pharo πήραν τον κώδικα του Squeak και άρχισαν να προσθέτουν εργαλεία και βιβλιοθήκες οι οποίες έχουν στόχο τους επαγγελματίες προγραμματιστές.

 

Αυτήν την στιγμή ο Pharo είναι εκ μακράν η πιο μοντέρνα και πιο δημοφιλής open source Smalltalk.

Ωραίο αυτό το on demand compiling

Κοίταξα και είδα ότι στα Ubuntu 64bit που τρέχω ...δεν το βάζω! Θέλει ρουτίνες που δεν τις βάζω ούτε για αστείο! Θα το βάλω σε virtualbox με windows.

 

???

 

Δεν έχω ιδέα για τι πράγμα μιλάς και τι σε φόβησε. Για ubuntu υπαρχεί δυνατότητα να κάνεις install , αλλά υπάρχει και δεύτερη επιλογή χωρίς ανάγκη install να βάλεις τον Pharo σε ένα φάκελο με τον εξής τρόπο. Το ίδιο μπορείς να κάνεις με οποιοδήποτε άλλο λειτουργικό. Πχ έτσι τον έχω εγώ στο MacOS.

 

Ανοιξε το terminal kαι τρέξε τις πιο κάτω εντολές

 

mkdir Pharo

cd Pharo

wget -O- get.pharo.org/alpha+vmLatest | bash

./pharo-ui Pharo.image

 

και αυτό ήταν

αν θες να τον βγάλεις απλά διέγραψε τον φάκελο Pharo.

 

Οτι χρείαζεται θα είναι μέσα σε εκείνο τον φάκελο και δεν θα αγγίξει τους άλλους φακέλους σου.

 

Ένα ακόμα απο τα πλεονεκτήματα του ;)

 

το image file είναι το αρχείο που αποθηκεύει όλο το ζωντανό περιβάλλον. To λεμε live γιατι στη ουσία τα πάντα μέσα στον Pharo είναι instance objects ακόμα και τα classes, if conditions, loops, etc για αυτό και είναι τοσό απλή η σύνταξη της γλώσσας.

 

έτσι το image file είναι ένα memory dump όλου του συστήματος. Πχ παρόμοιο με ένα windows.iso που θα φόρτωνες στο virtualbox. Και εννοείται μπορείς να έχεις πολλαπλα images που είναι σαν έχει πολλαπλά virtual λειτουργικά. Είναι πολύ δυνατό. Δοκίμασε και θα δείς.

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

θέλει τις ia32-libs σε 64bit Ubuntu. Αυτές δεν βάζω! Αλλά θα το δω σε VirtualBox..δεν με ενοχλεί καθόλου!

 

Προφανώς δεν έχεις Ubuntu 14 γιατί πλέον αυτές οι βιβλιοθήκες δεν είναι απαραίτητες. Ναι και σε virtualbox μια χαρά θα δουλέψει, αν και έχει πάρα πολυ GUI και ένα σορό εργαλεία, εμένα καεί μόνο το 2% απο τον ένα απο τους τέσσερις πυρήνες μου. Έχει JIT compiler και είναι πολυ πιο γρήγορο απο Python και άλλες δυναμικές γλώσσες προγραμματισμού, ανάλογες ταχύτητες με PyPy .

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

Τα απογεύματα είμαι στο εργαστήριο μου και εκεί το κατέβασα. Κατάλαβα αυτό περί του όλα σε ένα. Καλό είναι αλλά είναι χαοτικό.  Έχεις κάτι σε step by step..Π.χ. πώς μπορώ να κάνω instances σε αντικείμενα; Υπάρχει New π.χ;

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

Χαοτικό δεν ειναι , το αντίθετο μάλιστα, είναι πολύ οργανομένο. Απλά είναι τεράστιο εργαλείο και προφανώς παίρνει χρόνο να το μάθεις.

 

Ναι πχ instance of Object class assigned to variable x

 

x := Object new.

 

Step by step είναι τα video tutorials μου

 

https://www.youtube.com/playlist?list=PLqbtQ7OkSta0ULYAd7Qdxof851ybh-_m_

 

και αυτό που είναι και πιο ενημερωμένο

 

https://ci.inria.fr/pharo-contribution/view/Books/job/UpdatedPharoByExample/lastSuccessfulBuild/artifact/book-result/UpdatedPharoByExample.pdf

 

Μπορείς επίσης να μα βρείς στο slack ως pharoproject (δωσε μου email για να σου στείλω invitation) και φυσικά μπορεί να μπείς και στο mailing list που είναι και το πιο ενεργό . Η κοινότητα είναι πάρα πολύ φιλόξενη για αρχάριους.

 

http://pharo.org/community

 

η mailing list υπάρχει και σε μορφή φόρουμ

 

http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

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

Δεν ξέρω τι είναι το slack... :eek:

Αλλά υποψιάζομαι ότι είναι άλλο ένα πρόγραμμα που κάνει τον υπολογιστή server (δεν μου αρέσουν αυτά, ευτυχώς μπαίνω μέσω VirtualBox...)

Όταν βρω χρόνο γι΄αυτό θα σου ζητήσω! Ευχαριστώ!

 

 

διαβάζω το pdf τώρα!


$B charCode.  (printit) 66 σωστά...

πάω να του βάλω ελληνικό γράμμα και έμεινα κάγκελο..(ένα κάγκελο έβαλε για γράμμα...τύπου αρχαίου Ελληνικού, με τετράγωνο με Χ) αλλά έβγαλε το 913 άρα πήρε το unicode κανονικά αλλά δεν το δείχνει...γιατί χρησιμοποιεί μυστήρια γραμματοσειρά...Μπορώ να αλλάξω γραμματοσειρά; (είναι το tutorial που βάζει στην αρχή στο Playground...)

για να τρέξει το παρακάτω το μαρκάρεις με block δεξί κλικ και Do it (πρώτη φορά βλέπω τέτοια εκκίνηση...(δεν έχει enter..)

PharoTutorial go.


Transcript 
  show: 'hello';
  show: 'Pharo' ;
  cr.
 
Στη Μ2000...παίζουν ανάποδα οι τελείες!
Για Transcript  {
     .Show "Hello"
     .Show "Pharo"
     .cr
}
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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