Question

I'm a computer engineer and all the courses we have had about programming and computer languages were an introduction to C/Java and OOP. Now I feel like reading Java language specification to learn a deep understanding on Java language but I understand that there are something like grammar description in the specifications which I have no idea about. What should I study to be able to understand a programming language deeply(Especially specification elements such as grammar)? Have I missed some computer science courses? or I should understand all intuitively?

I was pondering about reading some books about compilers but I thought it'd be better asking it from the experts!

Was it helpful?

Solution

Study a programming language as you would study a spoken language. Grammar is important, and you can learn that from the formal specification of the language, but grammar only goes so far. Vocabulary matters too - actually, more. Every programming language has its collection of "words" - Java's Base Class Library, Lisp's common functions, C's Standard Library, etc. But even practice with vocabulary will only get you so far. Every programming language also has its idioms, and being able to use those well is the mark of a native speaker.

Licensed under: CC-BY-SA with attribution
scroll top