Example: stock market

Imparare con Python - Linguaggio di …

PensaredainformaticoImparareconPythonPen saredainformaticoImparareconPythonAllenD owneyJe reyElknerChrisMeyersGreenTeaPressWellesl ey, MassachusettsCopyrightc 2002 AllenDowney, Je reyElknere ShannonTurlingtone :Aprile2002 :Traduzionein linguaitaliana(ver. luglio2003).GreenTea Press1 Grove Box 812901 Wellesley, MA02482 E concessal'autorizzazionea copiare,distribuiree/o modi carequestodocumentosottoi terminidellaGNUFree DocumentationLicense, o successiva pub-blicatada Free Software Foundation,considerandonon modi cabilile sezioni\Introdu-zione",\Prefazione"e \Listadei collaboratori",ed i testidi primae terzadi e inclusanell'appendice\GNUFree DocumentationLicense".

Pensare da informatico Imparare con Python AllenDowney JefireyElkner ChrisMeyers GreenTeaPress Wellesley,Massachusetts

Tags:

  Python

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Imparare con Python - Linguaggio di …

1 PensaredainformaticoImparareconPythonPen saredainformaticoImparareconPythonAllenD owneyJe reyElknerChrisMeyersGreenTeaPressWellesl ey, MassachusettsCopyrightc 2002 AllenDowney, Je reyElknere ShannonTurlingtone :Aprile2002 :Traduzionein linguaitaliana(ver. luglio2003).GreenTea Press1 Grove Box 812901 Wellesley, MA02482 E concessal'autorizzazionea copiare,distribuiree/o modi carequestodocumentosottoi terminidellaGNUFree DocumentationLicense, o successiva pub-blicatada Free Software Foundation,considerandonon modi cabilile sezioni\Introdu-zione",\Prefazione"e \Listadei collaboratori",ed i testidi primae terzadi e inclusanell'appendice\GNUFree DocumentationLicense".

2 La GNUFree DocumentationLicense e disponibileall' scri-vendoalla Free Software Foundation,Inc.,59 TemplePlace,Suite330,Boston,MA02111-1307 , formaoriginaledi questolibro e in LaTeX . La compilazionedel sorgente LaTeX hal'e ettodi generareuna rappresentazionedi un testoindipendente dal dispositivo chepu o esseresuccessivamente convertitoin altriformatie sorgente LaTeXdi questolibropu o essereottenuto catalogodellaversioneoriginalein linguainglese(fornitada QualityBooks,Inc.)Downey, AllenHow to thinklike a computerscientist : learningwithPython/ AllenDowney, Je reyElkner,ChrisMeyers. { 1st Python (Computerprogramlanguage)I. Elkner,Je rey. II. Meyers, '3 QBI02-200031 IntroduzioneDi David BeazleyIn qualit a di educatore,ricercatoree autoredi libri,sonolietodi assistereallaconclusionedellastesuradi e un linguaggiodi programma-zionedivertente e sempliceda usare,la cui popolarit a e andatavia via crescendonel e statosviluppatopi u di dieciannifa daGuidovan Rossumche ne ha derivato semplicit a di sintassie facilit a d'usoingranparteda ABC,un linguaggiodedicatoall'insegnamento sviluppatoneglianni' per questospeci cocontesto, Python e statocreatoperrisolvere problemireali,dimostrandodi possedereun'ampiavariet a di caratte-ristiche tipiche di linguaggidi programmazionequaliC++,Java.}

3 Cauna dellesue pi u rimarchevoli caratteristiche: l'am-pio consensonell'ambito deglisviluppatoriprofessionistidi software, in ambientescienti coe di ricerca,tra i creativie gli l'interesseriscossoda Pythonin ambienti cos disparati,potrestiancorachiederti\Perch e Python ?"o \Perch e insegnarela programmazionecon Python ?".Risponderea questedomandenon e cosasemplice,specialmentequandol'interes segenerale e rivolto ad alternative pi u masochistiche qualiC++e Java. Pensocomunqueche la rispostapi u direttasia che la programmazionein Python e semplice,divertente e pi u informatica,il mio intento e quellodi spiegareconcettiimportanti interessandoed intrattenendonel contempo gli studenti.

4 Sfortuna-tamente nei corsiintroduttivic' e la tendenzaa focalizzaretroppo l'attenzionesull'astrazionematematicae nel casodeglistudenti a sentirsifrustratia causadi fastidiosiproblemilegatia dettaglidi bassolivello dellasintassi,dellacompi-lazionee dall'imposizionedi regolepoco intuitive. Sebbene questaastrazioneequestoformalismosianoim portanti per il progettistadi software professionalee per gli studenti che hannointenzionedi proseguirei loro studidi informatica,questoapproccioin un corsointroduttivo portasolitamente a renderel' corsononvoglioavere davanti unaclassedistudenti annoiati:preferireipiuttostovederliimpeg natia risolvere problemiin-teressanti esplorandoideediverse,approcci nonconvenzionali,infrangendoleregolee imparandodai vogliosprecaremezzosemestrea risolvere oscuriproblemidi sintassi,cercandodi capiremessaggidel compilatoregeneralmente incomprensibilio diviIntroduzionefar fronte al centinaiodi modi in cui un programmapu o generareun \generalprotectionfault".

5 Unadelleragioniper cui mi piacePython e che essopermetteun ottimoequili-briotra l'aspettopraticoe Python e interpretato,gli studenti possonofarequalcosaquasisubitosenzaperde rsiin problemidicompilazionee e fornitodi un'ampialibreriadi moduli chepossonoessereusatiin ognisortadi contesto,dallaprogrammazioneweb allagra e un ottimosistemaper impegnaregli studentie permettelorodi portarea o ancheservirecomeeccellente punto di partenzaper introdurreimportanti concettidiinformatica:datoche supportaproceduree classi,possonoesseregradualmen-te introdottiargomenti qualil'astrazioneprocedurale,le strutturedi datie laprogrammazionead oggetti,tuttisolitamente relegatia corsiavanzatidi Java oC++.

6 Pythonprendea prestitoun certonumerodi caratteristiche da linguaggidi programmazionefunzionalie pu o esserequindiusatoper introdurreconcettiche sarebbero normalmente trattatiin dettaglioin corsidi Schemeo di prefazionedi Je reysonorimastocolpitoda un suo commento: Py-thongli ha permessodi ottenere\un livello generaledi successopi u elevato edun minorelivello di frustrazione",e gli e statopossibilemuoversi \conmaggiorevelocit a e con risultatimigliori".Questicommenti si riferisconoal suo corsointroduttivo: io uso Pythonper questestesseragioniin corsidi informaticaavanzataall'Universit a di questicorsisonocostantemente messodifronte alla di colt a di dover copriremoltiargomenti complessiin un periododi appena nove sia certamente possibileper me in iggereun bel po' di so erenzausandoun linguaggiocomeil C++,ho spessotrovatoche questoapproccio e controproducente, specialmente nel casodi corsiriguar-danti la usarePythonmi permettadifocalizzaremegliol'attenziones ull'argomento realedellalezione,consentendonel contempo agli studenti di Pythonsia un linguaggioancoragiovane ed in continua evoluzione,credoche essoabbiaun futuronel campo dell'insegnamento.

7 Questolibro e unpassoimportante in Beazley, autorediPythonEssentialReferenceUniversi t a di ChicagoPrefazioneDi Je ElknerQuestolibrodeve la sua esistenzaalla collaborazioneresapossibileda Internete dal movimento suoitre autori,un professoreuniversitario,un docente di scuolasuperioreed un programmatoreprofessionista,non si sonoancoraincontratidi persona,ma ciononostante sonoriuscitia lavorareinsiemea strettocontatto,aiutatida moltepersoneche hannodonatoil propriotempoe le loroenergieper pensiamoche questolibrorappresenti la testimonianzadei bene cie dellefuturepossibilit a di questotipo di collaborazione,la cui struttura e statacreatada RichardStallmane dallaFree Software perch e sonoarrivato ad usarePythonNel 1999per la primavoltavenneusatoil linguaggioC++per l'esamedi in-formaticadel CollegeBoard'sAdvancedPlacement (AP).

8 Comein moltescuolesecondariedellanazione,la decisionedi cambiarelinguaggioebbe un impattodirettosul curriculumdel corsodi informaticaalla Yorktown HighSchool diArlington,Virginia,dove quelmomento il Pascalera statoillinguaggiodi insegnamento sia per il primoannoche per i corsiAP. Per con-tinuarecon la tradizionedi insegnareai nostristudenti unostessolinguaggioper due anni,decidemmodi passareal C++con gli studenti del primoannonel'97/'98cos da metterlial passocon il cambio nel corsoAP dell' u tardiio ero convinto che il C++fosseuna sceltanon adeguataperintrodurregli studenti all'informatica:mentre da un latoil C++ e certamen-te un linguaggiomoltopotente, essosi dimostratuttavia essereestremamentedi cileda insegnareed trovavo costantemente alle presecon ladi cilesintassidel C++e stavo inoltreinutilmente perdendomoltidei mieistudenti.

9 Convinto che ci dovesseessereun linguaggiomiglioreper il nostroprimoannoiniziaia cercareun'alternativa al C++.Avevo bisognodi un linguaggioche potessegiraretanto sullemacchineLinuxdel nostrolaboratorioquanto sui sistemiWindows e Macintoshche la maggiorpartedeglistudenti aveva a volevo open-source,cos che potesseessereusatodaglistudenti indipendentemente dalleloropossibilit a economiche. Cer-cavo un linguaggioche fosseusatoda programmatoriprofessionistie che avesseviiiPrefazioneun'attiva comunit a di supportaretanto la programmazioneproceduraleche quellaorientataagli u importante, doveva esse-re facileda insegnareed avere vagliatole possibilialternativecon questiobiettiviin mente, Pythonsembr o il uno tra gli studenti pi u dotatidi Yorktown, MattAhrens,di due mesiegli non solo impar o il linguaggioma scrisseun'applicazio-ne, chiamatapyTicket, che dava la possibilit a al nostrosta di stenderereportconcernenti problemitecnicivia che Mattnon avrebbe potutorealizzareun'applicazionedi tale portatainun tempo cos breve in C++.

10 Ed il suo successo,insiemeal suo giudiziopositivosul Linguaggio ,suggerironoche Pythonera la soluzioneche andavo un librodi testoAvendodecisodi usarePythonnel corsointroduttivo in entrambi i mieicorsidiinformatical'annosuccessivo, la mancanzadi un librodi testosi fece il problemapi u materialedisponibilegratuitamente vennein precedenza,inquellostessoanno,RichardSta llmanmi aveva avevamoscrittoa Richardesprimendoil nostrointeressenellosvilup-paredei testieducativigratuitie Allenaveva gi a scrittoun testodi informaticaper il primoanno,Howto ThinkLikea ComputerScientist. Quandolessiquellibroseppiimmediatamente che volevo usarlonellemie il testodiinformaticapi u chiaroed utileche avessi visto:il libroenfatizzava il processodipensierocoinvoltonellaprogramm azionepiuttostoche le caratteristiche di solofattodi leggerlomi reseun insegnante ThinkLikea ComputerScientistnonsoloera un libroeccellente, maaveva la licenzapubblicaGNU.


Related search queries