Opinión de django

Foxandxss

Con vuestro permiso voy a reflotar esto, que viendo mi perfil vi que tenia mensajes sin mirar y me estáis pinchando :P

Yo soy pro Rails y personalmente #59 te diría que lo probaras algún día y formaras tu propia opinión.

Tonterías sobre lenguajes vas a encontrar en todos lados. Como dijo una vez un sabio: "Un lenguaje que no es odiado por nadie, no es un lenguaje", algo así. Vamos, que todo lenguaje y framework va a tener siempre detractores.

No hay plataforma perfecta, es simplemente la que te llene más.

A mi personalmente me gusta de Rails que siempre escriben mucha documentación, que tiene millones de gemas y prácticamente todas actualizadas en la última semana. Tiene una comunidad viva de cojones y tiene muchas de las mejores herramientas que existen ahí fuera.

RSpec por ejemplo si haces BDD (¡Deberías!), es tan cojonuda que el resto de frameworks intentan copiarlo con más o menos suerte (gran parte de la magia de RSpec es cosa de Ruby). Lo mismo con Cucumber y más cosas.

No sé, para mi es un framework que lo tiene todo. Siempre encontrarás solución a todos los problemas, siempre hay gemas para las cosas más extrañas que te puedan hacer falta y siempre habrá material de donde leer.

También me gusta el buscar info sobre algo no relacionado con rails, por ejemplo backbone y encontrar que gran parte de los libros y screencasts que ves por internet usan Rails.

Aparte de Rails, Ruby me parece muy muy cojonudo. Mira que soy el fan numero 1 de C# y lo estático, pero una vez aprendes las maravillas que te puede hacer uno dinámico pues no te queda otra que amar también lo dinámico.

No es solo su dinamismo, es también la flexibilidad cojonuda que da el lenguaje. Es prácticamente como leer una novela.

Mira que a mi me suele gustar to, no soy fanboy de nadie, pero cosas así me venden:

C#. Una semana antes de la fecha de ahora:

DateTime.Now.AddDays(-7)

Un poco extraño, añades -7 dias.

Php:

strtotime("-1 week")

El parámetro tiene buena pinta, pero el nombre de la función es raro de cojones (string to time).

Rails (digo rails porque realmente es un añadido de Rails a Ruby):

1.week.ago
2.weeks.ago
3.days.ago
1.month.ago

Creo que es obvio cual es más legible.

Sobre niñatos, no sé, os preocupais por cosas muy raras... Un framework es una herramienta, la usas porque te viene bien, si no te viene bien pues usas otra, no veo el problema.

Y los agujeros de seguridad, pues si, eso es malo, aunque la respuesta del equipo de rails es bastante cojonuda, no suele tardar mucho desde que se descubre el fallo hasta que se corrige (es la idea, ¿no?)

Y tampoco es un problema actualizar, básicamente haces:

Abres el Gemfile, cambias la versión de Rails que usarás, guardas el fichero y haces:

$ bundle update
$ git commit -am "Update Rails version"
$ git push
$ cap deploy:update

Y ya está actualizada la versión de Rails, y en producción funcionando.

Eso si, y siendo realista de cojones, bajo ningún concepto programaría Rails bajo Windows. Pero ni de coña. En eso casi cualquier lenguaje supera a ruby && rails.

#59 Si todavía tienes ganas de aprender Rails algún dia y te llama lo que digo, mándame un mensaje y te ayudaré.

1 1 respuesta
eisenfaust

#61

1.week.ago
2.weeks.ago
3.days.ago
1.month.ago

ruby weenie spotted http://c2.com/cgi/wiki?SmugRubyWeenie

Ese codigo es el tipico ejemplo de un crio excitado que acaba de aprender OOP. Entre esto y la filosofia "shove it down to the parser" no me extra;a que las codebases de rails sean infumables.

Me quedo con DateTime de lejos. Que por cierto, suele tener subtract por unidad de tiempo.

1 respuesta
Foxandxss

#62 Llevo casi una década programando para ser un weenie de esos :)

Llega un momento en la vida que cuando las cosas son muy facilitas de usar y tan bonitas como en Ruby, que dejas de plantearte otras cosas.

Por otro lado, un poco más de respeto, digo yo.

PD: Ya te digo, no soy fanboy de nadie, y leyendo ese bonito link que me has puesto, no te voy a decir que la competencia tampoco tenga lo que ruby ya tiene (openclasses, blocks, etc), simplemente digo que Ruby lo hace de una forma... ¿bonita?

He programado mucho python y algo de java por si tienes curiosidad.

1 respuesta
elkaoD

#63

He programado mucho python y algo de java por si tienes curiosidad.

Se nota jejeje

No te tomes a mal lo de eisen porque quizá en el fondo tiene razón (y te aseguro que no quiere ofenderte ni nada de eso). Como dice el propio link "Ruby is really great because they know no powerful languages to compare it to" y tiene toda la pinta de que eisen ha dado en el clavo vistos los lenguajes con los que tienes experiencia.

¡Dale una oportunidad a algún lenguaje funcional y expande tu mente!

1 respuesta
Nucklear

Yo me he puesto con Django hace poco y hice un proyecto pequeño para cogerle mano. Después de hacer cosas en PHP me pareció la cosa mas cómoda del mundo a la hora de programar y que te traiga la parte de administración integrada es un ahorro de tiempo importante.

No obstante como dice #4, a la hora de hacer el deploy es un dolor de huevos, también he de decir que nosotros teníamos un server muy limitado y usamos una configuración de lighttpd+flup+fastcgi que ademas no teníamos a penas documentación para hacerlo. (Si alguien quiere una guia que me avise xD)

Desde mi punto de vista Django es un framework muy completo con posibilidades para todos los gustos y yo que estoy usando python para todo como lenguaje principal es el framework que prefiero para trabajar.

1 respuesta
Foxandxss

#64 dije esos lenguajes por ser los que están en discusión aquí. Realmente donde más experiencia tengo es en C#, he programado muchos años con el, realmente lo de Rails es algo más reciente.

Considero C# lo suficientemente potente, simplemente soy fácil de impresionar y la sintaxis de ruby simplemente me encanta.

Y no te digo que no tenga razón, pero simplemente lo veo demasiado hater de ruby && rails y quería defenderlo un poco, pero bueno, cada uno que use lo que quiera, que las necesidades de cada persona son cosas de ellos.

Sobre funcionales... Lo intenté con haskell hace lo menos 6-7 años (tengo ahí en la estantería un libro de Haskell hecho por unos españoles muy majetes, pero joder, era muy cuesta arriba :P). También he probado F#, del cual aprendí las bondades de los objetos no mutables, pero bueno, seguí con mis cosas.

#65 precisamente lo mejorcito de Django es el despliegue...

Te montas un supervisord, montas un nginx y las apps django con uwsgi y haces que supervisord las levante todas o las reinicie o lo que sea. Luego cada app con su virtualenv y es realmente sencillo.

Lo que si es un infierno es en Rails, el cual me hizo tirarme de los pelos durante mínimo una semana para que algo decente saliese. Fue tanta la mierda que tuve que aprender que me ha dado para 5-6 artículos en mi blog... Eso si, una vez sabes hacerlo, es solo crear la entrada en nginx, meter unicorn (tengo un script para manejar los unicorn que hace la cosa más sencilla) y simplemente con capistrano el despliegue son 2 comandos.

Lo mejor para desplegar es .NET, montas el web deploy en el vps, y VS lo hace todo solito.

2 respuestas
elkaoD

#66 C# == Java. Lo mismo da que da lo mismo.

A mí Haskell y F# nunca me han parecido lo mejor. Me parece que tienen una sintaxis muy algorítmica y poco general-purpose (tampoco puedo decir mucho más porque no los he probado a fondo).

Foxandxss

#66 Hombre, tanto como igual... C# tiene muuuuchas más cosas que Java, pero bueno, dejemos ese tema.

¿Qué lenguaje funcional te gusta a tí?

PD: Clojure :P

1 respuesta
elkaoD

#68 tampoco diría que me gusta Clojure. Soy un poco veleta según lo que me apetezca xD o según el dominio del problema. Digiamos que me gusta el paradigma funcional, no ningún lenguaje en concreto.

De hecho tengo grabado en la mente cuando empecé a programar en C con 11 años que intenté usar una función como si fuera de primera clase y me decepcionó que no se pudiera. Creo que la PF es más "natural" en ese sentido y es lo que hace que Ruby sea un poco caquens, que es demasiado OOPy (el mismo dolor que proporciona Scala).

Y sí, tienes razón en que C# tiene más cosas que Java, pero el "alma" del lenguaje es la misma (y con Java 8, Java va a acortar muchas distancias).

THREAD DERAILED

PD: Se me olvidó comentar. Sí, eisen es un hater de Ruby (y yo de Java), es vox populi xDDDD

Foxandxss

ser hater de java es normal... Creo que cualquiera que no use java es hater del mismo. Yo lo que he hecho con el ha sido por obligación y en contra de mi voluntad :P

Nucklear

#66 Que los despliegues de Django sean mas sencillos que Rails no quiere decir que sea la panacea. Django tiene sus historias y truquillos que hay que usar para desplegarlo y mas en la configuración que yo he usado en el proyecto que mencionaba.

1 respuesta
tracker086

Yo sinceramente en cuanto a despliegue, lo más sencillo que he visto nunca es ASP.NET con Windows Azure Web Sites. Despliegas con un click jaja

1 respuesta
elkaoD

#71 yo no diría que Python es muy locura de configurar. En todos lados te vas a encontrar esas config:

Relay HTTP (Apache, Lighttpd, Nginx) + FCGI/WSGI (me teniais que haber hecho caso y usar WSGI que es lo moderno en Django) + vuestra plataforma

#72 lo mismo con Heroku + <inserte aquí su plataforma>, desde Java hasta NodeJS pasando por Clojure y Ruby.

Despliegas con "git push heroku master" y fin.

Pero vamos, ambas son cloud y son un caso especial (y más en el caso de MS Azure, que lo tienen preparado para sus niñas bonitas xD)

Foxandxss

Es la idea del cloud, no marearte con nada, hacer un push y ya está.

Usuarios habituales