  Stack Overflow is the most popular Q&A website among software developers. As
a platform for knowledge sharing and acquisition, the questions posted in Stack
Overflow usually contain a code snippet. Stack Overflow relies on users to
properly tag the programming language of a question and it simply assumes that
the programming language of the snippets inside a question is the same as the
tag of the question itself. In this paper, we propose a classifier to predict
the programming language of questions posted in Stack Overflow using Natural
Language Processing (NLP) and Machine Learning (ML). The classifier achieves an
accuracy of 91.1% in predicting the 24 most popular programming languages by
combining features from the title, body and the code snippets of the question.
We also propose a classifier that only uses the title and body of the question
and has an accuracy of 81.1%. Finally, we propose a classifier of code snippets
only that achieves an accuracy of 77.7%. These results show that deploying
Machine Learning techniques on the combination of text and the code snippets of
a question provides the best performance. These results demonstrate also that
it is possible to identify the programming language of a snippet of few lines
of source code. We visualize the feature space of two programming languages
Java and SQL in order to identify some special properties of information inside
the questions in Stack Overflow corresponding to these languages.
