Você precisa de um atributo de tipo? Se você estiver usando HTML5, não. Caso contrário, sim. HTML 4.01 e XHTML 1.0 especifica o typeatributo como obrigatório, enquanto HTML5 o tem como opcional, assumindo como padrão text/javascript. O HTML5 agora está amplamente implementado, portanto, se você usar o doctype HTML5, <script>...</script>é válido e uma boa escolha.
Quanto ao que deve constar no atributo type, o tipo MIME application/javascriptregistrado em 2006 tem como objetivo substituir text/javascripte é compatível com as versões atuais de todos os principais navegadores (incluindo o Internet Explorer 9). Uma citação do RFC relevante :
Este documento, portanto, define text / javascript e text / ecmascript, mas os marca como "obsoletos". O uso de tipos de mídia experimentais e não registrados, conforme listado na parte acima, é desencorajado. Os tipos de mídia,
* application/javascript
* application/ecmascript
que também são definidos neste documento, destinam-se ao uso comum e devem ser usados em seu lugar.
No entanto, o IE até a versão 8, inclusive, não executa o script dentro de um <script>elemento com um typeatributo application/javascriptou application/ecmascript, portanto, se você precisar oferecer suporte ao IE antigo, não terá text/javascript.