Ο πηγαίος κώδικας είναι ο κατάλογος των ανθρώπινων αναγνώσιμων οδηγιών που ένας προγραμματιστής γράφει - συχνά σε ένα πρόγραμμα επεξεργασίας κειμένου - όταν αναπτύσσει ένα πρόγραμμα. Ο πηγαίος κώδικας εκτελείται μέσω a μεταγλωττιστής για να το μετατρέψει σε κώδικα μηχανής, που ονομάζεται επίσης κώδικας αντικειμένου, ο οποίος μπορεί να κατανοήσει και να εκτελέσει έναν υπολογιστή. Ο κώδικας αντικειμένου αποτελείται κυρίως από 1s και 0s, επομένως δεν είναι αναγνώσιμος από τον άνθρωπο.
Ο κώδικας πηγής και ο κώδικας αντικειμένου είναι οι καταστάσεις πριν και μετά από ένα πρόγραμμα υπολογιστή που έχει συνταχθεί. Οι γλώσσες προγραμματισμού που καταρτίζουν τον κώδικα περιλαμβάνουν C, C ++, Delphi, Swift, Fortran, Haskell, Pascal και πολλούς άλλους. Ακολουθεί ένα παράδειγμα πηγαίου κώδικα γλώσσας C:
Δεν χρειάζεται να είστε προγραμματιστής ηλεκτρονικού υπολογιστή για να πείτε ότι αυτός ο κώδικας έχει κάποια σχέση με την εκτύπωση "Hello World". Φυσικά, ο περισσότερος πηγαίος κώδικας είναι πολύ πιο πολύπλοκος από αυτό το παράδειγμα. Δεν είναι ασυνήθιστο για τα προγράμματα λογισμικού να έχουν εκατομμύρια γραμμές κώδικα. Το λειτουργικό σύστημα των Windows 10 αναφέρεται ότι έχει περίπου 50 εκατομμύρια γραμμές κώδικα.
Ο πηγαίος κώδικας μπορεί να είναι είτε αποκλειστικός είτε ανοικτός. Πολλές εταιρείες προφυλάσσουν τον πηγαίο κώδικα τους. Οι χρήστες μπορούν να χρησιμοποιήσουν τον σύνθετο κώδικα, αλλά δεν μπορούν να το δουν ή να το τροποποιήσουν. Το Microsoft Office είναι ένα παράδειγμα ιδιόκτητου πηγαίου κώδικα. Άλλες εταιρείες δημοσιεύουν τον κώδικα τους στο διαδίκτυο όπου είναι ελεύθεροι να κατεβάσουν οποιονδήποτε. Το Apache OpenOffice είναι ένα παράδειγμα κώδικα λογισμικού ανοιχτού κώδικα.
Ορισμένες γλώσσες προγραμματισμού, όπως η JavaScript, δεν μεταγλωττίζονται στον κώδικα του μηχανήματος αλλά ερμηνεύονται αντί αυτού. Σε αυτές τις περιπτώσεις, η διάκριση μεταξύ πηγαίου κώδικα και αντικειμενικού κώδικα δεν ισχύει επειδή υπάρχει μόνο ένας κωδικός. Αυτός ο μοναδικός κώδικας είναι ο πηγαίος κώδικας και μπορεί να διαβαστεί και να αντιγραφεί. Σε ορισμένες περιπτώσεις, οι προγραμματιστές αυτού του κώδικα ενδέχεται να το κρυπτογραφήσουν σκόπιμα για να αποτρέψουν την προβολή. Οι γλώσσες προγραμματισμού που ερμηνεύονται περιλαμβάνουν Python, Ιάβα, Ruby, Perl, PHP, Postscript, VBScript και πολλά άλλα.