Γλώσσα προγραμματισμού

Περιεχόμενα

·         1 Τύποι γλωσσών προγραμματισμού

o    1.1 Υψηλό επίπεδο έναντι χαμηλού επιπέδου

o    1.2 Δηλωτικός έναντι προστακτικού προγραμματισμού

o    1.3 Λειτουργική έναντι διαδικαστικής

o    1.4 Με βάση τη στοίβα

o    1.5 Αντικειμενοστραφής

o    1.6 Προσανατολισμένη στη ροή

·         2 κανόνες

·         3 Αντικειμενοστραφής προγραμματισμός

·         4 Παραδείγματα

o    4.1 Παράδειγμα της Visual Basic

o    4.2 Παράδειγμα Python

o    4.3 Παράδειγμα της C#

o    4.4 Παράδειγμα της Haskell

·         5 Σχετικές σελίδες

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

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

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

Τύποι γλωσσών προγραμματισμού

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

Υψηλού επιπέδου έναντι χαμηλού επιπέδου

[icon]

Αυτό το τμήμα χρειάζεται περισσότερες πληροφορίες. (Αύγουστος 2018)

Οι γλώσσες προγραμματισμού υψηλού επιπέδου απαιτούν λιγότερες γνώσεις σχετικά με το υλικό σε σύγκριση με τις γλώσσες προγραμματισμού χαμηλού επιπέδου. Οι γλώσσες προγραμματισμού υψηλού επιπέδου απαιτούν έναν διερμηνέα για τη μετατροπή του πηγαίου κώδικα σε γλώσσες προγραμματισμού χαμηλού επιπέδου.

Δηλωτικός vs. επιτακτικός προγραμματισμός

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

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

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

Λειτουργική vs. Διαδικαστική

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

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

Στοίβα με βάση

Οι γλώσσες που βασίζονται στη στοίβα εξετάζουν μέρος της μνήμης του προγράμματος σαν μια στοίβα από κάρτες. Υπάρχουν πολύ λίγα πράγματα που μπορούν να γίνουν με μια στοίβα. Ένα στοιχείο δεδομένων μπορεί να τοποθετηθεί στην κορυφή της στοίβας. Αυτή η λειτουργία ονομάζεται γενικά "push". Ένα στοιχείο δεδομένων μπορεί να αφαιρεθεί από την κορυφή της στοίβας. Αυτή η πράξη ονομάζεται "pop". Μπορείτε να δείτε το στοιχείο που βρίσκεται στην κορυφή της στοίβας χωρίς να το αφαιρέσετε. Αυτό ονομάζεται "peek".

Αν ένα πρόγραμμα είναι γραμμένο ως "push 5; push 3; add; pop;" θα βάλει 5 στην κορυφή της στοίβας, θα βάλει 3 πάνω από το 5, θα προσθέσει τις δύο πρώτες τιμές (3 + 5 = 8), θα αντικαταστήσει το 3 και το 5 με το 8 και θα εκτυπώσει την κορυφή (8). Παραδείγματα γλωσσών προγραμματισμού που βασίζονται στη στοίβα είναι οι γλώσσες Postscript και Forth.

Αντικειμενοστραφής

Οι αντικειμενοστραφείς γλώσσες προγραμματισμού τοποθετούν τα δεδομένα και τις συναρτήσεις που αλλάζουν τα δεδομένα σε μια ενιαία μονάδα. Αυτή η μονάδα ονομάζεται "αντικείμενο". Τα αντικείμενα μπορούν να αλληλεπιδρούν μεταξύ τους και να αλλάζουν τα δεδομένα ενός άλλου αντικειμένου. Αυτό συνήθως ονομάζεται ενθυλάκωση ή απόκρυψη πληροφοριών. Οι περισσότερες σύγχρονες γλώσσες προγραμματισμού είναι αντικειμενοστραφείς ή τουλάχιστον επιτρέπουν αυτό το στυλ προγραμματισμού. Παραδείγματα είναι η Java, η Python, η Ruby, η C++, η C# και άλλες γλώσσες C.

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

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

Κανόνες

Κάθε γλώσσα προγραμματισμού έχει κανόνες σχετικά με το τι μπορεί και τι δεν μπορεί να κάνει. Αυτοί περιλαμβάνουν:

  • Σωστοί αριθμοί (είδη αριθμών και πόσο μεγάλοι ή μικροί μπορούν να είναι οι αριθμοί)
  • Λέξεις (δεσμευμένες λέξεις, ευαισθησία στην πεζότητα)
  • Περιορισμοί στο τι μπορεί να κάνει η γλώσσα προγραμματισμού

Οι περισσότερες γλώσσες έχουν επίσημα πρότυπα που καθορίζουν τους κανόνες για το πώς πρέπει να γράφεται ο πηγαίος κώδικας. Ορισμένες γλώσσες προγραμματισμού έχουν δύο ή περισσότερα πρότυπα. Αυτό μπορεί να συμβεί όταν ένα νέο πρότυπο αντικαθιστά ένα παλιό. Για παράδειγμα, το πρότυπο Perl 5 αντικατέστησε την Perl 4 το 1993. Μπορεί να συμβεί επειδή δύο άνθρωποι δημιούργησαν δύο πρότυπα ταυτόχρονα. Για παράδειγμα, υπάρχουν πολλά πρότυπα για την APL.

Αντικειμενοστραφής προγραμματισμός

Ο αντικειμενοστραφής προγραμματισμός (μερικές φορές συντομεύεται ως OOP) είναι μια μορφή προγραμματισμού όπου όλα τα μέρη του προγράμματος είναι αντικείμενα. Τα αντικείμενα είναι κομμάτια μνήμης με την ίδια δομή που μπορούν να χρησιμοποιηθούν ξανά και ξανά. Ένας τραπεζικός λογαριασμός, ένα bitmap ή ένας ήρωας από ένα βιντεοπαιχνίδι θα μπορούσαν να είναι αντικείμενα μέσα σε ένα πρόγραμμα. Τα αντικείμενα αποτελούνται από ιδιότητες (κομμάτια πληροφοριών που αποθηκεύει το αντικείμενο) και μεθόδους που είναι πράγματα που μπορεί να κάνει το αντικείμενο. Ένα αντικείμενο Dog μπορεί να έχει ιδιότητες όπως height και hairColor. Οι μέθοδοι του μπορεί να περιλαμβάνουν τις bark() και wagagTail().

Όλα τα αντικείμενα δημιουργούνται από πρότυπα που ονομάζονται κλάσεις. Μπορείτε να φανταστείτε μια κλάση ως ένα καλούπι από το οποίο κατασκευάζονται τα αντικείμενα. Η κλάση ορίζει όλες τις ιδιότητες και τις μεθόδους που θα έχουν τα αντικείμενά της. Τα αντικείμενα που δημιουργούνται από μια κλάση ονομάζονται στιγμιότυπα της κλάσης. Μια κλάση μπορεί να επεκτείνει μια άλλη κλάση, πράγμα που σημαίνει ότι παίρνει όλες τις ιδιότητες και τις μεθόδους της κλάσης αλλά μπορεί να προσθέσει τις δικές της.

Ακολουθεί ένα παράδειγμα του πώς μπορεί να μοιάζει μια κλάση σε μια γλώσσα προγραμματισμού:

class Dog extends Mammal{ //Αυτά είναι ιδιότητες:   String breed = "Collie" String type = "Herding Dog" //These are methods void wagTail(){ //Do some wagging } void bark(){ //Do the barking here }  }

Παρατηρήστε ότι η κλάση Dog επεκτείνει την κλάση Mammal, οπότε όλα τα σκυλιά θα έχουν τις ιδιότητες ενός θηλαστικού, όπως το μήκος μαλλιών, και μεθόδους, όπως eat() ή sleep().

Ο αντικειμενοστραφής προγραμματισμός χρησιμοποιείται σε πολλές από τις πιο δημοφιλείς γλώσσες προγραμματισμού σήμερα, όπως η Java, η C#, η Objective-C, η C++, η Python, η Ruby, η Javascript και η ActionScript.

Παραδείγματα

Παράδειγμα Visual Basic

Ακολουθεί ένα απλό πρόγραμμα γραμμένο σε Visual Basic:

  1 Dim Input 2 Input = InputBox("Πόσο χρονών είσαι;; - Κωδικός") 3 If Not IsNumeric(Input) Then 4 MsgBox & Input & "Αυτό δεν είναι αριθμός!"  5 ElseIf Input < 0 Then 6 MsgBox "Δεν μπορείτε να είστε μικρότερος από αυτή την ηλικία!"  7 ElseIf Input > 100 Then 8 MsgBox "That's old!"  9 Else 10 MsgBox "Είσαι " & Input & " ετών." 11 End If

Αυτό το πρόγραμμα ρωτά τον χρήστη την ηλικία του και απαντά με βάση το τι πληκτρολόγησε ο χρήστης. Αν ο χρήστης πληκτρολογήσει κάτι που δεν είναι αριθμός, το πρόγραμμα το λέει. Αν ο χρήστης πληκτρολόγησε έναν αριθμό μικρότερο του μηδενός, το πρόγραμμα το λέει. Αν ο χρήστης πει ότι είναι μεγαλύτερος από 100 ετών, το πρόγραμμα λέει "Αυτό είναι μεγάλη ηλικία!". Αν ο χρήστης πληκτρολογήσει μια σωστή ηλικία, το πρόγραμμα απαντά στον χρήστη πόσο χρονών είναι.

Παράδειγμα Python

Ακολουθεί ένα πρόγραμμα που κάνει το ίδιο πράγμα με το παραπάνω πρόγραμμα, αλλά σε Python:

 try: age = int(raw_input("Πόσο χρονών είσαι; ")) except ValueError: print ("Αυτό δεν είναι αριθμός!") else: if age < 0: print ("Δεν μπορείς να είσαι μικρότερος από το μηδέν!") elif age > 100: print ("Αυτό είναι μεγάλο!") else: print("Είσαι %s ετών." % age)

Παράδειγμα της C#

Το ίδιο πράγμα με το παραπάνω πρόγραμμα, αλλά σε C#:

using System; public class Hello { public static void Main() { Console. WriteLine("Ποια είναι η ηλικία σας;"); int age; if (! int. TryParse(Console. ReadLine(), out age)) Console. WriteLine("That's not a number!"); else if (age < 0) Console. WriteLine("Δεν μπορεί να είναι μικρότερος από το μηδέν!"); else if (age > 100) Console. WriteLine("That's old!"); else Console. WriteLine("Είσαι {0} ετών.", age); } }

Παράδειγμα Haskell

Το ίδιο πράγμα ξανά, αλλά σε Haskell:

import Text.Read main = do putStrLn "Ποια είναι η ηλικία σου;" input <- fmap readMaybe getLine putStrLn $ case input of Just age | age < 0 -> "Δεν μπορείς να είσαι μικρότερος από το μηδέν!"              | age > 100 -> "That's old!"              | διαφορετικά -> "Είσαι " ++ show age ++ " ετών."     Τίποτα -> "Αυτό δεν είναι αριθμός!"

Σχετικές σελίδες

  • Κατάλογος γλωσσών προγραμματισμού
  • Προγραμματιστής
  • Μεταγλωττιστής
  • Προγραμματισμός υπολογιστών

Ερωτήσεις και απαντήσεις

Ερ: Τι είναι μια γλώσσα προγραμματισμού;


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

Ερ: Ποια είναι παραδείγματα γλωσσών προγραμματισμού;


Α: Παραδείγματα γλωσσών προγραμματισμού είναι η Python, η Ruby, η Java, η JavaScript, η C, η C++ και η C#.

Ε: Πώς γράφονται τα προγράμματα σε μια γλώσσα προγραμματισμού;


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

Ερ: Τι συμβαίνει μετά τη συγγραφή των προγραμμάτων σε μια γλώσσα προγραμματισμού;


Α: Αφού τα προγράμματα γραφτούν σε μια γλώσσα προγραμματισμού πρέπει να μεταγλωττιστούν, πράγμα που σημαίνει ότι ο υπολογιστής αλλάζει ή μεταφράζει τον πηγαίο κώδικα σε μια άλλη γλώσσα (όπως assembly ή machine) που μπορεί να διαβαστεί από τους υπολογιστές αλλά είναι πολύ πιο δύσκολο να διαβαστεί από τους ανθρώπους.

Ερώτηση: Τι μπορεί να συμβεί αν γίνουν λάθη κατά τη συγγραφή προγραμμάτων;


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

Ερ: Γιατί τα προγράμματα υπολογιστών πρέπει να γράφονται προσεκτικά;


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

AlegsaOnline.com - 2020 / 2023 - License CC3