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

Μετακίνηση σε Rust


antirix024

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

Καλημέρα. Εργάζομαι ως προγραμματιστής 20 χρόνια. Ξεκίνησα να βγάζω λεφτά με Java και τα τελευταία 7-8 σταθερά Python/Django. Συνεργάζομαι με ένα ερευνητικό ίδρυμα και έχουμε στήσει όλο το infra structure σε Python/Django/Postgres και όλα τα Project αντίστοιχα στο ίδιο stack. Το 90% των εφαρμογών αφορά τη συλλογή και επεξεργασία geo-located real-time μετρήσεις από smart-meters (ενέργεια, νερό, μετεωρολογικά δεδομένα) από όλη την Ελλάδα και κινητά.

Τα λέω αυτά για να δώσω μια εικόνα του που βρίσκομαι.

Και τώρα η ερώτηση: Για το επόμενο project θα διαχειριστούμε δορυφορικά δεδομένα σε πραγματικό χρόνο (πιο σύνθετα από ότι έχουμε δουλέψει ως τώρα). Σκέφτομαι να μετακομίσω στη Rust και WebAssembly γιατί βλέπω λαμπρό μέλλον.

Αυτό θα σημαίνει ότι θα χρειαστώ χρόνο να τα μάθω όλα αυτά τα καινούργια, και δεύτερον δεν ξέρω αν έχει τα απαιτούμενα libraries (π.χ. η Python έχει Pandas για Data Analysis -- και γενικότερα έχει πραγματικά ότι library θες).

Ποια είναι γνώμη σας; Ξέρω ότι είναι δύσκολη η απόφαση.

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

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

Δουλευοντας με Python εδω και χρονια, δε θα αλλαζα με τιποτα σε αλλη, σημαντικα λιγοτερο δημοφιλη γλωσσα, εφοσον δεν ηταν απολυτως αναγκαιο, για τον μοναδικο λογο του community support και του διαθεσιμου υλικου γενικοτερα. Η μιση δουλεια του προγραμματιστη εχει να κανει με αναζητηση λυσεων και οδηγιων στο ιντερνετ. Για μενα ειναι εφιαλτης το να αναζητω καποια λυση σε ενα προβλημα και να μην υπαρχει υλικο στο ιντερνετ. Καλως η κακως, ετσι λειτουργει ο προγραμματισμος. Καποιοι ανθρωποι εφτιαξαν κατι, πολλες φορες τους πηρε μηνες, μερικες φορες δε δουλευει. Συνηθως το ιδιο προβλημα σκαει σε αρκετα ατομα παγκοσμιως, ανοιγονται συζητησεις, προτεινονται λυσεις κλπ οι οποιες ειναι διαθεσιμες σε stackoverflow και σε google γενικοτερα. Εαν ομως εισαι απο τους πρωτους που θα σου σκασει το προβλημα, και δε μπορεις να βρεις υλικο για να το λυσεις, τοτε αναγκαστικα πρεπει να ψαξεις εσυ απο μονος οσυ λυσεις, σε μια ισως τεραστια βιβλιοθηκη με πολλες και δυσκολες κλασεις και modules που φυσικα ειναι εφιαλτης. Μπορεις βεβαια να ρωτησεις στο github αυτον που εφτιαξε τη βιβλιοθηκη, η και να ανοιξεις νεο ερωτημα στο SO και αν εισαι τυχερος να παρεις απαντηση (οχι αμεσα συνηθως) μπορει ομως και οχι. Και ειναι σχεδον βεβαιο πως αυτη η κατασταση θα προκυπτει συχνα. Επιπλεον, υπαρχει και το προβλημα των αναβαθμισεων, που καποιος βγαζει μια νεα εκδοση μιας βιβλιοθηκης και καποια πραγματα τρεχουν, καποια αλλα οχι και θα πρεπει καποιος να ασχοληθει με επικαιροποιηση καποιας αλλης βιβλιοθηκης, που σε μη δημοφιλεις γλωσσες, αυτο δεν ειναι παντα σιγουρο αν και ποτε θα γινει.

Απο μενα ειναι οχι σε νεες γλωσσες χωρις επαρκες community support, εκτος εαν προκειται καθαρα για επιστημονικο-μορφωτικο ενδιαφερον, χωρις πιεση χρονου και χωρις κινδυνους εαν δε βρεθει λυση στα προβληματα. Οταν ομως εχεις να κανεις με ζωντανα προτζεκτ που τρεχουν, τοτε μακρια και αγαπημενοι. Μεγαλες, στοιβαρες γλωσσες με τεραστιο community support ειναι ο the way to go.

Επεξ/σία από archer100
  • Like 4
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 ώρες πριν, archer100 είπε

Δουλευοντας με Python εδω και χρονια, δε θα αλλαζα με τιποτα σε αλλη, σημαντικα λιγοτερο δημοφιλη γλωσσα, εφοσον δεν ηταν απολυτως αναγκαιο, για τον μοναδικο λογο του community support και του διαθεσιμου υλικου γενικοτερα. Η μιση δουλεια του προγραμματιστη εχει να κανει με αναζητηση λυσεων και οδηγιων στο ιντερνετ. Για μενα ειναι εφιαλτης το να αναζητω καποια λυση σε ενα προβλημα και να μην υπαρχει υλικο στο ιντερνετ. Καλως η κακως, ετσι λειτουργει ο προγραμματισμος. Καποιοι ανθρωποι εφτιαξαν κατι, πολλες φορες τους πηρε μηνες, μερικες φορες δε δουλευει. Συνηθως το ιδιο προβλημα σκαει σε αρκετα ατομα παγκοσμιως, ανοιγονται συζητησεις, προτεινονται λυσεις κλπ οι οποιες ειναι διαθεσιμες σε stackoverflow και σε google γενικοτερα. Εαν ομως εισαι απο τους πρωτους που θα σου σκασει το προβλημα, και δε μπορεις να βρεις υλικο για να το λυσεις, τοτε αναγκαστικα πρεπει να ψαξεις εσυ απο μονος οσυ λυσεις, σε μια ισως τεραστια βιβλιοθηκη με πολλες και δυσκολες κλασεις και modules που φυσικα ειναι εφιαλτης. Μπορεις βεβαια να ρωτησεις στο github αυτον που εφτιαξε τη βιβλιοθηκη, η και να ανοιξεις νεο ερωτημα στο SO και αν εισαι τυχερος να παρεις απαντηση (οχι αμεσα συνηθως) μπορει ομως και οχι. Και ειναι σχεδον βεβαιο πως αυτη η κατασταση θα προκυπτει συχνα. Επιπλεον, υπαρχει και το προβλημα των αναβαθμισεων, που καποιος βγαζει μια νεα εκδοση μιας βιβλιοθηκης και καποια πραγματα τρεχουν, καποια αλλα οχι και θα πρεπει καποιος να ασχοληθει με επικαιροποιηση καποιας αλλης βιβλιοθηκης, που σε μη δημοφιλεις γλωσσες, αυτο δεν ειναι παντα σιγουρο αν και ποτε θα γινει.

Απο μενα ειναι οχι σε νεες γλωσσες χωρις επαρκες community support, εκτος εαν προκειται καθαρα για επιστημονικο-μορφωτικο ενδιαφερον, χωρις πιεση χρονου και χωρις κινδυνους εαν δε βρεθει λυση στα προβληματα. Οταν ομως εχεις να κανεις με ζωντανα προτζεκτ που τρεχουν, τοτε μακρια και αγαπημενοι. Μεγαλες, στοιβαρες γλωσσες με τεραστιο community support ειναι ο the way to go.

Συμφωνώ γιατί και εγώ είμαι από αυτούς που προσκυνούν κάθε τόσο στο SO (και συμμετέχω επίσης, έχω καλό σκορ) όμως γενικά βλέπω τις αδυναμίες της Python και επειδή χειριζόμαστε real-time δεδομένα η αναβάθμιση σε ένα γρηγορότερο framework με καλύτερη διαχείρηση μνήμης και πόρων γενικότερα είναι ψιλο-μονόδρομος. Σαφώς για μένα θα είναι ένα τεράστιο άλμα όμως αν δουλέψει θα αποκτήσω/ουμε ένα όπλο για μελλοντικά project γιατί όπως είπα βλέπω λαμπρό μέλλον στη Rust. Δεν διαφωνώ με αυτά που λες απλά προσπαθώ να δω το θέμα από όλες τις πλευρές. Είναι μια δύσκολη απόφαση. Κάποτε είχα περάσει την ίδια φάση όταν μεταπηδούσα από Java σε Python/Django και τελικά μου βήκε το ρίσκο. Τώρα είμαι σε παρόμοιο σταυροδρόμι.

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

1 ώρα πριν, antirix024 είπε

Συμφωνώ γιατί και εγώ είμαι από αυτούς που προσκυνούν κάθε τόσο στο SO (και συμμετέχω επίσης, έχω καλό σκορ) όμως γενικά βλέπω τις αδυναμίες της Python και επειδή χειριζόμαστε real-time δεδομένα η αναβάθμιση σε ένα γρηγορότερο framework με καλύτερη διαχείρηση μνήμης και πόρων γενικότερα είναι ψιλο-μονόδρομος. Σαφώς για μένα θα είναι ένα τεράστιο άλμα όμως αν δουλέψει θα αποκτήσω/ουμε ένα όπλο για μελλοντικά project γιατί όπως είπα βλέπω λαμπρό μέλλον στη Rust. Δεν διαφωνώ με αυτά που λες απλά προσπαθώ να δω το θέμα από όλες τις πλευρές. Είναι μια δύσκολη απόφαση. Κάποτε είχα περάσει την ίδια φάση όταν μεταπηδούσα από Java σε Python/Django και τελικά μου βήκε το ρίσκο. Τώρα είμαι σε παρόμοιο σταυροδρόμι.

Γιατί δεν κάνετε ενα proof of concept πρώτα, να δείτε τι παίζει; Σίγουρα θα πάρει μέρες, αλλά αν η επένδυση στο νεο πρότζεκτ είναι αρκετά μεγάλη/μακροπρόθεσμη τότε ίσως αξίζει

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

6 ώρες πριν, ghostaki είπε

Γιατί δεν κάνετε ενα proof of concept πρώτα, να δείτε τι παίζει; Σίγουρα θα πάρει μέρες, αλλά αν η επένδυση στο νεο πρότζεκτ είναι αρκετά μεγάλη/μακροπρόθεσμη τότε ίσως αξίζει

Δεν γίνεται. Κανείς δεν θα συμφωνήσει επίσημα να γίνει η μετάβαση. Θα πρέπει να το αναλάβω μόνος μου το δικό μου κομμάτι και μετά να τους δείξω ως proof-of-concept. Εγώ εργάζομαι ψιλο-ανεξάρτητα από τους άλλους συνήθως αναλαμβάνω ένα συγκεκριμένο κομμάτι του stack που περιλαμβάνει javascript/python/django/postgresql/nginx κλπ. 

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

15 ώρες πριν, antirix024 είπε

Καλημέρα. Εργάζομαι ως προγραμματιστής 20 χρόνια. Ξεκίνησα να βγάζω λεφτά με Java και τα τελευταία 7-8 σταθερά Python/Django. Συνεργάζομαι με ένα ερευνητικό ίδρυμα και έχουμε στήσει όλο το infra structure σε Python/Django/Postgres και όλα τα Project αντίστοιχα στο ίδιο stack. Το 90% των εφαρμογών αφορά τη συλλογή και επεξεργασία geo-located real-time μετρήσεις από smart-meters (ενέργεια, νερό, μετεωρολογικά δεδομένα) από όλη την Ελλάδα και κινητά.

Τα λέω αυτά για να δώσω μια εικόνα του που βρίσκομαι.

Και τώρα η ερώτηση: Για το επόμενο project θα διαχειριστούμε δορυφορικά δεδομένα σε πραγματικό χρόνο (πιο σύνθετα από ότι έχουμε δουλέψει ως τώρα). Σκέφτομαι να μετακομίσω στη Rust και WebAssembly γιατί βλέπω λαμπρό μέλλον.

Αυτό θα σημαίνει ότι θα χρειαστώ χρόνο να τα μάθω όλα αυτά τα καινούργια, και δεύτερον δεν ξέρω αν έχει τα απαιτούμενα libraries (π.χ. η Python έχει Pandas για Data Analysis -- και γενικότερα έχει πραγματικά ότι library θες).

Ποια είναι γνώμη σας; Ξέρω ότι είναι δύσκολη η απόφαση.

Web assembly που κολλάει στην όλη εικόνα; 
Το αν θα πας σε rust από μόνο δεν θα σου προσφέρει απολύτως τίποτα.
Ένα cloud naive infrastructure, horizontally scalable με ένα δυνατό διανεμημένο event streaming σύστημα χρειάζεσαι, η γλώσσα καμια σημασία δεν έχει. 

 

Επισης η γλώσσα που θα είναι το backend σύστημα δεν έχει καμία σύνδεση με την γλώσσα (python προφανώς) που θα χρησιμοποιήσεις για το analytics κομμάτι. 

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

7 ώρες πριν, skiabox είπε

Πάντως η rust ανεβαίνει συνέχεια.

το βλέπω. Έχω αρχίσει και διαβάζω και φαίνεται και πολύ όμορφη γλώσσα.

9 ώρες πριν, Papakaliati είπε

Web assembly που κολλάει στην όλη εικόνα; 
Το αν θα πας σε rust από μόνο δεν θα σου προσφέρει απολύτως τίποτα.
Ένα cloud naive infrastructure, horizontally scalable με ένα δυνατό διανεμημένο event streaming σύστημα χρειάζεσαι, η γλώσσα καμια σημασία δεν έχει. 

 

Επισης η γλώσσα που θα είναι το backend σύστημα δεν έχει καμία σύνδεση με την γλώσσα (python προφανώς) που θα χρησιμοποιήσεις για το analytics κομμάτι. 

Φυσικά και έχει σημασία η γλώσσα. Δεν καταλαβαίνω αυτό που λες. Όλα αυτά που αναφέρεις υπάρχουν ήδη. Υπάρχει διαφορά από τα κάνεις web applications σε C++ και Web Applications σε Python. Μάλλον δεν κατάλαβες το ερώτημά μου.

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

Δημοσ. (επεξεργασμένο)
Στις 15/12/2021 στις 8:28 ΠΜ, antirix024 είπε

το βλέπω. Έχω αρχίσει και διαβάζω και φαίνεται και πολύ όμορφη γλώσσα.

Φυσικά και έχει σημασία η γλώσσα. Δεν καταλαβαίνω αυτό που λες. Όλα αυτά που αναφέρεις υπάρχουν ήδη. Υπάρχει διαφορά από τα κάνεις web applications σε C++ και Web Applications σε Python. Μάλλον δεν κατάλαβες το ερώτημά μου.

Μάλλον εσύ δεν κατάλαβες. Φυσικά και δεν έχει σημασία η γλώσσα. Άμα κανείς τον server σου σε C++ θα γλιτώσεις μερικά ευρώ στο hosting και θα χασεις σε development time. Ολα ειναι επιλογες. Την ιδια δουλεια θα μπορουσες να κανεις και με C++, και με Java, PHP, Go, Elixir, Rust, Javascript και 50 αλλες γλωσσες. 

Άμα θέλεις να το κανείς σε Rust για να μαθεις Rust, τοτε προφανως καντο. Αλλα να εισαι ετοιμος να μην βρεις κανεναν που να εχει εστω και στοιχειώδη επαφη με την γλώσσα όταν χρειαστείς support στο project. Και η Rust δεν ειναι ουτε Java, ουτε Go, θελει να εχεις κατανοηση της γλωσσας και του memory model, που κανει το onboarding καπως πολυπλοκότερο.

Κάνε ενα απο τα Microservices σε Rust, δεν χρειαζεται να πας να κανεις ενα ολοκληρο monolith σε Rust. Start small. Και οχι δεν ειναι το μελλον του web. Ειναι ο αντικαταστατης της C++. Οπως δεν θα χρησιμοποιουσες C++ για backend συστηματα περα απο εξαιρετικα specialised use-cases οπως HFT και μερικα πολυ συγκεκριμενα services, ετσι δεν θα εκανες backend σε Rust. 

Δεν διαφωνεί κανένας ότι ένα σωστό σύστημα σε Rust η C++ δεν θα ειναι πιο αποδοτικο απο ενα σε Java η NodeJS. Απλα δεν εχει καμια σημασια, αλλιως Google, Facebook και ολες οι μεγαλες εταιριες που εχουνε απειρα resources θα κανουνε τα backend τους μονο σε C++. Μαντεψε, απειροελαχιστα προτζεκτς αυτων των εταιρειων ειναι γραμμενα σε αυτες τις γλωσσες, για τους λογους που ανεφερα. 

Άμα θέλεις να το κανείς σε Rust καντο. Αλλα πλεονεκτήματα απο πλευρας της επιχείρησης σου και της ομαδας σου δεν υπαρχουν. 

 

 

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

3 ώρες πριν, Papakaliati είπε

Μάλλον εσύ δεν κατάλαβες. Φυσικά και δεν έχει σημασία η γλώσσα. Άμα κανείς τον server σου σε C++ θα γλιτώσεις μερικά ευρώ στο hosting και θα χασεις σε development time. Ολα ειναι επιλογες. Την ιδια δουλεια θα μπορουσες να κανεις και με C++, και με Java, PHP, Go, Elixir, Rust, Javascript και 50 αλλες γλωσσες. 

Άμα θέλεις να το κανείς σε Rust για να μαθεις Rust, τοτε προφανως καντο. Αλλα να εισαι ετοιμος να μην βρεις κανεναν που να εχει εστω και στοιχειώδη επαφη με την γλώσσα όταν χρειαστείς support στο project. Και η Rust δεν ειναι ουτε Java, ουτε Go, θελει να εχεις κατανοηση της γλωσσας και του memory model, που κανει το onboarding καπως πολυπλοκότερο.

Κάνε ενα απο τα Microservices σε Rust, δεν χρειαζεται να πας να κανεις ενα ολοκληρο monolith σε Rust. Start small. Και οχι δεν ειναι το μελλον του web. Ειναι ο αντικαταστατης της C++. Οπως δεν θα χρησιμοποιουσες C++ για backend συστηματα περα απο εξαιρετικα specialised use-cases οπως HFT και μερικα πολυ συγκεκριμενα services, ετσι δεν θα εκανες backend σε Rust. 

Δεν διαφωνεί κανένας ότι ένα σωστό σύστημα σε Rust η C++ δεν θα ειναι πιο αποδοτικο απο ενα σε Java η NodeJS. Απλα δεν εχει καμια σημασια, αλλιως Google, Facebook και ολες οι μεγαλες εταιριες που εχουνε απειρα resources θα κανουνε τα backend τους μονο σε C++. Μαντεψε, απειροελαχιστα προτζεκτς αυτων των εταιρειων ειναι γραμμενα σε αυτες τις γλωσσες, για τους λογους που ανεφερα. 

Άμα θέλεις να το κανείς σε Rust καντο. Αλλα πλεονεκτήματα απο πλευρας της επιχείρησης σου και της ομαδας σου δεν υπαρχουν. 

 

 

Ρε φίλε, μισό λεπτό γιατί τα μπέρδεψες λίγο. Όπως και εσύ ο ίδιος περιγράφεις (π.χ. "ένα σωστό σύστημα σε Rust η C++ δεν θα ειναι πιο αποδοτικο απο ενα σε Java η NodeJS") , παίζει ρόλο το framework που θα επιλέξει κάποιος για να χτίσει μια εφαρμογή. Αυτό δεν το αμφισβητεί κανείς. Εγώ π.χ. σε Python μπορώ να έχω ένα site έτοιμο σε 2 βδομάδες και με Java θέλω 3 βδομάδες (ένα παράδειγμα δίνω μην κολλήσεις στα νούμερα). Αυτό από μονο του δείχνει ότι το framework έχει σημασία. Αν εγώ φτιάξω ένα site σε 2 βδομάδες και την 3η κάνω testing τότε έχω παραδόσει κάτι πιο ποιοτικό. Νόμιζα ότι αυτό ήταν αυτονόητο. Αν εγώ επιλέξω Rust για το επόμενο project και δεν μπορώ να βρω μια library που να κάνει π.χ. καλό data analysis (οπως π.χ η Pandas) θα πρέπει να τη φτιάξω, αρα επιπλέον χρόνος για την παράδοση του έργου. Δεν θα μπω σε θέματα συντήρησης και future-profing γιατί είμαι λίγο dumbfounded που ενώ λες πολλά ενδιαφέροντα δεν αναφέρεσαι στην ουσία των πραγμάτων. Ότι ο πελάτης θέλει γρήγορα ένα καλό έργο. Το γρήγορα και το καλό εξαρτόνται από *όλα* τα υπόλοιπα εκτός από αυτά που ανέφερες (όπως π.χ. και η εμπειρία των προγραμματιστών πάνω στη γλώσσα μεταξύ άλλων). Ξέρεις πόσα παραδείγματα στα 20 χρόνια που είμαι στο χώρο έχω ακούσει για έργα που ξεκίνσαν με ένα στακ και δεν τους βγήκε και γύρισαν πίσω στο μηδέν ξεκινόντας με καινούργιο στακ πληρώνοντας ρήτρες κλπ στους πελάτες; Πραγματικά νόμιζα ότι όλα αυτά ήταν αυτονόητα.

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

https://github.com/GenieFramework/Genie.jl

https://juliaacademy.com/p/introduction-to-dataframes-jl

Δες και τη julia, μια σύγχρονη γλώσσα, που ίσως αντικαταστήσει την python στον μέλλον!

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

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

Για το use case σου θεωρώ το NodeJS με MongoDB θα είναι μια χαρά. Διαφορετικά θα επέλεγα ASP.NET Core 6.

Πάντως θα με ενδιέφερε να μάθω που κατέληξες τελικά, γιατί είμαι σε παρόμοια φάση. @antirix024

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

Στις 22/12/2021 στις 1:27 ΜΜ, wotw είπε

Για το use case σου θεωρώ το NodeJS με MongoDB θα είναι μια χαρά. Διαφορετικά θα επέλεγα ASP.NET Core 6.

Πάντως θα με ενδιέφερε να μάθω που κατέληξες τελικά, γιατί είμαι σε παρόμοια φάση. @antirix024

NodeJS ούτε κατά διάνοια. Γράφω javascript αναγκαστικά, αλλά για μένα js=pain. Θέλω όταν γράφω κώδικα να περνάω καλά και να μου αρέσει. Η JS δεν μου αρέσει. Το κάνω από ανάγκη. Ποτέ δεν μου άρεσε. Τη θεωρώ άσχημη γλώσσα. Αν μπορούσα να διορθώσω κάτι στο internet θα ήταν να αντικαταστήσω την JS με κάτι άλλο. MongoDB ακόμα την έχω από απόσταση. Πολύ καινούργια για τέτοια critical projects. Προτιμώ PostgreSQL με JSON/JSONB. Μου είναι μια χαρά. Δεν την αλλάζω για την ώρα.

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

6 ώρες πριν, antirix024 είπε

NodeJS ούτε κατά διάνοια. Γράφω javascript αναγκαστικά, αλλά για μένα js=pain. Θέλω όταν γράφω κώδικα να περνάω καλά και να μου αρέσει. Η JS δεν μου αρέσει. Το κάνω από ανάγκη. Ποτέ δεν μου άρεσε. Τη θεωρώ άσχημη γλώσσα. Αν μπορούσα να διορθώσω κάτι στο internet θα ήταν να αντικαταστήσω την JS με κάτι άλλο. MongoDB ακόμα την έχω από απόσταση. Πολύ καινούργια για τέτοια critical projects. Προτιμώ PostgreSQL με JSON/JSONB. Μου είναι μια χαρά. Δεν την αλλάζω για την ώρα.

Τότε C# / ASP.NET Core ή Java EE / Spring Boot.

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

Πάντως παιδιά, εντάξει τις βιβλιοθήκες της python και της Java δεν τις έχει η Rust αλλά δεν είναι και καμιά καινούργια γλωσσίτσα που την χρησιμοποιούν 5 άτομα. Για 2-3 χρόνια βγαίνει η πιο most-loved language στα Stackoverflow surveys, και μια γλώσσα που πολλοί θέλουν να δούν. Οπότε αυτό μπορεί να μας πει πολλά για το community της. Θέλω να πω δεν είναι η Julia που ανέφερε ο φίλος παραπάνω (εκεί ναι, να σε προβληματίσει λίγο το community).
Τώρα για τα libs της μπορείς να googlάρεις κάποια που θα χρησιμοποιούσες στη Python και να δεις αν υπάρχει κάτι αντίστοιχο για Rust.
Για παράδειγμα για το pandas που ανέφερες ένα πολύ γρήγορο google:
https://www.reddit.com/r/rust/comments/6vd6vy/closest_thing_to_pandas_in_rust/


Πολλοί Javascript developers έχουν αρχίσει να το γυρνάνε στη Rust (είναι το νέο τρεντ στο js community) και ο λόγος όπως είπες είναι η web assembly. Να έχεις τη ταχύτητα ενός C προγράμματος στο web, ακούγεται πολύ δελεαστικό. Δελεαστικό, αλλά αρχίζεις και μπλέκεις και με νέους μπελάδες, βλέπε pointers και όλα αυτά τα καλούδια που έχει μια low level γλώσσα. Δεν ξέρω τι επίπεδο έχεις και κατά πόσο έχεις ασχοληθεί με low level γλώσσες, αλλά φαντάζομαι η μετάβαση απο java σε python θα σου φάνηκε παράδεισος. Τώρα ίσως σου φανεί λίγο 'κόλαση', γιατί μιλάμε θα βρεις τελείως διαφορετικά πράγματα. Γενικά νομίζω η Rust και όλες αυτές οι πιο low level γλώσσες δεν είναι για όλους (συμπεριλαμβάνω και τον εαυτό μου μέσα), θέλει να γυαλίζει λίγο το μάτι :P 
Eπίσης, προσωπικά για real-time συστήματα η python δεν μου ακούγεται πολύ καλή λύση, είναι καλή χρυσή αλλά είναι αργή. Το να την χρησιμοποιήσεις για κάποιο web app (οπου το τι φορτώσει στο 1sec τι στα 3sec, no problem) αλλά για real-time συστήματα δεν ξέρω (και ειδικά και τώρα που λες ότι το νέο προτζεκτ θα χει να κάνει και με πιο σύνθετα δεδομένα). Εκτός και αν η ταχύτητα δεν παίζει ρόλο στο use case σας.

Δυστυχώς όταν μιλάμε για δουλειά/πελάτες παίζουν ρόλο πολλοί παράγοντες στη εξίσωση για την επιλογή της γλώσσας. 
Ιδανικά θα τη χρησιμοποιούσες και θα τη μάθαινες και παράλληλα. Τα προβλήματα αρχίζουν όταν, αυτό που θες να κάνεις θέλεις να βγει γρήγορα, αυτό που θες να κάνεις θα το χρησιμοποιήσουν και άλλα άτομα στην ομάδα (οπότε θα πρέπει να μάθουν και αυτοί Rust?), πρέπει να πήσεις τον ίδιο τον πελάτη στο να αλλάξετε στακ (το δυσκολότερο κατ εμέ).

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

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

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

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

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

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

Σύνδεση

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

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