Μια εισαγωγή στη νέα γλώσσα προγραμματισμού της Apple: Swift

Φέτος στο WWDC, η εστίαση ήταν τόσο πολύ στο iOS 8 και το OS X Yosemite, που αυτό που θα έπρεπε να ήταν το μεγαλύτερο νέο της εκδήλωσης, υποτιμήθηκε μάλλον. Η Apple παρουσίασε τη γλώσσα προγραμματισμού Swift στον κόσμο. Αυτό, για τον τελικό χρήστη, είναι μόλις είδηση. Ωστόσο, για την κοινότητα των προγραμματιστών μπορεί επίσης να αλλάξει το παιχνίδι. Ορισμένες γλώσσες προγραμματισμού έχουν σαφή πλεονεκτήματα σε σχέση με άλλες γλώσσες προγραμματισμού, άλλες είναι πιο γρήγορες, άλλες πιο αποτελεσματικές, άλλες είναι απλώς πιο καθαρές, άλλες απίστευτα απλές. Η Apple είναι η πιο πρόσφατη εταιρεία που δημιούργησε τη δική της γλώσσα προγραμματισμού μετά το Google’s Go (Golang) και το .Net Framework της Microsoft. Η Swift Programming Language ισχυρίζεται ότι έχει μάθει από αυτές τις γλώσσες, ενώ παραμένει πιστή στον προκάτοχό της στο Objective C. Η Apple ισχυρίζεται ότι δημιούργησε την ταχύτερη, πιο ισχυρή γλώσσα προγραμματισμού υψηλού επιπέδου. Ας εξηγήσουμε.

Γιατί χρειαζόμαστε γλώσσες προγραμματισμού;

Υπάρχουν αρκετοί τρόποι για να κάνετε μια συσκευή να κάνει «πράγματα». Οποιαδήποτε συσκευή, από τα σύγχρονα φορητά gadget έως τους παραδοσιακούς υπολογιστές, μπορεί να κατασκευαστεί για να κάνει πράγματα χρησιμοποιώντας είτε τον παλιομοδίτικο τρόπο γλώσσας μηχανής, γράφοντας σε ακατέργαστο κώδικα byte/γλώσσα συναρμολόγησης, δημιουργώντας κάθε οδηγία με το χέρι. ή μπορείτε να βασιστείτε σε γλώσσες υψηλού επιπέδου που θα βοηθήσουν στη μείωση της ταλαιπωρίας. Γι’ αυτό δίνεται μεγαλύτερη έμφαση στο να φέρουμε τις γλώσσες προγραμματιστών όσο το δυνατόν πιο κοντά στην κανονική γλώσσα. Κατανοούμε ότι το όνομα του Swift προσελκύει περισσότερους προγραμματιστές από ό,τι θεατές, αλλά θα απλοποιήσουμε την εξήγηση για να σας βοηθήσουμε να κατανοήσετε την τεχνολογία που θα ελέγχει τις μελλοντικές γενιές προϊόντων Apple.

Ένα γρήγορο αστάρι: Οι ηλεκτρονικές συσκευές είναι κυριολεκτικά τα πιο ανόητα πράγματα που γνωρίζει η ανθρωπότητα, χωρίς όλο τον προγραμματισμό, θα περιορίζονταν σε απλά στολίδια. Αυτό που τους δίνει οποιαδήποτε πραγματική λειτουργία, είναι ο προγραμματισμός. Σε πολύ βασικό επίπεδο, τα ηλεκτρονικά πρέπει να λέγονται, δράση με δράση, τι πρέπει να κάνουν, αυτό κάναμε με τις κάρτες διάτρησης και αργότερα με τη γλώσσα μηχανής. Στη συνέχεια προχωρήσαμε εγκαίρως για να αναπτύξουμε γλώσσες που μας επιτρέπουν να επικοινωνούμε με μηχανές με σχετικά πιο φυσικό τρόπο (ναι, ο κώδικας είναι στην πραγματικότητα μια απλούστερη έκδοση αυτού που θα μπορούσε να είναι). Θα γράφαμε κώδικα, θα μεταγλωττιζόταν σε κάτι που καταλαβαίνει ο υπολογιστής και στη συνέχεια θα εκτελούνταν. Έτσι, για να συνοψίσουμε, code-compile-execut.

  Εμφάνιση και απόκρυψη κωδικών πρόσβασης στο πρόγραμμα περιήγησής σας με το σελιδοδείκτη ISeePass

Γιατί Swift;

Τώρα, μπορείτε να φανταστείτε ότι η πιο σχετική ερώτηση είναι «Γιατί;». Γ, η γλώσσα είναι από τη δεκαετία του ’70, ανοίγοντας σημαντικά νέα εδάφη εκείνη την εποχή, και μετά ήρθε το απόσπασμά της, το Objective C τη δεκαετία του ’80. Η Apple χρησιμοποιεί αυτή την πλατφόρμα για ανάπτυξη από τότε. Η λογική υπαγορεύει, «αν δεν είναι χαλασμένο, μην το διορθώσεις», και αν λειτουργεί για 30 συνεχόμενα χρόνια, ποιο θα μπορούσε να είναι το πρόβλημα; Λοιπόν αυτό. Η Apple χρησιμοποιεί το Objective C εδώ και δεκαετίες. Ώρα για κάτι πιο γρήγορο, πιο δυνατό, πιο εύκολο. Μπείτε στο Swift.

Σύμφωνα με την επίσημο ebook στο Swift (διατίθεται δωρεάν στο iTunes) «Η Swift είναι μια νέα γλώσσα προγραμματισμού για εφαρμογές iOS και OS X που βασίζεται στα καλύτερα των C και Objective-C, χωρίς τους περιορισμούς της συμβατότητας C. Η Swift υιοθετεί ασφαλή μοτίβα προγραμματισμού και προσθέτει σύγχρονες δυνατότητες για να κάνει τον προγραμματισμό ευκολότερο, πιο ευέλικτο και πιο διασκεδαστικό. Η καθαρή σελίδα της Swift, που υποστηρίζεται από τα ώριμα και αγαπημένα πλαίσια Cocoa and Cocoa Touch, είναι μια ευκαιρία να ξανασκεφτούμε πώς λειτουργεί η ανάπτυξη λογισμικού».

Γιατί είναι σημαντικό το Swift;

Όσο κι αν η Apple θα ήθελε να πιστέψετε στην ολόψυχη καινοτομία της, υπήρξε μια ιδέα της γλώσσας «σεναρίου». Οι παραδοσιακές παράμετροι κώδικα-μεταγλώττιση-εκτέλεση απαιτούν να μπορείτε να βλέπετε τον κώδικά σας σε δράση μόνο αφού έχει μεταγλωττιστεί. Η μεταγλώττιση σάς δείχνει τι ακριβώς μπορεί να κάνει ο κώδικάς σας. Εάν ο κώδικάς σας έχει σφάλματα, η μεταγλώττιση θα έχει ως αποτέλεσμα ακανόνιστη συμπεριφορά ή σφάλματα. Στη συνέχεια, η δουλειά του κωδικοποιητή θα είναι να εντοπίσει πού βρίσκεται το σφάλμα, να το διορθώσει και στη συνέχεια να ξεκινήσει εκ νέου. Αυτή η διαδικασία είναι και επίπονη και χρονοβόρα, αλλά είναι κάτι με το οποίο ο κόσμος του προγραμματισμού ζούσε πάντα. είναι όπως ήταν πάντα τα πράγματα. Οι γλώσσες δέσμης ενεργειών εκτελούνται γραμμή προς γραμμή, ώστε να μπορείτε να βλέπετε αποτελέσματα καθώς γράφετε, εξαλείφοντας την ανάγκη να ελέγξετε τον κώδικά σας για σφάλματα αργότερα. Κάνοντας τη διαδικασία πιο γρήγορη και πολύ πιο εύκολη.

  Απενεργοποιήστε τη γρήγορη εκκίνηση στα Windows 10 για σωστό τερματισμό λειτουργίας

Μέχρι σήμερα, οι γλώσσες σεναρίου ήταν περιορισμένες στις ικανότητές τους. Πάρτε για παράδειγμα την Python, είναι πολύ γρήγορη, αλλά περιορίζεται επίσης σε πιο απλά πράγματα με περιορισμένες δυνατότητες. Σαν αυτοκίνητο Forumla1, ιδανικό για αγώνες, όχι τόσο για να προμηθευτείς τα παντοπωλεία.

Αν θέλετε να φτιάξετε ένα παιχνίδι, τότε η Python δεν είναι το περιβάλλον που προτιμάτε. Ωστόσο, το Objective-C είναι (ή C++ αν χρησιμοποιείτε Windows). Τώρα, το Swift υπόσχεται το καλύτερο και από τους δύο (στην πραγματικότητα, πολλούς) κόσμους, αντλώντας έμπνευση από τα Objective-C, Rust, Haskell, Ruby, Python, C#, CLU και πάρα πολλούς άλλους για να απαριθμηθούν (αναφορά: προγραμματιστής/ειδικός του Swift Κρις Λάτνερ). Η Σουίφτ ισχυρίζεται ότι διατηρεί τα καλά πράγματα και χάνει τα κακά από τα παραπάνω. Σε βασικά σημεία αναφοράς, η εκτέλεσή του είναι ταχύτερη από την Python και πολύ πιο γρήγορη από το Objective-C, επομένως ξεκινάει καλά.

Τι άλλο κάνει;

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

Μπαίνει λίγο πιο βαθιά. Για γλώσσες υψηλού επιπέδου, έπρεπε να δηλώσετε και να αποκτήσετε πρόσβαση σε τάξεις και βιβλιοθήκες για να δεσμεύσετε λειτουργίες, ανεξάρτητα από το πόσο βασικές ήταν. στη C++ Θα χρειαστείτε τα και για να χρησιμοποιήσετε βασικές εισόδους, εξόδους και τύπους δεδομένων στον κώδικά σας. Στο Swift, ωστόσο, τίποτα από αυτά δεν είναι απαραίτητο. Δεν θα χρειαστεί να δηλώσετε βιβλιοθήκες, καθώς το Swift θα διαχειρίζεται τι χρειάζεται κάθε τύπος δεδομένων και συνάρτηση io (είσοδος/έξοδος) και θα δεσμεύει την ίδια τη βιβλιοθήκη. Έτσι, η εκτύπωση κάτι τόσο απλού όσο το “Hello world”, προέρχεται από

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

σε ένα απλό:

println("Hello, world")

Αυτό είναι το σύνολο του κώδικα που πρέπει να μεταγλωττιστεί. Θα παρατηρήσετε επίσης ότι ο κώδικας δεν χρησιμοποιεί το επίφοβο “;” ως καθολικό σημάδι μιας τελικής δήλωσης.

  Πώς να πουλήσετε το παλιό σας iPhone στο κορυφαίο δολάριο

Ποια είναι τα μειονεκτήματα;

Τώρα, η ύπαρξη του Swift δεν σημαίνει τον στιγμιαίο θάνατο του Objective-C και όλων των τρόπων του. Οι εφαρμογές μπορούν ακόμα να δημιουργηθούν χρησιμοποιώντας το Objective-C και οι εγγενείς χρήστες του Objective C δεν θα αισθάνονται εντελώς αποξενωμένοι, καθώς υπάρχουν ομοιότητες σε αυτά τα περιβάλλοντα. Φυσικά, δεδομένου ότι η Apple πέρασε μόλις 4 χρόνια δουλεύοντας σε μια νέα γλώσσα προγραμματισμού, θα επικεντρωθεί στην προώθηση και υποστήριξη του Swift, τώρα και στο μέλλον. Ίσως μια μέρα θα διαγράψουν το Objective-C από τα χρονικά των γλωσσών προγραμματισμού της Apple, αλλά αυτή η μέρα δεν είναι σήμερα. Αν όμως κυκλοφορήσει μια νέα γλώσσα, μια γλώσσα που είναι τόσο εύκολη στην εκμάθηση και είναι πολύ πιο γρήγορη, τότε γιατί να την κολλήσει κάποιος με το Objective-C;

Υπάρχουν βέβαια κάποιες ανησυχίες, οι άμεσες είναι η αναστάτωση του κλάδου. Ολόκληρες σταδιοδρομίες έχουν σφυρηλατηθεί γύρω από τη διδασκαλία των ανθρώπων πώς να φτιάχνουν εφαρμογές για iPhone, αυτές οι σταδιοδρομίες και οι μαθητές τους έχουν αμέσως ξεπεραστεί, θα υπάρξουν πολλές αναδιαρθρώσεις σε αυτό το μέτωπο. Θα λάβουμε επίσης μια νέα συλλογή πρώιμων προσαρμογέων στο Swift (το Flappy Birds έχει ήδη δημιουργηθεί χρησιμοποιώντας το Swift), κάτι που είναι τόσο καλό όσο και κακό. Καλό που θα εγχυθεί νέο αίμα στον οργανισμό, το κακό είναι ότι αυτό το νέο αίμα θα είναι άπειρο και θα πλημμυρίσει την αγορά με κακώς κατασκευασμένες εφαρμογές.

Σύντομα θα συζητήσουμε το μεταλλικό πλαίσιο της Apple, συζητώντας τα πλεονεκτήματα και τα μειονεκτήματά του, ειδικά στα παιχνίδια iOS.

συμπέρασμα

Σε περίπτωση που αναρωτιέστε γιατί δεν ανακοινώθηκε νέο υλικό στη διάσκεψη WWDC, τότε θα σας παραπέμψουμε ξανά στην προηγούμενη δήλωσή μας ότι το υλικό από μόνο του δεν μπορεί να κάνει τίποτα έως ότου το λογισμικό πίσω από αυτό δεν λειτουργεί. Αυτή λοιπόν ήταν κυριολεκτικά η μεγαλύτερη είδηση ​​όλων των εποχών. Ότι αποκτούμε μια νέα λαβή για το λογισμικό που θα αλλάξει το πρόσωπο όλου του υλικού, στο μέλλον. Για να αποκτήσετε το Swift, θα χρειαστείτε το Xcode 6 beta και ένα αναγνωριστικό προγραμματιστή.

Αποκτήστε το Swift εδώ