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

Νέες γλώσσες προγραμματισμού


brute-force

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

Τα τελευταία χρόνια αναπτύσσονται αρκετές αξιόλογες γλώσσες προγραμματισμού. Άξιο αναφοράς είναι ότι οι περισσότερες (αν όχι όλες) από αυτές δίνουν μεγάλη βάση στην απόδοση. Tρανά παραδείγματα οι Nimrod, Go, Rust, D*. Έχετε ασχοληθεί με κάποια/κάποιες από αυτές (ή κάποια άλλη καινούργια που κινείται σε διαφορετικά πλαίσια πχ. Julia) ; Ποιά η γνώμη σας;

 

*Η D έχει δημιουργηθεί πάνω από μια δεκαετία αλλά τα τελευταία χρόνια μόλις έχει αρχίσει να γίνεται πιο γνωστή με τη χρήση της στο Facebook.

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

Είχα παίξει λίγο με D εγώ αρκετά παλαιότερα. Φ-ο-β-ε-ρ-ή γλώσσα, αλλά δυστυχώς πολύ απομονωμένη (τότε τουλάχιστον). Σήμερα δεν θυμάμαι τίποτα :P

 

ΥΓ. Δεν το ήξερα πως την χρησιμοποιούν στο facebook. Καλή φάση. Η γλώσσα σίγουρα αξίζει μεγαλύτερης δημοφιλίας.

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

Είχα παίξει λίγο με D εγώ αρκετά παλαιότερα. Φ-ο-β-ε-ρ-ή γλώσσα, αλλά δυστυχώς πολύ απομονωμένη (τότε τουλάχιστον). Σήμερα δεν θυμάμαι τίποτα :P

 

ΥΓ. Δεν το ήξερα πως την χρησιμοποιούν στο facebook. Καλή φάση. Η γλώσσα σίγουρα αξίζει μεγαλύτερης δημοφιλίας.

Yep, έχουν open source δύο εργαλεία μάλιστα.

https://github.com/facebook/flint

https://github.com/facebook/warp

Ο Andrei Alexandrescu είναι ο λόγος που η γλώσσα έχει αναγεννηθεί μέσα από τις στάχτες της και πλέον βγάζει το ψωμί του στο Facebook στο τμήμα Research. Research + D = προφανώς έχουν πειστεί εξετάζεται η D ως καλύτερη επιλογή από τη C++ και έχουν αρχίσει να αλλάζουν τμήματα του infrastracture τους.

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

Yep, έχουν open source δύο εργαλεία μάλιστα.

https://github.com/facebook/flint

https://github.com/facebook/warp

Ο Andrei Alexandrescu είναι ο λόγος που η γλώσσα έχει αναγεννηθεί μέσα από τις στάχτες της και πλέον βγάζει το ψωμί του στο Facebook στο τμήμα Research. Research + D = προφανώς έχουν πειστεί εξετάζεται η D ως καλύτερη επιλογή από τη C++ και έχουν αρχίσει να αλλάζουν τμήματα του infrastracture τους.

Εκτός του FB δεν έχω καταφέρει να βρω άλλα projects για D. Mοιάζει, ακόμη, αρκετά απομονωμένη.

 

Όσον αφορά την Julia, έχω μια αφελή απορία: τί παραπάνω καταφέρνει π.χ. από την Haskell;

 

H δε Nimrod -καίτοι πολύ ενδιαφέρουσα- φοβάμαι ότι δεν θα έχει μέλλον. Αν δεν κάνω λάθος ο δημιουργός της είναι ακαδημαϊκός -η δε ομάδα που έχει κοντά του είναι πολλή μικρή.

 

Aπό όσες ανάφερες, μάλλον η Go έχει πιθανότητες για ελπιδοφόρο μέλλον (αν και επειδή βρίσκεται η Google από πίσω θα περίμενα να έχει πιο ανοδική πορεία).

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

Εκτός του FB δεν έχω καταφέρει να βρω άλλα projects για D. Mοιάζει, ακόμη, αρκετά απομονωμένη.

Όντως πέρα από το Facebook δεν υπάρχει κάποιο άλλο success story μέχρι στιγμής για την D και αν ποτέ γίνει γνωστή (δηλαδή γνωστή πέρα από τους κύκλους των hardcore προγραμματιστών) τότε αυτό θα αργήσει πολύ...

Όσον αφορά την Julia, έχω μια αφελή απορία: τί παραπάνω καταφέρνει π.χ. από την Haskell;

Η Haskell για διάφορους λόγους δεν ενδεικνύεται για scientific computing, πεδίο το οποίο στοχεύει η Julia. Μια πιο σωστή ερώτηση θα ήταν τι παραπάνω καταφέρνει από Matlab ή το SciPy, κάτι που δεν γνωρίζω. Πάντως όντας μέλος της οικογένειας Lisp, πολλοί γερόλυκοι Lispers την βρίσκουν με Julia.

H δε Nimrod -καίτοι πολύ ενδιαφέρουσα- φοβάμαι ότι δεν θα έχει μέλλον. Αν δεν κάνω λάθος ο δημιουργός της είναι ακαδημαϊκός -η δε ομάδα που έχει κοντά του είναι πολλή μικρή.

 Δυστυχώς η κοινότητα γύρω από τη Nimrod είναι πολύ μικρή, έχουν όμως κάνει τρομερή δουλειά, κάτι που αποτυπώνεται σε όλα (όσα έχω διαβάσει εγώ τουλ.) τα σχόλια για τη γλώσσα: πάρα πολύ θετικά. Ο δημιουργός της δεν έχει καμία σχέση με ακαδημαϊκό.

Aπό όσες ανάφερες, μάλλον η Go έχει πιθανότητες για ελπιδοφόρο μέλλον (αν και επειδή βρίσκεται η Google από πίσω θα περίμενα να έχει πιο ανοδική πορεία).

Λάθος που κάνει όποιος δεν έχει ασχοληθεί με τη γλώσσα (και μην το πάρεις προσωπικά). Ακολουθώ τις εξελίξεις γύρω από τη Go περίπου 2 χρόνια τώρα (πλέον δουλέυω και επαγγελματικά πάνω σε Go) και ουδέποτε παρατήρησα τη Google να "βρίσκεται από πίσω" -όχι τουλάχιστον με την εμπορική έννοια όπως έκανε κάποτε η Sun με τη Java. Fact: Ξεκίνησε σαν 20% project από τρεις developers γιατί είχαν κουραστεί να χρησιμοποιούν C++. Για να μην τα πολυλογώ, γιατί έγραφα ένα άλλο ποστ πριν και σβήστηκε, κύριοι λόγοι για το που βρίσκεται η Go είναι η κοινότητα της (Docker, Soundcloud, CoreOS, Dropbox και πολλοί άλλοι)

 

ps. another fact μιας και τα παρακολουθούμε, η Apple ξεκίνησε να προσλαμβάνει Go developers. Πριν ξεκινήσει η Google.

ps#2. η αλήθεια είναι ότι η Google "προσέλαβε" μερικούς προγραμματιστές από το 2009 και μετά όταν η γλώσσα ήταν έτοιμη και έγινε open-sourced, αλλά όλα έγιναν internally. Πλέον γύρω στους 20 developers απαρτίζουν την core ομάδα της Go μέσα στη Google.

 

Να προσθέσω ότι και η Rust έχει πάρα πολύ μέλλον. Beware.

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

Όντως πέρα από το Facebook δεν υπάρχει κάποιο άλλο success story μέχρι στιγμής για την D και αν ποτέ γίνει γνωστή (δηλαδή γνωστή πέρα από τους κύκλους των hardcore προγραμματιστών) τότε αυτό θα αργήσει πολύ...

Η Haskell για διάφορους λόγους δεν ενδεικνύεται για scientific computing, πεδίο το οποίο στοχεύει η Julia. Μια πιο σωστή ερώτηση θα ήταν τι παραπάνω καταφέρνει από Matlab ή το SciPy, κάτι που δεν γνωρίζω. Πάντως όντας μέλος της οικογένειας Lisp, πολλοί γερόλυκοι Lispers την βρίσκουν με Julia.

 Δυστυχώς η κοινότητα γύρω από τη Nimrod είναι πολύ μικρή, έχουν όμως κάνει τρομερή δουλειά, κάτι που αποτυπώνεται σε όλα (όσα έχω διαβάσει εγώ τουλ.) τα σχόλια για τη γλώσσα: πάρα πολύ θετικά. Ο δημιουργός της δεν έχει καμία σχέση με ακαδημαϊκό.

Λάθος που κάνει όποιος δεν έχει ασχοληθεί με τη γλώσσα (και μην το πάρεις προσωπικά). Ακολουθώ τις εξελίξεις γύρω από τη Go περίπου 2 χρόνια τώρα (πλέον δουλέυω και επαγγελματικά πάνω σε Go) και ουδέποτε παρατήρησα τη Google να "βρίσκεται από πίσω" -όχι τουλάχιστον με την εμπορική έννοια όπως έκανε κάποτε η Sun με τη Java. Fact: Ξεκίνησε σαν 20% project από τρεις developers γιατί είχαν κουραστεί να χρησιμοποιούν C++. Για να μην τα πολυλογώ, γιατί έγραφα ένα άλλο ποστ πριν και σβήστηκε, κύριοι λόγοι για το που βρίσκεται η Go είναι η κοινότητα της (Docker, Soundcloud, CoreOS, Dropbox και πολλοί άλλοι)

 

ps. another fact μιας και τα παρακολουθούμε, η Apple ξεκίνησε να προσλαμβάνει Go developers. Πριν ξεκινήσει η Google.

ps#2. η αλήθεια είναι ότι η Google "προσέλαβε" μερικούς προγραμματιστές από το 2009 και μετά όταν η γλώσσα ήταν έτοιμη και έγινε open-sourced, αλλά όλα έγιναν internally. Πλέον γύρω στους 20 developers απαρτίζουν την core ομάδα της Go μέσα στη Google.

 

Να προσθέσω ότι και η Rust έχει πάρα πολύ μέλλον. Beware.

Καλησπερά.

 

Μερικά σημεία:

 

1. Όσον αφορά την Haskell, αναφερόμουν/σκεπτόμουν τον λάμδα λογισμό -και εκεί (από όσο έχω ακούσει) τα πάει καλύτερα -ως πιό μοντέρνα- από την οικογένεια των Lisp. O λόγος για αυτό είναι το "δέσιμό" της με την θεωρία των κατηγοριών (προσαρμοσμένη στην πληροφορική βεβαίως).

 

2. Με τον όρο scientific computing δεν είχα υπ' όψιν μου μόνο τα αριθμητικά αλλά και άλλα (αναλυτικά/συμβολικά, αποδείξεις θεωρημάτων, κ.ο.κ.).

 

3. Έχεις δίκαιο για τον δημιουργό της Nimrod. Θυμώμουν λάθος -αλλά σωστά περί του μεγέθους της ομάδος.

 

4. Στο θέμα της Go με παρεξήγησες -ίσως και εγώ δεν εκφράστηκα καλώς. Ο βασικός dev είναι ο Rob Pike (του Plan 9), o oποίος μαζί με τον K. Thomson ανέπτυξαν την Go (σε στυλ "C done right"). Αυτό που ήθελα να πω, είναι ότι η Google, ούσα εργοδότρια τους θα μπορούσε να σπονσοράρει καλύτερα και περισσότερο την Go (ακόμη και η Dart, νομίζω, έχει πιό πολλή προβολή). Τα υπόλοιπα που γράφεις δεν τα γνώριζα και δεν θα είχα λόγο να τα αμφισβητήσω.

 

5. H Rust έχει μέλλον (πάλι, σαν "C++ done right", αυτήν την φορά) αλλά ακόμη βρίσκεται σε νηπειακό στάδιο.  

 

ΥΓ. Kάποια στιγμή σκεφτόμουν να ασχοληθώ με την Go. Ίσως να σε ενοχλήσω (για αναφορές/συμβουλές κ.λπ.) -αν και όταν ;)

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

4. Στο θέμα της Go με παρεξήγησες -ίσως και εγώ δεν εκφράστηκα καλώς. Ο βασικός dev είναι ο Rob Pike (του Plan 9), o oποίος μαζί με τον K. Thomson ανέπτυξαν την Go (σε στυλ "C done right"). Αυτό που ήθελα να πω, είναι ότι η Google, ούσα εργοδότρια τους θα μπορούσε να σπονσοράρει καλύτερα και περισσότερο την Go (ακόμη και η Dart, νομίζω, έχει πιό πολλή προβολή). Τα υπόλοιπα που γράφεις δεν τα γνώριζα και δεν θα είχα λόγο να τα αμφισβητήσω.

 Όντως θα μπορούσε να την σπονσοράρει πολύ καλύτερα και επίσης όντως η Dart έχει μεγαλύτερη ώθηση από τη Google. Όπως και να έχει η Go αυτή τη στιγμή έχει ένα πλούσιο οικοσύστημα τριγύρω της και σιγά σιγά η Google το συνειδητοποιεί. Ήδη έχει βάλει μπροστά ένα project μεταξύ άλλων πάνω στο οποίο θα βοηθήσουν IBM και Microsoft, ενώ φαντάζομαι η χρήση της γλώσσας εσωτερικά έχει αυξηθεί πολύ.

ΥΓ. Kάποια στιγμή σκεφτόμουν να ασχοληθώ με την Go. Ίσως να σε ενοχλήσω (για αναφορές/συμβουλές κ.λπ.) -αν και όταν ;)

Ευχαρίστως να βοηθήσω. :)
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 Όντως θα μπορούσε να την σπονσοράρει πολύ καλύτερα και επίσης όντως η Dart έχει μεγαλύτερη ώθηση από τη Google. Όπως και να έχει η Go αυτή τη στιγμή έχει ένα πλούσιο οικοσύστημα τριγύρω της και σιγά σιγά η Google το συνειδητοποιεί. Ήδη έχει βάλει μπροστά ένα project μεταξύ άλλων πάνω στο οποίο θα βοηθήσουν IBM και Microsoft, ενώ φαντάζομαι η χρήση της γλώσσας εσωτερικά έχει αυξηθεί πολύ.

Ευχαρίστως να βοηθήσω. :)

ΟΚ. Ευχαριστώ για την καλή πρόθεση.

 

Α να ρωτήσω κάτι άλλο: θα υπήρχε νόημα στην σύγκριση ανάμεσα σε C και Go; Καταλαβαίνω ότι π.χ. μόνο η τεράστια ύπαρξη βιβλιοθηκών και projects είναι σίγουρα υπέρ της C αλλά ρωτάω για την "δυναμική" -και τις δυνατότητες/εξέλιξη.

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

ΟΚ. Ευχαριστώ για την καλή πρόθεση.

 

Α να ρωτήσω κάτι άλλο: θα υπήρχε νόημα στην σύγκριση ανάμεσα σε C και Go; Καταλαβαίνω ότι π.χ. μόνο η τεράστια ύπαρξη βιβλιοθηκών και projects είναι σίγουρα υπέρ της C αλλά ρωτάω για την "δυναμική" -και τις δυνατότητες/εξέλιξη.

Από μια άποψη ναι αλλά 1) για να συγκριθεί οποιαδήποτε γλώσσα με τη C θα πρέπει να έχουν παρόμοια απόδοση- η Go ναι μεν μέχρι στιγμής έχει καλή απόδοση αλλά δεν είναι ακόμα στο επίπεδο της C. Πάντως με τον καιρό πιστεύω θα φτάσει. Ευτυχώς η κατεύθυνση που υπάρχει στους developers της Go για τα επόμενα releases είναι κυρίως tuning των εργαλείων (compiler, linker, garbage collector κλπ) under the hood παρά προσθήκη νέων features. Πολύ ευχάριστο. 2) H Go είναι πολλά παραπάνω από τη C. Co-signed από τους προγραμματιστές που έχουν αφήσει Ruby, Python, Node.js για την Go. Και είναι πολλοί.

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

Από μια άποψη ναι αλλά 1) για να συγκριθεί οποιαδήποτε γλώσσα με τη C θα πρέπει να έχουν παρόμοια απόδοση- η Go ναι μεν μέχρι στιγμής έχει καλή απόδοση αλλά δεν είναι ακόμα στο επίπεδο της C. Πάντως με τον καιρό πιστεύω θα φτάσει. Ευτυχώς η κατεύθυνση που υπάρχει στους developers της Go για τα επόμενα releases είναι κυρίως tuning των εργαλείων (compiler, linker, garbage collector κλπ) under the hood παρά προσθήκη νέων features. Πολύ ευχάριστο. 2) H Go είναι πολλά παραπάνω από τη C. Co-signed από τους προγραμματιστές που έχουν αφήσει Ruby, Python, Node.js για την Go. Και είναι πολλοί.

Νομίζω ότι στα άμεσα σχέδια είναι:

1. Το να γίνει compile στον εαυτό της.

2. Να υπάρξει κάποιο gui toolkit (ή να ενταθεί η υποστήριξη για gtk)

αν δεν κάνω λάθος.

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

Στα άμεσα σχέδια είναι να μεταφραστεί όλη η αλυσίδα εργαλείων (compiler, garbage collector, κλπ) από τη C στη Go. Το 1. που είπες με άλλα λόγια. Αυτό για gui δεν το γνωρίζω αν και φαντάζομαι το έχουν σκεφτεί.

 

btw μια άλλη νέα γλώσσα που δεν ανέφερα στο αρχικό ποστ και αξίζει είναι η Elm. Συναρτησιακός προγραμματισμός και web development όχι στα καλύτερα τους αλλά blended together βγάζοντας πολύ ωραίο αποτέλεσμα. Ακόμα είναι νωρίς και για την Elm αλλά φαίνεται πολλά υποσχόμενη και η γλώσσα και τα εργαλεία που αναπτύσσονται τριγύρω της, λόγου χάρη ο time-travel (!) debugger της.

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

Αυτό που μου ποστάρεις είναι ένα blogpost-πρόταση ενός "hobby programmer" όπως αυτοαποκαλείται, ο οποίος μάλλον δεν έχει και πολύ σχέση με την κύρια oμάδα ανάπτυξης. Αν θέλεις να παρακολουθείς τι πραγματικά συμβαίνει, τότε το καλύτερο μέρος είναι εδώ.

 

πχ. τι ετοιμάζεται για το επόμενο (1.4) release?

https://groups.google.com/forum/#!topic/golang-dev/eqBihsj7x-k

golang.org/s/go14todo

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

  • 1 μήνα μετά...

Ασχολούμαι ενεργά και αποκλειστικά με  Pharo τον τελευταίο χρόνο και είμαι πολύ ευχαριστημένος. Μπορώ να πω ότι μετά απο 25 χρόνια χαλαρής ασχολίας με προγραμματισμό και έχοντας κάνει μια γύρα από όλες τις δημοφιλές γλώσσες προγραμματισμού βρήκα επιτέλους αυτό που έψαχνα πάντα τον "Φάρο" :

 

http://pharo.org/

 

Πέρα απο την απέραντη αγάπη μου για την θάλασσα , ο Pharo μου δίνει αυτό που πάντα έψαχνα μια απλή και πολυ εύλικτη γλώσσα προγραμματισμού σε ένα ενσωματομένο περιβάλλον (IDE) . Ημουν πάντα οπαδός της  Delphi επείδη έχει ενα πολύ ωραία σχεδιασμένο IDE και python λόγω της απλότητας και της δυναμικότητας της γλώσσας. Έψαχνα κάτι που συνδυάζει και τα δύο αλλά ο Pharo μου έδωσε κάτι πιο σπουδαίo. 

 

Live coding. 

 

Live coding σημαίνει ότι προγραμματίζεις ενώ το πρόγραμμα τρέχει. Σε περίπτωση error το πρόγραμμα απλά παγώνει σου βγάζει τον debugger σε αφήνει να διορθώσεις το λάθος και απλά να συνεχίσεις . Αυτό αλλάζει εντελώς το τρόπο προγραμματισμού και σου δίνει μια αμέση σχέση με το πρόγραμμα. 

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

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

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

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

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

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

Σύνδεση

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

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