This document contains 17 facts in HTML Microdata format.

A generic web browser may not display them properly but the document can be saved on disk and used by some appropriate program or sent to a third party. Use "Save As" or "Send To" menu item of the browser; choose "HTML" file type, not "text file" or "web archive".

The rest of the document may look like garbage for humans or not displayed by the browser.

PrefixNamespace IRI
n3http://purl.org/dc/terms/
xsdhhttp://www.w3.org/2001/XMLSchema#
n4http://el.dbpedia.org/resource/Κατηγορία:
n8http://www.w3.org/2002/07/owl#
n2http://el.dbpedia.org/resource/
n11http://www.w3.org/2000/01/rdf-schema#
n7http://xmlns.com/foaf/0.1/
n10http://dbpedia.org/class/yago/
n5http://dbpedia.org/ontology/
n9http://dbpedia.org/resource/
n6http://el.wikipedia.org/wiki/
n13http://wikidata.org/entity/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n14http://wikidata.dbpedia.org/resource/
n12http://www.stanford.edu/class/cs242/readings/backus.
Subject Item
n2:Συναρτησιακός_προγραμματισμός
rdf:type
n10:ProgrammingParadigms
n11:label
Συναρτησιακός προγραμματισμός
n11:comment
Στην επιστήμη υπολογιστών, συναρτησιακός προγραμματισμός είναι ένα προγραμματιστικό παράδειγμα που αντιμετωπίζει τον υπολογισμό ως την αποτίμηση μαθηματικών συναρτήσεων και αποφεύγει την κατάσταση προγράμματος και τα μεταβλητά δεδομένα. Δίνει έμφαση στην εφαρμογή συναρτήσεων, σε αντίθεση με τον προστακτικό προγραμματισμό, ο οποίος δίνει έμφαση στις αλλαγές κατάστασης.
n8:sameAs
n9:Functional_programming n13:Q193076 n14:Q193076
n5:wikiPageExternalLink
n12:pdf
n5:wikiPageID
139728
n5:abstract
Στην επιστήμη υπολογιστών, συναρτησιακός προγραμματισμός είναι ένα προγραμματιστικό παράδειγμα που αντιμετωπίζει τον υπολογισμό ως την αποτίμηση μαθηματικών συναρτήσεων και αποφεύγει την κατάσταση προγράμματος και τα μεταβλητά δεδομένα. Δίνει έμφαση στην εφαρμογή συναρτήσεων, σε αντίθεση με τον προστακτικό προγραμματισμό, ο οποίος δίνει έμφαση στις αλλαγές κατάστασης. Ο συναρτησιακός προγραμματισμός έχει τις ρίζες του στο λογισμό λάμδα, ένα τυπικό σύστημα που αναπτύχθηκε τη δεκαετία 1930 για τη διερεύνηση του ορισμού συναρτήσεων, της εφαρμογής συναρτήσεων και της αναδρομής. Πολλές συναρτησιακές γλώσσες προγραμματισμού μπορούν να θεωρηθούν επεκτάσεις του λογισμού λάμδα.Πρακτικά, η διαφορά μεταξύ μιας μαθηματικής συνάρτησης και της έννοιας της "συνάρτησης" που χρησιμοποιείται στον προστακτικό προγραμματισμό είναι ότι οι προστακτικές συναρτήσεις μπορούν να έχουν παρενέργειες, αλλάζοντας την τιμή των ήδη αποτιμημένων υπολογισμών. Λόγω αυτού, δεν έχουν διαφάνεια αναφορικότητας, δηλαδή η ίδια έκφραση της γλώσσας μπορεί να δώσει διαφορετικές τιμές ανάλογα με την κατάσταση του εκτελούμενου προγράμματος. Αντίστροφα, σε συναρτησιακά προγράμματα, η τιμή που επιστρέφει μια συνάρτηση εξαρτάται μόνο από τα ορίσματα που αποτελούν την είσοδο της συνάρτησης. Έτσι, η κλήση μιας συνάρτησης f με ένα όρισμα x θα δώσει το ίδιο αποτέλεσμα f(x) και τις δύο φορές. Η εξάλειψη των παρενεργειών μπορεί να κάνει πολύ ευκολότερο το να κατανοηθεί και να προβλεφθεί η συμπεριφορά ενός προγράμματος. Αυτό είναι ένα από τα κίνητρα για την ανάπτυξη του συναρτησιακού προγραμματισμού.Οι συναρτησιακές γλώσσες προγραμματισμού, και ειδικότερα οι αμιγώς συναρτησιακές συναντώνται περισσότερο στο ακαδημαϊκό παρά στο εμπορικό ή βιομηχανικό περιβάλλον. Παρ' όλα αυτά, αξιοσημείωτες συναρτησιακές γλώσσες που χρησιμοποιούνται στη βιομηχανία και στην ανάπτυξη εμπορικών εφαρμογών είναι ανάμεσα σε άλλες η Erlang, η OCaml, η Haskell, η Scheme, αλλά και γλώσσες ειδικών πεδίων όπως η R για τη στατιστική, η Mathematica για τα συμβολικά μαθηματικά, ή η K για την χρηματιστηριακή ανάλυση. Διαδεδομένες γλώσσες ειδικού πεδίου όπως η SQL και τα Lex/Yacc χρησιμοποιούν στοιχεία συναρτησιακού προγραμματισμού, ειδικά για να αποφύγουν μεταβλητές τιμές. Τα λογιστικά φύλλα μπορούν επίσης να θεωρηθούν συναρτησιακές γλώσσες προγραμματισμού.Προγραμματισμός σε συναρτησιακό στυλ μπορεί να επιτευχθεί και σε μη συναρτησιακές γλώσσες όπως η C, η Java και η Python, που δεν είναι ειδικά σχεδιασμένες για τέτοια χρήση.
n5:wikiPageRevisionID
4749952
n3:subject
n4:Γλώσσες_προγραμματισμού n4:Συναρτησιακές_γλώσσες_προγραμματισμού
n7:isPrimaryTopicOf
n6:Συναρτησιακός_προγραμματισμός
Subject Item
n2:Γλώσσα_συναρτησιακού_προγραμματισμού
n5:wikiPageRedirects
n2:Συναρτησιακός_προγραμματισμός
Subject Item
n2:Συναρτησιακή_γλώσσα_προγραμματισμού
n5:wikiPageRedirects
n2:Συναρτησιακός_προγραμματισμός
Subject Item
n6:Συναρτησιακός_προγραμματισμός
n7:primaryTopic
n2:Συναρτησιακός_προγραμματισμός
Subject Item
n14:Q193076
n8:sameAs
n2:Συναρτησιακός_προγραμματισμός