Modern programming environments