The short answer to your first question is that, since the recent Composer update that exposes getNativeAPI
, it should be possible to achieve the same results whether you use JavaScript Composer transaction processor functions, or Hyperledger go chaincode. This currently requires installing the @next stream of Composer, and you can find more in the Transaction Processor Functions reference or the Invoking a Hyperledger Composer business network from another business network tutorial.
I'll avoid getting in to the relative merits of JavaScript vs Go but Composer provides much more to improve the developer experience, from a more business focussed domain specific modelling language, to tools to generate REST services and Angular UIs.