[cfinformatica-grup] Re: Python vs Java

  • From: "J. Moreno" <jmorep@xxxxxxxxx>
  • To: cfinformatica-grup@xxxxxxxxxxxxx
  • Date: Thu, 3 Apr 2014 10:31:27 +0200

Totalment d'acord amb el que diu l'Enric. Pel que fa al tema de la
diversitat i la conveniència de fer coses diferents a cada centre, jo
sempre havia pensat també d'aquesta manera, però darrerament m'ho estic
replantejant i m'agradaria introduir aquest tema al debat.

Aquest dimarts passat vaig ser a la jornada de presentació de Oracle
Student Campus. Vaig detectar un cert interès en potenciar les
certificacions privades en front de les nostres titulacions, fins i tot per
part del representant polític que va presentar la jornada. El fet
diferencial és que les certificacions privades ofereixen (això és el que
venen) una garantia d'estandardització que els nostres títols no tenen. Tal
com pinten les coses de cara al futur, ja no estic tan convençut que sigui
bo que els curriculums dels nostres cicles admetin tantes diferències.
Potser caldria desenvolupar el que en el seu moment van anomenar
especialitzacions (posteriors al cicle), de manera que es diversifiquin els
títols i no la formació que es fa a cada títol. Les empreses volen saber
quina formació tenen els candidats i el fet que el títol per sí mateix no
sigui prou clar i definit, juga en contra nostra i dels nostres alumnes.

D'altra banda, com diu l'Enric, és impossible tractar a fons totes les
tecnologies (llenguatges, plataformes, frameworks, ...) dintre d'un únic
cicle i les necessitats de formació (i les necessitats de les empreses) són
massa diverses.

Salutacions.

José Moreno


2014-04-03 8:47 GMT+02:00 Daniel Herrera <dherrera@xxxxxxxx>:

> Hola,
>
> m'heu fet recordar aquesta pregunta de l'stackoverflow:
>
> http://stackoverflow.com/questions/9461864/data-structure-class-in-college
>
>
> salut,
> daniel herrera
> *"9 de cada 10 exercicis enquestats prefereixen ser publicats a Exercicis
> FP <http://uf.ctrl-alt-d.net/> i escapar del Moodle ;)"*
>
>
>
> El dia 3 abril de 2014 0.32, Enric Mieza <emieza@xxxxxxxx> ha escrit:
>
> Jo no crec que es tracti de gustos, que fem informàtica i no literatura ;P
>> Hem de clarificar criteris i després que cadascú decideixi en
>> conseqüència.
>>
>> Jo resumiria els criteris en 3 grans grups:
>>
>> 1- Criteris pedagògics: quin llenguatge és millor per explicar què.
>> 2- Criteris de mercat: què ens demanen les empreses.
>> 3- Experiència del profe: sol ser millor explicar el què conèixes millor.
>>
>> El punt 3 ve a ser el punt dels "gustos" personals. És important ja que
>> no crec que sigui positiu forçar-nos a explicar coses que no acabem de
>> dominar, i de vegades no arribem a tot (sobretot quan fem substitucions, ja
>> sabeu). Però en el nostre sector més que els altres o et renoves o et
>> tornes un dinosauri, i els nanos se n'adonen. I què carai, que per això ens
>> paguen.
>>
>> Vamos, que de tant en tant (millor dit: tot sovint) ens toca aprendre
>> coses noves, i d'aquí el debat: *cap a on reciclar-nos*?
>>
>> Personalment sempre havia programat en C/C++ i PHP (punt 3), i el Python
>> m'ha vingut fa poquet (2 anys). Em resultaria molt més "natural" el Java.
>> Però crec que el Python té molts més avantatges (punt 1). I tot i així haig
>> d'impartir Java si vull explicar programació en Android (punt 2). O sigui,
>> que... jo què sé! :D
>>
>> Com que crec en la biodiversitat també crec que deu ser bo que fem coses
>> diferents en cada centre (em sembla impràctic explicar tants llenguatges
>> als alumnes).
>> I també està bé que filosofem i ho compartim com estem fent :)
>>
>> Enric
>>
>>
>>
>> 2014-04-02 19:12 GMT+02:00 J. Moreno <jmorep@xxxxxxxxx>:
>>
>> Hola,
>>>
>>> Aquest debat s'està posant molt interessant.
>>>
>>> Ja que jo he proposat parlar de com orientar la programació de primer,
>>> suposo que m'hauré de mullar una mica.
>>>
>>> Tenint en compte els conceptes i procediments que necessitem com a
>>> preparació per a la POO, aquí van algunes idees sobre continguts i
>>> metodologia que estem discutint al nostre centre.
>>>
>>> Començar el més aviat possible amb la programació modular i treballar la
>>> descomposició funcional dels problemes. Això implica treballar el pas de
>>> paràmetres a funcions i dominar els conceptes d'àmbit, visibilitat i temps
>>> de vida de les variables. El llenguatge utilitzat hauria de permetre
>>> distingir amb claredat l'emmagatzematge automàtic (governat pel controlador
>>> en funció de la ubicació de la declaració de les dades) i el dinàmic
>>> (controlat pel programador que decideix crear i destruir objectes). Aquest
>>> fil conductor hauria de guiar la major part del curs.
>>>
>>> Un dels problemes conceptuals que troben els meus alumnes amb la POO és
>>> la distinció entre l'àmbit i el temps de vida de les variables referència
>>> (les que apunten als objectes i que tenen emmagatzematge automàtic) i els
>>> corresponents als propis objectes als quals apunten (que tenen
>>> emmagatzematge dinàmic). Crec que cal treballar més els temes de punters a
>>> estructures de dades (arrays, structs, registres i altres, segons el
>>> llenguatge) per entendre la POO i les variables dinàmiques.
>>>
>>> En canvi, no trobo necessari treballar l'emmagatzematge estàtic ni les
>>> variables globals.
>>>
>>> Pel que fa a les estructures de control, crec que s'han de treballar
>>> dintre de contextos significatius (fer recorreguts de col·leccions de
>>> dades, o cerques, ..., presa de decisions) i barrejades amb la definició i
>>> ús de funcions. No veig que sigui convenient fer una separació clara entre
>>> la programació estructurada i la modular.
>>>
>>> També soc de l'opinió que l'objectiu final és que el disseny que
>>> l'alumnat faci de les aplicacions sigui el més independent possible del
>>> llenguatge i estigui orientat a la prova, de manera que puguin programar en
>>> el seu futur professional en qualsevol llenguatge amb els mateixos patrons
>>> de disseny bàsics. Coincideixo completament amb l'opinió del Moisés sobre
>>> la legibilitat del codi.
>>>
>>> Per últim, crec que és un gran valor pedagògic disposar de jocs de prova
>>> dels programes abans de codificar-los, així com demanar a l'alumnat que
>>> faci prototips d'aplicació que permetin provar les funcionalitats demanades
>>> amb orientació al client.
>>>
>>> No entro a discutir els temes de POO.
>>>
>>> Salutacions cordials i disculpeu pel 'rotllo'.
>>>
>>> José
>>>
>>>
>>>
>>> 2014-04-02 12:15 GMT+02:00 Julio Amorós <
>>> jamoros@xxxxxxxxxxxxxxxxxxxxxxxxxxx>:
>>>
>>> Hola,
>>>> debat i aportacions molt interessants.
>>>> La veritat és que no puc decantar-me amb objectivitat per un dels dos,
>>>> ja que he utilitzat Java molts anys i en canvi Python molt poc.
>>>> Això sí, crec que efectivament, partim dels nostres gustos i del
>>>> llenguatge que més hem fet servir.
>>>> Una altra de les idees que gairebé tothom té, ja que s'ha après així,
>>>> és que el llenguatge fàcil és l'imperatiu o estructurat i el difícil és
>>>> l'orientat a objectes.
>>>> Entenc que Python està a la frontera dels dos models i es fa difícil
>>>> col·locar-lo 100% a una de les dues bandes. Però estic suposant que
>>>> introdueixo la programació amb Python sense fer servir el paradigma POO.
>>>>
>>>> Fa ja bastants anys vaig fer servir l'entorn i el llibre de 
>>>> blueJ<http://www.bluej.org/about.html>per introduir la programació 
>>>> orientada a objectes com a primer llenguatge i
>>>> els resultats no van ser ni millors ni pitjors. Això sí, tota aquesta
>>>> comunitat defensava que és igual de fàcil aprendre a programar amb POO que
>>>> començar amb altres paradigmes. Fins i tot deien que si no estaves
>>>> "contaminat" per altres models de programació encara era més fàcil, ja que
>>>> argumentaven que la realitat que ens envolta està representada per 
>>>> objectes.
>>>> En qualsevol cas, com be deia Carles, al nostre centre a ASIX fem
>>>> servir Python i els resultats sembla que són molt bons.
>>>>
>>>> Respecte a la gestió de memòria que es feia referència al primer email,
>>>> potser no he entès be el text, però el llenguatge que necessita que
>>>> gestionem la memòria, alliberant-la quan calgui, és C/C++ i no Java, que té
>>>> el seu propi garbage collector que crida automàgicament per evitar
>>>> precisament el problema. De la mateixa manera que les referències que
>>>> utilitza Java per apuntar a un objecte simplifica el concepte de punter de
>>>> C (menys potència per més simplicitat).
>>>>
>>>> Diuen alguns que Java va néixer (internet a banda) amb l'objectiu de
>>>> simplificar el llenguatge C++. I diuen altres que la van "cagar" quan van
>>>> començar a afegir coses poc digeribles com els tipus genèrics allà per la
>>>> versió 1.5
>>>> (Segur que va ser algun matemàtic algebrista de la punyeta ;D)
>>>>
>>>> Potser Python és a Java el que en el seu moment va suposar Java a C++.
>>>>
>>>> Vagi bé.
>>>>
>>>> Julio
>>>>
>>>> P.D: Per cert, mai he trobat a enlloc com es diu "el paradigma oposat a
>>>> la programació orientada a obejectes". Sempre em surt una barreja ...
>>>>
>>>>
>>>>
>>>> El dia 1 abril de 2014 23.37, Moisès Gómez <iesmoises@xxxxxxxxx> ha
>>>> escrit:
>>>>
>>>> Muy bonito José, llences el repte però no et mulles ;P
>>>>>
>>>>> Apa, ara seriosament, sobre la concreció d'objectius de programació
>>>>> que proposa José, i acceptant que pot ser un tema encara més polèmic que
>>>>> l'elecció del llenguatge, em pronunciaré en termes molt generals i
>>>>> segurament després de fer "envia" me n'adonaré que en falten coses:
>>>>>
>>>>> *A primer*: els alumnes han d'aprendre a resoldre problemes
>>>>> algorísmics amb els elements fonamentals de la programació (dades,
>>>>> expressions, assignació/ES, control de flux i modulació) més l'habilitat 
>>>>> de
>>>>> l'anàlisi descendent i alguns hàbits bàsics com ara la generació de codi
>>>>> llegible, fer-se seva la responsabilitat de resoldre el problema, tenir
>>>>> confiança en les seves capacitats de resolució, etc.
>>>>>
>>>>> El llenguatge de programació bàsicament hauria de no destorbar i, si a
>>>>> sobre té sortida al mercat, encara que no és l'objectiu principal, doncs
>>>>> *miel-sobre-hojuelas*. Vaig fer un MOOC que treballaven amb 
>>>>> Racket<http://racket-lang.org/>,
>>>>> un llenguatge funcional dissenyat per l'aprenentatge sistemàtic dels
>>>>> conceptes de programació sense destorb. No té, fins on jo sé, cap sortida
>>>>> al mercat. Aquí, sense dubtar-ho, escolliria *Python* amb codi no
>>>>> massa *pythonic* (qui programeu amb Python ja m'enteneu). Reptaria a
>>>>> qui proposi un altre llenguatge a resoldre un problema en tots dos
>>>>> llenguatges i veure quin és més fàcil d'entendre per a un alumne de 
>>>>> primer.
>>>>>
>>>>> *A segon*: els alumnes han d'aprendre a desenvolupar amb eines
>>>>> actuals que els permetin sortir al mercat, trobar feina i començar a
>>>>> produir des del dia 1 (és FP i no universitat). Idealment haurien de
>>>>> saber-se manegar amb més d'un llenguatge. Encara que la diversificació
>>>>> redueixi la profunditat, els oferirà més perspectiva i els farà una mica
>>>>> més resistents als "canvis de moda" tecnològics.
>>>>>
>>>>> Per tot plegat, i amb la situació actual (mireu per exemple l'índex
>>>>> tiobe <http://www.tiobe.com>), considero que els DAW haurien de
>>>>> sortir *havent programat* aplicacions en Java, Javascript, PHP i...
>>>>> Ruby. Per DAM probablement Java (o/i C#?) i Objective-C.
>>>>>
>>>>> Ja dieu
>>>>>
>>>>>
>>>>> El dia 1 abril de 2014 21.18, J. Moreno <jmorep@xxxxxxxxx> ha escrit:
>>>>>
>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Un professor català  té la mensualitat número 13 de 17 autonomies. "La
>>>> culpa és de Madrid" Artur Mas dixit.
>>>> Un president català té la mensualitat número 1 de 17 autonomies. Un 50
>>>> % més que la segona. "La culpa és de l'IPC" dita popular, convergent,
>>>> socialista ...
>>>>
>>>
>>>
>>
>

Other related posts: