Podria ser que juguin millor per l'àrbitre ;-) Bromes a part, no vull generar polèmica ni molestar ningú. Només mirava de traslladar el debat una mica a un altre terreny, si us sembla interessant. Acabo de veure el missatge del Carles i penso, com ell, que a ASIX resulta de molta utilitat Python, segurament més que Java. Salutacions. 2014-04-01 21:09 GMT+02:00 Moisès Gómez <iesmoises@xxxxxxxxx>: > Tot i estant d'acord amb la proposta del teu missatge, voldria insistir en > que jo proposo Java FC a segon malgrat prefereixo molt més com juguen els > Python United :P > > > El dia 1 abril de 2014 20.18, J. Moreno <jmorep@xxxxxxxxx> ha escrit: > > Aquest fil té tota la pinta de convertir-se en una defensa del que agrada >> a cadascú. En temes de llenguatges de programació, molt em temo que passa >> com amb la política o el futbol. Si ets d'un equip o partit, la resta no >> importa gaire ;-/ >> >> Personalment, trobaria més interessant discutir sobre la concreció dels >> conceptes i procediments que creiem que cal treballar i assolir amb >> l'alumnat i després valorar per a cada un d'ells si un o altre llenguatge >> s'adiu més perquè l'alumnat aprengui el concepte o el procediment. >> >> Els arguments de l'Enric són molt interessants, tot i que parteixen d'una >> elecció prèvia. Si es tracta d'escollir un llenguatge com a eina per >> treballar els conceptes i procediments de la programació de les tres >> primeres UF del mòdul M03 (que crec que és el que es planteja), hi ha >> alguns comentaris que em semblen molt interessants, sobretot els que fan >> referència a l'ús de variables, tipus, classe d'emmagatzemament en memòria, >> etc. El fet que estigui de moda o l'utilitzin a la UPC no em semblen tan >> rellevants. >> >> No sé si entra el tema en aquest fil, però trobo més interessant >> centrar-se en què volem aconseguir i no en les eines. Segurament >> descobrirem que tenim també idees bastant diferents sobre què és més >> important treballar ala programació de primer. :) i segur que seria >> enriquidor posar-les en comú. >> >> Salutacions. >> >> José Moreno >> >> >> 2014-04-01 20:03 GMT+02:00 Moisès Gómez <iesmoises@xxxxxxxxx>: >> >> Moltes gràcies Enric! >>> >>> Vaig introduir Python a DFSI (un crèdit de segon de l'antic ASI) i >>> l'experiència va ser brutal. Alguns alumnes van reconèixer que gràcies al >>> Python havien per fi entés de què anava la programació. Entre ells, uns >>> quants van aconseguir aprovar la programació de primer! >>> >>> El curs passat vaig voler repetir amb programació de primer d'ASIX amb >>> la idea de que un administrador de sistemes l'aprofitaria molt més que el >>> C. Amb tot, discutint amb el company que fa el crèdit equivalent a DAW, em >>> va "convèncer" de que calia C perquè després els seria més fàcil entendre >>> altres llenguatges de notació "heretada" com ara el Java. Així que vaig >>> intentar tots dos llenguatges i com que allò va ser massa per un >>> percentatge important d'alumnes... vaig sacrificar Python. Crec que va ser >>> un error i no el tornaré a cometre a menys que al centre m'obliguin >>> d'alguna manera. >>> >>> En resum, la meva opinió al respecte és: >>> >>> * Python és el llenguatge ideal per primer >>> >>> * Amb les idees realment clares des de primer (sospita fonamentada en >>> els pocs que passen així a segon), no té tanta importància quins >>> llenguatges facin servir a segon. Penso que Java és una bona opció al M03 >>> per la seva demanda al mercat i perquè els conceptes POO estan molt >>> documentats a llibres que per mi són de referència (ex. "Refactoring" del >>> Fowler o "Clean Code" de l'Uncle Bob). >>> >>> Dit això, si haig d'expressar la meva preferència personal, jo faria >>> Python a primer i a segon, simplement perquè m'encanta :) >>> >>> salut >>> >>> >>> El dia 1 abril de 2014 18.25, Enric Mieza <emieza@xxxxxxxx> ha escrit: >>> >>> Hola a totes! >>>> >>>> fa un segle que vam deixar penjada la discussió de Python vs Java en el >>>> context de POO per DAMP i DAW. Oju, que aquest email és llarg ':-) >>>> >>>> Vaig al gra: *jo aposto per Python* inicialment. Impartiria Java al >>>> final de curs, un cop han madurat els conceptes bàsics. >>>> >>>> Si algú no ho té per mà podeu endinsar-vos amb aquest >>>> article<http://www.cacauet.org/wiki/index.php/Python:_introducci%C3%B3_r%C3%A0pida> >>>> . >>>> >>>> Avantatges de PYTHON: >>>> >>>> 1. És (molt) més simple >>>> 2. Ocupa menys codi >>>> 3. El codi és molt més llegible: The Zen Of >>>> Python<http://legacy.python.org/dev/peps/pep-0020/> >>>> 4. Quasi tot el què proves intuïtivament funciona >>>> 5. Té tantes llibreries com Java (o al menys no he trobat a faltar >>>> res mai, des de web, json, etc fins a GUI, Qt, GTK, etc.) >>>> 6. Té frameworks escalables i super potents com Pyramid, Django, >>>> etc. >>>> 7. Es pot fer servir com a llenguatge de sistema (scripts, accés a >>>> OS, etc.) >>>> 8. Educativament és més adequat per començar, ja que és més >>>> amigable pel neòfit >>>> 9. El fan servir a la UPC com a llenguatge de programació a 1r >>>> (Java a 2n) >>>> 10. Cada cop està més de moda i es demana més >>>> 11. Permet treballar sense objectes (a 1r de CFGS) >>>> 12. Fer llistes i altres estructures complexes és més senzill, el >>>> que permet avançar molt més en el 1r curs i estalviar-te els punters >>>> 13. Pots utilitzar punters, però pots oblidar-te d'ells al principi >>>> de l'aprenentatge >>>> 14. Existeix l'herència múltiple >>>> >>>> >>>> Desavantatges de Python: >>>> >>>> 1. Tipatge dinàmic: molt pràctic però no és útil per explicar >>>> conceptes com polimorfisme. Tampoc em sembla important al principi de >>>> curs, >>>> ja tenen prou feina amb l'herència i els conceptes bàsics (classe, >>>> instància, estructures de dades). >>>> 2. Es podria considerar "menys formal" pel tipatge dinàmic. Alguns >>>> podriem considerar això com un desavantatge educatiu (i m'incloc). A la >>>> pràctica no m'ho ha semblat. >>>> >>>> >>>> Altres (ni avantatges ni desavantatges): >>>> >>>> - Tots els atributs i mètodes son publics, política "Adults allowed >>>> here". Hi ha la convenció d'utilitzar un _underscore abans de les >>>> funcions >>>> que considerem privades. >>>> >>>> >>>> Avantatges JAVA: >>>> >>>> 1. Molt estès i demanat encara per les empreses >>>> 2. Estandarització de llibreries >>>> 3. Llenguatge oficial d'Android (ja ha aparegut kivy i d'altres per >>>> Python per Android, tot i que encara ha de madurar) >>>> >>>> >>>> Porto 2 cursos impartint els mòduls de DAW M3, M5 i M8 i ho he aplicat >>>> a fons. >>>> >>>> Sobre el tipatge dinàmic deixeu-me dir que tot i que als que hem après >>>> amb tipus estàtics (és a dir, amb declaració de variables que no canvient >>>> de tipus) ens pot semblar que no és bo per aprendre, la realitat és que el >>>> resultat és estupendu. Sí que podria ajudar a fixar coses al principi el >>>> tenir tipus estàtics, però a la pràctica no ha calgut. >>>> >>>> Sobre el tema del polimorfisme, el paradigma és un altre. En Python un >>>> objecte, si és verd i fa "croac", per a mi és una granota, independement de >>>> si és fill d'una granota o no. Per tant, no hi ha polimorfisme, si vull >>>> cridar a un mètode, miro si el té, i si el té el crido i punt. Es comenta >>>> (i hi estic d'acord) que és més pràctic i àgil que un "enfoc formal" >>>> d'herència estricta. >>>> >>>> Punters, news, mallocs i demés és tema del passat. Avui en dia hem >>>> d'emprar llenguatges d'alt nivell com Python, i no perdre el temps amb >>>> punters i esborrar de memòria les coses, que per això està el Garbage >>>> Collector. Els punters son obsolets com ho és un GOTO d'Assembler. >>>> >>>> L'experiència docent per mi és clara: fins que no fem GUI (2n >>>> trimestre) no maduren realment els conceptes bàsics (que son classe, >>>> instància, atributs i mètodes). Quan han aclarit tot això i s'han cansat de >>>> programar llistes, arrays i matrius de coses i cosetes compostes, llavors >>>> podem entrar en polimorfisme, mètodes estàtics/atributs de classe i altres. >>>> Explicar polimorfisme al principi només afegeix complicació innecessària. >>>> Sóc contrari a explicar coses que no poden entendre. Sí que es fer pot (i >>>> és necessari) a final de curs. >>>> >>>> Aquest any hem començat a fer servir Python a 1r de DAW/ASIX, però no >>>> he estat jo, així que ja us comentaré més endavant què diuen els professors >>>> i alumnes. >>>> >>>> Al 3r trimestre estic impartint amb Java ja que considero que: >>>> a) estan madurs per entendre un llenguatge tan "verbose" >>>> b) volem i cal fer programació Android >>>> >>>> En fi, perdoneu tanta extensió ':-) >>>> >>>> Espero que us sigui d'interés! >>>> >>>> Salut, >>>> >>>> Enric >>>> >>>> >>> >> >