dimecres, 5 de febrer de 2014

Aprendre Unity

Estos dies m'he llegit un llibre totalment recomanable per a aprendre a fer programes en 2d amb unity:

El podeu comprar en amazon Kindle:

Tinc pendent el llibre de desenvolupament de jocs en 3d

Javascript, javascript i més javascript...

Després d'un temps de pausa, torne a la càrrega... Un anàlisi "de mercat" d'aquest fastigós llenguatge de programació.
 Un dels llenguatges a que més li tinc mania és el javascript. I com sempre que trie, elegisc l'opció incorrecta, estic mirant que és el futur. És increïble veure la quantitat d'adeptes que té.
[Sempre he relacionat la programació en intèrprets (scripts) amb la mediocritat (els homes de deveres programes en llenguatges compilats) Primer va ser en ASM->C/Pascal. Després programació tradicional vs programació orientada a objectes.. I així successivament un seguit de males eleccions. De tota manera, ja fa temps que tot és interpretat (inclús l'ASM) per tant...]
El cas, que me'n vaig per les rames, és que ha aplegat un moment que pareix que tot se programen en Javascript (inclús les aplicacions d'escriptori!!!). Va iniciar-se com a complement web per afegir certa funcionalitat. Ara podem fer de tot:

  • Funcionalitat bàsica Javascript en el navegador
  • Funcionalitat avançada amb moltes biblioteques i comunicació amb un servidor (jquery, ajax...)
  • Disseny web (css, jquery...)
  • Programació de servidor : node.js
  • Programació d'aplicacions d'escriptori (les noves aplicacions de Windows Store 8.1 es podran programar directament en JS)
  • Llenguatge de base de dades: MongoDB és una base de dades no SQL que funciona amb javascript
  • Llenguatge de comunicació: ara la informació entre dos aplicacions, dos parts de l'aplicació o client-servidor sol ser cadenes JSON (arrays de Javascript) en detriment de l'XML
  • Programació de jocs. A banda de la gran quantitat de frameworks  de jocs que des d'HTML 5 s'han incorporat. Fins i tot Unity 3D suporta com a llenguatge d'scripting (per al comportament) JS o C# (es poden barrejar al mateix projecte però en unitats diferents).
  • A banda, hi ha classes intèrprets de JS en molts llenguatges de programació (java...)
Podríem (potser deuríem) de pensar que és el llenguatge del futur, però té ventatges i inconvenients:

Ventatges (Alta productivitat)
  • Curva d'aprenentatge molt ràpida
  • Moltes biblioteques ja implementades 
Inconvenients
  • No es pot fer debug/depuració (almenys en la majoria de sistemes)
  • Els llenguatges interpretats solen ser més lents que els compilats
  • En la majoria d'entorns no es defineixen les varaibles: errors difícils de detectar
  • No està tipat: pot ser una ventatja al ser més ràpid programar però un inconvenient a l'hora de revisar/definir aplicacions: "3" +"3" és "33" o "6"?
En fi, veure'm que ens depara el destí ;)