Προγραμματισμός: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
προσδιορισμός και διάκριση προγραμματιστή + μηχ.λογισμικού κατά την ακαδημαϊκή πρακτική και την κείμενη νομοθεσία.
προσθήκη
Γραμμή 1:
[[Image:H96566k.jpg|thumb|left|Ο όρος «''bug''» ([[Software bug|κοριός]]) χρησιμοποιείται κατά κόρον στην αγγλική γλώσσα για να υποδηλώσει σφάλματα στον πηγαίο κώδικα προγραμμάτων. Στην εικόνα φαίνεται το πραγματικό έντομο από το οποίο φέρεται να προέκυψε ο όρος το 1947, όταν βρέθηκε σφηνωμένο στο εσωτερικό ενός υπολογιστή της εποχής, γεγονός το οποίο είχε προξενήσει δυσλειτουργίες.]]
'''Προγραμματισμός υπολογιστών''' ([[αγγλική γλώσσα|αγγλ.]]: «''computer programming''») καλείται το σύνολο των διαδικασιών σύνταξης ενός [[Υπολογιστής|υπολογιστικού]] [[Πρόγραμμα|προγράμματος]], συνήθως ως υλοποίηση κάποιων [[αλγόριθμος|αλγορίθμων]] ύστερα από προσεκτική σχεδίαση, για την αυτοματοποιημένη εκτέλεση εργασιών ή επίλυση κάποιου υπολογιστικού προβλήματος από έναν υπολογιστή. Ο προγραμματισμός περιλαμβάνει επίσης τον έλεγχο του προγράμματος για την επαλήθευση της ακρίβειας και της ορθότητάς του ([[αποσφαλμάτωση]]), και την προπαρασκευή των οδηγιών με τις οποίες ένας υπολογιστής θα εκτελέσει τις εντολές που καθορίζονται στις προδιαγραφές του προγράμματος. Θεμελιώδη ρόλο στον υπολογιστικό προγραμματισμό διαδραματίζουν οι χιλιάδες διαφορετικές [[Γλώσσα προγραμματισμού|γλώσσες προγραμματισμού]], δηλαδή οι προτυποποιημένες [[τυπική γλώσσα|τυπικές γλώσσες]] απαραίτητες για τη σύνθεση ενός προγράμματος. Ο [[πηγαίος κώδικας]] του προγράμματος, το κείμενο που έχει συνταχθεί σε μία γλώσσα προγραμματισμού, πρέπει στη συνέχεια να μεταφραστεί σε [[γλώσσα μηχανής]] από εξειδικευμένο [[λογισμικό]] ([[μεταγλωττιστής]])- - compiler δηλαδή πρόγραμμα στο οποίο συντάσεις των κώδικα στην εκάστοτε γλώσσα , σου το αποσφαλματώνει και τελικά σου δημιουργεί το εκτελέσιμο προϊόν ώστε να είναι σε θέση να εκτελεστεί από τον υπολογιστή.
 
Ο επαγγελματίας ο οποίος ασχολείται βιοποριστικά με προγραμματισμό υπολογιστών καλείται '''προγραμματιστής''' και η επαγγελματική του δραστηριότητα '''ανάπτυξη λογισμικού''' (αγγλ.: «''software development''»), ενώ όταν εφαρμόζει συστηματικές και τυποποιημένες αρχές της [[μηχανική λογισμικού|μηχανικής λογισμικού]], συνήθως ως επόπτης μίας ομάδας προγραμματιστών, καλείται '''μηχανικός λογισμικού'''. Κατά κανόνα, όχι όμως απαραιτήτως, ένας κατ' επάγγελμα προγραμματιστής υπολογιστών έχει σπουδάσει σε κάποιον βαθμό την [[θετικές επιστήμες|επιστήμη]] της [[πληροφορική|πληροφορικής]] η οποία πραγματεύεται τη σχεδίαση, ανάλυση και κατασκευή αποδοτικών [[υπολογιστικά συστήματα|υπολογιστικών συστημάτων]], του [[υλικό υπολογιστών|υλικού]] και του [[λογισμικό|λογισμικού]] τους. Με τον προγραμματισμό μπορεί να ασχολούνται άτομα και μη επαγγελματικά, π.χ. ενθουσιώδεις χομπίστες και [[χάκερ]], ή επιστήμονες και [[επιστήμες μηχανικών|μηχανικοί]] οι οποίοι τον αξιοποιούν ως εργαλείο στη δουλειά τους.
 
Στο σημείο αυτό αξίζει να σημειωθεί ότι τα τελευταία έτη έχουν δημιουργηθεί και ρητά κατευθύνσεις Μηχανικής Λογισμικού (όπως και Μηχανικών Δικτύων και Μηχανικών Υπολογιστών) στα τμήματα Πληροφορικής της τριτοβάθμιας εκπαίδευσης (ΤΕΙ) ενώ παλιότερα ειδικά στα Πανεπιστήμια, όπου επιτρέπονταν οι κατευθύνσεις υπήρχαν παράγωγες, σύνθετες ή παρόμοιες ονομασίες των ενδεικτικά τριων εφαρμοσμένων κατευθύνσεων της Πληροφορικής: πχ
* κατεύθυνση Αρχιτεκτονικής Υπολογιστών και Συστημάτων (δηλαδή Μηχ.Υπολογιστών),
* κατεύθυνση Πληροφοριακών Συστημάτων και Εφαρμογών (δηλ Μηχ.Λογισμικού),
* κατεύθυνση Τηλεπικοινωνιών και Δικτύων (δηλ Μηχ.Δικτύων),
* κατεύθυνση Τεχνητής Νοημοσύνης και Εφαρμογών
* κ.α.
Επομένως η αναφορά στον όρο "Μηχανικός Λογισμικού" φέρει ακαδημαϊκή ρίζα ενώ σύμφωνα με την αγγλική το συντριπτικό ποσοστό των όσων επικαλούνται τον τίτλο είναι πτυχιούχοι Πληροφορικής τριτοβάθμιων ιδρυμάτων (Computer Science). Επιπρόσθετα σε πολλές χώρες (πχ Καναδάς) ο τίτλος πρέπει να συνοδεύεται από ειδική άδεια η οποία εκδίδεται από το Κράτος. Ως εκ τούτου ο όρος Μηχανικός Λογισμικός χρησιμοποιείται από πτυχίουχους (ΤΕΙ/Πανεπιστήμια) Πληροφορικής της εν λόγω κατεύθυνσης ενώ ο όρος προγραμματιστής δεν φαίνεται να φέρει περιορισμό.
 
Σημαντική επίσης είναι και η διαφοροποίηση του Λογισμικού από το Πρόγραμμα με το δεύτερο να είναι υποσύνολο του πρώτου καθώς υπολείπεται στην Τεκμηρίωση (documentation) (βλέπε αγγλική τον όρο software 'Software' from Collins Concise English Dictionary". ''Wordreference.com''. Princeton, NJ: Princeton University. Retrieved 2007-08-19.).
 
Εξίσου σημαντική για τον προσδιορισμό του όρου "Μηχανικός Λογισμικού" είναι και η κείμενη νομοθεσία των πτυχιούχων Πληροφορικής Πανεπιστήμιων και ΤΕΙ (βλ. ΠΔ.183/2008 και ΠΔ.44/2009) στην οποία όλες οι φάσεις ανάπτυξης του Λογισμικού αλλά και των Συστημάτων Υπολογιστών, Δικτύων κ.α αντιστοίχίζεται ρητά με τις ακαδημαϊκές γνώσεις τις οποίες αυτοί έχουν λάβει κατά την διάρκεια της φοίτησης τους. Σε κάθε περίπτωση μια τέτοιου είδους κατωχύρωση δεν υφίσταται για άλλους πτυχίουχους.
 
== Δείτε επίσης ==
* [[Ηλεκτρονικός υπολογιστής]]
* [[Γλώσσα προγραμματισμού]]
* [[Μηχανική λογισμικού]]
* [[Πληροφορική]]
* [[Μηχανική λογισμικού]]
* [[Μηχανικός λογισμικού]]
* [[Μηχανικός λογισμικού|Προγραμματιστής]]
 
[[Κατηγορία:Πληροφορική]]