Why is the class of web frameworks pioneered by Ruby on Rails so productive and JavaEE not? Why is it so hard to write parallel programs in C or Fortran and not at all that hard in Erlang? Why is it that code generation usually fails where meta-programming succeeds? Aren't they just the same thing?
With the growing complexity of software and computer systems, semantic constructs and semantic annotations looks like promising techniques for abstracting away some of the problems with software engineering, as well as opening doors to a class of software verification technologies.
This session takes a look at semantic constructs in a few programming languages, how they are used to declare intention or meaning for a code construct and the advantages they give over ordinary, non-semantic code.
Thorbiörn Fritzon started programming Java when it was first released in 1995, and hasn't stopped yet. For the last decade, he's been working for Sun Microsystems, first as Java Architect and more recently in the position of Lead Technologist in the Nordics. Thorbiörn writes books, collects programming languages for a hobby and is a frequent speaker at conferences and guest lecturer at universities.