code: def languages(self):
          
          if self._language_dict is None:
              result = self.client.service.getLanguages(self.user, self.password)
              result_dict = Ideone._transform_to_dict(result)
              Ideone._handle_error(result_dict)
              languages = result_dict['languages']
              result_dict['languages'] = Ideone._collapse_language_array(languages)
              self._language_dict = result_dict['languages']
          return self._language_dict
docs: Get a list of supported languages and cache it.
  
          Examples
          --------
  
          >>> ideone_object.languages()
          {'error': 'OK',
           'languages': {1: "C++ (gcc-4.3.4)",
                         2: "Pascal (gpc) (gpc 20070904)",
                         ...
                         ...
                         ...
                         125: "Falcon (falcon-0.9.6.6)"}}