“Los	  lenguajes	  	    de	  la	  web”;	    Roberto Luis Bisbé - @rlbisbe
¿Qué hay en la web?Frontend        Backend      Datos  HTML            PHP          *SQL  CSS             Java EE      Ora...
¿De qué vamos a hablar?Lenguajes de programación menos “serios”Formatos de marcadoFormatos de datos
PROGRAMACIÓN
Características comunesDinámicosOrientados a objetosLicencias Open SourceComunidad
JavascriptNada que ver con JavaFrameworks (jQuery, Prototype, Mootools)Implementación en los navegadores webUsado por:   –...
Client-side javascript:                     Manejo del DOMfunction	  notEmpty(){	  	  	  	  	  var	  myTextField	  =	  doc...
Server-side Javascript:var	  http	  =	  require(http);	  	  	  	  	  http.createServer(function	  (request,	  response)	  ...
MultiparadigmaSoporte para bibliotecas científicasUsado por:   –  Instagram   –  SageMath
#!/usr/bin/env	  python	  import	  sys	  import	  os	  	  def	  main():	  	  	  	  	  i	  =	  open(in.txt)	  	  	  	  	  o...
Alta abstracción y legibilidadMultiples frameworks (Rails, Sinatra)Sistema de paquetes (gemas)Usado por:  –  GitHub
class	  Anfitrion	  	  	  	  def	  initialize(nombre	  =	  "Mundo")	  	  	  	  	  @nombre	  =	  nombre	  	  	  	  end	  	 ...
Programación funcionalRendimiento++Compatible con bibliotecas java y C#•  Quien lo usa?  –  Twitter  –  foursquare
def	  qsort:	  List[Int]	  =>	  List[Int]	  =	  {	  	  	  case	  Nil	  =>	  Nil	  	  	  case	  pivot	  ::	  tail	  =>	  	 ...
Alternativa en Javaimport	  java.io.*;	                                                     	  	  	  	  	  	  while	  (f	 ...
MARCADO
!!!	  %head	  	  	  	  	  %title	  BoBlog	  	  	  	  	  %link{"rel"	  =>	  "stylesheet",	  "href"	  =>	  "main.css",	  "ty...
Razor<ul>	  	  	  	  	  	  	  	  	  @for	  (var	  i	  =	  0;	  i	  <	  5;	  i++)	  	  	  	  	  {	  	  	  	  	  	  	  	  	 ...
DATOS
JSON	  {"menu":	  {	  	  	  	  "id":	  "file",	  	  	  	  "value":	  "File",	  	  	  	  "popup":	  {	  	  	  	  	  	  "men...
Alternativa en XML<menu	  id="file"	  value="File">	  	  	  <popup>	  	  	  	  	  <menuitem	  value="New"	  onclick="Creat...
Recursos de aprendizaje•  Javascript    –  http://www.codecademy.com/courses    –  http://nodejs.org/•  Python    –  http:...
Graciashttp://rlbisbe.net
Los lenguajes de la web
Los lenguajes de la web
Upcoming SlideShare
Loading in...5
×

Los lenguajes de la web

2,054

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,054
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Los lenguajes de la web

  1. 1. “Los  lenguajes     de  la  web”;   Roberto Luis Bisbé - @rlbisbe
  2. 2. ¿Qué hay en la web?Frontend Backend Datos HTML PHP *SQL CSS Java EE Oracle Javascript .NET XML Flash Python JSON Silverlight Ruby Applets… Scala Clojure…
  3. 3. ¿De qué vamos a hablar?Lenguajes de programación menos “serios”Formatos de marcadoFormatos de datos
  4. 4. PROGRAMACIÓN
  5. 5. Características comunesDinámicosOrientados a objetosLicencias Open SourceComunidad
  6. 6. JavascriptNada que ver con JavaFrameworks (jQuery, Prototype, Mootools)Implementación en los navegadores webUsado por: –  Todo el mundo…
  7. 7. Client-side javascript: Manejo del DOMfunction  notEmpty(){          var  myTextField  =  document.getElementById(myText);          if(myTextField.value  ===  "")                  alert(“Introduzca  un  valor  en  el  campo”)  }  <input  type=text  id=myText  />  <input  type=’button’  onclick=’notEmpty()’  value=Click’/>  
  8. 8. Server-side Javascript:var  http  =  require(http);          http.createServer(function  (request,  response)  {                  response.writeHead(            200,              {Content-­‐Type:  text/plain}          );                  response.end(Hello  Worldn);          }).listen(8000);    console.log(Server  running  at  http://localhost:8000/);   demo
  9. 9. MultiparadigmaSoporte para bibliotecas científicasUsado por: –  Instagram –  SageMath
  10. 10. #!/usr/bin/env  python  import  sys  import  os    def  main():          i  =  open(in.txt)          o  =  open(out.php,w)          o.write("<?php  $data  =  array(n")          counter  =  1          for  line  in  i:                  data  =  line.split("n")                  o.write(  str(counter)  +  =>  "  +  data[0]  +  ",n)                  counter  +=1;          o.write(");n?>")    if  __name__  ==  __main__:          main()  
  11. 11. Alta abstracción y legibilidadMultiples frameworks (Rails, Sinatra)Sistema de paquetes (gemas)Usado por: –  GitHub
  12. 12. class  Anfitrion        def  initialize(nombre  =  "Mundo")          @nombre  =  nombre        end          def  decir_hola            puts  "Hola  #{@nombre}"        end          def  decir_adios        puts  "Adiós  #{@nombre},  vuelve  pronto."        end  end   demo
  13. 13. Programación funcionalRendimiento++Compatible con bibliotecas java y C#•  Quien lo usa? –  Twitter –  foursquare
  14. 14. def  qsort:  List[Int]  =>  List[Int]  =  {      case  Nil  =>  Nil      case  pivot  ::  tail  =>          val  (smaller,  rest)  =  tail.partition(_  <  pivot)          qsort(smaller)  :::  pivot  ::  qsort(rest)  }    
  15. 15. Alternativa en Javaimport  java.io.*;              while  (f  <  l)  import  java.util.*;              {                      while  (A[f]  <  pivot)  f++;  public  class  QuickSort                    while  (A[l]  >  pivot)  l-­‐-­‐;  {                    swap  (A,  f,  l);        public  static  void  swap  (int  A[],  int  x,              }  int  y)              return  f;        {        }              int  temp  =  A[x];                A[x]  =  A[y];        public  static  void  Quicksort(int  A[],              A[y]  =  temp;   int  f,  int  l)        }        {                if  (f  >=  l)  return;  public  static  int  partition(int  A[],  int  f,              int  pivot_index  =  partition(A,  f,  l);  int  l)              Quicksort(A,  f,  pivot_index);        {              Quicksort(A,  pivot_index+1,  l);              int  pivot  =  A[f];        }  
  16. 16. MARCADO
  17. 17. !!!  %head          %title  BoBlog          %link{"rel"  =>  "stylesheet",  "href"  =>  "main.css",  "type"  =>  "text/css"}      %body          #header              %h1  BoBlog              %h2  Blog  de  Bob          #content              -­‐  @entries.each  do  |entry|                  .entry                      %h3.title=  entry.title                      %p.date=  entry.posted.strftime("%A  %d  de  %B  de  %Y")                      %p.body=  entry.body          #footer              %p  
  18. 18. Razor<ul>                  @for  (var  i  =  0;  i  <  5;  i++)          {                  <li>@i</li>          }          </ul>    @{        var  name  =  “Gilberto  Salazar”;        <div>            Nombre:  @name        </div>  }  
  19. 19. DATOS
  20. 20. JSON  {"menu":  {        "id":  "file",        "value":  "File",        "popup":  {            "menuitem":  [                {"value":  "New",  "onclick":  "CreateNewDoc()"},                {"value":  "Open",  "onclick":  "OpenDoc()"},                {"value":  "Close",  "onclick":  "CloseDoc()"}            ]        }    }}   demo
  21. 21. Alternativa en XML<menu  id="file"  value="File">      <popup>          <menuitem  value="New"  onclick="CreateNewDoc()"  />          <menuitem  value="Open"  onclick="OpenDoc()"  />          <menuitem  value="Close"  onclick="CloseDoc()"  />      </popup>  </menu>  
  22. 22. Recursos de aprendizaje•  Javascript –  http://www.codecademy.com/courses –  http://nodejs.org/•  Python –  http://docs.python.org/tutorial/•  Ruby –  http://www.ruby-lang.org/es/documentation/quickstart/•  Scala –  http://www.scala-lang.org/docu/files/ScalaByExample.pdf
  23. 23. Graciashttp://rlbisbe.net
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×