Ποιες γλώσσες πρέπει να μάθετε για την επιστήμη των δεδομένων;

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

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

Ειδικότητα

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

Γενικότητα

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

Παραγωγικότητα

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

Εκτέλεση

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

Σε κάποιο βαθμό, αυτά μπορούν να θεωρηθούν ως ένα ζευγάρι αξόνων (Γενικότητα-Ειδικότητα, Απόδοση-Παραγωγικότητα). Κάθε μία από τις παρακάτω γλώσσες πέφτει κάπου σε αυτά τα φάσματα.

Έχοντας υπόψη αυτές τις βασικές αρχές, ας ρίξουμε μια ματιά σε μερικές από τις πιο δημοφιλείς γλώσσες που χρησιμοποιούνται στην επιστήμη των δεδομένων. Αυτό που ακολουθεί είναι ένας συνδυασμός έρευνας και προσωπικής εμπειρίας του εαυτού μου, των φίλων και των συναδέλφων μου - αλλά δεν είναι καθόλου καθοριστικό! Με περίπου σειρά δημοτικότητας, ακολουθεί:

Ρ

Τι πρέπει να γνωρίζετε

Κυκλοφόρησε το 1995 ως άμεσος απόγονος της παλαιότερης γλώσσας προγραμματισμού S, από τότε η R έχει περάσει από δύναμη σε δύναμη. Το έργο, που γράφτηκε στα C, Fortran και το ίδιο, υποστηρίζεται επί του παρόντος από το R Foundation for Statistics Computing.

Αδεια

Ελεύθερος!

Πλεονεκτήματα

  • Εξαιρετική γκάμα πακέτων υψηλής ποιότητας, συγκεκριμένου τομέα και ανοιχτού κώδικα. Το R έχει ένα πακέτο για σχεδόν κάθε ποσοτική και στατιστική εφαρμογή που μπορεί να φανταστεί κανείς. Αυτό περιλαμβάνει νευρωνικά δίκτυα, μη γραμμική παλινδρόμηση, φυλογενετική, προηγμένη σχεδίαση και πολλά, πολλά άλλα.
  • Η βασική εγκατάσταση συνοδεύεται από πολύ ολοκληρωμένες, ενσωματωμένες στατιστικές λειτουργίες και μεθόδους. Το R χειρίζεται επίσης την άλγεβρα της μήτρας πολύ καλά.
  • Η οπτικοποίηση δεδομένων αποτελεί βασικό πλεονέκτημα με τη χρήση βιβλιοθηκών όπως το ggplot2.

Μειονεκτήματα

  • Εκτέλεση. Δεν υπάρχουν δύο τρόποι για αυτό, το R δεν είναι μια γρήγορη γλώσσα.
  • Ειδικότητα τομέα. Το R είναι φανταστικό για στατιστικούς και επιστημονικούς σκοπούς. Αλλά λιγότερο για προγραμματισμό γενικού σκοπού.
  • Ιδιοτροπίες Το R έχει μερικά ασυνήθιστα χαρακτηριστικά που μπορεί να ξεπεράσουν τους προγραμματιστές που έχουν εμπειρία με άλλες γλώσσες. Για παράδειγμα: ευρετηρίαση από 1, χρησιμοποιώντας πολλαπλούς χειριστές ανάθεσης, μη συμβατικές δομές δεδομένων.

Ετυμηγορία - "εξαιρετική σε αυτό που έχει σχεδιαστεί"

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

Πύθων

Τι πρέπει να γνωρίζετε

Ο Guido van Rossum εισήγαγε το Python το 1991. Έκτοτε έχει γίνει μια εξαιρετικά δημοφιλής γλώσσα γενικού σκοπού και χρησιμοποιείται ευρέως στην κοινότητα της επιστήμης των δεδομένων. Οι κύριες εκδόσεις είναι επί του παρόντος 3.6 και 2.7.

Αδεια

Ελεύθερος!

Πλεονεκτήματα

  • Η Python είναι μια πολύ δημοφιλής, γενική γλώσσα προγραμματισμού γενικού σκοπού. Διαθέτει ένα ευρύ φάσμα ειδικά σχεδιασμένων ενοτήτων και κοινοτικής υποστήριξης. Πολλές διαδικτυακές υπηρεσίες παρέχουν ένα API Python.
  • Η Python είναι μια εύκολη γλώσσα για εκμάθηση. Το χαμηλό εμπόδιο εισόδου το καθιστά ιδανική πρώτη γλώσσα για όσους είναι νέοι στον προγραμματισμό.
  • Πακέτα όπως τα pandas, το scikit-learn και το Tensorflow κάνουν το Python μια σταθερή επιλογή για προηγμένες εφαρμογές μηχανικής μάθησης.

Μειονεκτήματα

  • Ασφάλεια τύπου: Το Python είναι μια δυναμικά δακτυλογραφημένη γλώσσα, που σημαίνει ότι πρέπει να δείξετε τη δέουσα προσοχή. Σφάλματα τύπου (όπως μεταβίβαση μιας συμβολοσειράς ως όρισμα σε μια μέθοδο που αναμένει έναν ακέραιο) αναμένονται από καιρό σε καιρό.
  • Για συγκεκριμένους σκοπούς στατιστικής και ανάλυσης δεδομένων, το τεράστιο φάσμα πακέτων της R δίνει μια ελαφριά προτίμηση έναντι της Python. Για γλώσσες γενικού σκοπού, υπάρχουν ταχύτερες και ασφαλέστερες εναλλακτικές λύσεις για το Python.

Ετυμηγορία - "εξαιρετικό all-rounder"

Η Python είναι μια πολύ καλή επιλογή γλώσσας για την επιστήμη των δεδομένων και όχι μόνο σε επίπεδο εισόδου. Μεγάλο μέρος της διαδικασίας της επιστήμης δεδομένων περιστρέφεται γύρω από τη διαδικασία ETL (εξαγωγή-μετασχηματισμός-φόρτωση). Αυτό καθιστά τη γενικότητα του Python ιδανική. Βιβλιοθήκες όπως το Google Tensorflow κάνουν την Python μια πολύ συναρπαστική γλώσσα στην οποία εργάζεται για τη μηχανική μάθηση.

SQL

Τι πρέπει να γνωρίζετε

Το SQL («Structured Query Language») ορίζει, διαχειρίζεται και ερωτά σχετικές βάσεις δεδομένων. Η γλώσσα εμφανίστηκε μέχρι το 1974 και έκτοτε έχει υποστεί πολλές εφαρμογές, αλλά οι βασικές αρχές παραμένουν οι ίδιες.

Αδεια

Διαφέρει - ορισμένες εφαρμογές είναι δωρεάν, άλλες ιδιοκτησιακές

Πλεονεκτήματα

  • Πολύ αποτελεσματικό στην αναζήτηση, ενημέρωση και χειρισμό σχεσιακών βάσεων δεδομένων.
  • Η δηλωτική σύνταξη καθιστά τη SQL μια συχνά πολύ ευανάγνωστη γλώσσα. Δεν υπάρχει αμφιβολία για το τι SELECT name FROM users WHERE age >πρέπει να κάνει το 18!
  • Το SQL χρησιμοποιείται πολύ σε μια σειρά εφαρμογών, καθιστώντας την μια πολύ χρήσιμη γλώσσα για να εξοικειωθείτε. Ενότητες όπως το SQLAlchemy κάνουν την ενσωμάτωση SQL με άλλες γλώσσες απλή.

Μειονεκτήματα

  • Οι αναλυτικές δυνατότητες της SQL είναι μάλλον περιορισμένες - πέρα ​​από τη συγκέντρωση και το άθροισμα, τη μέτρηση και τον μέσο όρο δεδομένων, οι επιλογές σας είναι περιορισμένες.
  • Για προγραμματιστές που προέρχονται από επιτακτικό υπόβαθρο, η δηλωτική σύνταξη της SQL μπορεί να παρουσιάσει μια καμπύλη μάθησης.
  • Υπάρχουν πολλές διαφορετικές υλοποιήσεις του SQL όπως PostgreSQL, SQLite, MariaDB. Είναι όλα αρκετά διαφορετικά για να κάνουν τη διαλειτουργικότητα κάτι πονοκέφαλο.

Ετυμηγορία - «διαχρονική και αποτελεσματική»

Το SQL είναι πιο χρήσιμο ως γλώσσα επεξεργασίας δεδομένων παρά ως προηγμένο εργαλείο ανάλυσης. Ωστόσο, τόσο μεγάλο μέρος της διαδικασίας της επιστήμης δεδομένων εξαρτάται από το ETL, και η μακροζωία και η αποτελεσματικότητα της SQL είναι απόδειξη ότι είναι μια πολύ χρήσιμη γλώσσα για να γνωρίζει ο σύγχρονος επιστήμονας δεδομένων.

Ιάβα

Τι πρέπει να γνωρίζετε

Η Java είναι μια εξαιρετικά δημοφιλής γλώσσα γενικής χρήσης που τρέχει στην εικονική μηχανή Java (JVM). Είναι ένα αφηρημένο υπολογιστικό σύστημα που επιτρέπει την απρόσκοπτη φορητότητα μεταξύ πλατφορμών. Επί του παρόντος υποστηρίζεται από την Oracle Corporation.

Αδεια

Έκδοση 8 - Δωρεάν! Εκδόσεις παλαιού τύπου, ιδιόκτητες.

Πλεονεκτήματα

  • Πανταχού παρούσα. Πολλά σύγχρονα συστήματα και εφαρμογές βασίζονται σε ένα Java back-end. Η ικανότητα ενσωμάτωσης μεθόδων επιστήμης δεδομένων απευθείας στην υπάρχουσα βάση κώδικα είναι ισχυρή.
  • Δυνατότητα δακτυλογράφησης. Η Java δεν είναι ανόητη όσον αφορά τη διασφάλιση της ασφάλειας τύπου. Για εφαρμογές μεγάλης σημασίας για μεγάλα δεδομένα, αυτό είναι πολύτιμο.
  • Η Java είναι μια υψηλής απόδοσης, γενικής χρήσης, μεταγλωττισμένη γλώσσα. Αυτό το καθιστά κατάλληλο για τη σύνταξη αποδοτικών κωδικών παραγωγής ETL και υπολογιστικά εντατικών αλγορίθμων μηχανικής εκμάθησης.

Μειονεκτήματα

  • Για ad-hoc αναλύσεις και πιο αφιερωμένες στατιστικές εφαρμογές, η ευγένεια της Java το καθιστά μια απίθανη πρώτη επιλογή. Οι δυναμικά δακτυλογραφημένες γλώσσες δέσμης ενεργειών όπως οι R και Python προσφέρονται για πολύ μεγαλύτερη παραγωγικότητα.
  • Σε σύγκριση με γλώσσες για συγκεκριμένους τομείς όπως το R, δεν υπάρχει μεγάλος αριθμός βιβλιοθηκών για προηγμένες στατιστικές μεθόδους στην Java.

Ετυμηγορία - «ένας σοβαρός υποψήφιος για την επιστήμη των δεδομένων»

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

Ωστόσο, δεν θα έχετε διαθέσιμο το εύρος πακέτων για συγκεκριμένα στατιστικά στοιχεία σε άλλες γλώσσες. Τούτου λεχθέντος, σίγουρα ένα που πρέπει να λάβετε υπόψη - ειδικά αν γνωρίζετε ήδη ένα από τα R και / ή Python.

Σκάλα

Τι πρέπει να γνωρίζετε

Αναπτύχθηκε από τον Martin Odersky και κυκλοφόρησε το 2004, το Scala είναι μια γλώσσα που λειτουργεί στο JVM. Είναι μια γλώσσα πολλαπλών παραδειγμάτων, που επιτρέπει τόσο αντικειμενοστρεφείς όσο και λειτουργικές προσεγγίσεις. Το πλαίσιο υπολογιστικών συμπλεγμάτων Apache Spark είναι γραμμένο στη Scala.

Αδεια

Ελεύθερος!

Πλεονεκτήματα

  • Scala + Spark = Υπολογισμός συμπλέγματος υψηλής απόδοσης. Το Scala είναι μια ιδανική επιλογή γλώσσας για όσους εργάζονται με σύνολα δεδομένων μεγάλου όγκου.
  • Πολυπαραδείγματα: Οι προγραμματιστές Scala μπορούν να έχουν το καλύτερο και των δύο κόσμων. Και τα δύο αντικειμενοστραφή και λειτουργικά πρότυπα προγραμματισμού είναι διαθέσιμα σε αυτά.
  • Το Scala μεταγλωττίζεται σε Java bytecode και εκτελείται σε JVM. Αυτό επιτρέπει τη διαλειτουργικότητα με την ίδια τη γλώσσα Java, καθιστώντας τη Scala μια πολύ ισχυρή γλώσσα γενικού σκοπού, ενώ είναι επίσης κατάλληλη για την επιστήμη των δεδομένων.

Μειονεκτήματα

  • Το Scala δεν είναι μια απλή γλώσσα για να ξεκινήσετε εάν ξεκινήσετε. Το καλύτερο στοίχημά σας είναι να κατεβάσετε το sbt και να δημιουργήσετε ένα IDE όπως το Eclipse ή το IntelliJ με μια συγκεκριμένη προσθήκη Scala.
  • Το σύστημα σύνταξης και τύπου περιγράφεται συχνά ως περίπλοκο. Αυτό δημιουργεί μια απότομη καμπύλη μάθησης για όσους προέρχονται από δυναμικές γλώσσες όπως η Python.

Ετυμηγορία - «τέλεια, για κατάλληλα μεγάλα δεδομένα»

Όταν πρόκειται για τη χρήση υπολογιστικών συμπλεγμάτων για τη συνεργασία με τα Big Data, τότε το Scala + Spark είναι φανταστικές λύσεις. Εάν έχετε εμπειρία με Java και άλλες στατικά δακτυλογραφημένες γλώσσες, θα εκτιμήσετε και αυτές τις δυνατότητες του Scala.

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

Τζούλια

Τι πρέπει να γνωρίζετε

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

Αδεια

Ελεύθερος!

Πλεονεκτήματα

  • Η Julia είναι μια γλώσσα που έχει καταρτιστεί με JIT («just-in-time»), η οποία της επιτρέπει να προσφέρει καλή απόδοση. Προσφέρει επίσης τις δυνατότητες απλότητας, δυναμικής πληκτρολόγησης και scripting μιας ερμηνευμένης γλώσσας όπως η Python.
  • Η Τζούλια σχεδιάστηκε ειδικά για αριθμητική ανάλυση. Είναι επίσης ικανός για προγραμματισμό γενικού σκοπού.
  • Ευανάγνωστο. Πολλοί χρήστες της γλώσσας το αναφέρουν ως βασικό πλεονέκτημα

Μειονεκτήματα

  • Λήξη. Ως νέα γλώσσα, ορισμένοι χρήστες της Julia αντιμετώπισαν αστάθεια κατά τη χρήση πακέτων. Ωστόσο, η ίδια η βασική γλώσσα είναι αρκετά σταθερή για χρήση στην παραγωγή.
  • Τα περιορισμένα πακέτα είναι μια άλλη συνέπεια της κοινότητας νεότητας και μικρής ανάπτυξης της γλώσσας. Σε αντίθεση με τους παλιούς R και Python, η Julia δεν έχει την επιλογή πακέτων (ακόμα).

Ετυμηγορία - «ένα για το μέλλον»

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

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

MATLAB

Τι πρέπει να γνωρίζετε

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

Αδεια

Ιδιόκτητο - η τιμολόγηση ποικίλλει ανάλογα με την περίπτωση χρήσης σας

Πλεονεκτήματα

  • Σχεδιασμένο για αριθμητικό υπολογισμό. Το MATLAB είναι κατάλληλο για ποσοτικές εφαρμογές με εξελιγμένες μαθηματικές απαιτήσεις όπως επεξεργασία σήματος, μετασχηματισμοί Fourier, άλγεβρα μήτρας και επεξεργασία εικόνας.
  • Οπτικοποίηση δεδομένων. Το MATLAB έχει μερικές εξαιρετικές δυνατότητες σχεδίασης.
  • Το MATLAB διδάσκεται συχνά ως μέρος πολλών προπτυχιακών μαθημάτων σε ποσοτικά μαθήματα όπως η Φυσική, η Μηχανική και τα Εφαρμοσμένα Μαθηματικά. Κατά συνέπεια, χρησιμοποιείται ευρέως σε αυτούς τους τομείς.

Μειονεκτήματα

  • Ιδιόκτητη άδεια. Ανάλογα με την περίπτωση χρήσης (ακαδημαϊκή, προσωπική ή επιχείρηση), ίσως χρειαστεί να πληρώσετε για μια ακριβή άδεια. Υπάρχουν δωρεάν εναλλακτικές λύσεις όπως το Octave. Αυτό είναι κάτι που πρέπει να λάβετε πραγματικά υπόψη.
  • Το MATLAB δεν είναι μια προφανής επιλογή για προγραμματισμό γενικού σκοπού.

Ετυμηγορία - "το καλύτερο για μαθηματικά εντατικές εφαρμογές"

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

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

Αλλες γλώσσες

Υπάρχουν άλλες κύριες γλώσσες που μπορεί ή δεν ενδιαφέρουν τους επιστήμονες δεδομένων. Αυτή η ενότητα παρέχει μια γρήγορη επισκόπηση… φυσικά με αρκετό χώρο για συζήτηση!

C ++

Το C ++ δεν είναι μια κοινή επιλογή για την επιστήμη των δεδομένων, αν και έχει γρήγορη απόδοση και ευρεία δημοτικότητα. Ο απλός λόγος μπορεί να είναι ζήτημα παραγωγικότητας σε σχέση με την απόδοση.

Όπως το θέτει ένας χρήστης Quora:

«Εάν γράφετε κώδικα για να κάνετε κάποια ad-hoc ανάλυση που πιθανότατα θα εκτελεστεί μόνο μία φορά, θα προτιμούσατε να αφιερώσετε 30 λεπτά γράφοντας ένα πρόγραμμα που θα εκτελείται σε 10 δευτερόλεπτα ή 10 λεπτά γράφοντας ένα πρόγραμμα που θα εκτελεστεί σε 1 λεπτό?"

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

Ετυμηγορία - "όχι για καθημερινή εργασία, αλλά αν η απόδοση είναι κρίσιμη ..."

JavaScript

Με την άνοδο του Node.js τα τελευταία χρόνια, η JavaScript έχει γίνει όλο και πιο σοβαρή γλώσσα από την πλευρά του διακομιστή. Ωστόσο, η χρήση του στους τομείς της επιστήμης δεδομένων και της μηχανικής μάθησης έχει περιοριστεί μέχρι σήμερα (αν και το checkout brain.js και synaptic.js!). Υποφέρει από τα ακόλουθα μειονεκτήματα:

  • Αργά στο παιχνίδι (το Node.js είναι μόλις 8 ετών!), Που σημαίνει…
  • Λίγες σχετικές βιβλιοθήκες και ενότητες επιστημών δεδομένων είναι διαθέσιμες. Αυτό σημαίνει ότι δεν υπάρχει πραγματικό ενδιαφέρον ή ορμή
  • Απόδοσης, το Node.js είναι γρήγορο. Αλλά το JavaScript ως γλώσσα δεν είναι χωρίς τους κριτικούς του.

Τα πλεονεκτήματα του κόμβου είναι ασύγχρονα I / O, η ευρεία χρήση του και η ύπαρξη γλωσσών που μεταγλωττίζονται στο JavaScript. Επομένως, είναι πιθανό ότι ένα χρήσιμο πλαίσιο για την επιστήμη των δεδομένων και την επεξεργασία ETL σε πραγματικό χρόνο θα μπορούσε να συνδυαστεί.

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

Ετυμηγορία - «υπάρχουν πολλά να κάνουμε προτού το JavaScript μπορεί να θεωρηθεί ως μια σοβαρή γλώσσα επιστήμης δεδομένων»

Perl

Ο Perl είναι γνωστός ως «μαχαίρι Ελβετίας-στρατού γλωσσών προγραμματισμού», λόγω της ευελιξίας του ως γλώσσας σεναρίου γενικής χρήσης. Μοιράζεται πολλά κοινά με την Python, που είναι μια δυναμική γλώσσα σεναρίου. Όμως, δεν έχει δει κάτι σαν τη δημοτικότητα που έχει ο Python στον τομέα της επιστήμης των δεδομένων.

Αυτό είναι λίγο εκπληκτικό, δεδομένης της χρήσης του σε ποσοτικά πεδία όπως η βιοπληροφορική. Ο Perl έχει πολλά βασικά μειονεκτήματα όσον αφορά την επιστήμη των δεδομένων. Δεν ξεχωρίζει γρήγορα, και η σύνταξή της είναι φημισμένα εχθρική. Δεν υπήρξε η ίδια ώθηση για την ανάπτυξη συγκεκριμένων βιβλιοθηκών για την επιστήμη δεδομένων. Και σε οποιοδήποτε πεδίο, η ορμή είναι το κλειδί.

Ετυμηγορία - «μια χρήσιμη γλώσσα σεναρίου γενικής χρήσης, αλλά δεν προσφέρει πραγματικά πλεονεκτήματα για το βιογραφικό σας επιστήμη δεδομένων»

Ρουμπίνι

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

Αυτό μπορεί να φαίνεται εκπληκτικό, αλλά πιθανότατα είναι αποτέλεσμα της κυριαρχίας του Python στον ακαδημαϊκό χώρο και ενός θετικού αποτελέσματος ανατροφοδότησης. Όσο περισσότερα άτομα χρησιμοποιούν το Python, τόσο περισσότερες μονάδες και πλαίσια αναπτύσσονται και τόσο περισσότερα άτομα θα στραφούν στο Python.

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

Ετυμηγορία - "δεν είναι ακόμη μια προφανής επιλογή για την επιστήμη των δεδομένων, αλλά δεν θα βλάψει το βιογραφικό"

συμπέρασμα

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

Χρησιμοποιώ R, Python και SQL σε τακτική βάση, καθώς ο τρέχων ρόλος μου επικεντρώνεται σε μεγάλο βαθμό στην ανάπτυξη υφιστάμενων αγωγών δεδομένων και διαδικασιών ETL. Αυτές οι γλώσσες δίνουν τη σωστή ισορροπία γενικότητας και παραγωγικότητας για να κάνουν τη δουλειά, με την επιλογή να χρησιμοποιούν τα πιο προηγμένα πακέτα στατιστικών της R όταν χρειάζεται.

Ωστόσο - μπορεί να έχετε ήδη κάποια εμπειρία με την Java. Ή ίσως θέλετε να χρησιμοποιήσετε το Scala για μεγάλα δεδομένα. Ή, ίσως θέλετε να ασχοληθείτε με το έργο Julia.

Ίσως μάθατε το MATLAB στο πανεπιστήμιο ή θέλετε να δώσετε την ευκαιρία στο SciRuby; Ίσως έχετε μια εντελώς διαφορετική πρόταση. Εάν ναι, αφήστε την απάντηση παρακάτω - Ανυπομονώ να ακούσω από εσάς!

Ευχαριστώ για την ανάγνωση!