analisis de uso de python,java y c++ en empresas como google y facebook

download analisis de uso de python,java y c++ en empresas como google y facebook

of 9

Transcript of analisis de uso de python,java y c++ en empresas como google y facebook

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    1/9

    Anlisis del Uso de Python, Java y C++ en empresas comoGoogle y Facebook

    Alex Daniel Ticona Bejarano

    Escuela Profesional de Ingeniera de Sistemas

    Universidad Nacional de San Agustn

    Arequipa, Per

    alexdanieltb!"#gmail$com

    RESUMEN

    La era digital y la implantacin generalizada delas ne!as tecnolog"as en la sociedad #an prodcidocam$ios marcados en el so de lengajes deprogramacin para el desarrollo de di%erentesaplicaciones &e$' En este art"clo se presenta nan(lisis de so de los lengajes )yt#on* +a!a y ,--en empresas como .oogle y /ace$oo0' Este an(lisisse $asa en la recoleccin de in%ormacin de di%erentes%entes' Este estdio #a mostrado 1e n lengaje deprogramacin no es 2nico para la implementacin dena aplicacin &e$* por el contrario existe na$anico de posi$ilidades para el desarrollo de laaplicacin y las empresas tilizan la 1e sea m(s

    propicia'

    I I!"#$%UCCI$!

    Google y Facebook son empresas &'e desarrollanaplicaciones (eb para servicios de mensa)er*a, chat,bs&'eda de inormaci-n, etc .stas aplicaciones estnimplementadas segn los patrones, criterios y sinta/is delos dierentes leng'a)es de programaci-n

    0as aplicaciones 1eb desempe2an 'n papel m'yrelevante en toda actividad empresarial e intercambio de

    inormaci-n .n las empresas, 3stas representan s' cartade presentaci-n hacia clientes potenciales !o ess'iciente con satisacer las necesidades 'ncionales de'na aplicaci-n 1eb 4567

    .l desarrollo de aplicaciones (eb invol'cradecisiones no triviales de dise2o e implementaci-n &'einevitablemente inl'yen en todo el proceso dedesarrollo, aectando la divisi-n de tareas4897 0osproblemas invol'crados, como el dise2o del modelo deldominio y la constr'cci-n de la intera: de 's'ario,tienen re&'erimientos dis)'ntos &'e deben ser tratadospor separado

    .l alcance de la aplicaci-n y el tipo de 's'arios a los

    &'e estar dirigida son consideraciones tan importantescomo las tecnolog*as elegidas para reali:ar laimplementaci-n As* como las tecnolog*as p'edenlimitar la 'ncionalidad de la aplicaci-n, decisiones dedise2o e&'ivocadas tambi3n p'eden red'cir s'

    capacidad de e/tensi-n y re'sabilidad .s por ello &'e el

    'so de 'na metodolog*a de dise2o y de tecnolog*as &'ese adapten nat'ralmente a 3sta, son de vital importanciapara el desarrollo de aplicaciones comple)as

    ./isten en la act'alidad tecnolog*as ampliamente'sadas para el desarrollo de aplicaciones (eb, perom'chas de ellas obligan al desarrollador a me:claraspectos concept'ales y de presentaci-n .sto s'cedeprincipalmente con a&'ellas tecnolog*as no basadas enob)etos

    0a elecci-n de tecnolog*as comple)as demora elproceso e incrementa los costos, pero en ocasionespermite adec'arse a metodolog*as de dise2o ms

    cilmente "al es el caso de las tecnolog*as orientadas aob)etos, las c'ales tienden a demorar el desarrollo enetapas tempranas

    .l tiempo de desarrollo en la act'alidad es cr*tico,tanto por ra:ones de marketing como por l*mites en elpres'p'esto y los rec'rsos, pero la adopci-n de estastecnolog*as hace &'e el mantenimiento se transorme en'na actividad ms simple, la divisi-n en capas sea tareanat'ral del desarrollo y el tiempo invertido en el dise2oacilite el traba)o necesario para el resto de lasactividades

    0as aplicaciones hipermedia han evol'cionado en losltimos a2os y se han concentrado mayormente en la

    (eb 0as antig'as aplicaciones distrib'idas en cd;sdieron l'gar a aplicaciones dinmicas, de constanteact'ali:aci-n e incl'so personali:ables, capaces deadaptarse a los tipos de 's'arios y en casos avan:ados, acada 's'ario en partic'lar4897

    .stas caracter*sticas enc'entran el medio ideal en la(eb, ya &'e de otra orma ser*a costoso s'mantenimiento y evol'ci-n 0a comple)idad deldesarrollo oc'rre a dierentes niveles< dominios deaplicaci-n soisticados =inancieros, m3dicos,geogricos, etc>? la necesidad de proveer acceso denavegaci-n simple a grandes cantidades de datosm'ltimediales, y por ltimo la aparici-n de n'evos

    dispositivos para los c'ales se deben constr'ir interaces(eb ciles de 'sar

    .sta comple)idad en los desarrollos de aplicacioness-lo p'ede ser alcan:ada mediante la separaci-n de losas'ntos de modeli:aci-n en orma clara y concentrada

    mailto:[email protected]:[email protected]
  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    2/9

    .n este art*c'lo se anali:an los tres leng'a)es deprogramaci-n ms 'tili:ados para el desarrollo deaplicaciones (eb y de &'3 orma lo 'tili:an empresascomo Google y Facebook

    .l art*c'lo est organi:ado de la sig'iente manera.n la secci-n III se hace reerencia a la importancia delos leng'a)es de programaci-n en aplicaciones (eb, enla secci-n I@, @ y @I se desarrollan el 'so y s's

    aplicaciones de Python, Java y C++, en la secci-n @II sehace 'n anlisis de 'so de estos tres leng'a)es enempresas como Google y Facebook

    II "#AAJ$B #.0ACI$!A%$B

    0as tecnolog*as y las t3cnicas para constr'cci-n desot(are han evol'cionado rpidamente en los ltimosdie: a2os .n el mbito de aplicaciones (eb han s'rgidon'evas tecnolog*as &'e ahora compiten entre s* 0osar&'itectos y desarrolladores de sot(are continandesarrollando aplicaciones con prcticas antig'as, yotros, no conocen las alternativas y lo interesantes &'ep'eden ser

    .l traba)o 457 est enocado en compararalternativas a J8.. para la constr'cci-n de sistemasempresariales 0a capacidad de cada tecnolog*a serdeterminada por el nivel de soporte &'e brinde para laimplementaci-n de cada patr-n de alto nivel

    .s importante darse c'enta &'e los patrones dedise2o J8.. recopilan 'n con)'nto de b'enas prcticas&'e se han venido desarrollando en los ltimos a2ospara el desarrollo de sistemas (eb A'n&'e en la

    prctica m'chas aplicaciones (eb se constr'yen con 'naar&'itect'ra adDhoc, la presencia de patrones de dise2ocond'ce a sol'ciones estndares, cilmentecomprensibles y mantenibles por parte de losdesarrolladores457

    III UB$ %. 0.!GUAJ.B %. P#$G#AEACI$!.! .0 %.BA##$00$ 1.

    %esde &'e Internet empe:- a di'ndirse

    m'ndialmente, se inicia la bs&'eda de m3todos oestrategias para el aprovechamiento de las n'evastecnolog*as &'e de all* se desprenden 457 Comoconsec'encia de esta propagaci-n, ingenieros desot(are y desarrolladores han ido adoptando estasn'evas tecnolog*as

    0as tecnolog*as y t3cnicas para la constr'cci-n desot(are han ido cambiando y me)orando en los ltimosdie: a2os .n el mbito de las aplicaciones (eb hans'rgido n'evas tecnolog*as &'e compiten entre s*, dado&'e tienen venta)as y desventa)as de ac'erdo al proyecto&'e el desarrollador desea implementar y s' elecci-np'ede dierenciar el 3/ito o racaso de s' proyecto 457

    0os leng'a)es dinmicos, a veces tambi3n conocidoscomo leng'a)es de script, han estado y e/isten desdehace m'cho tiempo #ecientemente estos leng'a)es hancrecido en importancia debido de diversas ra:ones 0osleng'a)es dinmicos son leng'a)es interpretados, sin

    compilaci-n y 'tili:an c-digo de bytes, a dierencia de C C ++ y o Java 457

    .sto hace &'e el desarrollo, pr'eba y desplieg'e s'ciclo sea signiicativamente ms corto &'e otrassol'ciones alternativas Una ve: &'e se reali:a 'ncambio en el c-digo de la aplicaci-n, este est listo parala pr'eba y desplieg'e

    Alg'nos leng'a)es admiten la programaci-n

    orientada a ob)etos e incl'yen caracter*sticascomparables a leng'a)es de programaci-n compilados"ambi3n, hay 'na serie de marcos y bibliotecasdisponibles para ay'dar en el desarrollo de aplicaciones,especialmente para las aplicaciones (eb

    Por e)emplo, e/isten marcos de desarrollo tales como#ails #'by, Python y %)ango para Bymony y PHP.stos marcos proporcionan constr'cciones ricas paradesarrolladores y s' desarrollo ms cil en laaplicaci-n

    0a mayor*a de los leng'a)es dinmicos son int'itivosy relativamente ciles de aprender, &'e ha dado l'gar a

    la disponibilidad de 'n gran nmero de programadorescon conocimientos en diversos leng'a)es .ste a'mentoen el tama2o del gr'po de e/pertos red'ce an ms eltiempo de salida al mercado y el costo para el n'evodesarrollo de aplicaciones

    Adems, con el tiempo, como el 'so de estasaplicaciones crece con la organi:aci-n, debencom'nicarse con otras aplicaciones empresariales .stasotras aplicaciones empresariales podr*an ser escritas enJava, C C ++ o incl'so en C$$0 en 'n entornoheterog3neo 457

    I@ UB$ %. P"H$!

    Python es 'n leng'a)e de c-digo abierto y deprogramaci-n m'ltiDparadigma ya &'e c'enta conacilidades para la programaci-n orientada a ob)etos=P$$>, imperativa y 'ncional 47 F'e basado en elleng'a)e AC y se dice &'e 'e inl'enciado por C,Algol 6, entre otros

    Python es 'n leng'a)e de programaci-n de prop-sitogeneral, c'ya e/pansi-n y pop'laridad es relativamentereciente .ste leng'a)e ap'esta por la simplicidad,

    versatilidad y rapide: de desarrolloPython es 'n leng'a)e de scripting=leng'a)e de

    g'iones> independiente de plataorma y orientado aob)etos, preparado para reali:ar c'al&'ier tipo deprograma, desde aplicaciones 1indo(s a servidores dered o incl'so pginas (eb .s 'n leng'a)e interpretado,lo &'e signiica &'e no se necesita compilar el c-digo'ente para poder e)ec'tarlo, lo &'e orece venta)ascomo la rapide: de desarrollo e inconvenientes como'na menor velocidad4857

    .n los ltimos a2os el leng'a)e se ha hecho m'ypop'lar, gracias a varias ra:ones como< a> 0a cantidadde librer*as &'e contiene, tipos de datos y 'ncionesincorporadas en el propio leng'a)e, &'e ay'dan areali:ar m'chas tareas habit'ales sin necesidad de tener&'e programarlas desde cero b> 0a sencille: yvelocidad con la &'e se crean los programas Unprograma en Python p'ede tener de a l*neas de

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    3/9

    c-digo menos &'e s' e&'ivalente en Java o C c> 0acantidad de plataormas en las &'e podemos desarrollar,como Uni/, 1indo(s, $B8, Eac, Amiga y otros d>Adems, Python es grat'ito e incl'so para prop-sitosempresariales

    .l creador del leng'a)e es 'n e'ropeo llamadoG'ido @an #oss'm Hace ya ms de 'na d3cada &'edise2o Python, ay'dado y motivado por s' e/periencia

    en la creaci-n de otro leng'a)e llamado AC .lob)etivo de G'ido era c'brir la necesidad de 'nleng'a)e orientado a ob)etos de sencillo 'so &'e sirviesepara tratar diversas tareas dentro de la programaci-n&'e habit'almente se hac*a en Uni/ 'sando C467

    .l desarrollo de Python d'r- varios a2os, d'rantelos &'e G'ido traba)- en diversas compa2*as de .stadosUnidos .n el 8 ya dispon*a de 'n prod'cto bastantecompleto y 'n e&'ipo de desarrollo con el &'e se hab*aasociado incl'so en proyectos empresariales

    Act'almente G'ido traba)a en Kope, 'na plataormade gesti-n de contenidos y servidor de aplicaciones parael (eb, por s'p'esto, programada por completo en

    PythonA$ %rientaci&n

    .n el leng'a)e Python se p'eden crear diversasaplicaciones, pero s' 'so est orientado principalmenteal desarrollo de la parte l-gica dentro de la aplicaci-ndebido a la simple:a de s' c-digo 4L7

    Python es el leng'a)e principal de script 'tili:ado enGoogle Hace 'nos a2os google hi:o &'e Python 'era elprimer leng'a)e soportado por google App.ngine yact'almente Google sig'e 'tili:ando este leng'a)e en eldesarrollo de s's proyectos

    '$ (aracteristicas

    Phyton es 'n leng'a)e de alto nivel ya &'e contieneimpl*citas alg'nas estr'ct'ras de datos como listas,diccionarios, con)'ntos y t'plas, &'e permiten reali:aralg'nas tareas comple)as en pocas l*neas de c-digo 47

    Python es 'n leng'a)e interpretado y haimplementado toda s' librer*a estndar en el leng'a)e C,lo &'e hace &'e s's 'nciones primitivas sean bastanteeicientes 47

    .n este leng'a)e se p'eden disting'ir las sig'ientes

    caracter*sticas< a> Prop-sito general Interpretado F'nciones y librer*asde obligado c'mplimiento .n m'chos leng'a)es, paraseparar porciones de c-digo, se 'tili:an elementos comolas llaves o las palabras clave begin y end Para separarlas porciones de c-digo en Python se debe tab'lar haciadentro, colocando 'n margen al c-digo &'e ir*a dentrode 'na 'nci-n o 'n b'cle .sto ay'da a &'e todos losprogramadores adopten 'nas mismas notaciones y &'e

    los programas de c'al&'ier persona tengan 'n aspectom'y similar4887

    Python est en movimiento y en pleno desarrollo,pero ya es 'na realidad y 'na interesante opci-n parareali:ar todo tipo de programas &'e se e)ec'ten enc'al&'ier m&'ina .l e&'ipo de desarrollo esttraba)ando de manera cada ve: ms organi:ada yc'entan con el apoyo de 'na com'nidad &'e estcreciendo rpidamente

    Alg'nas empresas &'e 'tili:an Python son ahoo,Google, 1alt %isney, la !ABA, #ed Hat, etc4857

    A'n&'e la doc'mentaci-n de este leng'a)e seenc'entra en Ingl3s, poco a poco aparecen n'evaspginas &'e tratan de acercar el leng'a)e a los 's'arioshispanos

    @ UB$ %. JA@A

    Java es 'n leng'a)e de programaci-n orientado aob)etos Con este leng'a)e podemos reali:ar c'al&'iertipo de programa .n la act'alidad es 'n leng'a)e m'ye/tendido y cada ve: cobra ms importancia tanto en el

    mbito de Internet como en la inormtica en general.st desarrollado por la compa2*a B'n Eicrosystemscon gran dedicaci-n y siempre enocado a c'brir lasnecesidades tecnol-gicas ms 'tili:adas 4N7

    Una de las principales caracter*sticas por las &'eJava se ha hecho m'y amoso es &'e es 'n leng'a)eindependiente de la plataorma

    0a independencia de plataorma es 'na de lasra:ones por las &'e Java es interesante para Internet, ya&'e m'chas personas deben tener acceso conordenadores distintos Adems, Java estdesarrollndose incl'so para distintos tipos de

    dispositivos adems del ordenador como m-viles,agendas y en general para c'al&'ier aplicaci-n desot(are &'e se necesite en la ind'stria

    Java es 'n leng'a)e de programaci-n con el &'epodemos reali:ar c'al&'ier tipo de programa .n la

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    4/9

    act'alidad es 'n leng'a)e m'y e/tendido y cada ve:cobra ms importancia tanto en el mbito de Internetcomo en la inormtica en general .st desarrolladopor la compa2*a B'n Eicrosystems con gran dedicaci-ny siempre enocado a c'brir las necesidadestecnol-gicas ms avan:adas45L7

    0a independencia de plataorma es 'na venta)asigniicativa para los desarrolladores de sot(are, p'es

    antes ten*an &'e hacer 'n programa para cada sistemaoperativo, por e)emplo 1indo(s, 0in'/, Apple, etc.sto se consig'e por&'e se ha creado 'na E&'ina deJava para cada sistema &'e hace de p'ente entre elsistema operativo y el programa de Java y posibilita &'eeste ltimo se entienda perectamente

    0a independencia de plataorma es 'na de lasra:ones por las &'e Java es interesante para Internet, ya&'e m'chas personas deben tener acceso conordenadores distintos Pero no se &'eda ah*, Java estdesarrollndose incl'so para distintos tipos dedispositivos adems del ordenador como m-viles,agendas y en general para c'al&'ier cosa &'e re&'ieraesta tecnolog*a en la ind'stria

    Java 'e pensado originalmente para 'tili:arse enc'al&'ier tipo de electrodom3stico pero la idea racas-Uno de los 'ndadores de B'n rescat- la idea para'tili:arla en el mbito de Internet y convirtieron a Javaen 'n leng'a)e potente, seg'ro y 'niversal gracias a &'elo p'ede 'tili:ar todo el m'ndo y es grat'ito Una de losprimeros tri'nos de Java 'e &'e se integr- en elnavegador !etscape y permit*a e)ec'tar programasdentro de 'na pgina (eb, hasta entonces impensablecon el H"E045L7

    Act'almente Java se 'tili:a en 'n amplio abanico deposibilidades y casi c'al&'ier cosa &'e se p'ede hacer

    en c'al&'ier leng'a)e se p'ede hacer tambi3n en Java ym'chas veces con grandes venta)as en Java podemosprogramar pginas (eb dinmicas, con accesos a basesde datos, 'tili:ando OE0, con c'al&'ier tipo decone/i-n de red entre c'al&'ier sistema

    .n general, c'al&'ier aplicaci-n &'e se desea hacercon acceso a trav3s (eb se p'ede hacer 'tili:ando Java

    A$ %rientaci&n

    .l leng'a)e Java est orientado a la creaci-n deaplicaciones dinmicas de alto nivel al lado delservidor,

    Google 'tili:a )ava como leng'a)e principal en lamayor*a de s's aplicaciones

    .n Facebook se 'tili:a Java en aplicaciones como)'egos, noticias ' otras actividades, adems c'al&'ier's'ario es libre de cargar s' aplicaci-n en Java y poderser 'tili:ada por c'al&'ier 's'ario de Facebook

    '$ (aracteristicas

    Java es 'n leng'a)e simple, m'y distrib'idoalrededor del m'ndo, es interpretado, solido, seg'ro dear&'itect'ra ne'tral portable y de alto desempe2o 4557

    .l 3/ito de Java reside en varias de s'scaracter*sticas Java es 'n leng'a)e sencillo, o todo losencillo &'e p'ede ser 'n leng'a)e orientado a ob)etos,eliminando la mayor parte de los problemas de C++4N7

    "ambi3n hay &'e destacar s' seg'ridad, desarrollarprogramas &'e accedan ilegalmente a la memoria oreali:ar troyanos =vir's> es 'na tarea propia de titanes

    Cabe mencionar tambi3n s' capacidad m'ltihilo, s'rob'ste: o lo integrado &'e tiene el protocolo "CPIP,lo &'e lo hace 'n leng'a)e ideal para Internet Pero ess' sencille:, portabilidad y seg'ridad lo &'e le hanhecho 'n leng'a)e de gran importancia

    @I UB$ %. C++

    C++ es 'n leng'a)e de programaci-n orientado aob)etos &'e se desarroll- a partir de C y le agrega lacapacidad de abstraer tipos como en Bmalltalk487 C++pretende llevar a C a 'n n'evo paradigma de clases yob)etos con los &'e se reali:a 'na comprensi-n msh'mana basndose en la constr'cci-n de ob)etos, concaracter*sticas propias solo de ellos, agr'pados en

    clasesC++ es 'n leng'a)e de programaci-n dise2ado a

    mediados de los a2os por )arne Btro'str'p 0aintenci-n de s' creaci-n 'e el e/tender al e/itosoleng'a)e de programaci-n C con mecanismos &'epermitieran la manip'laci-n de ob)etos .n ese sentido,desde el p'nto de vista de los leng'a)es orientados aob)etos, el C++ es 'n leng'a)e h*brido Posteriormentese a2adieron acilidades de programaci-n gen3rica, &'ese s'm- a los otros dos paradigmas &'e ya estabanadmitidos =programaci-n estr'ct'rada y laprogramaci-n orientada a ob)etos> Por esto se s'eledecir &'e el C++ es 'n leng'a)e de programaci-n

    m'ltiparadigma.n la act'alidad, el C++ es 'n leng'a)e verstil,

    potente y general B' 3/ito entre los programadoresproesionales le ha llevado a oc'par el primer p'estocomo herramienta de desarrollo de aplicaciones

    .l C++ mantiene las venta)as del C en c'anto ari&'e:a de operadores y e/presiones, le/ibilidad,concisi-n y eiciencia Adems, ha eliminado alg'nasde las diic'ltades y limitaciones del C original 0aevol'ci-n de C++ ha contin'ado con la aparici-n deJava, 'n leng'a)e creado simpliicando alg'nas cosas deC++ y a2adiendo otras, &'e se 'tili:a para reali:araplicaciones en Internet487

    A$ %rientaci&n

    .ste leng'a)e est orientado a desarrollar la partel-gica de la aplicaci-n (eb, principalmente el backDendde la aplicaci-n Por e)emplo, google lo 'tili:a en losalgoritmos &'e contienen los motores de bs&'eda

    C ++ es el leng'a)e principal de desarrollo 'tili:adopor m'chos de los proyectos de c-digo abierto deGoogle Al programar cada archivo en C ++ se sabe &'eel leng'a)e tiene m'chas caracter*sticas de gran alcance,pero este poder trae consigo la comple)idad, &'e a s' ve:p'ede hacer &'e el c-digo sea ms propenso a

    b'gs=errores> y ms di*cil de leer y mantener 4557.l estilo tambi3n conocido como la legibilidad, son

    las convenciones &'e rigen el c-digo de C ++ almomento de implementar 'na aplicaci-n .l t3rmino

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    5/9

    estilo es 'n poco inapropiado, ya &'e estos conveniosc'bren m'cho ms &'e el ormato del archivo 'ente

    Una orma de mantener la base de c-digo mane)ablees mediante la aplicaci-n de la consistencia .s m'yimportante &'e c'al&'ier programador p'eda ver elc-digo del otro y poder entenderlo rpidamente

    Eantener 'n estilo 'niorme y sig'iendo lasconvenciones signiica &'e podemos 'tili:ar con mayor

    acilidad Qlos patronesQ para inerir &'3 s*mbolos sondierentes y &'e invariantes son ciertas acerca deellos .stos patrones re&'eridos com'nes hacen elc-digo ms cil de entender

    .n alg'nos casos p'ede haber b'enas ra:ones paracambiar ciertas reglas de estilo, pero, no obstante,mantener las cosas tal como son con el in de preservarla coherencia

    '$ (aracteristicas

    Be s'ele decir &'e es 'n leng'a)e h*brido, ya &'epermite la programaci-n estr'ct'rada

    A trav3s de los patrones de clase y de 'nciones, lostemplates, el leng'a)e apoya el desarrollo de clasesgen3ricas con parmetros de tipo y de tama2o .sterec'rso es la base de la iblioteca de Patrones .stndar,B"0, &'e contiene 'na gran cantidad de patrones declase contenedor, como mapas, con)'ntos, pilas y colas,y 'na amplia variedad de algoritmos &'e p'edenespeciali:arse para tipos de datos provistos por el's'ario B"0 es parte del estndar C++

    C ++ es 'n gran leng'a)e con m'chas caracter*sticasavan:adas .n alg'nos casos se limita, o incl'soproh*be, el 'so de ciertas caracter*sticas para mantener el

    c-digo simple y evitar los varios errores y problemascom'nes &'e estas caracter*sticas p'eden ca'sar4557

    @II G$$G0.

    Google es 'na empresa m'ltinacionalnorteamericana especiali:ada en prod'ctos y serviciosrelacionados con Internet, sot(are, dispositivoselectr-nicosy otras tecnolog*as487

    .l principal prod'cto de Google es elmotor de

    bs&'edade contenido en Internet del mismo nombre,a'n&'e orece tambi3n otros servicios como 'n serviciodecorreo electr-nicollamado Gmail, s's servicios demapas Google Eapsy Google .arth, el sitio (eb dev*deos o'"'bey otras 'tilidades (eb como Google0ibroso Google !oticias,Google Chromey laredsocialGoogle+

    Por otra parte, lidera el desarrollo del sistemaoperativo basado en 0in'/,Android, orientado atel3onos inteligentes, tabletas, televisores ya'tom-viles Act'almente est traba)ando en 'nproyecto de gaas de realidad a'mentada, las GoogleGlass,en 'n servicio de ibra -ptica? elGoogle Fibery

    en veh*c'los a't-nomos 487Con ms de 'n mill-n de servidores y centros de

    datos presentes en todo el m'ndo, Google es capa: deprocesar ms de 5 millones de peticiones debs&'eda diarias y s'motor de bs&'edaes el sitio (eb

    ms visitado a nivel m'ndial tal como m'estra elranking (eb internacional

    0a bs&'eda 'e el origen de Google y sig'e siendoel oco de todo lo &'e hace en la act'alidad Be dedicams cantidad de tiempo de desarrollo a la bs&'eda &'ea ningn otro prod'cto debido a &'e siempre se p'edeay'dar a &'e los 's'arios enc'entren me)or lo &'eb'scan, con mayor rapide:, c'ando y donde lo

    necesiten0a mayor*a de los ingresos de Google proceden de la

    p'blicidad relevante, rentable y c'antiicable &'e orecea los an'nciantes Para colocar p'blicidad en Google sedebe 'sar Adsense R participaci-n &'e no solo esgrat'ita sino &'e google paga los Clics o las impresionesde los an'ncios &'e se m'estren en s's sitios 1eb

    .l ob)etivo de Google es &'e los an'ncios &'eaparecen en s's sitios no solo res'lten tiles para losan'nciantes sino &'e tambi3n sean 'n medio deinormaci-n valioso para los 's'arios, de manera &'etodos obtengan 'n beneicio

    Cientos de miles de an'nciantes 'tili:an GoogleAd1ords y otros servicios de Google como, pore)emplo, la p'blicidad en m-viles y la p'blicidad dedisplay en la #ed de %isplay de Google o mediante latecnolog*a de %o'bleClick @arios centenares de milesde editores asociados, tanto grandes como pe&'e2os, sebeneician del 'so de herramientas como GoogleAdBense para obtener ingresos por s' contenido 0ost3cnicos de marketing p'eden 'tili:ar herramientas demedici-n, tales como Google Analytics para anali:ar s'scampa2as y para &'e estas res'lten ms eicaces y msrentables

    0os principales prod'ctos y servicios de google son 'scador de Google,b> Google Gr'pos, c> Google!oticias, d> logger, e> Google 0ibros, > Gmail, g>Google Eaps,h> Google .arth, i> Hango'ts, )>Google%rive,S> Picasa, l>Google Calendar, m>o'"'be, n>Google Chrome 2> Google Pl's, o> Google Play, p>Google "ranslatey &>Google History

    @III FAC.$$S

    Facebookes'n sitio (eb de redes sociales lan:adaen 89 y 'e 'ndado por Eark K'ckerberg, est'diantede la Universidad de Harvard Inicialmente, el acceso aFacebook se limitaba solamente a los est'diantes de laUniversidad de Harvard, y rpidamente se e/pandi-tambi3n para m'chas 'niversidades A mediados de8N, Facebook cre- s's versiones en .spa2ol, enFranc3s y en Alemn, trad'cido por 's'ariosvol'ntarios, para e/pandirse en dierentes pa*ses, y en858, Facebook alcan:- los 5 millones de's'arios4867

    Facebook es grat'ito para los 's'arios y generaingresos por la p'blicidad e/p'esta, incl'yendo losbanners y los gr'pos patrocinados 0os 's'arios p'edenregistrarse a trav3s de s' correo electr-nico y p'edenhacerlo como celebridades, msicos o gr'pos de msica,negocios o empresas, o personas individ'ales P'edencrear periles &'e contienen otos, listas de interesespersonales e inormaci-n privada o no, y p'eden reali:ar

    https://es.wikipedia.org/wiki/Empresa_multinacionalhttps://es.wikipedia.org/wiki/Internethttps://es.wikipedia.org/wiki/Internethttps://es.wikipedia.org/wiki/Softwarehttps://es.wikipedia.org/w/index.php?title=Dispositivos_electr%C3%B3nicos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Dispositivos_electr%C3%B3nicos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Dispositivos_electr%C3%B3nicos&action=edit&redlink=1https://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Correo_electr%C3%B3nicohttps://es.wikipedia.org/wiki/Correo_electr%C3%B3nicohttps://es.wikipedia.org/wiki/Correo_electr%C3%B3nicohttps://es.wikipedia.org/wiki/Gmailhttps://es.wikipedia.org/wiki/Google_Mapshttps://es.wikipedia.org/wiki/Google_Mapshttps://es.wikipedia.org/wiki/Google_Earthhttps://es.wikipedia.org/wiki/Google_Earthhttps://es.wikipedia.org/wiki/YouTubehttps://es.wikipedia.org/wiki/Google_Libroshttps://es.wikipedia.org/wiki/Google_Libroshttps://es.wikipedia.org/wiki/Google_Libroshttps://es.wikipedia.org/wiki/Google_Noticiashttps://es.wikipedia.org/wiki/Google_Noticiashttps://es.wikipedia.org/wiki/Google_Chromehttps://es.wikipedia.org/wiki/Google_Chromehttps://es.wikipedia.org/wiki/Google_Chromehttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Google%2Bhttps://es.wikipedia.org/wiki/Linuxhttps://es.wikipedia.org/wiki/Androidhttps://es.wikipedia.org/wiki/Androidhttps://es.wikipedia.org/wiki/Google_Glasshttps://es.wikipedia.org/wiki/Google_Glasshttps://es.wikipedia.org/wiki/Google_Glasshttps://es.wikipedia.org/wiki/Google_Fiberhttps://es.wikipedia.org/wiki/Google_Fiberhttps://es.wikipedia.org/wiki/Motor_de_b%C3%BAsquedahttps://es.wikipedia.org/wiki/Motor_de_b%C3%BAsquedahttps://es.wikipedia.org/wiki/Motor_de_b%C3%BAsquedahttps://es.wikipedia.org/wiki/Google#Buscador_de_Googlehttps://es.wikipedia.org/wiki/Google#Buscador_de_Googlehttps://es.wikipedia.org/wiki/Google#Google_Gruposhttps://es.wikipedia.org/wiki/Google#Google_Gruposhttps://es.wikipedia.org/wiki/Google#Google_Noticiashttps://es.wikipedia.org/wiki/Google#Google_Noticiashttps://es.wikipedia.org/wiki/Google#Google_Noticiashttps://es.wikipedia.org/wiki/Google#Bloggerhttps://es.wikipedia.org/wiki/Google#Google_Libroshttps://es.wikipedia.org/wiki/Google#Gmailhttps://es.wikipedia.org/wiki/Google#Google_Mapshttps://es.wikipedia.org/wiki/Google#Google_Mapshttps://es.wikipedia.org/wiki/Google#Google_Earthhttps://es.wikipedia.org/wiki/Google#Hangoutshttps://es.wikipedia.org/wiki/Google#Google_Drivehttps://es.wikipedia.org/wiki/Google#Google_Drivehttps://es.wikipedia.org/wiki/Google#Google_Drivehttps://es.wikipedia.org/wiki/Google#Picasahttps://es.wikipedia.org/wiki/Google#Google_Calendarhttps://es.wikipedia.org/wiki/Google#YouTubehttps://es.wikipedia.org/wiki/Google#Google_Chromehttps://es.wikipedia.org/wiki/Google#Google_Chromehttps://es.wikipedia.org/wiki/Google#Google_Plushttps://es.wikipedia.org/wiki/Google#Google_Playhttps://es.wikipedia.org/wiki/Google#Google_Playhttps://es.wikipedia.org/wiki/Google#Google_Translatehttps://es.wikipedia.org/wiki/Google#Google_Historyhttps://es.wikipedia.org/wiki/Empresa_multinacionalhttps://es.wikipedia.org/wiki/Internethttps://es.wikipedia.org/wiki/Softwarehttps://es.wikipedia.org/w/index.php?title=Dispositivos_electr%C3%B3nicos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Dispositivos_electr%C3%B3nicos&action=edit&redlink=1https://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Buscador_de_Googlehttps://es.wikipedia.org/wiki/Correo_electr%C3%B3nicohttps://es.wikipedia.org/wiki/Gmailhttps://es.wikipedia.org/wiki/Google_Mapshttps://es.wikipedia.org/wiki/Google_Earthhttps://es.wikipedia.org/wiki/YouTubehttps://es.wikipedia.org/wiki/Google_Libroshttps://es.wikipedia.org/wiki/Google_Libroshttps://es.wikipedia.org/wiki/Google_Noticiashttps://es.wikipedia.org/wiki/Google_Chromehttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Red_socialhttps://es.wikipedia.org/wiki/Google%2Bhttps://es.wikipedia.org/wiki/Linuxhttps://es.wikipedia.org/wiki/Androidhttps://es.wikipedia.org/wiki/Google_Glasshttps://es.wikipedia.org/wiki/Google_Glasshttps://es.wikipedia.org/wiki/Google_Fiberhttps://es.wikipedia.org/wiki/Motor_de_b%C3%BAsquedahttps://es.wikipedia.org/wiki/Google#Buscador_de_Googlehttps://es.wikipedia.org/wiki/Google#Google_Gruposhttps://es.wikipedia.org/wiki/Google#Google_Noticiashttps://es.wikipedia.org/wiki/Google#Google_Noticiashttps://es.wikipedia.org/wiki/Google#Bloggerhttps://es.wikipedia.org/wiki/Google#Google_Libroshttps://es.wikipedia.org/wiki/Google#Gmailhttps://es.wikipedia.org/wiki/Google#Google_Mapshttps://es.wikipedia.org/wiki/Google#Google_Mapshttps://es.wikipedia.org/wiki/Google#Google_Earthhttps://es.wikipedia.org/wiki/Google#Hangoutshttps://es.wikipedia.org/wiki/Google#Google_Drivehttps://es.wikipedia.org/wiki/Google#Google_Drivehttps://es.wikipedia.org/wiki/Google#Picasahttps://es.wikipedia.org/wiki/Google#Google_Calendarhttps://es.wikipedia.org/wiki/Google#YouTubehttps://es.wikipedia.org/wiki/Google#Google_Chromehttps://es.wikipedia.org/wiki/Google#Google_Chromehttps://es.wikipedia.org/wiki/Google#Google_Plushttps://es.wikipedia.org/wiki/Google#Google_Playhttps://es.wikipedia.org/wiki/Google#Google_Translatehttps://es.wikipedia.org/wiki/Google#Google_Translatehttps://es.wikipedia.org/wiki/Google#Google_History
  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    6/9

    'n intercambio de mensa)es privados y pblicos entre s*y en los gr'pos de amigos

    0a vis'ali:aci-n de los datos detallados de losmiembros est restringida a los miembros de la mismared, a los amigos conirmados, o p'ede ser libre parac'al&'ier persona

    Facebook tiene varias herramientas, como el m'ro,act'almente se denomina Tiogra*aT, &'e es 'n espacio

    en la pgina del peril del 's'ario &'e permite tanto al's'ario como a los amigos de 3ste tanto escribirmensa)es como colocar otogra*as, v*deos y links en 3l.s visible para c'al&'ier persona &'e tenga permiso paraver el peril completo, y los dierentes mensa)es en elm'ro aparecen separados

    ./iste otro apartado en TInicioT denominado TltimasnoticiasT donde aparecen mensa)es y dierentes accionesde todos s's amigos

    Facebook tambi3n tiene otras aplicaciones condiversos temas, y eventos, donde se p'ede invitar atodos los amigos a 'n evento o 'na actividad en

    partic'lar "ambi3n e/iste 'n Facebook especial para lostel3onos m-viles, los tel3onos inteligentes osmartphones y las tablets, &'e acilitan la vis'ali:aci-n yla accesibilidad de los 's'arios Para estos dispositivosm-viles y tambi3n para ordenadores, Facebook tambi3ntiene 'n servicio de mensa)er*a instantnea o chat parahablar en tiempo real con todos los amigos conectados

    ./iste 'na opci-n, denominada TEe g'staT, &'e sirvepara valorar cada contenido de la red social por el's'ario en 'n momento determinado

    "ambi3n e/isten los gr'pos de Facebook Conelb'scador de Facebookse p'ede e/plorar gr'pos sobretodo tipo de temas, es tan sencillo como introd'cir

    palabras clave de posibles gr'pos y en los res'ltadosaparecern de manera dierenciada los gr'pos &'ecoinciden con los res'ltados

    Por otra parte, Facebook es 'n l'gar m'yvis'al donde las otos tienen m'cho peso Comentar lascosas &'e has hecho =eventos en los &'e has estado, 'nab'ena compra en 'na tienda, &'edadas con amigos, etc>y acompa2ar estos relatos de otos es la actividad pore/celencia &'e los 's'arios reali:an en Facebook

    A&'ellas otos &'e &'ieras destacar adems de 'namanera ms permanente se p'eden organi:ar en lacolecci-n personal de lb'mes de otos &'e se e/pondr

    en la biogra*aPor ltimo hay &'e mencionar tambi3n las

    aplicaciones Facebook las c'ales son pe&'e2osprogramas de terceros &'e, de manera parecida a lase/tensiones de 'n navegador, ampl*an la 'ncionalidadestndar de Facebook

    ./iste 'na cantidad casi ininita de aplicaciones paratodo tipo de prop-sitos< 'tilidades, )'egos, noticias,msica,V y, por otra parte, e/isten aplicacionesWnormalesX como Bpotiy&'e se instalan comoc'al&'ier otra en el ordenador, pero &'e son capaces deintegrarse con Facebook

    IO A!A0IBIB %. UB$

    0as aplicaciones (eb 'tili:an los leng'a)es deprogramaci-n en dierentes partes de s'implementaci-n por e)emplo Facebook 'tili:amayormente PHP para el desarrollo del rontDend =partevisible de la aplicaci-n, es e)ec'tada por el navegador(eb> y 'tili:a C++ para el desarrollo del backDend =sedesarrolla en el lado del servidor para la cone/i-n conel almacenamiento de datos>

    .n la sig'iente tabla =ver tabla 5> podemos ver lasdierentes aplicaciones &'e y los leng'a)es &'e se'tili:an para s' desarrollo

    A$ Aplicaciones en )oogle

    Google es 'na empresa m'y grande, y tambi3n da as's ingenieros 'n alto grado de libertad en la elecci-nde s's herramientas o leng'a)es para el desarrrolo des's aplicaciones

    0a mayor*a de sot(are de ba)o nivel del ladoservidor est escrito en C ++ .l rendimiento es de vital

    importancia c'ando se opera cientos de miles deservidores y optimi:aci-n de c-digo p'ede res'ltar enel ahorro de millones de d-lares .n casose/tremadamente raros, alg'nas partes cr*ticas delc-digo estn escritas en asembler

    Java se 'tili:a ampliamente para el c-digo del lado delservidor de nivel s'perior< la intera: de 's'ariocons'midor rente, por e)emplo Como en c'al&'ierl'gar, si 'sted est traba)ando en la intera: de 's'ariode Google, JavaBcript es 'na necesidad

    Python es el leng'a)e de acto de herramientas deinraestr'ct'ra interna .s m'y le/ible, y hace &'e seacil crear archivos de datos &'e son a s' c-digoPython Por e)emplo, el sistema de ac'm'laci-n deGoogle est escrito en Python Eondrian =sistema derevisi-n de c-digo> es, tambi3n

    Python ha sido cada ve: ms pop'lar para laescrit'ra de (eb servers, as*, la mayor*a de proyectosgrandes =Gmail, Eaps, Google+, etc> estndesarrollados en Java

    0os proyectos ms destacados en Google &'e'tili:an Python sonGoogle Code, Google App .ngine,

    Protob's, el ormato de intercambio de datos deGoogle, y el caso de 3/ito ms notable< o'"'beo'"'be ya 'tili:aba Python antes de ser ad&'irido porGoogle .s el e)emplo ms grande de 'so de Google .nlos inicios 'saban Apache + modYpython + EyBM0, ypoco a poco 'eron encontrando problemas de escalado.n la mayor parte de las veces esos problemas sesol'cionaban eliminando el c-digo de Python ycambindolo por r'tinas en C

    Java =y 'na gran cantidad de bibliotecas incl'yendoservlets, G'ice y g'ayaba > se 'tili:a con rec'encia parala l-gica de la aplicaci-n

    C ++ generalmente desarrolla la parte de backDend ,

    '$ Aplicaciones en *aceboo+

    http://www.facebook.com/searchhttp://www.facebook.com/searchhttp://www.spotify.com/http://code.google.com/http://code.google.com/http://www.facebook.com/searchhttp://www.spotify.com/http://code.google.com/
  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    7/9

    Inicialmente Facebook se desarroll- en PHP yJavaBcript 47 ya &'e en ese tiempo las pginas (eb erande tipo esttico y no e/ist*a m'cha interacci-n entre elservidor &'e conten*a la pgina (eb y el cliente &'evis'ali:aba la pgina desde s' navegador (eb

    Como el trico de la red se han red'cido, el rec'rsode demandas de m'chas operaciones en el sitio (eb =esdecir, bs&'eda, selecci-n de an'ncios y la entrega, el

    registro de eventos> han presentado los re&'isitost3cnicos drsticamente 'era del alcance de lacompa2*a

    .n la implementaci-n de estos servicios, variosleng'a)es de programaci-n han sido seleccionados paraoptimi:ar la combinaci-n correcta de rendimiento,acilidad y velocidad de desarrollo, la disponibilidad dee/istir bibliotecas, etc 457

    .n general, la ingenier*a en el desarrollo deservicios est orientada hacia la elecci-n de las me)ores

    herramientas e implementaciones disponibles sobre laestandari:aci-n de c'al&'ier leng'a)e de programaci-n

    Act'almente Facebook 'tili:a el leng'a)e Java parala cone/i-n con el servidor y la base de datos y C++para la l-gica de alg'nas herramientas como el chat,adems s' propio leng'a)e de programaci-n para s'saplicaciones (eb llamado Hacker 457

    O C$!C0UBI$!.B

    .n este art*c'lo se ha presentado la 'tilidad de losleng'a)es Python, Java y C++ en las aplicaciones (eb delas empresas Gooogle y Fscebook

    0a elecci-n de 'n leng'a)e de programaci-n para eldesarrollo de 'na aplicaci-n (eb es 'n actor importanteen el 3/ito o racaso, ya &'e se escoge el leng'a)e deac'erdo a los re&'erimientos y la acilidad en elmantenimiento de la aplicaci-n

    Python, Java y C++ son los leng'a)es deprogramaci-n ms 'tili:ados por los desarrolladores deaplicaciones (eb, por&'e estos leng'a)es son 'tili:adosy est'diados por al'mnos y proesionales m'ndialmente=ver grico 5 y 8>

    0a tecnolog*a para el desarrollo de aplicaciones atrav3s de sistemas (eb ha evol'cionado al p'nto devolverse no solo 'n simple sistema de inormaci-n, sino&'e ahora se p'eden desarrollar aplicaciones comple)as&'e c'mplen con todas las necesidades &'e se lepresenten y &'e c'mplen con re&'erimientos deseg'ridad, rapide: y acilidad de 'so

    Act'almente ya e/isten bastantes e)emplos deaplicaciones (eb comple)as, tales como las aplicacionesde Google< Gmail o'"'be, Google Eaps, Facebook,las instit'ciones bancarias, alg'nas dependencias

    g'bernamentales y la ininidad de tiendas &'e c'entancon 'na inraestr'ct'ra m'y desarrollada de aplicacionesy servicios a trav3s de la (eb

    0as tecnolog*as emergentes abren 'na n'eva ventanade posibilidades an por e/plorar y e/plotar, &'e

    permitirn hacer actividades &'e &'i:s ahora parecenimposibles o remotas Be vis'ali:a 'n me)or 't'ro con'n gran desarrollo por las venta)as &'e da el 'sar estetipo de tecnolog*a, cada ve: encontraremos ms sistemas&'e se apoyan de la inraestr'ct'ra e/istente conInternet, a'n&'e, por la contraparte, tambi3n habrn msamena:as por el a'mento de la c'lt'ra Wac+erX y loscada ve: ms comple)os vir's &'e aprovechan c'al&'ierh'eco de seg'ridad

    M'eda para los desarrolladores de sistemas,administradores y abricantes de soft-arede servidor, elreto de desarrollar es&'emas donde la inormaci-n l'yacon mayor acilidad independiente de la plataorma o laaplicaci-n, encontrar ormas me)ores y ms seg'ras dedesarrollo de aplicaciones (eb, &'e permitan &'epodamos ver sistemas ms comple)os a los act'almenteconocidos, &'e con seg'ridad y de orma rpidares'elvan los problemas cotidianos y acer&'en losservicios a los 's'arios

    .s 'n m'ndo cercano y con esperan:a, donde latecnolog*a se acerca a la sociedad, en especial a los &'emenos han podido aprovecharla y disr'tarla

    #.F.#.!CIAB

    457 %avid Sirkpatrick, FacebookTs plan to hook 'p the(orld "he Company;s boyD(onder C.$ (ants totake social net(orking o't o the dorm room andmake it a platorm or ne( b'sinessesFort'ne

    487 'se Hassan Z Francisco J Eart*n Fernnde: ZGh:ala Ia::a, %ise2o 1eb Centrado en el Us'ario

    467 2$ *rittelli, 3$ Serrano, 4$ 1eicer, *$ Steffolani, 5$1artabini, 6$ *ern7nde8, )$ 'ett,Uso de Pythoncomo 0eng'a)e Inicial en Asignat'ras deProgramaci-n

    4N7 0aid Sahlo'l, Bamir o'rekkache, $kba Sa:ar0I!FI 0aboratory, .D0earning WJavaProgrammingX on Facebook[[[ ig Ambitions andImportant Challenges Comp'ter Bcience%epartment, iskra University, AlgeriaInternational Arab 6ournal of e91ecnolog/, 2ol$ :,No$ :, 6anuar/ ";< ;=;$

    47 Adrian Fernande:, .milio Insran, Bilvia Abrah\o,.val'aci-n de Usabilidad para Aplicaciones 1ebGr'po Investigaci-n IBBI, %epartamento deBistemas Inormticos y Comp'taci-n, UniversidadPolit3cnica de @alencia, Camino de @era, sn,9688, @alencia, Bpain ]aernande:, einsran,

    sabrahao^_dsic'pves4L7 `C-mo 'sa Google Pythonhttp

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    8/9

    desarrollo basado en patrones de dise2o J8.. dealto nivelJ

    4557G'ia estilo de 'so de C++ en Googlehttp

  • 7/24/2019 analisis de uso de python,java y c++ en empresas como google y facebook

    9/9

    A!.O$B

    "abla 5 Analisis de 'so

    Graico 5 0eng'a)es de programacion mas'tili:ados en conc'rsos de programacion

    Graico 8 0eng'a)es de programacion preeridospor est'diantes