edición general
359 meneos
3066 clics
Python es el lenguaje de introducción a la programación más popular en las universidades de USA

Python es el lenguaje de introducción a la programación más popular en las universidades de USA

Un estudio realizado entre los departamentos de ciencias de la computación de las principales universidades de Estados Unidos, muestra que Python se ha convertido en el lenguaje más popular a la hora de realizar cursos de iniciación a la programación, por delante de otros como Java, MATLAB, C, C++, Scheme o Scratch. En el análisis realizado por Philip Guo, en el que se incluyen centros tan prestigiosos como la Universidad de Berkeley, Stanford, Carnegie Mellon o el MIT de Massachusetts, muestra que en 8 del Top10 de departamentos de ...

| etiquetas: python , programación , desarrollo , developer , hacker , universidad , usa
Comentarios destacados:                              
#6 #1 Java es a la programación lo que la Cruz Campo es a la cerveza.

Python está muy bien para empezar. Yo he dado clases de prácticas en Python por 5 semestres a alumnos de biología, matemáticas, geología, etc... Sin embargo es un lenguaje script. Te puedes tirar de los pelos para encontrar errores. Básicamente hasta que no pases por la parte de código que tiene un error no te vas a dar cuenta. Por ejemplo, si haces algo como nombre = 0.0 te puedes quedar tan ancho que no pasa nada. Para mi gusto eso debería darte un error antes de la ejecución y que te salga, como poco un warning, diciendo que estás cambiando lo que antes era un string a un float; cosa que no pasa. Por ejemplo si pones objeto.lenth() no te va a avisar de que esa instrucción no existe hasta que no te salte el error en ejecución. Una especie de "precompilador" de Python que te avise de fallos tontos sería la repolla. O que por ejemplo en Python 4 puedas hacer declaración de tipos de variable de forma voluntaria y que si haces String nombre = 0.0 no te deje correr la aplicación.

Por otra parte si haces cositas rápidas es muy bueno. Puedes programar más rápido que en C a cambio de una perdida de eficiencia. Para hacer experimentos está muy bien. Pero si tienes que manejar cantidades de datos increíbles o tienes una cantidad limitada de memoria, las triquiñuelas que puedes hacer en C para reservar y acceder a memoria como te de la gana no te las ofrece nadie.
«12
  1. Aunque Java es el lenguaje más usado (web, móviles, empresas, etc...) he de decir que para comenzar con él es un poco lioso por cuestiones de herencia y poca flexibilidad en algunas ocasiones.

    No soy experto, escucho opiniones interesado.
  2. yo metería BennuGD/DIV ... :troll: ... es inventado por españoles ... :-)
  3. #2 Yo lo uso obligado, aunque tampoco me quejo mucho porque al menos da experiencia útil. Me explico, me encantaría usar otros pero me da miedo que la experiencia caiga "en saco roto", aunque en el fondo si sabes programar bien en un lenguaje dominar otros es luego tarea mucho más fácil.
  4. #1 cada uno tiene sus cosas. Pero es cierto que python se esta imponiendo cada vez más y, para según que utilidades, como administración de sistemas o aplicacione sportables, esta muy muy bien
  5. #1 Java es a la programación lo que la Cruz Campo es a la cerveza.

    Python está muy bien para empezar. Yo he dado clases de prácticas en Python por 5 semestres a alumnos de biología, matemáticas, geología, etc... Sin embargo es un lenguaje script. Te puedes tirar de los pelos para encontrar errores. Básicamente hasta que no pases por la parte de código que tiene un error no te vas a dar cuenta. Por ejemplo, si haces algo como nombre = 0.0 te puedes quedar tan ancho que no pasa nada. Para mi gusto eso debería darte un error antes de la ejecución y que te salga, como poco un warning, diciendo que estás cambiando lo que antes era un string a un float; cosa que no pasa. Por ejemplo si pones objeto.lenth() no te va a avisar de que esa instrucción no existe hasta que no te salte el error en ejecución. Una especie de "precompilador" de Python que te avise de fallos tontos sería la repolla. O que por ejemplo en Python 4 puedas hacer declaración de tipos de variable de forma voluntaria y que si haces String nombre = 0.0 no te deje correr la aplicación.

    Por otra parte si haces cositas rápidas es muy bueno. Puedes programar más rápido que en C a cambio de una perdida de eficiencia. Para hacer experimentos está muy bien. Pero si tienes que manejar cantidades de datos increíbles o tienes una cantidad limitada de memoria, las triquiñuelas que puedes hacer en C para reservar y acceder a memoria como te de la gana no te las ofrece nadie.
  6. Me gusta python pero hay cosas que me tocan los huevos. Por ejemplo esto:

    #!/usr/bin/env perl
    use 5.020;
    say sub { my ($n) = @_; sub { $_[0] + $n; } }->(3)->(4)


    Salida: 7 (como tiene que ser)

    #!/usr/bin/env ruby
    # encoding: utf-8
    puts ->n { ->x { eval 'n+x' } }.call(3).call(4)


    Salida: 7 (como tiene que ser)


    #!/usr/bin/env python3
    # encoding: utf-8
    print((lambda n: lambda x: eval('n+x'))(3)(4))


    Salida:

    Traceback (most recent call last):
    File "SCRATCH.py", line 4, in <module>
    (lambda n: lambda x: eval('n+x'))(3)(4)
    File "SCRATCH.py", line 4, in <lambda>
    (lambda n: lambda x: eval('n+x'))(3)(4)
    File "<string>", line 1, in <module>
    NameError: name 'n' is not defined


    CAGADA!
  7. #1 ay, si fuera solo la herencia… en python también tienes herencia. el problema de java es compilar, tipado estático, demasiado verborreico…
    #4 aprender otro lenguaje nunca cae en saco roto
    #6 hay veces que los ciclos de cpu del desarrollador son más caros que los del ordenador y por eso es preferible programar rápido en un lenguaje de script.
    de todos modos un tipado estático no es la panacea y no te va a salvar de incómodos null pointer exception en producción. un buen testing unitario/funcional sí, y eso también lo puedes hacer en python

    FDO: ex-javero, rubista desde hace 4 años
  8. #7 Perdón, el ejemplo que quería poner no era así, sino así:

    #!/usr/bin/env perl
    use 5.020;
    say sub { my ($n) = @_; eval 'sub { $n + $_[0] }' }->(3)->(4);


    (FUNCIONA)

    #!/usr/bin/env ruby
    # encoding: utf-8
    puts ->n { eval '->x { n+x }' }.call(3).call(4)

    (FUNCIONA)

    #!/usr/bin/env python3
    # encoding: utf-8

    def f(n):
    ....exec('''
    def g(x):
    ....return n +x
    ''')
    ....return g
    print(f(3)(4))


    (NO FUNCIONA)
  9. Yo creo que el más sencillo para aprender los fundamentos de la programación es Pascal. Python puede llegar a ser una locura para la gente que empieza.
  10. yo me sé de una facultad de informática que empiezan enseñando programación básica y, lo peor, orientada a objetos con ada. Tocate los huevos mariloli
  11. #2 ¿Applets? ¿Navegas con netscape? Casi nadie hace applets.
  12. Python está bien para lo que es: un lenguaje script. Pero aprender a programar con él es como aprender a programar con las macros del Excel. Si luego no les enseñas C, nunca sabrán hacer un código en condiciones
  13. #8 el problema de java es compilar, tipado estático, demasiado verborreico…

    Precisamente por eso es un buen lenguaje para la docencia. Al compilar descubres errores fácilmente que de otra forma sólo detectarías en ejecución. El tipado estático también permite detectar errores tontos muy fácil. El ser verborreico puede ser un rollo cuando tienes mucha práctica, pero cuando estás empezando es algo que se agradece.
  14. #1 Python esta siendo muy utilizado y mas por grandes empresas como Google, etc etc, sin olvidar que en GNU/linux python es una parte importante, también en el desarrollo de servicios en algunas web. Aunque todavía se depende de Java, sobre todo para añadir nuevas funciones o actualizar un Software o una App por ejemplo.
    Yo soy de lo que dice que Python esta muy presente en nuestras vidas, mas de lo que pensamos.
  15. Yo enseñaría a desarrollar en PHP, JS, Python y Swift (por ejemplo). Si enseñas a la gente lo mismo nunca evolucionan o lo rápido que deberían, si le enseñamos lenguajes para seguir parcheando y seguir teniendo errores pues pasa lo que pasa.
    En USA, Alemania y Francia son mas abiertos con la enseñanza en este ámbito, en España no todo lo contrario.
  16. #15 lo único positivo que veo en java para docencia es que fuerza a emplear formalismos muy estrictos. Por eso sirve para las enseñanzas superiores.
    Esto mismo es lo que destruye la productividad: no verás java en startups californianas sino en entornos empresariales muy establecidos.
    Y más bien al contrario: cuando empiezas en un nivel básico es preferible obtener resultados inmediatos como lo podrías lograr con una REPL en lugar de "bien niños ahora vamos a escribir main, que devuelve void, que usa un objeto, que está en el classpath, que vamos a compilar y luego ejecutar y a la media hora vais a ver un hello world". Lo siento sigo sin verlo…
  17. #18 Yo aprendía a programar en Pascal y C. Cada vez que podía hacer una práctica en Pascal y no en C daba gracias al cielo.

    C puede que fuera mejor lenguaje pero para el que está aprendiendo y no para de dejar punteros locos por ahí es un dolor de muelas. Un lenguaje más estructurado, sencillo y riguroso como Pascal era una bendición.

    Con Java pasa algo parecido, es un lenguaje ideal para la enseñanza (aunque obviamente hay que enseñar más y no solo ese). Luego a la hora de trabajar pues hay nichos para todos los lenguajes, y no creo que Java "destruya la productividad". Android se programa en Java (o pseudo-Java) y creo que el desarrollo de apps es un entorno bastante dinámico.

    Lo que sí mata la productividad es programar con metodologías del siglo pasado
  18. Personalmente prefiero la flexibilidad de código que permite C. No me gusta que me digan cómo debo indentar mi código.

    #14: Es que como lenguaje par guiones nada mejor que JavaScript bajo mi punto de vista, porque es parecido a C, aunque empeora en algunas cosas.
  19. Yo opino lo siguiente. Supuestamente los lenguages no tipados son así para permitirte mas libertad y no estar tan entretenido en errores de sintaxis.

    Mi experiencia con java y javascript (nodejs + coffeescript) me dice que cuando hay un error de sintaxis es mas doloroso hacerlo en un lenguage no tipado porque los mensajes de error (si los hay) suelen ser mas confusos.

    Es decir, creo que lo que te ahorran por un lado, te lo quitan por otro cuando tienes que solucionar algo en proyectos largos al menos.
  20. #2 Hace décadas que no veo un applet java en el mundo real. Java se utiliza hoy en día para muchas otras cosas, sobre todo programación en servidores, pero casi nada a nivel de cliente.
  21. #10 al contrario, el paso de pseudocódigo a python es más natural. ¿Quién tiene tipado fuerte en pseudocódigo?
  22. Antes prefiero que me claven astillas de bambú bajo las uñas mientras me pisotean los huevos con tacones de acero que volver a usar Java.

    Y me cago en Google por joder Android de esa forma.

    Pero es una opinión, claro, porque lo he sufrido en el "desarrollo empresarial" durante años. Qué asco.

    Aparte de eso... soy de la opinión de que hay que usar la herramienta adecuada para cada trabajo. No me pondría yo a hacer una web con C, ni una aplicación que requiera mucho rendimiento con Perl...

    Curiosamente con Python sí me atrevería con casi todo :-P
  23. #25 Java nació con prisas, había que conquistar el mercado y mostrarse ante el mundo que Java era el lenguaje de Internet, un argumento para vender pero de poca calidad.

    Fue una completa decepción trabajar con Java al inicio: muy lento, pésima API, AWT daba asco, sin un IDE oficial bueno, verborreico, funcionaba bien en una plataforma pero fallaba en otra, la dificultad de instalar el JRE y el JDK (que requería configuración manual para el JAVA_HOME, CLASSPATH, etc..), la continua depreciación de APIs, los inentendibles mensajes de error para los usuarios que usaban Applets, la explosión verborreica del Tomcat y su fuck CATALINA ante un mísero error, las Java Server Pages fueron el puntillazo para enviar a Java a la p**a m****a.
  24. Python es un lenguaje infernal y debería considerarse delito el usarlo :troll:
  25. que dificil es programar, nunca he podido
  26. #9 La cagada es tuya, por eso no funciona. ¿Para qué quieres un eval ahí en medio?

    >>> def f(x):
    ... def g(n):
    ... return n + x
    ... return g
    ...
    >>> print(f(3)(4))
    7
  27. #2 No ha hecho nadie un applet en 10 años.

    Y sí que usas Java, alma cándida, lo que pasa es que no te das cuenta. Miles y miles de webs y aplicaciones empresariales lo utilizan en el servidor, lo que pasa es que tú no lo ves. Android funciona básicamente sobre Java. Coño, hasta tu lavadora es muy probable que use Java.
  28. Me encantan estas noticias sobre Java porque sus comentarios sirven para identificar a los que se las dan de entendidos y no tienen ni puta idea. Normalmente te hablan de applets, Swing/AWT, o de lo "lento que es y la memoria que consume". No saben que el 99,99% de aplicaciones escritas en de Java son aplicaciones web, sobre todo empresariales, donde Java es dominador absoluto desde hace años. Me doy cuenta de que estos comentarios vienen en muchas ocasiones de estudiantes de informática que van de hackers por la vida.

    Incluso a los que no les guste la sintaxis o paradigma orientado a objetos de Java, la máquina virtual sigue siendo una plataforma excelente y se pueden aprovechar todas sus ventajas con otros lenguajes como Scala, Clojure o Groovy, sobre todo ahora que la programación funcional vuelve a estar en boga.

    PD: lo del tipado estático es más bien un tema de gustos personales, no es objetivamente peor ni mejor.

    PD2: sí, Java en escritorio fracasó, pero de eso hace ya 15 años, ¿podemos mirar hacia adelante?
  29. En java no debería hacerse "hola mundo" debería hacerse "adios mundo cruel"

    Desde que descubrí python no he vuelto a tocar java ni con un palo.

    Ahora en cambio no suelto javascript ni aunque me maten.

    Ruby me decepciono. El poetry mode me parece aberrante y muy confuso.
  30. #6 Puedes compilar el script antes de ejecutarlo perfectamente: effbot.org/zone/python-compile.htm
  31. #1 Java es mucho mas estricto q python con lo cual se ve mejor el tema de herencias y tal.

    Python es mas dinamico, se hace mucho mas con muchas menos lineas y esas lineas son mas cercanas al lenguaje natural.

    Yo de poder elegir tambien enseñaria en python*....

    Pero claro, de poder elegir haria todo en python: es una delicia.

    #8 Que tiene de malo el tipado estatico? Java apesta por cosas como android y la mierda de innerclases o que no puedes tener variables que sean funciones; porque es POO muchisimo mas pura que python y al final el mestizaje siempre es mejor que la pureza.

    * MENTIRA, realmente utilizaria C o C++ que ayudan mas a comprender como funciona un ordenador, una vez sabes hacer algo en C++ pasar a python es trivial... Pero es que python mola tanto... Dicho lo cual afirmo que java tiene muy mala prensa y no se porque: es un lenguaje muy claro, muy logico y muy estructurado. Ademas es rapido.
  32. #31 Existe mucho odio irracional contra Java, normalmente nadie explica los argumentos. Creo que la gente simplemente repite lo que oye. ¿Tienes alguna fuente relacionada con el dominio de java en el ámbito que comentas?

    PD. Python es muy potente y práctico. La verdad es que me sorprendió gratamente cuando empecé a trabajar en ese lenguaje.
  33. #6 Java es a la programación lo que la Cruz Campo es a la cerveza.

    Java es el lenguaje de programacion masivo que mas estrictamente sigue el paradigma de POO.

    Es a la programacion lo que la coca-cola a los refrescos: el que popularizo todo y el que mas vende.

    Es un lenguaje muy respetable y tiene su belleza. Ademas de una mala fama absurda.

    #7 Eso es que no puedes usar las variables antes de crearlas... Que tiene eso de malo?
  34. Llevo 25 años programando. Un lenguaje que rompe la compatibilidad entre su version 3 y su version 2.6 es la misma puta mierda por la que dejé de programar usando las API de Microsoft.
    Y si encima le añadimos las dificultades para tener funcionando simultáneamente ambas versiones y que algunos script requieran una version y otras otro...
    Pero está claro que las nuevas generaciones están acostumbradas a cambiarlo todo cada dos años.
  35. #29 No es una cagada, es un caso de estudio. Por eso he cambiado mi primer ejemplo ya que el de Perl estaba hecho sin el eval. Pero entonces me he acordado que en su momento no lo probé así (ya que así tampoco funciona con Perl) sino creando la función entera con un eval/exec (eval en Perl y Ruby; exec en Python).

    Total, que el único lenguaje, de entre los tres, en el que funcionan ambos ejemplos es Ruby y creo que no es por casualidad. Creo que con Ruby se aprende mejor y más rápido porque las cosas funcionan más como se intuye que tienen que funcionar. Mientras lo estás aprendiendo pruebas cosas, haciendo hipótesis sobre cual debería ser la salida del mini-programa que estás probando y con Ruby casi siempre aciertas.

    Creo que el creador de Ruby se refiere a esto cuando habla del "principio de la menor sorpresa" ("the principle of least surprise").
  36. #32 Pues amigo mio, javascript, a mi personalmente, si me APESTA.

    Y uno de los porques es que, 30 años despues de que se creara, aun no hay NI UN PUTO IDE decente para programar javascript. Fijate que lenguaje de programacion tan cojonudo que nadie es capaz de hacerlo.

    Su prototipado, esa manera arcaica de acercarse a la POO es tan lamentable que ni dios la usa...

    No entiendo la moda de hacer cosas en javascript cuando no hay porque hacerlas en javascript....

    #26 Veo que no has tocado java en los ultimos 20 años, al menos, algo ha cambiado, hazme caso.... Pero decir que fue un lenguaje hecho deprisa y corriendo....

    Que lleva una maquina virtual detras, tio....
  37. #37 Es que el problema de python son los pajilleros...

    Y ya no por python 3 vs 2.7, que tambien, pero lo puedes tratar como 'lenguajes diferentes' o al menos dar esa excusa, pero es que eso de que una version 1.5 no sea compatible con la 1.6 pasa a menudo...

    A mi me paso con Django (Django!!!!!) pq habian cambiado, de la x.n a la x.n+1 la estructura de paquetes... es decir, llego un pajillero al que no le gustaba como estaban los paquetes estructurados y los cambio de sitio, con dos cojones, como un perrillo: a echar su meadita en el codigo.

    Buffff que mala ostia ese dia
  38. Dentro de 10 años: Go es el lenguaje de introducción a la programación más popular en las universidades de USA.

    Fomenta un código limpio, es rápido (y compila muy rápido), más cercano a C (y con una integración sencilla), etc. Python va a ser comido por los gophers :troll: golang.org :-D

    PD: he programado en Python y Ruby durante años y, salvo por alguna librería, no echo en falta nada en Go.
  39. #29 #36 La explicación de que mi ejemplo no funcione en Python está aquí: stackoverflow.com/questions/2749655/why-are-closures-broken-within-exe

    Pero el objetivo de mi comentario no era preguntar por qué no funciona mi ejemplo (ya lo averigüé en su momento). Lo explico en #38.
  40. #6 yo lo he estado usando para programar modulos de openerp y algo me decia que no me convencia, ahora ya veo que cosas son.
    .jeje.
  41. #39

    Lo mismo pensaba yo de javascript hasta que le cogí el truco.

    Javascript trata de clousures y funciones.
  42. Para no extenderme ya q aqui hay mucho trauma y traumatizado, mis preferencias por experiencia.

    c++ > python > ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> y ni con tu palo java y php
  43. Python, eh? Jejejejeje ya sabéis en qué estoy pensando... "nudge, nudge"...
  44. Se que estoy en el mundo académico y que no todo el mundo puede elegir el JDK en el cual desarrollar pero....

    @FunctionalInterface
    Interface{
    int Oper(int num1,int num2);
    }
    ...
    int a = 3
    int b =4
    Oper sum = (int a, int b) -> { return a + b; }
    int result= sum(a,b);

    Para mi, después de haber echo un par de cursos de Scala en los cuales me ha costado acostumbrarme.... Creo que Java 8, es una aproximación que esta empezando pero que cambia muchas cosas respecto a que el lenguaje es viejo y usando los Streams se pueden hacer cosas bastante curiosas (básicamente ahorrar código y ganar eficiencia)
  45. #35 De este mismo Julio, estudio del IEEE:

    spectrum.ieee.org/static/interactive-the-top-programming-languages

    Algo más local, busca abajo 'Tecnologías más demandadas' (de la lista, relacionadas con Java son J2EE, Struts, Eclipse, JBoss):

    www.tecnoempleo.com/
  46. Por cierto java debe y tiene q morir.
  47. Para empezar mucho mejor actionscript u otro lenguaje emacs es mucho más visual, pero si te la quieres dar se machote usa un lenguaje de verdad, yo empecé en su día con Pascal, cobol y ensamblador.
  48. #50 "lenguaje de verdad" para los Onvres!

    xD
    como esta el patio..
  49. #51 Con lenguaje de verdad me refiero a un lenguaje linkado y compilado, no interpretado y sin máquina virtual.
  50. #47
    >>> def lol(a,b):
    c =int(a + b)
    return c

    >>> print lol(5,6)

    *por supuesto se puede adornar mucho mas xD


    #51 claro claro por eso en google no lo usan. Xq no es de verdad
  51. #26 #39 Java un lenguaje hecho a las prisas y hecho para internet? Creo que te confundes con JavaScript, que fue diseñado en 10 días (si, 10 días! www.computer.org/csdl/mags/co/2012/02/mco2012020007.html). Java para nada fue diseñado con poco tiempo y menos para internet (originalmente era para "sistemas empotrados"). Una de las maravillas resultantes del lenguaje Java no ha sido propiamente Java, ha sido la JVM (la máquina virtual). La evolución en cuanto a rendimiento de la JVM ha sido brutal, aunque hay gente que sigue anclada en el pasado hace 20 años. Tan buena es que muchos lenguajes modernos que se han creado son para JVM, como Clojure, Scala o JRuby.
  52. #36 Hombre que más estrictamente sigue OOP lo pongo en duda, no es puramente orientado a objetos. Un lenguaje mucho más puro en este sentido es Smalltalk.
  53. Eres hipster? Python o Ruby. Para el resto: Java, PHP, C/C++ etc... :troll:
  54. #2 Are you from the past?

    Nadie hace applets java a día de hoy, de hecho muchas personas tenemos Java desactivado de los navegadores. Pero java se usa para muchísimas cosas!!

    La gran mayoría de Apps para Android están escritas en Java. Muchísimas aplicaciones de escritorio están escritas en Java. Millones de aplicaciones empresariales están escritas total o parcialmente en Java, y ya no hablamos de Webs que están hechas con JSP...

    Es prácticamente imposible que no uses al menos un par de cosas que estén hechas en Java.
  55. En cuanto a los dramas de pasar de 2.7 a 3. Son dramas artificiales q rozan el sindrome de diogenes.
  56. #7 En python se ejecuta correctamente:
    #!/usr/bin/python
    print (lambda x: lambda y: x+y)(3)(4)

    Edit: No habia visto #38 y #29...
  57. #1 Java es demasiado académico y rígido para que alguien empiece.

    Python me parece una introducción excelente, siempre dejando claro al alumno que no es todo lo que hay y que hay otros lenguajes más complicados a cambio de mayor potencia (otra cosa es que para la inmensa mayoría de casos de uso, el python sea más que suficiente).
  58. Python es un lenguaje estupendo para pequeños desarrollos, pero yo le veo unos problemas para el desarrollo de aplicaciones grandes:

    1- Como es de tipos dinámicos, si se siguen buenas normas de documentación, hay que poner el tipo de cada variable/campo y en cada parámetro de cada método (incluidos tipos de retorno). Esto, con lenguajes de tipos estáticos no es necesario al quedar explícito en la declaración del campo/método.
    Puedes omitir este tipo de información en los comentarios, pero luego lo pagas a los pocos meses de desarrollo (invirtiendo más tiempo).

    2- El Intellisense de los IDEs no funcionan demasiado bien (por no decir nada bien) en lenguajes de tipos dinámicos. Una vez empiezas a usar intellisense en un IDE, es difícil aceptar un lenguaje que por su diseño no te admite aprovechar al 100% dicha funcionalidad.

    3- El hecho de que en Python los bloques (closures) se definan por indentación tabular hace que a veces puedas cometer un error humano que es difícil percibir e invertir horas por confundir o no darte cuenta de errores de tabulación.

    4- El GIL (global interpreter lock) usado por Python lo incapacita para aprovechar como toca la totalidad de los núcleos del procesador utilizando múltiples hilos. Esto, hoy en día, es una gran desventaja para cualquier intérprete.

    5- Existen otros lenguajes diseñados para el "confort del programador" como Scala, Groovy, Dart o TypeScript que eliminan gran parte de los problemas de Python.
  59. #6 No sé que Python usarás, pero si declaras previamente una variable como string y luego la usas en un contexto incorrecto el programa debería cascar (y casca). Si tú mismo redeclaras una variable con el mismo nombre es que has tenido un fallo garrafal, sea el lenguaje que sea. El que tiene que pensar lo que hace es el que está programando.

    Python es dinámico pero de tipado fuerte o estricto, cosa que mucha gente confunde y no son conceptos equivalentes. Sin embargo PHP o Javascript te permiten usar cualquier tipo en cualquier expresión intentando conversiones automáticas. Una vez más, con un poco de sentido común no tiene por qué haber un problema (y usando los operadores === y !== que están para algo).
    El tipado dinámico y el "duck typing" permiten patrones de diseño que en otros lenguajes lleva mucho tiempo y trabajo hacer y están en este tipo de lenguajes por que el uso que se le va a dar es diferente. O como en LISP, permiten directamente hacer cosas que en otros lenguajes es imposible.

    Ahora que viendo el estilo de mucha gente que es tirar lineas sin pensar a toda hostia y luego quejarse cuando las cosas no funcionan, no me extraña.
  60. #39 Javascript es como es por muy buenas razones, entre otras el tiempo de carga de una página o el consumo de recursos por parte del navegador, y el prototipado me parece una de sus mejores características. Y te lo digo yo que casi ni lo uso, pues me dedico más al C++.
  61. #31 Estoy contigo. Se nota la gente que está estudiando, porque son los que conocen un lenguaje o dos como mucho, no tienen mucha idea en realidad, y son super radicales con ellos, lo mejor de la muerte. Escuchan dos o tres estereotipos por ahí (normalmente sobre punteros y memoria y lo hacker que es manejarlos, que es una pijada para quien sabe, la verdad, y no tiene ningún mérito especial) y los repiten sin cesar.

    Los que tienen experiencia conocen muchas cosas distintas y te dirán lo obvio (o no tanto): que para cada circunstancia hay una cosa que se adapta mejor.
  62. #64 Gracias por aportar sensatez.
  63. #12 Casi nadie menos la administración para la puta firma electrónica. Y sí, jode mucho.
  64. #55 estoy deacuerdo contigo, pero yo he dicho 'masivo' ;)
  65. #31 Completamente de acuerdo contigo, pero esto es igual en cualquier campo. Aquí en menéame gusta mucho eso de ir de gafapasta y entendido y no tener ni idea de lo que se está hablando. Leyendo los comentarios de aquí, o la mayoría son estudiantes de informática, o han hecho alguna chapucilla en algún lenguaje y se han frustrado cuando han cambiado a otro y vieron que no era todo igual. Ese es el nivel (muchos creo que no distinguen entre máquina virtual y lenguaje, y creo que no saben que existen más paradigmas que OOP y procedimental).
  66. #25 Uff, yo he tenido que ponerme con Java (y Swing) en Eclipse tras años usando C# con VS. Es como haber retrocedido en el tiempo.
  67. He leído por algún comentario que Java es el lenguaje más usado pero no lo es, es C, seguido de Java.
  68. 30 comentarios despues, por fin algo con sentido. Bravo #31

    El ecosistema Spring en general, Scala, Groovy, Gradle, Play, Camel, Maven, Jenkins para IC ... sigo?
  69. #63 se nota q no lo usas...

    Es mas, nadie usa el prototipado en js pq es una basura. Todo lo q tenga q ver con POO no tiene cabida en JS....

    Encapsulacion? Para que? Reutilizacion? De noobs! Herencia? Si no hay dios q use un objeto, como para heredarlo!
  70. No olvidemos también Go que es interesante también.
  71. #58 ¿Dramas artificiales? ¿A qué te refieres? No hace mucho, leí que el 98% de los usuarios de Python siguen usando python2.
  72. #74 ¿y donde esta el problema de usar 2.7 o la 2.x o la 3x? o_o?

    Me encantaria saber donde esta el problema, si tiene sun proyecto desplegado para 2.7 pues usas esa version xD. El "problema" sq no hay ningun porblema.
  73. #6 #8 Java es un buen lenguaje para empezar. Recordad que la noticia va sobre lenguajes para aprender a programar, por lo tanto el tipado estático, que tengas que escribir demasiado, etc son ventajas, porque te ayuda a entender mejor la orientación a objetos, a programar estructuradamente, a poner cada funcionalidad en su propio sitio, etc.

    El problema de Java en el mundo real es, aparte de lo de escribir demasiado, la máquina virtual. Todo lo que ganas en portabilidad lo pierdes por triplicado en eficiencia.
  74. #75 Siendo así, python3 fue una cagada que solo sirve para hacer perder el tiempo a los programadores de librerías.
  75. #48 Que sea el más usado no quiere decir nada. Yo personalmente lo detesto, detesto Eclipse y detesto Swing. Igual con JavaFX cambiaría mi percepción, pero el caso es que tengo que mantener un aplicación hecha en Swing y es una puta pesadilla, come memoria como si no hubiera un mañana, el mero cambio de color de un puto label o columna de una tabla es una odisea. Lo odio.
  76. #56 Ja ja ja, es cierto, este hilo me está recordando a las conversaciones sobre música de muchos gafapastas, donde se dedican a lanzar nombres de grupos desconocidos para demostrar que saben más que nadie.
  77. #19 y Ada es usado en las aplicaciones más criticas. Por algo sera.
  78. #6 que tal Go en lugar de C o java?
  79. #62 lisp dicen que permite programarse o modificarse a si mismo en tiempo de ejecución. Entre otras muchas cosas.
  80. Yo creo que hay que diferenciar mucho entre docencia y ámbito laboral. Para enseñar a alguien en primero lo ideal para mi es C, porque te obliga a aprender a la vez cómo funciona un ordenador (sobre todo el manejo de la memoria volátil). Después, cuando das el salto a POO, puedes usar C++ o Java dependiendo de el estrés que pueda causar el cambio, aunque personalmente creo que tampoco es tan traumático pasar de C a Java con una buena docencia. Las desventajas de Java en el ámbito laboral las conocemos todos, pero para la docencia es un lenguaje ideal porque obliga al alumno a escribir códigos escrupulosamente correctos en sintáxis, lo que mejorará su quehacer en el futuro cuando manejen otros lenguajes más dinámicos y menos estrictos.

    #72 Mi lenguaje principal en el trabajo es JS (Node.js) y me he enamorado totalmente. Y yo era un defensor acérrimo de Java por su manejo de objetos tan purista. Es verdad que el manejo de Objetos en JS es muy distinto, pero no por ello peor. Simplemente es adaptarse, y el prototipado me parece una herramienta muy útil (lo de poder añadir funcionalidad a librerías ajenas con una facilidad tan amplia es genial xD)
  81. #10 Yo me introduje en la programación con Pascal (si excluimos mis primeros experimentos en Basic)... Que tiempos...
  82. #31 #35 Cuando consigan implementar una máquina virtual que pueda trabajar con OpenGL 4, entonces empezaré a considerarlo como lenguaje de programación :troll:
  83. A riesgo de leer tonterías he entrado a leer los comentarios. Y efectivamente, cuanta tontería se dice. De un lado y de otro. Haters, haters everywhere.
  84. #83 python es el equilibrio, POO de verdad con el dinamismo de javascript...

    Sin tener las feature de javascript, a saber:

    1- no POO. Y lo que existe -arcaico e incompleto- ni dios sabe como va.
    2- sin libreria standar. La libreria estandar es copiar y pegar de foros.
    3- documentacion apestosa. En gran parte por 1.
    4- sintasix peor q la de java.

    Javascript apesta, pero esta tan extendido q no hay nada q hacer... Como mucho usar cosas q compilen a js como coffescript

    Y esto es lo q pienso :-(
  85. #18 ¿Y no te da qué pensar el hecho de que las empresas empiezan con los lenguajes de moda y cuando ya están establecidas acaben usando Java?

    #90 Si realmente tienes curiosidad por saber qué tiene de bueno Javascript, te recomiendo leer a Crockford y a John Resig. Javascript es uno de los lenguajes más incomprendidos: por el nombre y la sintaxis la gente lo asocia con Java, pero como dice Resig: "Javascript is to Java as hamburguer is to ham". Y sí hay buenos IDE: WebStorm, the IDEA, tiene un autocompletado y un parseo en tiempo real que rivaliza con el de otros lenguajes menos dinámicos. Por cierto, no es orientado a objetos, es más bien funcional. Por cierto, sí hay una librería estándar, otra cosa es que sea pequeña y el estándar de facto en navegadores sea jQuery (y ahora Angular).

    #26 No has trabajado mucho con Java, verdad? Todo el API de Java 1.0 funciona en Java 7. Cuando marca algo como "Deprecated" es porque desaconsejan usarlo, no porque no puedas hacerlo. Precisamente una lacra que Oracle está pensando en reducir es la retrocompatibilidad, están pensando en reducirla para la versión 9 y dejar de soportar Java 1.4 y anteriores (ya toca, por cierto). Y la verborrea de Tomcat, Jboss o cualquier otro "container" se corta configurando el log.

    #78 Vamos, que te has encontrado una aplicación hecha con el culo y antigua y por eso detestas el lenguaje con la que está hecha. Swing no es lo más bonito de Java, pero es que en general la interfaz gráfica suele ser la parte más fea de implementar. JavaFX mejora lo existente, pero no es la panacea.

    #81 Apenas lo he tocado, pero Go es más cercano a C que a Java (no es orientado a objetos, es puramente imperativo). De hecho, la idea de sus creadores (trabajadores de Google ) era dejar de usar C y usar Go por su sintaxis más intuitiva y cómoda, sobre todo cuando trabajas con multithreading.
  86. #18 Ya no puedo editar, pero mira este ejemplo: Twitter estaba hecho en Ruby y se está pasando a Java: www.infoq.com/articles/twitter-java-use
  87. #76 Lo mejor de java es la maquina virtual, es la verdadera obra de arte. Lo de la eficiencia es un mito, mirate los benchmarks.. De hecho yo no defenderia java tanto como la maquina virtual. Hoy por hoy hay muy buenos lenguajes basados en la maquina virtual
  88. 10 REM programita
    20 a=3; b=4
    30 print (a+b)

    RUN

    7

    Fácil y sencillo… :troll:
  89. #90 Eso de que no hay librerías estándar para javascript es una quimera. Al menos para Node.js tienes el sistema NPM y un webo de contenido publicado en github (con sus manuales, ejemplos y tests unitarios). No se que manía tiene todo el mundo con burocratizar todo.
  90. #82 ¿Dicen?

    Cualquier estudiante de informática y/o programador que se precie debería saber al menos lo que puede hacer Lisp y de qué forma lo hace. Por cultura y porque aprendemos nuevas posibilidades y formas de hacer las cosas, que en este tipo de discusiones salta a la vista quién sabe de verdad y quién no.
  91. puede alguien decirme algun software creado con python o django que sea usado a nivel mundial por miles de millones de usuarios potencialmente a la vez? por curiosidad
  92. #12 ¿Applets? Las usa el Gobierno de España en esta web educativa sobre matemáticas: recursostic.educacion.es/descartes/web/

    Por cierto, si se quisiera crear una web con la funcionalidad que dan esas applets pero sin Java, ¿qué lenguaje sería preferible?
  93. #22 Bufff, pues a la que trabajes con diversas aplicaciones empresariales ahí que te cascan un applet de Java para poder utilizar el producto:

    - Sitescope (HP monitorización)
    - WorkplaceXT (IBM para Filenet)
    - Algunas tarjetas de administración remota de servidores (DRAC de Dell, ILO de HP)
    - Detica (BAE Systems, prevención de fraude)

    De donde han casi desaparecido es de sitios web públicos.
«12
comentarios cerrados

menéame