Eli
165meneos

Un navegador web con 25 líneas de código en Python

Para comprobar la potencia de Python vemos aquí un claro ejemplo. Se ha desarrollado un navegador web con tan sólo 25 líneas de código. Es bastante básico pero qué queréis con 25 líneas. Enlace en inglés

 22 comentarios en: ocio, friqui karma: 653
votos negativos: 1  usuarios: 165  anónimos: 0  
  1. #3   #2 Es acojonante ese último ejemplo!! Con solo dos líneas te resuelve sudokus. Me quedo anonadada
    votos: 0, karma: 15
    por loretahur el 17-09-2006 14:39
  2. #7   #5 Esa es la gracia de un buen lengua de programación: que se surta de muchísimas librerías y así no reinventar la rueda continuamente
    votos: 0, karma: 15
    por loretahur el 17-09-2006 15:35
  3. por --6774-- el 17-09-2006 14:34
  4. #6   #5 Si. Y aunque no fuese asi, hoy en dia se valora mas en casi todos los entornos, los programas rapidos y de poco consumo de memoria que los que ocupan pocas lineas de codigo.
    votos: 0, karma: 13
    por Akron el 17-09-2006 15:11
  5. #10   #8 En python siempre sabes de qué tipo es una variable, no hay tipos indefinidos a diferencia de en otros lenguajes como C, donde el tipo de un puntero void o de un variant de COM es desconocido a priori.

    Hablando en claro, en python no puedes sumar variables de tipo entero con cadenas de caracteres a menos que sobrecargues el operador/hagas las conversiones explícitamente. En lenguajes de coña (como C XD) una suma de un entero y una cadena (un puntero a char) sí está permitida... Y el tipo del resultado se deja a la interpretación del lector :roll:

    Sobre este ejemplito de navegador la gracia está en wxWidgets. Para el que no las conozca son unas bibliotecas como las MFC pero atiborradas de esteroides. Compiten al nivel de Qt y con licencia LGPL. Claro que el mismo ejemplo (con las mismas bibliotecas) en C++ serían bastante más de 25 líneas :-D
    votos: 0, karma: 9
    por jorginius el 17-09-2006 18:03
  6. #16   #14 ¿Yo he dicho eso? :roll:

    Sólo me pareció gracioso el comentario: "un lenguaje en el que no se sepa de que tipo es una variable, es un lenguaje de coña" porque descarta a lenguajes como C. Descarta todos los lenguajes con tipado débil en realidad.

    El #8 quería hablar sobre lenguajes de tipado dinámico, donde el tipo de las referencias cambia, pero patinó :-). El de python, aunque el tipo de las referencias se herede del objeto referenciado, es un tipado fuerte: el tipo siempre está definido (y siempre es conocido en tiempo de ejecución). En C los tipos no cambian (son estáticos) pero su tipado es débil, tiene tipo indefinido y varios cast automáticos que dan resultados ambiguos. En C++ el tipado es fuerte y con información de tipos (el operador typeid, cast dinámicos, etc.)... Y luego está Ada con su tipado fascista :roll:

    #15 En Windows, en cualquier lenguaje que soporte ActiveX es trivial. En el VisualC++/MFC es cuestión de usar una vista html. En otros instanciar el componente WebBrowser2.
    votos: 0, karma: 9
    por jorginius el 17-09-2006 19:23
  7. #9   #7 ¿O sea la potencia de las librerias de Python?
    votos: 0, karma: 8
    por otroqueseborra el 17-09-2006 17:23
  8. #11   Con KDE también se puede hacer un navegador en pocas líneas de código:
    www.codeskipper.com/article/46/#p4
    votos: 0, karma: 8
    por vfernandez el 17-09-2006 18:27
  9. por --2479-- el 17-09-2006 19:35
  10. #2   Excelente ejemplo de la expresividad de los lenguajes de programación "modernos". Como comenta en la misma página hay otros casos lamativos, por ejemplo programas muy muy cortos que solucionan sudokus:

    markbyers.com/moinmoin/moin.cgi/ShortestSudokuSolver
    votos: 0, karma: 7
    por joseluis el 17-09-2006 14:37
  11. #4   s/Phyton/Python/
    votos: 0, karma: 7
    por Xose el 17-09-2006 15:00
  12. por --9937-- el 17-09-2006 15:04
  13. por --9937-- el 17-09-2006 15:46
  14. #12   Bueno, con Delphi (y otros) tambien se puede hacer un sencillo navegador (cutre, ya q usa el motor del explorer en este caso XD) pero q al fin y al cabo no son mas de 33 lineas (el resto lo hacen las librerias, en este caso ActiveX)... (y sin comptactar codigo xD)

    img102.imageshack.us/my.php?image=executantdb2.png (en ejecucion)
    img102.imageshack.us/my.php?image=codidf0.png (codigo)
    votos: 0, karma: 6
    por xEsk el 17-09-2006 18:31
  15. #13   Y con .NET tambien, basta incrustar un widget navegador en la ventana, fin!
    votos: 0, karma: 6
    por tamat el 17-09-2006 18:31
  16. #14   #10 Y naturalmente ni las librerías ni el intérprete python usan nada escrito en C/C++, claraaaro.
    ¿Cuantos años vamos a estar dando vueltas a lo mismo? Cada lenguaje (incluidos C o python) es bueno para según que cosas y circustancias de desarrollo. NO HAY PANACEAS UNIVERSALES EN PROGRAMACIÓN.
    Arrogantes monolenguajeros :-P
    votos: 0, karma: 6
    por mambo el 17-09-2006 18:36
  17. #15   Y q se me olvido postear: img59.imageshack.us/my.php?image=codi28uk9.png (28 lineas, lo mismo pero dejando solo lo necesario)

    Saludos.
    votos: 0, karma: 6
    por xEsk el 17-09-2006 18:38
  18. por --9937-- el 17-09-2006 19:28
  19. #19   import libreriaConMedioUniversoDentro;
    class pichas
    def __init__
    makeUniverse();
    end;
    end;
    votos: 0, karma: 6
    por Blaxter el 17-09-2006 21:05
  20. #20   #16 "...Y luego está Ada con su tipado fascista..."

    Juas, :-D
    votos: 0, karma: 6
    por teskmon el 18-09-2006 00:18
  21. #21   This Account Has Been Suspended
    Please contact the billing/support department as soon as possible.

    :-(
    votos: 0, karma: 6
    por apocalypso el 18-09-2006 02:29
  22. #22   Como bien se ha dicho antes, con una línea y las bibliotecas adecuadas, vale:

    perl -MIO::All -e 'io(":80")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'

    Incluso es capaz de ejecutar CGI... :-)

    Y para el sudoku encontré por ahí uno de 4 líneas, pero es tan confuso que no merece la pena ponerlo...
    votos: 0, karma: 6
    por jferrero el 18-09-2006 02:59
comentarios cerrados

menéame