U.E Colegio e ! "legr#a $ovar% Edo&M'rida PARADIGMAS DE LA PROGRAMACIN Docente: Integrantes: "('rico Cerrada Claudia M)r*uez +unio% ,-. D#a tras d#a la sociedad /a venido dando un ca(bio dentro de lo *ue son los progra(as de auto(atizacin 0 lengua1e co(o un ('todo /u(ano 0 no instintivo de co(unicar ideas% e(ociones 0 deseos (ediante un siste(a de s#(bolos producidos voluntaria(ente. Esta de2nicin en principio se re2ere a un lengua1e natural% *ue es a*uel /ablado o escrito *ue usa(os para la co(unicacin ()s cotidiana 0 general. 3urgiendo co(o respuesta a la necesidad del /o(bre% con la intencin de satis4acerla% 0 si es posible sacar provec/o de ella en el 4uturo. Las co(putadoras ta(bi'n surgieron co(o una respuesta de la /u(anidad ante la 4alta de organizacin 0 procesa(iento r)pido de la in4or(acin *ue cada vez crec#a ()s en las sociedades post&industriales. $oda invencin /u(ana viene con respecto a una necesidad% 0 ese (is(o concepto se puede aplicar a la (etodolog#a de progra(acin siendo este el proceso de dise5ar% codi4icar% depurar 0 (antener el cdigo 4uente de progra(as co(putacionales. El cdigo 4uente es escrito en un lengua1e de progra(acin el cual tiene co(o propsito crear progra(as *ue e6/iban un co(porta(iento deseado. El proceso de escribir cdigo re*uiere 4recuente(ente de conoci(ientos en varias )reas distintas% ade()s del do(inio del lengua1e a utilizar% algorit(os especializados 0 lgica 4or(al. Progra(ar no involucra necesaria(ente otras tareas tales co(o el an)lisis 0 dise5o de la aplicacin 7pero s# el dise5o del cdigo8% aun*ue s# suelen estar 4usionadas en el desarrollo de pe*ue5as aplicaciones. 3iendo esta surgida co(o respuesta a la necesidad de los progra(adores de interactuar con la co(putadora a un nivel ()s /u(ano. PARADIGMAS DE LA PROGRAMACIN: El t'r(ino paradig(a puede indicar el concepto de es*ue(a 4or(al de organizacin% 0 ser utilizado co(o sinni(o de (arco terico o con1unto de teor#as. 9eneral(ente se puede de4inir al t'r(ino paradig(a co(o la 4or(a de visualizar e interpretar los (ltiples conceptos% es*ue(as o (odelos del co(porta(iento en todas las etapas de la /u(anidad en lo psicolgico 0 4ilos4ico% 70 en diversas disciplinas% co(o el traba1o social8% *ue in4lu0en en el desarrollo de las di4erentes sociedades as# co(o de las e(presas% integradas e in4luenciadas por lo econ(ico% intelectual% tecnolgico% cient#4ico% cultural% art#stico% 0 religioso *ue al ser aplicados pueden su4rir (odi4icaciones o evoluciones segn las situaciones para el bene4icio de todos. La progra(acin estructurada es un paradig(a de progra(acin orientado a (e1orar la claridad% calidad 0 tie(po de desarrollo de un progra(a de co(putadora% utilizando nica(ente subrutinas 0 tres estructuras: secuencia% seleccin e iteracin; considerando innecesario 0 contraproducente el uso de la instruccin de trans4erencia incondicional% *ue podr#a conducir a <cdigo espagueti<% *ue es (uc/o ()s di4#cil de seguir 0 de (antener% siendo la causa de (uc/os errores de progra(acin. Es posible /acer la progra(acin estructurada en cual*uier lengua1e de progra(acin% aun*ue es pre4erible usar algo co(o un lengua1e de progra(acin procedi(ental. "lgunos de los lengua1es utilizados inicial(ente para progra(acin estructurada inclu0en: "L9=% P"3C"L% PL>? 0 "D"% a veces deliberada(ente o(iten caracter#sticas
en un es4uerzo para /acer ()s di4#cil la progra(acin no estructurada. Para crear un progra(a% 0 *ue la co(putadora lo int'rprete 0 e1ecute las instrucciones escritas en 'l% debe usarse un lengua1e de progra(acin. En sus inicios las co(putadoras interpretaban slo instrucciones en un lengua1e espec#4ico% del ()s ba1o nivel% conocido co(o cdigo ()*uina% siendo 'ste e6cesiva(ente co(plicado para progra(ar. De /ec/o slo consiste en cadenas de n(eros . 0 - 7siste(a binario8. Para 4acilitar el traba1o de progra(acin% los pri(eros cient#4icos *ue traba1aban en el )rea decidieron ree(plazar las instrucciones% secuencias de unos 0 ceros% por palabras o letras provenientes del ingl's; las codi4icaron 0 crearon as# un lengua1e de (a0or nivel% *ue se conoce co(o "sse(bl0 o lengua1e ensa(blador. En realidad escribir en lengua1e ensa(blador es b)sica(ente lo (is(o *ue /acerlo en lengua1e ()*uina% pero las letras 0 palabras son bastantes 4)ciles de recordar 0 entender *ue secuencias de n(eros binarios. " (edida *ue la co(ple1idad de las tareas *ue realizaban las co(putadoras au(entaba% se /izo necesario disponer de un ('todo sencillo para progra(ar. Entonces% se crearon los lengua1es de alto nivel; (ientras *ue una tarea tan trivial co(o (ultiplicar dos n(eros puede necesitar un con1unto de instrucciones en lengua1e ensa(blador% en un lengua1e de alto nivel bastar) con solo una. Una vez *ue se ter(ina de escribir un progra(a% sea en ensa(blador o en un lengua1e de alto nivel% es necesario co(pilarlo% es decir% traducirlo a lengua1e ()*uina. Por consiguiente 9ual 7.@AB8 re4le1a *ue la progra(acin debe perseguir la obtencin de progra(as de calidad% para ello se establece una serie de 4actores *ue deter(inan la calidad de un progra(a co(o lo son correccin% claridad% e4iciencia 0 portabilidad. Dic/o autor espec#4ica 0 *uiere dar a conocer *ue Cla progra(acin sigue varias etapas entre estas se encuentran la correccin *ue debe /acer tal 0 co(o se estableci en las 4ases previas a su desarrollo% ta(bi'n la claridad *ue el progra(a sea lo ()s claro% legible 0 posible. $a(bi'n encontra(os% e4iciencia *ue suele /acer re4erencia al tie(po *ue tarda en realizar la tarea para la *ue /a sido creado 0 a la cantidad de (e(oria *ue necesita% un progra(a es portable cuando tiene la capacidad de poder e1ecutarse en una plata4or(a% 0a sea /ardDare o so4tDare. De esta (anera% el estudio de los lengua1es de progra(acin% es lla(ado a veces lingE#stica de la progra(acin% por analog#a con la lingE#stica de los lengua1es naturales. La analog#a se basa en el /ec/o en *ue a(bos; lengua1es naturales 0 lengua1es de progra(acin% poseen sinta6is 74or(a8 0 se()ntica 7signi4icado8. La analog#a no puede to(arse en todo el conte6to% Los lengua1es de progra(acin no pueden ser co(parados con los lengua1es naturales en t'r(inos de su rango de e6presividad 0 sub1etividad. Por otro lado% un lengua1e natural no es ()s ni (enos *ue un grupo de personas *ue /ablan 0 escriben% as# *ue la lingE#stica natural est) restringida al an)lisis de los lengua1es e6istentes; (ientras *ue los lengua1es de progra(acin son concienzuda(ente dise5ados 0 se pueden i(ple(entar en co(putadoras. Cada lengua1e de progra(acin es una creacin 0 co(o tal /a sido cuidadosa(ente dise5ado. "lgunos lengua1es /an sido dise5ados por personas nicas% co(o por e1e(plo Pascal. =tros% /an sido dise5ados por un grupo grande de personas% tales co(o PL>l 0 "da. La e6periencia sugiere *ue a*uellos lengua1es dise5ados por personas nicas o grupos pe*ue5os% tienden a ser ()s co(pactos 0 co/erentes *ue a*uellos lengua1es dise5ados por grandes grupos. El lengua1e de progra(acin debe ser universal; es decir% cual*uier proble(a debe tener una solucin *ue puede ser progra(ada en el lengua1e 0 dic/a solucin ser i(ple(entada en cual*uier co(putador. Este re*uisito es uno de los ()s 4uertes 0 pocos lengua1es lo poseen. 3e dice *ue cual*uier lengua1e en el cual pueden de4inirse 4unciones recursivas se considera universal. De otro lado% un lengua1e sin recursin ni interaccin no puede ser universal. "s# (is(o el lengua1e de progra(acin debe ser i(ple(entable en una co(putadora% es decir; debe ser posible e1ecutar un progra(a en t'r(inos del lengua1e en cual*uier ()*uina. La notacin (ate()tica general(ente no es i(ple(entable por*ue en su notacin es posible 4or(ular proble(as *ue no pueden ser resueltos por cual*uier co(putador. Los lengua1es naturales ta(poco son i(ple(entables por razones total(ente di4erentes: ellos son tan i(precisos 0 tienden a ser (u0 a(biguos. 3egn FiGlaus Hirt/ 7.@AI8% Los lengua1es de /o0 no son el producto 4inal del desarrollo del dise5o del lengua1e; nuevos conceptos 0 paradig(as est)n siendo desarrollados 0 los lengua1es de progra(acin de los pr6i(os diez a5os podr#an ser un poco di4erentes al de /o0. El siguiente autor nos *uiere dar a entender C*ue los lengua1es de progra(acin /an sido inventados% e6a(inados e i(ple(entados en sucesivos lengua1es. ! los (is(os *ue vendr)n despu's no ser)n iguales a los de /o0 en d#a. Por consiguiente al estudio de los lengua1e en cuanto al en4o*ue del proceso de progra(acin de los lengua1es se le deno(ina paragdi(as de progra(acin entendi'ndose el ter(ino paradig(a co(o la 4or(a de ver 0 /acerlos progra(as. Ba1o este en4o*ue se tienen cuatro paradig(as los cuales son: paradig(a por procedi(iento o paradig(a i(perativo% paradig(a declarativo% paradig(a 4uncional 0 paradig(a orientado a ob1etos. Los lengua1es de progra(acin est)n basados en uno o ()s paradig(as% *ue pueden soportar distintos paradig(as de progra(acin con el ob1etivo de *ue un progra(ador utilice el ()s conveniente a la /ora de resolver un proble(a. Fingn paradig(a es capaz de resolver todos los proble(as de 4or(a sencilla 0 e4iciente% por lo tanto es til poder elegir entre distintos estilos de progra(acin dependiendo del tipo de proble(a. Referencias bibliogrficas: /ttp:>>es.DiGipedia.org>DiGi>Lengua1eJdeJprogra(aciKCLKBLnJ(ultiparadig(a /ttp:>>DDD.eviltec.co(>3o4tDare>Progra(aciKCLKBLn>paradig(as&de& progra(acion./t(l /ttp:>>es.DiGipedia.org>DiGi>Progra(aci KCLKBLnJ=rientadaJaJ"spectos