Eloquent-javascript-19 PDF

Title Eloquent-javascript-19
Course Matemáticas para la Ingeniería
Institution Universidad Tecnológica de Chihuahua
Pages 155
File Size 3.5 MB
File Type PDF
Total Downloads 56
Total Views 130

Summary

matematicas didacticas...


Description

TableofContents EloquentJavaScript

1.1

Introducción

1.2

1.Valores,TiposyOperadores

1.3

2.EstructuradelPrograma

1.4

3.Funciones

1.5

4.EstructurasdeDatos:ObjetosyArreglos

1.6

5.FuncionesdeOrderSuperior

1.7

6.LaVidaSecretaDeLosObjetos

1.8

7.Proyecto:VidaElectronica

1.9

1

EloquentJavaScript

EloquentJavascriptenEspañol

2

Introducción

Introducción Estelibrotratadecomohacerquelascomputadorashaganloquetúquieresquehagan. Lascomputadorassontancomunescomolosdesatornilladoreshoyendía,perotienen muchamáscomplejidadocultay,porlotanto,sonmásdifícilesdeoperaryentender.Para muchossiguensiendocosasextrañas,unpocoamenazadoras.

Hemosencontradodosformasefectivasdecerrarlabrechaentenosotros,suaves organismosbiológicoscontalentoparaelrazonamientosocialyespacial,ylas computadoras,manipuladorassinsentimientosdedatossinsentido.Laprimeraesusar nuestrossentidosdelmundofísicoyconstruirinterfacesqueimitanesemundoynos permitenmanipularfigurasenunapantallaconnuestrosdedos.Estofuncionamuybien parainteraccionescasualesconlamáquina. Peroaúnnohemosencontradounabuenaformadeusarlainterfazgráficaparacomunicar alacomputadoracosasqueeldiseñadordeinterfacesnoanticipó.Parainterfacesabiertas, comoindicarlealacomputadoraqueejecutetareasarbitrarias,hemostenidomássuerte conotraestrategia,quehaceusodenuestrotalentoparaellenguaje:enseñarleala computadorauno. Loslenguajeshumanospermitenquepalabrasyfrasessecombinenenmuchasdiferentes formas,locuálnospermitedecirunaampliavariedaddecosas.Loslenguajes computacionales,aunquesongramaticalmentemenosflexibles,siguenunprincipiosimilar. Lacomputacióncasualsehaextendidomuchoenlosúltimos20años,ylasinterfaces basadasenellenguaje,quealgunavezfueronlaformapredeterminadaenlaquelas personasinteractuabanconlascomputadoras,hansidoreemplazadasengranmedidapor interfacesgráficas.Perotodavíaestánahí,sisabesdondebuscar.Unodeestoslenguajes, JavaScript,estápresenteencasitodoslosnavegadoreswebexistentesyporlotanto, disponibleenprácticamentetodoslosdispositivosdeconsumo.

3

Introducción Estelibrotratadehacerquetefamiliariceslosuficienteconestelenguajeparaquepuedas hacerquelacomputadorahagaloquetúquieras.

EnlaProgramación Noiluminoaaquellosquenoestándeseososdeaprender,tampocodespiertoa quienesnoestánansiososdedarseunaexplicaciónasímismos.Sileshepresentado unaesquinadelcuadroyellosnovienenconlasotrastres,nodeberíarecorrerotra vezlospuntos."Confucio ApartedeexplicarJavaScript,teintroduciréenlosprincipiosbásicosdelaprogramación. Programar,resultadifícil.Lasreglasfundamentalestípicamentesonsimplesyclaras.Pero losprogramascontruidossobreesasreglastiendenavolverselosuficientementecomplejos paraintroducirsuspropiasreglasymáscomplejidad.Enciertaforma,estásconstruyendo tupropiolaberintoypodríasperderteenél. Habráocasionesenlasquealleerestelibrotesentirásterriblementefrustrado.Sieres nuevoprogramando,tendrásmuchomaterialnuevoparadigerir.Muchodeestematerial despuésserácombinadoenformasquerequeriránquehagasconexionesadicionales. Esturesponsabilidadrealizarelesfuerzonecesario.Cuandosetehagadifícilseguireste libro,noconcluyasrápidamentenadaacercadetuscapacidades.Tueresbueno—sólo necesitasmantenerelpaso.Tomaunrespiro,vuelvealeerelmaterial,ysiempreasegúrate deleeryentenderlosprogramasdeejemploylosejercicios.Aprenderesuntrabajoduro, perotodoloqueaprendasahoraestuyoyharáelaprendizajecadavezmásfácil. Elprogramadordecomputadoraseselcreadordeuniversosdeloscualesélsóloes responsable.Universosdecomplejidadvirtualmenteilimitadapuedensercreadosenla formadeprogramasdecomputadora." JosephWeizenbaum,ComputerPowerandHumanReason Unprogramaesmuchascosas.Esunapiezadetextoescritaporunprogramador,esla fuerzaquedirijealacomputadoraparahacerloquehace,sondatosenlamemoriadela computadora,yaúnasícontrolalasaccionesrealizadasenestamismamemoria.Las analogíasquetratandecompararalascomputadorasconobjetosqueconocemostienden aquedarsecortas.Unaqueseajustasuperficialmenteeslademáquina,unmontónde piezasseparadasqueserelacionan,yparahacerlofuncionar,tenemosqueconsiderarlas formasenqueesaspiezasseinterconectanycontribuyenalfuncionamientodeltodo. Unacomputadoraesunamáquinaqueactuacomoanfitrionadeestasmáquinas inmateriales.Lascomputadorasporsímismassólopuedenhacercosasestúpidamente simples.Larazónporlaquesontanpoderosasesquehacenesascosasaunavelocidad

4

Introducción increíblementerápida.Unprogramapuedecombinaringeniosamenteunnúmeroenormede esasaccionessimplesparalograrcosasmuycomplicadas. Paraalgunosdenosotros,escribirprogramasdecomputadorasesunjuegofascinante.Un programaesunconstruccióndelpensamiento.Notienecostoconstruirlo,nopesanada,y crecefácilmentebajonuestrasmanostecleando. Perosinotenemoscuidado,eltamañoylacomplejidaddeunprogramasesaldránde control,confundiendoinclusoalapersonaquelocreó.Mantenerlosprogramasbajocontrol eselprincipalproblemadelaprogramación.Cuandofuncionan,eshermoso.Elartede programareslahabilidaddecontrolarlacomplejidad.Ungranprogramaestádominado, hechosimpleensucomplejidad. Muchosprogramadorescreenqueestacomplejidadesmejorcontroladausandosóloun pequeñoconjuntodetécnicasbienentendidasensusprogramas.Estoshancompuesto reglasestrictas(“mejoresprácticas”)queprescribenlaformaquelosprogramasdeberían tener,ylosmáscelososdeellosconsideraránaaquellosquesesalendeestapequeña zonaseguracomomalosprogramadores. ¡Quéhostilidadhacialariquezadelaprogramación,ladetratardereducirlaaalgosimpley predecible,tratardehacertabúatodoslosprogramasextrañosybellos!Elpanoramade todaslastécnicasdeprogramaciónesenorme,fascinanteensudiversidad,ypermanece inexploradoengranparte.Ciertamenteespeligroso,iraseduciendoalprogramadornovato contodotipodeconfusiones,peroesosólosignificaquedebesdeandarconcuidadoy estaralerta.Conformevayasaprendiendo,siemprehabránuevosretosynuevoterritorio porexplorar.Losprogramadoresquesenieguenaexplorardejarándeprogresar,olvidarán sualegría,yseaburriránconsutrabajo.

Porquéellenguajeimporta Enelprincipio,cuandonaciólacomputación,nohabíalenguajesdeprogramación.Los progrmaslucíanalgoasí: 001100010000000000000000 001100010000000100000001 001100110000000100000010 010100010000101100000010 001000100000001000001000 010000110000000100000000 010000010000000100000001 000100000000001000000000 011000100000000000000000

5

Introducción Esoesunprogramaparasumarlosnúmerosdel1al10eimprimirelresultado: 1+2+ ...+10=55.Podríacorrerenunasimple,hipotéticamáquina.Paraprogramarlas

primerascomputadoras,eranecesarioconfigurargrandesconjuntosdeinterruptoresenla posicióncorrectaoperforartirasdetarjetaseintroducirlasenlacomputadora. Probablementetepuedesimaginarcuantediosoypropensoalerroreraesteprocedimiento. Inclusoescribirprogramassimplesrequeríagraninteligenciaydisciplina.Losprogramas complejoserancasiinconcebibles. Claro,introducirmanualmenteestososcurospatronesdebits(losunosyceros)dieronal programadorunprofundosentimientodeserunpoderosomago.Yesohavalidoalgoen términosdesatisfaccióneneltrabajo. Cadalíneadelprogramaanteriorcontieneunainstrucción.Podríaserescritaenespañol comosigue:

1. Guardaelnúmero0enladireccióndememoria0. 2. Guardaelnúmero1enladireccióndememoria1. 3. Guardaelvalordeladireccióndememoria1enladirección2. 4. Resta11delvalorenladireccióndememoria2. 5. Sielvalorenladireccióndememoria2eselnúmero0,continúaconlainstrucción9. 6. Sumaelvalordeladireccióndememoria1alvalordeladireccióndememoria0. 7. Suma1alvalordeladireccióndememoria1. 8. Continúaconlainstrucción3. 9. Devuelveelvalordeladireccióndememoria0.

Aunqueesoesmáslegiblequeunasopadebits,siguesinseragradable.Podríaayudar usarnombresenlosnúmerosparalasinstruccionesydireccionesdememoria. Pon“total”iguala0. Pon“conteo”iguala1. [bucle] Pon“comparación”iguala“conteo”. Resta11de“comparación”. Si“comparación”escero,continúaen[final]. Suma“conteo”a“total”. Suma1a“conteo”. Continúaen[bucle]. [final] Devuelve“total”.

6

Introducción ¿Puedesentendercómofuncionaelprogramaenestepunto?Lasprimerasdoslíneas ponenendoslocacionesdememoriasusvaloresiniciales: totalseráusadopara construirelresultadodelcálculoy conteomantendráelregistrodelnúmeroenelque estamostrabajandoenestemomento.Laslíneasqueusan comparaciónson probablementelasmásraras.Elprogramaquiereversi conteoesiguala11parasabersi puedeterminar.Acausadequenuestramáquinahipotéticaesmásbienprimitiva,solo puedeprobarsiunnúmeroesceroytomarunadecisión(osalto)basadaeneso.Asíque usaladireccióndememoriaetiquetadacomo comparaciónparacalcularelvalorde conteo -11ytomaunadecisiónbasadaenesevalor.Laspróximasdoslíneassumanelvalorde conteoalresultadoeincrementan conteoen1cadavezqueelprogramahadecidoque conteonoestodavía11.

EsteeselmismoprogramaenJavaScript: vartotal=0; varconteo=1; while(conteo...


Similar Free PDFs