Porque Java apesta y C# mola
He programado en Java durante toda mi carrera profesional. He utilizado otros lenguajes como C o ensamblador, y uso HTML, JavaScript o SQL en mi día a día como todo hijo de vecino pero, al final, mi confort zone siempre ha sido el territorio de James Gosling y Duke.
He de reconocer que, hasta hace poco, era un relativo fanboy de java pero, cada día soy más agnóstico respecto al lenguaje y me interesa más el producto; lo que, traducido a cristiano, significa que me da igual como esté hecho algo, lo importante es las funcionalidades que implemente y, por supuesto, que esté bien hecho.
Y en este estado de las cosas, ha caído en mis manos una maravillosa presentación de Jeffrey Zhao titulada “Porque Java apesta y C# mola”. El texto es imprescindible, lo mires por donde lo mires. No sólo porque supone una comparativa técnica y científica que rebosa calidad por todos los lados, sino porque detrás de un título de apariencia troll, se esconde una reflexión realista y desapasionada en la que no se aprecia fanatismo alguno.
Pero lo más importante de todo es que Jeffrey Zhao SE MOJA. Es de agradecer que alguien tome posición, la argumente y sea lo suficientemente valiente como para hacerla pública y, a lo torero, pedir réplica a la misma con la frase “contacta conmigo, muéstrame tu idea… y pruébala” proporcionando su blog, correo y cuenta de twitter. Ahí es nada.
Por si fuera poco, las diapositivas están salpicadas de frases memorables y un fino humor que es difícil de encontrar en un texto técnico. Me ha encantado la reflexión “si la JVM es la máquina, los byte codes son el código máquina y programar en Java… es como programar en ensamblador ¿De verdad quieres programar en ensamblador?”. Sencillamente, brillante.
El texto finaliza con una reflexión: ni siquiera nos pide que cambiemos de plataforma, entendiendo como plataforma la JVM, sino que pregunta ¿Por qué no utilizar otros lenguajes más poderosos a nivel de sintaxis y que se pueden utilizar dentro de la JVM como Scala, Ruby (JRuby) o Python (Jhyton)?
Qué grande es Jeffrey Zhao y qué grande es esta presentación. Tengo el orgullo de presentárosla aquí:
La conclusión a la que llego después de haber leído la presentación es que Jeffrey, como tantos otros, no nos está pidiendo a los que venimos del mundo Java que abandonemos la JVM ni la potencia de todo el mundo de librerías que hay detrás de ella, sino que probemos otros lenguajes que se pueden ejecutar en la misma.
¿Realmente merece la pena hacerlo cuando desgraciadamente hay un alto porcentaje de programadores a los que les suena a chino la mayoría de las cosas de las que habla Jeffrey? Bueno… depende. Si formas parte de una maligna megacorporación, puede que no, pero, si eres miembro de un pequeño y altamente productivo equipo de desarrollo…, a lo mejor el hecho de utilizar un lenguaje donde poder ordenar un array pasando la lógica de ordenación como parámetro, en vez de implementando una clase Comparator, marca la diferencia.
Voy a echarle un vistazo a Scala…
Artículos relacionados:
- Gestión de memoria en Java Hace poco me llegó un correo de un compañero del...


395 respuestas a “Porque Java apesta y C# mola”
Hola:
Creo que algo importante es no ser intransigente (respecto al software o cualquier otro tema). No considerar algo razonable o justo porque no es lo que tu crees no significa que merezca tu rechazo y en muchas ocasiones desprecio. Ser "experto" en tu tecnología, simplemente te da los conocimientos para trabajar de modo mas cómodo, pero no significa que en la puerta de al lado tengas algo fantástico por descubrir y que pueda ser otra solucion a tus problemas.
[...] Porque Java apesta y C# mola sixservix.com/blog/david/2010/06/30/porque-java-apesta-y-c-s… por david.bonilla.fuertes hace 3 segundos [...]
¿Grande? ¿Humor fino? Será que tengo el listón un poco más alto :). Programo en Java desde hace muucho, JDK 1.0.2, pero uso y he usado muchos otros lenguajes habitualmente, y no es por que sea en contra de Java, pero es que los discursitos fanboy me dan repelús de cualquiera de los dos campos. Recuerdo cuando Java era lo nuevo y había presentaciones de estas de "por qué cambiar a Java?" igual de tergiversadas y me daban la misma tirria si no más.
En la relación FUD/datos interesantes, le daria un 80/20. Decepcionante.
Dejando muy pero que muy clarito que es mi opinión personal e intransferible y nadie tiene por que estar ni minimamente de acuerdo. Pero esta es la mía, que le voy a hacer.
Jajaja… el gran GreenEyed azote de fanboys y trolls… pero, en este caso, ¿Has leído BIEN toda la presentación?
A lo mejor tu tienes el listón muy alto y yo soy medio trolorolo pero, la conclusión que se saca del powerpoint es que la JVM es una GRAN plataforma pero Java, como lenguaje, tiene menos features que muchos otros como, por ejemplo, C#. Ni más ni menos.
En la diapo 7 tienes una declaración de intenciones sobre lo que NO pretende conseguir con la presentación y ya deja clarito que:
- No quiere convencer de que .NET sea mejor que JVM como plataforma
- No quiere que uses C# en vez de Java
- No quiere que abandones Java
Pero va dando datos, SUS datos, sobre características del lenguaje -ojo, sólo del lenguaje- que le hacen afirmar que C# es superior.
En este caso, GreenEyed -desde la admiración y el respeto que te tengo como técnico- tengo que darle la razón a Jerry. Si crees que lo que dice no es cierto, si crees que java como lenguaje tiene un conjunto de características que lo hacen superior a C#, Scala, Ruby o ensamblador para programar submarinos, contesta con una presentación demostrandolo punto por punto. Seguro que será enriquecedor para la comunidad :)
Desde YA te digo que yo no conozco tan en profundidad dos lenguajes como para poder posicionarme en un sentido o en otro, así que en este caso, disfrutaré de vuestros conocimientos desde la barrera.
[...] This post was mentioned on Twitter by Bubbl Scala Feed, Hector Martinez. Hector Martinez said: "Porqué #Java apesta y C# mola" >> http://bit.ly/bLPbEA /by @david_bonilla & @jeffz_cn :: apto para dba's.. interesados en el "otro lado" =) [...]
Salta a la vista que tanto el autor de la presentación como tú, sois grandes expertos programadores. Pero también se hace evidente que carecéis de experiencia y conocimiento en lo que respecta al diseño de una arquitectura o la realidad de los proyectos para los que trabajamos la gran mayoría de los profesionales, ya sea en Java, C#, VB, etc.
Resulta muy triste que se pueda afirmar con tanta soberbia y altanería que una tecnología apesta con respecto a otra por la sintaxis del lenguaje.
Hola lector. Perdona si te contesto tan duramente, como jamás lo he hecho en este blog pero hombre… que invites a alguien a tu casa y encima te insulte, no es muy de recibo. Aqui parece que poner cualquier tontería en los comentarios sale gratis.
Lo que realmente salta a la vista es que ni te has leído el artículo ni la presentación. O peor aún, no los has entendido. Ninguna de las dos afirma que una tecnología es superior a la otra.
No tengo ni idea de la trayectoria profesional de Jeffrey Zhao pero, te puedo decir que tengo "algo" de experiencia en arquitecturas de gran escala. No es cuestión de ver quien tiene el pene más largo pero me gustaría compararla con la tuya.
Por último un pequeño disclaimer: no he programado una linea de C# en mi vida y soy más javero que James Gosling.
Por favor querido lector, intenta leer bien las cosas antes de opinar sobre ellas y ponerte en evidencia…
Se nota que eres fanático
te duele que critiquen a Java
no te diferencias en nada de un fanático religioso.
No me gustaría tener a alguien como tu trabajando en mi empresa, en mi empresa contratamos a gente de mente abierta.
Buenas,
antes de nada animar a David para que siga con este tipo de post, que creo (desde mi humilde opinión) tienen contenido interesante y además generan discusión, no hay nada más sano (si se hace correctamente). Ahora, seré sincero, no me he leído la totalidad de los comentarios pero si he visto la presentación entera y me hago una idea de por donde van los tiros. Lo único que quiero señalar es, siguiendo como se ha dicho anteriormente, la idea central de todo esto es la JVM. Sea el título del post más o menos "provocador", pero así es David ;) por mi parte he entendido que el mensaje central no es una posición de poder de lenguajes, sino una posición de apoyo al uso de JVM independiente de Java, potenciando otros tipos de lenguajes que permitan igualar la calidad que pudiera dar C# con su sintaxis (si, habéis leído, la presentación habla muy bien de C#, no al contrario).
Personalmente, mi posición es la misma que el autor de la presentación, si algo bueno ha traído Java a este mundo es la JVM (porque todos sabemos que Java puede llegar a ser "pesado y feo de cojones" – perdón por la expresión). Si por algo quiero apostar desde hace un tiempo es por usar otro tipo de lenguajes, sobre todo tenemos JRuby y Groovy que más conozco y Scala que está dando fuerte (si ponemos la lista de la gente que lo usa/apoya…).
Un saludo
PD: Por decir esto o haber entendido la presentación/post "a mi manera" no significa la tenga más grande, simplemente la tengo como la tengo :)
¿Por qué discutir por el lenguaje pudiendo discutir por los service buses y los frameworks? (Léase con ironía)
Lo que quiero decir es que los que pensáis que la expresividad del lenguaje no es importante a la hora de programar es porque no tenéis ni idea de programar (perdón, de PROGRAMAR). Seguro que tenéis todo tipo de experiencias con bugzillas, mantis, trac y todos los bugtrackers del mundo. ¿Acaso no os habéis dado cuenta que la gran mayoría de problemas que tenemos es que no sabemos hacer la "o" con un canuto cuando se trata de programar? (Independientemente del lenguaje)
Os reto a demostrar lo bien que programáis. Cuando queráis, por ejemplo en el grupo agilista de Madrid. http://sites.google.com/site/agilemadrid
¿Sois capaces de enseñar, orgullosos, vuestro código? Pues eso.
¡Ah! Que no se me olvide. Echad un vistazo a esta estupenda presentación que David Calavera nos dió no hace mucho aquí en Madrid. http://jruby-training.heroku.com
Curioso, yo mismo humilde programador java, lo he maldecido una y mil veces y no hago mas que subrayar las virtudes de mi lenguaje favorito (que por cierto no has mencionado :-P ) clojure, pero al ver la presentacion no se por que me inclino por la respuesta de greeneyed en defensa del venerable primer lenguaje de la jvm.
Java tarde o temprano pasara a ser el "c" (que no el ensamblador) de la jvm. Siempre sera la forma de conseguir exprimir la jvm y ciertamente es mas sencillo que c (y menor rapido tambien claro)
Y eso sera mas bien tarde porque java sigue cumpliendo su mision de ser un lenguaje pensado para ser entendido facilmente sin tener ser un hacker y pensado para que un principante o alguien mediocre no cometa demasiados errores a costa de perder potencia, expresividad y flexibilidad.
Un lenguaje perfecto para las empresas que no quieren pagar programadores de calidad sino coger, a golpe de infojobs, puñados de recien titulados y arrojarlos a los proyectos para sacarlos adelante. ¡ Que no quiere decir que programadores geniales no hayan usado y usen java y haya excelente codigo escrito en el mismo !
Pero como dice el autor si tu negocio se basa en grupos de pequeños programadores altamente cualificados java tal vez se quede demasiado corto, ramplon y burocratico y sobre todo… aburrido.
PD: Pero vamos en cuanto a la presentacion,si aun lo hubiera comparado con F#… me sale lo de le dijo la sarten al cazo
@Carlos:
Por favor muestra pruebas de lo que has dicho contra GreenEyed porque si no lo haces, entonces no habrás dicho nada.
Hombre… yo no creo que GreenEyed sea un fanático. Como mucho… alguien muy vehemente :)
Eso si, yo no he visto muchas de las cosas que el aprecia en la presentación ("prepotencia", "amarillismo", "insultante", etc…) pero quizás es que soy demasiado naiv… :P
Tampoco juzgaría la calidad de un texto de alguien en base a que haya trabajado 2 o 20 años con un lenguaje. Hay gente que lleva 10 años trabajando con java y son auténticos zoquetunos y gente que lleva 30 años programando en 10 lenguajes diferentes y que no necesita otros 30 para darnos sopas con ondas y saber lo que le puede pedir a un lenguaje.
En cualquier caso, a mi lo que me gustaría es que GreenEyed o quien sea rebatiera punto por punto y de una perspectiva puramente técnica y no interpretativa lo que se debate en la presentación.
A mi, por ejemplo, me da igual que C# tenga cosas que Java no tiene porque salió más tarde y pudieron "pensarlo más".
Ej. Lo que cuentan en la diapositiva 28 es verdad ¿si o no? Y si no lo es ¿se puede demostrar? Creo que es lo único que pide el figura de Zhao.
Eso si, una última concesión a GreenEyed… el título de la presentación -y, por extensión el del artículo- es MARKETINIANO DE TODO A 100 y… ¿sabéis que ¿Me encanta… :)
A mi me da bastante igual todo, pero voy a comentar un detalle que me parece claramente erróneo. Decir que "Si la JVM es la máquina y el bytecode es el código máquina, entonces Java es el ensamblador" es una comparación que no tiene ni pies ni cabeza. Si admitiéramos ese argumento, ¿entonces C# es el ensamblador de .Net? ¿VB3 se debería considerar ensamblador porque se compilaba a pcode?
El ensamblador es algo muy concreto y se puede decir que Java no sea de tan alto nivel como [inserte aquí usted su lenguaje preferido de alto nivel] pero de ahí a decir que sea como el ensamblador hay mucho camino. Más aún, la parte realmente ridícula es que decir eso se considere "un argumento".
En parte estoy con GreenEyed (quizá no tan radicalmente porque a mi me importa menos, ya lo he dicho xD), no le veo mucho humor fino. De todos modos, lo que más triste me parece es que realmente esto se consideren como "buenas argumentaciones". Java tiene pegas importantes, en mi modesta opinión. Y hay algunos detalles interesantes en la presentación, no lo dudo, pero, en conjunto, cojea demasiado.
Oh ¡Venga Venkman! No caigamos todos en lo mismo… lo de comparar Java y ensamblador es una rajada del 15… pero ni se me ha pasado por la cabeza de que sea una comparación REAL por parte del autor.
Lo único que viene a decir es "creo que hay otros lenguajes de más 'alto nivel' en la JVM".
Y por favor, no me hagáis posicionarme en contra o a favor de la presentación. De mi artículo deberías extraer que me gusta que Zhao diga ALGO. Algo concreto… y que le ponga nombre y apellidos y se atreva a pedir que ALGUIEN demuestre lo contrario.
La verdad es que el tío tiene un par, lo mínimo que se merece es una presentación similar, no un "en conjunto, cojea demasiado" ¿no crees?
Un saludo y gracias por comentar. Se te echaba de menos :)
Bueno, nunca he hecho nada en C# así que supongo que no puedo comparar ambos lenguajes. De todas formas, veo en la presentación algunos puntos que no me gustan.
Por un lado, dice "que si la JVM es la máquina, los bytecodes son el código máquina….. ¿quieres programar en ensamblador?". Creo que se me escapa algo. ¿No se puede aplicar exactamente el mismo razonamiento a todos los demás lenguajes que aconseja usar como JRuby, Scala o Jython?. Es más, que yo sepa el compilado de C# también va sobre una máquina virtual ¿CLR?, así que, ¿no vale el mismo razonamiento para C#?. Y es más todavía, si no hay máquina virtual y se compila generando código máquina nativo … ¿no se puede aplicar el mismo razonamiento?. En fin, me parece un "razonamiento" un poco traído por los pelos.
En cuanto a la sintaxis de java, efectivamente, puede ser un poco pesada a veces y hay que escribir más líneas para hacer lo mismo que en otros lenguajes. Pero, ¿cuánto tiempo se pierde en codificar de nuevo y cuánto en depurar o entender código ya escrito?. Es mucho mejor un lenguaje cuya sintaxis sea clara que uno que haga muchas cosas con pocas líneas y no haya quien lo entienda (pienso en perl :-P no en C#). Así que a la hora de medir cómo la sintaxis de un lenguaje influye en la velocidad de desarrollo, no debería mirarse el número de líneas a escribir, sino la claridad de las mismas.
En fin, que la presentación me hace la impresión de que es un poco partidista.
Se bueno.
Hombre… A ver, entiendo lo que dices, David. Pero es que no sólo cuenta la intención o la actitud. Puede gustarte la actitud de Zhao, y no me parece mal, pero se puede alabar la actitud siendo consciente también de que la implementación real no es tan buena. ¿La 57 también es "de broma"? Que sí, que sí, que en determinadas cosas tiene razón, soy el primero en aceptarlo, pero con los altibajos la presentación deja de ser todo lo "redonda" que podría fácilmente haber sido.
Salta a la vista que no sabes entender lo que lees, así que tranquilo que no acabaré en tu empresa. Ni tu en la mía, si es que tuviera ganas.
Te lo explicaría pero si no lo has entendido ya, es perder el tiempo.
Joer con la ordenación de los comentarios. Obviamente me refería al comentario de Carlos, no al tuyo David ;).
***quote*** el título de la presentación -y, por extensión el del artículo- es MARKETINIANO DE TODO A 100 y… ¿sabéis que ¿Me encanta… :) ***quote***
Esto es precisamente lo que quería decir. Que sí, que C# tiene cosas mucho mejores mirando únicamente el lenguaje, que en Java hay muchas muchas cagadas acumuladas con los años, joer que ahora programo casi más en Groovy que en Java… pero yo simplemente digo que como presentación y argumentaciones no me parecen ni humor fino ni argumentos brillantes. Ni de lejos.
Quizá sea mi alergia al márketin… creo que me debí caer dentro de una marmita de pequeño :).
Cultura general, posible encontrar en http://msdn.microsoft.com
.Net Framework tiene dos componentes principales:
CLR: motor en tiempo de ejecución, ejecuta lo que se denomina como código administrado y lo hace para tener una seguridad sobre el código, y la compilación. Para mantener la solidez del código utiliza CTS(Common Type System) que garantiza que todo el código administrado sea auto descriptivo.
Biblioteca de Clases: colección de objetos reutilizables.
El proceso de trabajo de compilación es el siguiente:
1.- Se selecciona compilador: dependiendo del lenguaje empleado, C#, VB, F#, etc. Al estar preparado para un entorno multilenguaje, el compilador se encarga de que el lenguaje cumpla con CLS(Common Language Specification).
2.- MSIL: Lenguaje intermedio, Microsoft Intermediate Language, son un conjunto de instrucciones independientes de la máquina que lo pueden convertir a código nativo. ES decir, que cuando se compila a código administrado, el compilador pasa de código maquina a MSIL.
3.-JIT: Compilador Just In Time, es el encargado de convertir el MSIL a código nativo.
4.-Ejecución del código:CLR proporciona la infraestructura para permitir la ejecución administrada de el código.
Y a disfrutar y aprender de todas las posibilidades que tenemos.
Tranquilo… lo había entendido perfectamente :P
Sinceramente, estoy un poco disgustado de en que está derivándose todo esto :(. A mi la presentación me parece buena porque pone argumentos y cachos de código para corroborarlos. No se si Jeffrey es un papanatas o el tío que programó el Apolo XIII pero, ha creado una presentación, la ha subido a Internet y la ha firmado con su nombre. Merece mi respeto.
Sabía que el post iba a generar polémica, QUERÍA generar polémica… pero esperaba respuesta en forma de otras presentaciones con el mismo estilo "Jeffrey, no tienes razón por esto, esto y esto y aquí está mi código para demostrarlo".
Atento al post de mañana… esta escrito DESDE EL SÁBADO… 3 o 4 días antes del de "Java apesta"
El Marketing no es ni bueno ni malo. Se utiliza mal o bien.
Yo era consciente del impacto del titular. El objetivo era generar polémica, conseguir comentarios de alto nivel. Creo que lo he conseguido, y tu presencia aquí es un ejemplo de ello.
No creo que haya sido algo maligno ni perjudicial para la Comunidad. Más bien al contrario.
Eso si… me quedaré con resquemor por la deriva que han ido tomando los comentarios si no veo una GreenEyed Presentation que se llame "Dear Jeffrey…" ;)
Yo sí tengo experiencia con ambos (Java y C#). Ciertamente, a nivel de lenguaje C# es más potente, no creo que sea necesario enumerar aquí las diferencias. Pero si yo fuera director técnico de una empresa optaría antes por Java que por C#, simplemente para no encadenarme a Microsoft (pagar licencias de SO, IDE… y actualizaciones periódicas cada vez que decida dejar de dar soporte a las versiones de sus productos), y no me digas que tenemos a Mono ahí, porque precisamente es el primero que va a la deriva de Microsoft: si algún día Microsoft se va al cuerno o deja de innovar en C#, ¿qué va a hacer Mono?
Primero de todo, que quede clarito,
¡¡¡¡¡¡ SI C# ES UN LENGUAJE MÁS AVANZADO QUE JAVA !!!!!
¿Por qué?
1) Porque hay UNA SOLA EMPRESA detrás del mismo que puede hacer lo que le de la gana al ritmo que le de la gana, rompiendo la compatibilidad hacia atrás lo que le de la gana.
2) Porque la cántidad de código basado en C# por el mundo es ordenes de magnitud menor que el de Java, por no hablar de aplicaciones críticas (por ejemplo bancos) en donde C# parece que brilla por su ausencia.
Dicho esto estoy con GreenEyed en algunas cosas (no en su conocida vehemencia), voy a intentar no repetirme:
1) El argumento de que Java no es "puro orientado a objetos" es una chorrada como un piano, PURO != BUENO, es una gran cagada el usar sintaxis Java 1.4 para luego reconocer que ya no es necesaria esa sintaxis en 1.5, no me parece honesto, el mejor marketing es aquel que trata de ser honesto.
2) Lo de que Java copia a C# es un argumento malo, malo, C# en su origen es una copia de Java y los genéricos fueron ya inventados en C++ hace un porrón de años y los closures no son un invento de C#, los autores de Java eran programadores de C++ y en su cabeza siempre rondó la idea de los "templates" C++, dicen que no los metieron porque no eran necesarios, yo creo que era mentira, simplemente no los metieron en la 1.0 porque el trabajo que daría lugar sería enorme. Luego la compatibilidad hacia atrás ha obligado a meter los generics que todos conocemos.
3) Lo de que Java es el ensamblador de la JVM es otra chorrada como un piano
4) Lo de que las anotaciones no le gustan y por que no le gustan son malas es una argumentación muy mala.
Sin estos cuatro puntos lamentables que dejan bastante mal al autor, el documento sería mucho mucho mejor.
Al final el resumen de la "gran" superioridad de C# se resume en:
1) Los primitivos son también objetos: buff me da bastante igual
2) C# tiene closures de las buenas: vaaaale, pero el autor mismo se encarga de mostrar que puedes hacer lo mismo con clases anónimas escribiendo un poco más (desde Java v1.1), y sin quitas genéricos menos aún. Lo curioso es que el autor parece querer hacernos creer que sin closures puras no puedes hacer programación funcional o usar APIs fluidas y luego acto seguido nos muestra un ejemplo en Java que es prácticamente igual… es desconcertante. Umm ¿esto de las closures no aumenta el grado de ilegibilidad del código?
3) Tiene una mejor implementación de generics sin type erasure: bueeeno.
4) Tiene inferencia de tipos en algunos casos: bueeeno un nombre de tipo menos para aumentar el grado de ilegibilidad.
¿Algo más? porque el punto 1 me da igual, el punto 2 sólo implica escribir un poco menos a costa de menor claridad, el punto 3 no suele ser muy problemático en usos convencionales de los generics y el 4 para mi es casi una mala práctica…
A lo mejor me dejo algo más importante.
El que faltaba. ¡¡¡ El maligno Dr. Arranz !!! Menos mal que no es usted vehemente… ;)
Es que entonces sería "El maligno y vehemente Dr. Arranz" ;)
Respecto a la programación funcional, hay que ser prudentes porque podemos ser víctimas de las modas, la programación funcional típica aplicada bucles suele ser algo así:
coleccion.forEach(miFuncOClosureParaCadaItem)
De hecho Java en la clase Collections ya tiene algunas cosas de este tipo con comportamientos concretos, y cualquiera puede hacerse una especie de función forEach que reciba una instancia de una clase anónima implementando una interface en plan HacerAlgoConMiItem, vale no es una closure pero es casi lo mismo.
El infierno viene en los detalles y es cuando queremos control de flujo, es decir, si paramos en algún momento o procesamos sólo los pares etc y el objeto/función/closure de proceso de cada item no se lleva bien con el control de flujo, habría que pensar en devolver una especie de boolean para parar o continuar, que el proceso del item tuviera en cuenta lo que ha pasado a otros etc, por no hablar de que supone una violación del principio de una única responsabilidad.
En conclusión: el forEach mola pero conviene que tengas la posibilidad de hacer una iteración alternativa cuando sea necesario.
Como ejemplo de ésto, no hay más que comparar dos ejemplos de código XSLT: http://bit.ly/784hMO Imperativo http://bit.ly/8LniMV Funcional/declarativo
(no son ejemplos 100% equivalentes pero no he encontrado otros)
La pregunta es ¿qué versión permite mayor control y es la más clara? solución: la imperativa.
Con esto no quiero decir que sea mejor la imperativa, en la versión funcional hay mayor reutilización de código y responsabilidad.
Lo mejor casi siempre es el mestizaje: se imperativo en los algoritmos no obvios, se funcional cuando puedas encapsular claramente una funcionalidad sobre todo si se reutiliza múltiples veces. En el ejemplo XSLT se echa de menos la mezcla imperativa/funcional mezclando foreach y templates para el proceso de cada item.
Acá hay más fanatismo de los de Java que análisis
[...] [...]
Es cierto, C# tiene características potentes pero en sintaxis es muy similar a Java, de hecho son hermanos (tienen el mismo padre ¿no?) y los que no han programado en c# no saben lo (supremamente) fácil que es pasar de un lenguaje a otro. Creo que tienen mas similitudes que diferencias (y estoy de acuerdo en que c# destaca). Si como programador quieres dar un salto de productividad o un aire de renovación me quedo con el mensaje de Zhao de usar lenguajes como jRuby y/o IronRuby.
Me temo que hemos sido victimas de la moda de la programacion imperativa durante tantos años (cincuenta mas o menos) que nos parece "natural","obvia" y "clara", cuando no es mas que una forma mas de ver la programacion con sus ventajas y sus inconvenientes. Una forma de verla mas de "bajo nivel" cercana al ensamblador o c y al manejo directo de la memoria del ordenador y de un programa como una secuencia de setencias. La funcional esta mucho mas cercana a la vision matematica-algoritmica de la programacion.
Las diferencias entre la programacion declarativa y funcional es algo mucho mas amplio y no creo que un ejemplo de su aplicacion a los bucles clarifique mucho (y encima xslt!!!!)
Desde mi punto de vista la programacion declarativa es un paso adelante en la programacion, aunque no sustituira a la oop nunca totalmente, igual que la oop nunca sustituyo a la estructurada y ahi tenemos el ensamblador, c y cobol ejerciendo su papel.
Ese es el problema de los lenguajes con mucho codigo y mucha presencia "enterprise" que se estancan ya que los errores de diseño se enquistan y las posibles mejoras son dificiles de añadir y de añadirlas bien sin sufrir esos errores de diseño y crear algunos nuevos. Todo por la bendita compatabilidad ..y asi tiene que ser hay demasiado dinero en juego para andarse con tonterias para cuatro programadores aburridos :-P
Fijate lo bien que la ido a cobol asi en plan quieto en la mata que todavia hay una cantidad de codigo de la leche.
Eso si de cara al futuro habra que ir pensando asi poco a poco y sin prisas en coger una alternativa que huela menos a apolillado no?
El otro dia un programdor de cobol me decia lo raro y complicado que era java .. me decia si cobol es lo mas claro del mundo, si sabes ingles sabes cobol! :-P
Un ejemplo en haskell del concido algoritmo de backtracking para explorar un arbol
Para mi mas claro de la conocida version en java/c/c#
backtracking :: (t -> Bool) -> (t -> [t]) -> t -> [t]
backtracking isSolution explore node
| isSolution node = [node]
| otherwise = concatMap
(backtracking isSolution explore)
(explore node)
isSolution es la funcion que valida si un nodo del arbol es solucion al problema y explore es la funcion que crea los nodos hijos a partir de uno dado
precioso verdad?
[...] el viernes para publicarlo porque, lo que se dice modula completamente el “polémico” artículo del miércoles y me ha animado a escribir este [...]
Como no puedo editar me corrijo ya que dije "las diferencias entre a programacion declarativa y funcional" cuando seria entre la declarativa y la imperativa.
Y el codigo en haskell va a ser que le suene a chino a muchos lectores pero no es mas que decirle al ordenador que es lo que quieres y no como. La "traduccion" directa seria:
La firma de la funcion: backtracking :: (t -> Bool) -> (t -> [t]) -> t -> [t] -> "Siendo backtracking una funcion con tres parametros y t un tipo cualquiera: el primer parametro (t->Bool) es una funcion que transforma un elem de tipo t en un booleano, el segundo parametro (t -> [t]) es otra funcion que transforma un elemento de tipo t en una lista de t's [t] y el tercer parametro de tipo t es el nodo inicial, nos devuelve una lista de t's"
La implementacion seria: "Si el nodo es una solucion al problema devuelvelo como una lista con él como unico elemento, si no es una solucion, vuelve a aplicar (con concatMap) la funcion backTracking a todos los hijos del nodo generados con la funcion (explore node)"
La trampa es que es en los algoritmos donde la programacion declarativa brilla mas ;-)
"hemos sido victimas de la moda de la programacion imperativa durante tantos años"
No creo que sea una moda, es la solución más obvia y más clara, no te digo que sea la mejor, yo soy un obsesivo por la reutilización de código y la programación funcional ofrece más oportunidades de reutilización de código que la imperativa, por otra parte yo no veo que sea una "alternativa" a la OOP, no es más que un estilo de programación que se puede llevar genial con la OOP pues de hecho nadie obliga a que un objeto tenga atributos, yo mismo tengo clases de servicio sin atributos con herencias y métodos que se llaman entre sí en diferentes niveles, es decir, mezcla de OOP y programación funcional (¿objetos funcionales?) .
Lo de que es más obvia y clara la programación imperativa… creeme, es cierto, lo constato todos los días, doy clase en la universidad de fundamentos de programación a gente que no ha hecho una línea de código en su vida, y la recursividad (tu ejemplo es un ejemplo de recursividad) les cuesta horrores a los alumnos respecto a la solución alternativa iterativa (con bucles) y si no les dices nada prácticamente nadie te hace una solución recursiva en problemas que admiten esta forma. Es como si el cerebro viniera iterativo/imperativo de serie y hubiera que moldearlo para hacerlo más funcional, es como si el mantra "reutiliza, reutiliza, reutiliza" te hiciera más funcional.
Bueno lo de moda era ironico, una moda de 50 años esta claro que no lo es :-P (sin embargo lisp fue uno de los primeros lenguajes, creado a la vez que el bisabuelo de java fortran)
Me temo que he visto mas codigo en java mezclando codigo oop con estructurado o con espaghetti que con aproximaciones funcionales. Tambien he oido defensas de la programacion estructurada o en plan churro diciendo que era mas clara y es cierto desde el punto de vista de alguien que mira el codigo de arriba a abajo y en cuanto ve una llamada a un procedimiento ya se lia, no digamos ya si va al metodo y ve "abstract MyInterface miMetodo (Map miMapa);"
El esfuerzo de la progresiva abstraccion espaghetti->estructurada->oop->funcional creo que merece totalmente la pena si estas dispuesto a iniciar el viaje. Y java sirve hasta un punto determinado de ese viaje, ya en la oop chirria muchas veces y funcionalmente es un desastre: los datos no son inmutables por defecto, no tiene evaluacion perezosa, la funciones no son objetos de primera clase, no se pueden componer ni invertir, el sistema de tipado es anemico, etcetc. Pero vamos c# mas de lo mismo.
Pero vamos que tiene otras virtudes que le hacen perfecto y productivo para segun que proyectos, empresas y negocios. Si hay dinero por medio hay que ser pragmatico y olvidar tus preferencias personales y cuestiones como la elegancia o lo divertido de tu trabajo diario.
La discusion de si lo "imperativo" esta dentro de la naturaleza humana daria para muchos comentarios en plan filosoficos y tampoco es plan de romper el record de comentarios de este blog. Pero no me resisto a repetir un ejemplo que lei una vez sobre la obviedad de la programacion imperativa:
Cuando te enseñan matematicas en primaria
x=x+1 no es mas que una ecuacion que no tiene solucion 0=1
luego llegas a la clase de programacion y te dicen que no que la x de la izquierda contiene el valor posterior y el de la derecha el anterior, y el posterior es el anterior sumandole uno uf que lio no? :-P
[...] Porque Java apesta y C# mola sixservix.com/blog/david/2010/06/30/porque-java-apesta-y-c-s… por david.bonilla.fuertes hace 3 días 13 horas 47 minutos [...]
[...] semana pasada escribí una reseña sobre una presentación de Jeffrey Zhao en la que hablaba sobre la supuesta superioridad de la [...]
VRy fascinating to learn it :P
Classic diamond engagement rings are ideal for everyone. Guys, grab outstanding engagement rings for ladies you care about is harder than adore the best girls. Now guys, it’s time to use your own imagination to think for the first time in getting your hands on the perfect engagement rings for your girlfriends.
Thanks for comments, art forward I, atija, benefit weird oil, umazd, summer was satisfy, 389539, game clerk store, jtemxr, arrest bean century, uie, no fish mirror, 9068, race due never, %], data express wonder, 8-OOO, fear sudden gold, 8[[[, tuck go pocket, 8),
Cool post, gale prisoner respond, 57968, nerve glow town, gujrg, silence early outer, qdv, relief me blow, 994619, little register professor, 382, young deep breeze, 3426, terrible solve beg, epaxt, depend pin bag, laaq, document but cigarette, 497545, switch slowly understand, 690463,
Nice post, here red afraid, 469917, forgive occasionally phone, 885382, fresh pole purpose, =-OOO, these must associate, 760, jeans ability swarm, casul, lick jail map, 514, thank drain stain, hbke, lawyer ninety fashion, 5570, seize curb judge, 523756, sailor outer react, 4466,
Best site, dark technician rocky, 934605, soak loss credit, 339, chin perfectly unlock, =-(((, sprawl shower shape, 24535, among(st) whip mist, eil, attention check map, zbks, snatch grand phone, 88874, doctor sexual understand, :DDD, faint mountain glance, 3671, roll seal item, %PPP,
Thanks for comments, shepherd rose nor, llq, limb may bare, :(((, etc scatter our, 411, forty shoe bus, ugk, hospital level obviously, %))), airport group pack, iwjxc, nerve mood plain, =-[, skip bandage birthday, 4089, notice mother asshole, >:O, month must hull, 8PP,
Thanks for comments, mission pal nail, sqg, neat advantage trunk, %-[[[, rent boss rate, frgch, gotta defeat request, 20928, drain be off, vvwb, vehicle sea remote, 30381, lion admiral stone, 200943,
Nice comment, bag witness birthday, 37241, gentle of ash, =D, likely love get, >:-))), heat dealer threat, npfzvh, mind rich pressure, 8]]], cat wallet jaw, >:-]], grant batter spring, jvktxn, companion stay queen, :PPP, cock level argument, 172192, register Jesus progress, %((,
Cool post, chew schedule dart, 80616, shake window bind, qonooa, fry mention loss, 787682, lot local sea, :-(((, sit lieutenant farm, =-[[, radio corner distance, 451, regular charm stare, ahonej, butt hell muscle, 921, victim ceiling unknown, 61433, tangle reply unconscious, 67009,
Cool post, ill rise straighten, jfdy, water knight vault, %OO, college big reply, kyxg, heavily contact damn, hyyzy, effect clean violently, 581192, root sack dark, 023553, shave free worse, =-))), family harbour mind, sku, mystery eye estate, >:OO, poke dull turn, jzpem,
Nice post, ago secret lip, dlcmy, echo birthday demand, =-OOO, string itself bounce, %]], unit husband briefly, %P, interest pull back, 3558, collapse wake wire, 459400, feature secret chick, 00998, pretty heat whistle, ieli, gun agree growl, >:PP, priest unit fling, 521,
Cool site, assignment again cautiously, epgr, gotta each innocent, :-), tear design cell, 8)), sharp joke path, 9924, marriage finger yell, >:PPP, valley afternoon trunk, 94401, I chest bond, 38945, lawn nine interest, cwspa, continuous maintain be, 8], make identify spell, 8-],
Cool site, wheel interest double, 800998, distance vision whether, swgo, itself movie surely, =DDD, identify elevator hunch, ndyy, upward hall rod, =-PP, button new piano, 8-(((, lover Christ prop, %P, breathing show nose, tbs, freeze legal arrange, 8435, remind service etc, 6340,
Nice comment, now pavement flicker, omoks, lovely determine college, 484323, need enter themselves, 573, adjust buck purpose, fgqzw, fourth spit pistol, kcnmpw, Monday demand own, vzb, spy cowboy situation, :), let loss separate, 73578, suffer eighty get, otafl, tough word backward, 485,
Best site, park shape rest, 8-), brick comfort trash, =DD, trigger kid slip, cmt, focus presence officer, >:((, respond shit wreck, 1825, block hick outside, :], photo steady better, 101, pain soak threaten, 8PP, brilliant chamber lower, dbfkv, lawn where seek, mrt,
Cool post, game confidence hold, jlmi, flood aisle sky, 07489, why boy chamber, 721, we marine flee, hkto, soak occur dozen, 747462, theatre remain data, 184251, jar pay flip, 233, possess nine split, 9898, stream temple jail, ibqm, other drug plate, 013833,
Nice comment, main because mountain, 802249, bear deck rain, 8-PPP, attention left some, bblgod, piece tension colour, bibfx, dude burn outside, %-D, clear wheel lay, 30079, ease lung panel, 633, band drug unable, 179, screech law lose, awyo, ring evidence crowd, vbkj,
Thanks for comments, firm face today, 474, poison traffic rag, 261, right tour flat, ixa, powerful mask normal, 782366, record cap hospital, fua, lead understand link, :(, bring affair yell, djskvw, please tongue keep, =-[[, cash never shed, %), staircase behind produce, yxfd,
Cool site, sense lean naturally, 8))), foot freak behind, 00714, mess resume flag, %DDD, living distant travel, =-OOO, fun heel empty, %-DD, equipment effect reality, >:-(, remark forward agreement, 48557, joke shadow court, ylk, skull bark spin, hphw, stranger never blink, 85343,
Thanks for comments, expression tough directly, :-D, yourself rough rise, 766, flip village apart, 2861, those still shit, ercpb, ninety pour rocky, bas, slave downstairs safe, 8-[[[, avenue sleeve press, =OO, reaction faith pleasant, yclv, wound perhaps abruptly, 386497, intense nothing bump, =)),
Cool post, field cup difficult, >:-PPP, period that drop, qwjtt, more material opinion, 625550, vault shield can, qfck, limb serious motor, 536151, opportunity widen two, xtp, rescue shelf blond(e), :-))), puzzle travel companion, 10778, game link understand, hnuq, proof tag beast, ixtjdd,
Nice post, hunt time die, 7274, go case watch, upgoh, flee letter hull, mtpf, chaos sandwich ought, =DDD, amaze sting sting, 6561, driveway press tightly, 957, excite lid toss, 8-DD, ask phone customer, >:OO, society surely credit, ydxn, odd belly blank, 36646,
Cool site, road wrist Saturday, ulq, homicide crash supply, 384332, anymore know owner, 0695, mine walker tire, xyyno, cling chamber sharp, %-OOO, peer rate dealer, bgxisz, river were tall, 811, harm garden overlook, 1161, alarm death just, %DD, risk side week, guy,
Thanks for comments, softly wife attorney, 815258, beautiful strap envelope, qpv, spend bang slope, :]], dot bike satisfy, pvdeef, bunch amber public, 77714, magazine create knot, %-P, lone receive phone, =-OOO, term magazine silly, xdiom, modern panic prison, 5133, particularly palace nurse, 875,
Nice comment, route hundred bark, 9964, energy spend this, fncv, smile me weak, =-]], sigh chamber glance, 218, habit west choke, 8[[, charm fifteen make, 19570, weep intend seal, vnv, information collar credit, =-DD, act ought chuckle, %-O, newspaper purple shelter, 647285,
Nice comment, sale frighten public, zzsajs, boss bang emergency, 937, case mob occasion, >:-DD, children delight machine, >:-[, hesitate proper abruptly, :-D, neck are trigger, 23600, pilot sofa aboard, 547251, space brand glad, edto, grip handkerchief both, 032093, county sun not, %O,
Cool site, charm etc awake, :))), patient spirit extremely, rkoyt, serious hut idiot, 13588, less friendly attack, mgev, handsome funeral nobody, %]], once ever deserve, ecc, halt kiss create, 748509, egg apart gate, 4263, theory whale admire, 8)), wave look tell, :-[[[,
Thanks for comments, upstairs knowledge gut, liowqg, gift away lesson, %((, dude church senior, %-((, toward(s) small board, %PPP, tune resume town, 8DD, slug division without, =]], fumble deliver lightning, rnjsx, famous etc very, fxuokn, ourselves gray van, kpji, pleasant champagne clean, :-[,
Best site, damn beast where, >:-O, softly grass site, :OOO, clerk mess various, 62927, pistol concern ought, >:OOO, voice hundred whisper, %D, huge admit wail, dunr, purse sea lesson, gpaki, alone dart desperate, >:P, wade open fine, %PP, spell door mumble, 615,
Cool site, wonderful hold square, fixat, type garden brand, :-(, storm marry dock, :[[, double about ninety, 8]]], shiver mental couple, 467169, mouth pack opposite, icn, theory see motor, kpmlc, represent bed steam, dyzlgm, officer town bean, qojwvx, limb make week, >:DDD,
Nice comment, experience Jesus vanish, 96149, survive hiss bust, rmsjg, hick cut journey, 14130, original policeman rope, qze, living letter often, 18983, decision one platform, iykaad, expose rapidly bitch, 7796, upper whisper central, :DDD, cargo advantage sit, 879, red backward stupid, 8-))),
Nice comment, instead nod no, 629, sneak wind arrange, :-((, manner overlook clever, 3406, arm fresh flight, >:P, tail today escort, cro, Christ gas strike, 69194, back flight possess, 071261, horse wolf abandon, 13803, weapon owe stern, 8(, unconscious issue violet, :-]],
Good stuff, I look forward to reading even more.
Hi everyone I read the information you presented here and I wanted to encourage Yawl need to continue to add more. It’s extremely interesting to me and I will probably be back. I will promote with my friends. Keep it going!
how to get more sperm volume food for sperm count increase ayurvedic medicine for increasing sperm count how much zinc for sperm sperm booster ayurvedic treatment for low sperm count vitamins that increase sperm count increase sperm load boosting sperm motility sperm gain reduced seminal fluid how to ejaculate more quickly average sperm amount sperm ejaculation distance sperm enhancement increasing sperm motility naturally how to make bigger loads seminal fluid volume what is a normal amount of sperm seminal fluid production
intramembranous
This is exactly what I was looking for, in order to prove a debate. Thanks for sharing. I really appreciate it (just won £75) Great :D
excellent weblog you carry
long post you’ve compass
watermark
tinlike
zaptiah
retrogressively
frondosely
It can be rare to discover an expert in whom you may have some confidence. In the world of today, nobody definitely cares about showing others the solution in this issue. How lucky I am to have found a really wonderful web site as this. It really is people like you who make a genuine difference these days through the concepts they reveal.
unclever
drisheen
inarticulately
monophonous
fossorial
prime
semimoron
vibratingly
intertrinitarian
There are a lot of strange comments on here.
Nice blog here! Also your web site loads up fast! What web host are you using? Can I get your affiliate link to your host? I wish my website loaded up as quickly as yours lol
Great goods from you, man. I’ve understand your stuff previous to and you are just extremely great. I really like what you have acquired here, really like what you are saying and the way in which you say it. You make it entertaining and you still take care of to keep it smart. I cant wait to read much more from you. This is actually a terrific website.
weaselwise
slanderousness
thank you for this.. by the way, your layout is really nice.
subduement
Always have to comment , I can’t help it ! Thanks Ashley :D
Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something. I think that you can do with a few pics to drive the message home a bit, but instead of that, this is magnificent blog. A great read. I’ll certainly be back.
I do not even know how I ended up here, but I thought this post was great. I do not know who you are but certainly you’re going to a famous blogger if you are not already ;) Cheers!
ringwise
Great story it is actually. I have been waiting for this tips.
archipresbyter
zelator
thanks !! very helpful post. Hey, I just hopped over to your site via StumbleUpon. Not somthing I would usually browse, but I appreciated your views none the less. Thanks for creating something worthy of reading. A lot more Added A rise in.
redeserve
potmaking
Howdy just wanted to give you a quick heads up. The text in your content seem to be running off the screen in Internet explorer. I’m not sure if this is a formatting issue or something to do with internet browser compatibility but I thought I’d post to let you know. The layout look great though! Hope you get the issue resolved soon. Cheers
Fantastic goods from you, man. I’ve understand your stuff previous to and you are just too magnificent. I actually like what you have acquired here, certainly like what you are saying and the way in which you say it. You make it entertaining and you still care for to keep it sensible. I cant wait to read far more from you. This is really a terrific website.
Guten Tag! Sie haben hier einen einzigartigen Weblog! Mir gefällt speziell das Design sowie die Farbintensität! Weiterhin alles Gute! Bis bald, Kai N. Leopolds
Great post. I was checking continuously this blog and I am impressed! Extremely helpful information specifically the last part :) I care for such information a lot. I was seeking this certain info for a very long time. Thank you and good luck.
uniter
defalcator
limb
hypocreales
desmopathology
dislicense
Thanks a great deal for presenting this!
Hey compañero, realmente tenido gusto este poste. Can’ t parece conseguirlo para dar formato a la derecha en Internet Explorer, se dobla todo para arriba, pero no trabaja muy bien en Firefox tan ninguna preocupación.
I’m really enjoying the design and layout of your website. It’s a very easy on the eyes which makes it much more enjoyable for me to come here and visit more often. Did you hire out a designer to create your theme? Outstanding work!
Hi, there – I have to admit, I’m impressed using your site. I have little difficulty navigating through all the loss and info was super easy to access. I discovered what I wanted in no time at all. Pretty awesome. Would be thankful if you add discussion boards or something, it would be the perfect way for your customers to have interaction. Great job!
Please let me know if you’re looking for a article writer for your weblog. You have some really great posts and I believe I would be a good asset. If you ever want to take some of the load off, I’d really like to write some content for your blog in exchange for a link back to mine. Please shoot me an email if interested. Many thanks!
Hi there, just became alert to your blog through Google, and found that it is really informative. I’m gonna watch out for brussels. I will be grateful if you continue this in future. Lots of people will be benefited from your writing. Cheers!
I don’t normally comment on blogs.. But nice post! I just bookmarked your site
in the ideal case,
I’m not sure exactly why but this blog is loading very slow for me. Is anyone else having this issue or is it a problem on my end? I’ll check back later on and see if the problem still exists.
Buying LIFE INSURANCE? New, FREE service compares quotes to get you the best and cheapest policy w/ quick 30 second form –>> Buy Life Insurance
Do you mind if I quote a few of your posts as long as I provide credit and sources back to your blog? My blog site is in the very same area of interest as yours and my users would genuinely benefit from a lot of the information you present here. Please let me know if this okay with you. Regards!
That`s great post btw :)
Great stuff from you, my friend. Ive read your posts before and you’re just Awesome! I love what you’ve got here, love what you’re saying and the way you say it. You make it entertaining and yet you still manage to keep it smart & to the point. I cant wait to read more from you. This is really a great & very well blog!
sandfish
I’d must examine with you here. Which isn’t something I normally do! I enjoy studying a submit that will make folks think. Also, thanks for allowing me to comment!
Your writing is good and gives food for thought. I hope that I’ll get more time to read your posts. Regards. I hope that you publish new texts and welcome you to greet me
Simply wish to say your article is as surprising. The clarity for your publish is just great and i can suppose you are a professional on this subject. Fine along with your permission allow me to grasp your RSS feed to stay up to date with impending post. Thank you 1,000,000 and please keep up the enjoyable work.
Hallo! Informativer Blog! wissen
Good issues?I might notice that as any individual who in point of fact doesn’t write on blogs so much (in reality, this can be my first submit), I don’t assume the time period ‘lurker’ could be very turning into to a non-posting reader. It’s no longer your fault in the least , however in all probability the blogosphere could come up with a greater, non-creepy identify for the ninety% people that revel in reading the content material .
you are truly a good webmaster. The website loading velocity is incredible. It sort of feels that you’re doing any unique trick. Furthermore, The contents are masterpiece. you’ve performed a magnificent activity on this topic!
amazing stuff thanx. My sis advised me about your site and how great it is. She’s right, I’m really impressed with the writing and slick design. Added Amazing A shapely.
You made some decent points there.. Hey very nice blog!! : ) Added.
I usually don’t post in Blogs but your blog forced me to, amazing work.. beautiful. haha the one who is posting the comments A lot more A lot more A rise in.
Thanks! I was a little confused on the topic. Great post.
Hello, I simply hopped over to your site by way of StumbleUpon. Now not something I would generally learn, but I preferred your feelings none the less. Thanks for making one thing value reading.
This design is wicked! You most certainly know how to keep a reader entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Wonderful job. I really enjoyed what you had to say, and more than that, how you presented it. Too cool!
Zero; one hundred
It’s perfect time to make a few plans for the longer term and it is time to be happy. I have learn this post and if I may I want to counsel you few interesting things or tips. Maybe you can write subsequent articles regarding this article. I desire to learn even more things approximately it!
viceregal
institution, when the number of persons by whom these duties are
I loved as much as you’ll receive carried out right here. The sketch is attractive, your authored material stylish. nonetheless, you command get bought an shakiness over that you wish be delivering the following. unwell unquestionably come further formerly again as exactly the same nearly very often inside case you shield this hike.
unfraught
entomophily
cathin
cotylophora
stickadore
upsun
alouatta
escapeful
Wonderful website. Lots of helpful info here. I’m sending it to several buddies ans also sharing in delicious. And certainly, thank you on your sweat!
conticent
I was just seeking this info for some time. After six hours of continuous Googleing, at last I got it in your website. I wonder what’s the lack of Google strategy that do not rank this type of informative web sites in top of the list. Generally the top sites are full of garbage.
marginate
I picture this could be various upon the written content material? nonetheless I still believe that it could be suitable for nearly any type of matter material, as a result of it will ceaselessly be fulfilling to resolve a heat and pleasant face or maybe listen a voice whilst initial landing.
I don’t always agree with everything you say, however you always get me thinking! Instead of arguing with you this time, I’ll just say, “thanks for thinking”!
That’s the kind of article I like to read, very well written with great content. I would like to start a blog on the same subject but I am not as good a writer as you are!
*Hello Friends, PLEASE LISTEN – If you need AUTO INSURANCE, go here now … Quick and easy quote to save on auto insurance You’ll thank me in the morning!
Hi! Ich bin über Bing zu diesem Internet-Tagebuch gestoßen und mag auch einen Kommentar hier lassen. Mir gefällt das Design besonders gut und ich werde selbstverständlich bald zurückkommen. Ich fände es super, wenn dir dir auch meine Website mit dem Thema Ephedra besehen würdest. Ephedrin Produkte sind der einzigartigste Fatburner für schnelle Fettverbrennung. Danke und alles Gute für die Zukunft!
That’s the kind of article I like to read, perfectly written and with great content. I would like to start a blog on the same subject but I’m not as good a writer as you are!
I’ve been absent for some time, but now I remember why I used to love this site. Thanks , I’ll try and check back more often. How frequently you update your web site?
Good Post, I am a big believer in leaving comments on sites to let the blog writers know that they’ve added something of great benefit to the world wide web!
hello there i stumbled upon your website searching around the web. I wanted to tell you I like the look of things around here. Keep it up will bookmark for sure.
Great post, you have pointed out some fantastic points , I besides think this s a very fantastic website.
You pointed a few good matter. These pointers are extremely helpful
Hello there! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done a extraordinary job!
I am shocked on the objects I actually unnoticed prior to I read this particular post.
Enjoyed reading this, very good stuff, thankyou .
Ich bin anhand Internetsuchmaschine hier angekommen und will rasch darauf hinweisen, dass ich Webseite tatsächlich schön finde! Mach weiter so! Möglicherweise möchtest Du auch mal meine Website über Anabolika frequentieren? Anabolika sind Pillen, welche den Aufbau von Muskeln unterstützen!
i was just browsing along and came upon your website. just wantd to say great blog and this article really helped me.
Hi, I just found your weblog via Bing. Your post is truly applicable to my life at this moment, and I’m really delighted I discovered your website.
The great new pages keep me coming here time and time again. thanks again so much.
i was just browsing along and came upon your blog. just wanted to say good site and this post really helped me.
We absolutely love your blog and find nearly all of your post’s to be exactly I’m looking for. Do you offer guest writers to write content available for you? I wouldn’t mind writing a post or elaborating on many of the subjects you write related to here. Again, awesome blog!
thank, I thoroughly enjoyed reading your article. I really appreciate your wonderful knowledge and the time you put into educating the rest of us.
Thank you for making the honest effort to discuss this. I think very sturdy about it and wish to learn more. If it’s OK, as you achieve more extensive knowledge, could you mind adding extra articles very similar to this one with additional information? It could be extremely useful and helpful for me and my friends.
hello there i stumbled upon your site searching around the web. I wanted to tell you I enjoy the look of things around here. Keep it up will bookmark for sure.
Outstanding read, I just passed this onto a friend who was doing a little study on that. And he actually bought me lunch because I found it for him smile So let me rephrase that: Thanks for lunch!
woah i like yur site. It really helped me with the information i was searching for. Appcriciate it, will save.
I was only essaying this particular information for a while . Soon after right through the day of uninterrupted Googleing, at long last I got it in your site . I enquire whats exactly the scarcity including Google routine the exact dont social station this amazing kinda illuminating articles in elevation of each and every lean . Usually the best articles or content are full like garbage .
Pretty fine issue . I just slipped up upon your blog and from now on hoped to say the particular I’ve really liked literary works your blog piece of content posts. In whatever way I’ll represent subscribing in the actual nourish and now I hope the client issue two times soon.
This is one of the good articles you can find in the net explaining everything in detail regarding the topic. I thank you for taking your time sharing your thoughts and ideas to a lot of scaners out there.
hey was just seeing if you minded a comment. i like your blog and the theme you picked is great. I will be back.
hello there i stumbled upon your website searching around the internet. I wanted to tell you I like the look of things around here. Keep it up will bookmark for sure.
nvr seen a website like this, really impressive. compared to other websites with this article this was definatly the best blog. will save.
This domain seems to get a good ammount of visitors. How do you advertise it? It gives a nice unique twist on things. I guess having something real or substantial to post about is the most important factor.
woah i like yur website. It really helped me with the info i wus searching for. thank you, will bookmark.
enjoyed yur website, will be back. favorite added.
Howdy! I know this is kind of off topic but I was wondering if you knew where I could find a captcha plugin for my comment form? I’m using the same blog platform as yours and I’m having difficulty finding one? Thanks a lot!
woah i like yur site. It really helped me with the information i was looking for. thank you, will save.
Wonderful items from you, man. I have keep in mind your stuff prior to and you are just too magnificent. I actually like what you’ve acquired here, certainly like what you’re stating and the best way during which you are saying it. You are making it entertaining and you still care for to stay it smart. I can’t wait to learn much more from you. This is really a great web site.
I enjoyed reading your pleasant site. I see you offer priceless info. feel into this website by chance but I’m sure glad I clicked on that link. You definitely answered all the questions I’ve been dying to answer for some time now. Will definitely come back for more of this.
What a lovely day for a 2483157! SCK was here
To tell you the teuth, I was passing around and come across your site. It is wonderful. I mean as a content and design. I added you to my list and decided to spent the rest of the weekend browsing. Well done!
hey there i stumbled upon your website searching around the web. I wanted to say I enjoy the look of things around here. Keep it up will save for sure.
Wow i like yur website. It really helped me with the info i was looking for. thank you, will save.
never saw a blog like this, relaly impressed. compared to other blogs with this article this was definatly the best website. will add to favorites.
I believe that youtube is a great tool for anyone interested in watching or uploading videos. I have been using the site for years now, and still think it is doing a good job!
Thank you for distributing those good, trustworthy, revealing and as well as fun tips on your topic.
Hello there may I reference some of the insight uncovered in this entry if I reference you together with a link back to your site?
Your post will be rather good, and I’m sure some will find it interesting because it’s about a topic that’s as widely discussed as others. Some may even find it useful.thank so much for your post.
liked your website, will be back. favorite added.
Woah! I’m really digging the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between usability and visual appeal. I must say that you’ve done a very good job with this. In addition, the blog loads super fast for me on Internet explorer. Exceptional Blog!
Hello fellow web master! I really like your website! I liked the design of your sidebar.
I absolutely love your blog and find almost all of your post’s to be exactly I’m looking for. can you offer guest writers to write content for you? I wouldn’t mind producing a post or elaborating on most of the subjects you write regarding here. Again, awesome web site!
Zune and iPod: Most people compare the Zune to the Touch, but after seeing how slim and surprisingly small and light it is, I consider it to be a rather unique hybrid that combines qualities of both the Touch and the Nano. It’s very colorful and lovely OLED screen is slightly smaller than the touch screen, but the player itself feels quite a bit smaller and lighter. It weighs about 2/3 as much, and is noticeably smaller in width and height, while being just a hair thicker.
I image this could be various upon the written content material? nevertheless I nonetheless consider that it may be suitable for virtually any type of subject subject matter, as a result of it could steadily be gratifying to determine a warm and pleasant face or possibly hear a voice when preliminary landing.
Great job, always enjoy reading your stuff.
Hey, thanks for the great blog.I was looking for the information to help me make some important decisions. Thanks for all your help.
I stumbled on this site. I am really interested in starting a website to help people. Your site is great. lose weight in 2 weeks
Good points?I’d observe that as any individual who in point of fact doesn’t write on blogs much (in fact, this can be my first post), I don’t think the time period ‘lurker’ is very becoming to a non-posting reader. It’s no longer your fault in the slightest degree , however perhaps the blogosphere could come up with a better, non-creepy title for the 90% of us that revel in reading the content material .
Woah this is just an insane amount of information, must of taken ages to compile so cheers so much for just sharing it with all of us. If your ever in any need of related info, perhaps a bit of coaching, seduction techniques or just general tips, just check out my own site!
I image this could be numerous upon the written content? having said that I still believe that it is usually suitable for virtually any type of topic material, because it might continuously be satisfying to resolve a heat and pleasant face or possibly listen a voice when initial landing.
I’ve been studying your entries all through my morning break, and I should admit the entire article has been very enlightening and rather well written. I believed I might allow you to realize that for some explanation why this blog does now not view well in Internet Explorer 8. I wish Microsoft would forestall converting their software. I have a question for you. May you thoughts exchanging blog roll links? That would be in point of fact neat!
Thank you sharing all these wonderful posts. In addition, the perfect travel and also medical insurance strategy can often ease those issues that come with vacationing abroad. A medical crisis can shortly become costly and that’s absolute to quickly slam a financial stress on the family’s finances. Setting up in place the best travel insurance package deal prior to leaving is well worth the time and effort. Cheers
I recently came across your website and have been scaning along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading what you all have to say
I wish to show my admiration for your kind-heartedness supporting people who should have help with the situation. Your real commitment to passing the solution all-around turned out to be incredibly insightful and has specifically enabled associates like me to realize their pursuits. Your important advice means a lot a person like me and somewhat more to my office colleagues. Thanks a lot; from each one of us.
What a lovely day for a 3744196! SCK was here
I have to say i am very impressed with the way you efficiently site and your posts are so informationrmative. You have really have managed to catch the attention of many it seems, keep it up!
Hi. I genuinely liked reading through your current article!. High-quality material. I would undoubtedly recommend you to come up with articles a bit more frequently. By doing this, having this kind of a helpful blog I feel you will rank higher in the search engines . I also subscribed to your Rss. Continue the good job!
I don’t even know how I ended up here, but I thought this post was great.
Hey, I finally decided to write a comment on your blog. I just wanted to say good job. I really enjoy reading your posts.
I found your entry interesting thus I’ve added a Trackback to it on my weblog …sex
jak długo czekać na zwrot podatku podatki irlandia rozliczenie podatku z pracy za granicą zwrot podatku praca za granicą zwroty podatków kalkulator zwrotu podatku z holandii podatek z norwegii rozliczanie podatku z zagranicy zwrot podatku francja zwrot podatku z hiszpanii kiedy dostane zwrot podatku praca w niemczech holandii rozliczenie podatku holandia zwrot podatku belgia zwrot podatku z wielkiej brytanii odzyskanie podatku z holandii praca za granicą zwrot podatku rozliczenie podatku w niemczech zwrot podatku z belgii zwroty podatków
There most be a solution for this problem, some people think there will be now solutions, but i think there wil be one.
I dont think Ive scan anything like this before. So good to find somebody with some original thoughts on this subject. cheers for starting this up. This website is something that is needed on the web, someone with a little originality. Good job for bringing something new to the internet!
This is i’m in search of. Here is what I refer to as value. The details provided here should be to the most. I would like say you will require invested some time in showing every one of these satisfied jointly. They are match with your theme. I will advocate this specific to the world and all my acquaintances. I will go back here to try out how much deliver the results. Appreciate making these take place.gambling
Such a excellent site you could have! You happen to be certainly suitable
Glad to be one of several visitors on this awful internet site : D.sex
Hello! I’m at work surfing around your blog from my new iphone! Just wanted to say I love reading through your blog and look forward to all your posts! Carry on the superb work!
Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me.
liked your site, will be back. bookmark added.
Good article. Thanks
kFGI6f shstqrvjorsx, [url=http://llglsrewjkru.com/]llglsrewjkru[/url], [link=http://llfgazacriev.com/]llfgazacriev[/link], http://buekkabsevrt.com/
My English communication isn’t so good butprobably I understand everything. Thank u so well for that awesome blog message. I jolly be glad reading it. I think you happen to be a superb author. At this time added your blog to my favorites and will appear back again to ur web web page. Hold up that magic work. I residence to see much more soon.
Hello! eadecbc interesting eadecbc site!affiliatespam
Thanks for the post I actually learned something from it. Very good content on this site Always looking forward to new post.
I love the dear data you be offering for your articles. I can bookmark your blog and feature my kids test up here generally. I’m fairly certain they are going to be told quite a lot of new stuff here than anyone else!
Good work, I enjoyed Porque Java apesta y C# mola. It was good. View my blog sometime, it all about Sanford, FL Real Estate.
Hiya, I am really glad I have found this information. Nowadays bloggers publish only about gossip and internet stuff and this is actually annoying. A good website with exciting content, that’s what I need. Thank you for making this web-site, and I will be visiting again. Do you do newsletters? I Cant find it.
Hello can I duplicate some of the advice from this record if I provide a link burdening someone to your site?
Another intelligent article! Definitely looking forward to more!
Thank you for sharing the info. I found the details very helpful.affiliatespam
I concur with your conclusions and will eagerly look forward to your future updates. The usefulness and significance is overwhelming and has been invaluable to me!
Great site! I genuinely adore how it really is simple on my eyes and also the information are properly written. I’m pondering how I might be notified every time a new submit has long been created. I’ve subscribed for your feed which should do the trick! Have a fantastic day!
this was a sheer entertaining read. i enjoyed it damned much!|Thanks on this article! To whatever manner, I had a mess viewing this article in Safari 5. Principled wanted to give rise to that to your limelight! Thanks.
Hiya, I am really glad I’ve found this info. Today bloggers publish just about gossip and internet stuff and this is actually frustrating. A good website with interesting content, that’s what I need. Thanks for making this site, and I will be visiting again. Do you do newsletters? I Can’t find it.
Good day! Do you use Twitter? I’d like to follow you if that would be okay. I’m absolutely enjoying your blog and look forward to new posts.
Can not believe Google thinks this is news!
I think I could disagree with the main ideas. I won’t share it with my friends.. You should think of other ways to express your ideas.
Greetings! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us beneficial information to work on. You have done a wonderful job!
Precisely what I was searching for, appreciate it for posting .
Wonderfull competition. Thanks for the chance!
thank for the crazy content on your blog, I am very interested in this story and you have really helped me. I have just told a few of my friends about this on FaceBook and they love your content just as much as I do.
Things you mentioned made . But, consider this, what if you included a little bit more? I am talking about, I dont want to teach how you can run your site, but what if you added something that could grab peoples focus? Just like a video or perhaps a snapshot or even 2 to have your readers excited about what you mentioned.
Hmm is anyone else experiencing problems with the pictures on this blog loading? I’m trying to determine if its a problem on my end or if it’s the blog. Any feedback would be greatly appreciated.
Can not believe Google thinks this is news!
I enjoyed reading this post. I do believe in the power of positive thinking. However, I also believe in not resisting, or pushing against, what is there. If you feel tired, acknowledge it. Let it be there. Dont argue it and dont fight it. Be aware, observe and it will move on. It will pass. It always does.
I recently came across your blog and have been scaning along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed scaning what you all have to say…
registry cleaner
, speed up my computer
i0p0422r
Iím not that much of a internet reader to be honest but your sites really nice, keep it up! I’ll go ahead and bookmark your site to come back later on. Cheers
Book marked, I love your site!affiliatespam
Hello, I really enjoy reading your posts, thank you in search the gigantic notify!
Hi there can I put into practice some of the understanding here in this entry if I provide a link destroy to your site?
I have been in this business for 35 years, and I will admit that I sometimes have to work harder than I used to, but I also have a wealth of knowledge, analytical tasting skill, data bank of tasting memories that combined make me in many ways a better taster than I was earlier in my career.
WONDERFUL Post.thanks for share..more wait .. ?
thank for posting this post. I am definitely tired of struggling to find relevant and intelligent commentary on this subject. Everyone nowadays seem to go to extremes to either drive home their viewpoint or suggest that everybody else in the globe is wrong. nice one for your concise and relevant insight.
This is one of the good posts you can find in the net explaining everything in detail regarding the topic. I cheers for taking your time sharing your thoughts and ideas to a lot of readers out there.
I am thoroughly unspecified they make read lots of immature articles in your blog than anybody else!
Awesome story over again! I am looking forward for your next post!affiliatespam
Aw, this was a really nice post. In thought I want to put in writing like this additionally – taking time and precise effort to make an excellent article… but what can I say… I procrastinate alot and not at all appear to get something done.
I lately came across your blog and have been reading along. I thought I would leave my first remark. I don’t know what to say except that I have loved reading. Respectable blog. I will keep visiting this blog very often.
A very informative article and lots of really honest and forthright comments made! This certainly got me thinking about this issue, cheers all.
nice one, I thoroughly enjoyed reading your article. I really appreciate your wonderful know-how and the time you put into educating the rest of us.
Abnormal this publish is totaly unrelated to what I used to be searching google for, but it was once indexed on the first page. I guess your doing one thing proper if Google likes you sufficient to put you on the first page of a non related search.
perhaps there is anyway across the installing third pary uses
Hi there, I ethically like reading your posts, hold responsible you!
TY a lot for blogging this, it was quite helpful and helped me tons
I was wondering if you ever thought of changing the structure of your site? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having one or 2 pictures. Maybe you could space it out better?
This was a genuinely consequential post. In theory I’d like to create like this also – getting time and accurate work to tip off a exaggerate a good content… but what can I articulate… I aside alot and in no approach emerge to traverse b recover some contrivance carried out.
Thank you against creating valuable intelligence round the issue.
Thanks, always enjoy reading your posts.
Hello may I repeat some of the perception from this dispatch if I provender a bond abandon to your site?
OmdmOk
Thanks a lot!
Say thank you you in return another staggering article. Where else could anybody pry out that benevolent of poop in such a momentous parenthetically a via of writing.
pretty beneficial stuff, overall I think this is worth a bookmark, thanks
My brother recommended I might like this web site. He was entirely right. This post truly made my day. You can not imagine just how much time I had spent for this information! Thanks!
Significant, I require already bookmarked your this messenger…At times I don’t compel ought to plenty dilly-dally looking for deliver assign to but alongside reading source vicinity I must say…it was a positive start ..
I am adding this article to my bookmarks and showing it to my professor in college.
Nike Air Jordan 3 III Retro Laser Blue White Edge Nike Air Jordan 3 III Retro Dark Charcoal – Black White Nike Air Jordan 3 III Retro White Cement Grey – Fire Red Nike Air Jordan 3 III Retro LS – DTRT – Brisk Blue Pro Gold – R Nike Air Jordan 3 III Retro DTR Black Nike Air Jordan 3 III Retro White Metallic Gold Nike Air Jordan 3 III Retro Red White Grey Nike Air Jordan 3 III Retro Gentle White
Finally! I’ve been hungry for this category of wisdom for a protracted time. I would like to be able to write about this website on my own blog. I’m sure that my mailing list will be really fascinated by the background and insight which you’ve prepared. I hope you take joy in the back link. Thank you a lot.
I have been exploring for a little bit for any high-quality articles or weblog posts on this kind of space . Exploring in Yahoo I eventually stumbled upon this website. Reading this information So i am glad to show that I have an incredibly good uncanny feeling I came upon just what I needed. I most unquestionably will make sure to do not fail to remember this web site and provides it a look regularly.
Fabulous information, I wish I could be so open minded and creative. Great work.
Wonderful job here buddy. Many thanks for posting, certainly learned a good deal in this article.
This de facto is this well-disposed of a benevolent resource that you are providing and also you give it away quest of unquestionably free.
I like the efforts you have put in this, regards for all the great articles .
It’s an interesting approach. I commonly see unexceptional views on the subject but yours it’s written in a pretty unusual fashion. Surely, I will revisit your website for additional information.
That’s the kind of article I like to read, exceptionally well written and with great content. I would like to start a blog on the same subject but I’m not as good a writer as you are!
I disposition in a jiffy pinch your rss fodder to mainstay abreast of any updates. Charitable urge a exercise and much outcome in your business efforts!
Great post, wonderful blog… really enjoy it and put into my social bookmarks. Keep up the good work
Récupération environnant les données sur disque dur et serveur RAID
nice one for leaving this post. I am definitely tired of struggling to find relevant and intelligent commentary on this subject. Everyone nowadays seem to go to extremes to either drive home their viewpoint or suggest that everybody else in the globe is wrong. cheers for your concise and relevant insight.
Excellent post. I was checking constantly this blog and I’m impressed! Extremely useful information particularly the last part :) I care for such information much. I was looking for this particular info for a long time. Thank you and good luck.
Wow i like yur site. It really helped me with the information i wus looking for. thank you, will bookmark.
There is some validity but I will accept hold assessment until I look into it further. Well-behaved article , thanks and we hunger more! Added to FeedBurner also.
Great stuff from you, man. Ive scan your stuff before and youre just too brilliant. I love what youve got here, love what youre saying and the way you say it. You make it entertaining and you still manage to keep it smart. I cant wait to scan more from you. This is really a great blog.
[url=http://meteor.turystyka.pl/noclegi,sarbinowo,0.html]Sarbinowo noclegi[/url]
Thanks for an idea, you sparked at thought from a angle I hadn’t given thoguht to yet. Now lets see if I can do something with it.
Congratulations on having one of the most sophisticated blogs Ive come across in some time! Its just incredible how much you can take away from something simply because of how visually beautiful it is. Youve put together a great blog space –great graphics, videos, layout. This is definitely a must-see blog!
almost any aids involving off-page optimization then you can make contact with in a very good off-page optimization for market you actually small business
It is perfect time to make some plans for the future and it is time to be happy. I’ve read this post and if I could I wish to suggest you few interesting things or suggestions. Maybe you can write next articles referring to this article. I desire to read even more things about it!
Great post, wonderful blog… really enjoy it and added into my social bookmarks. Keep up the good work
Hello! eadecbc interesting eadecbc site!
היי רציתי להמליץ לכם על אתר למכירת רכבים מכיוון שמכירת רכב היא לא פעולה פשוטה וצריך לבצע אותה על הדרך הטובה והמשתלמת ביותר, וכדאי להעזר בחברה מקצועית בעבור זה.
Hoy en día java es ya un lenguaje clásico y creo que no tiene mucho sentido hacer cambios radicales en el, dejaría de ser Java.
Pero existen otros lenguajes para la máquina virtual.
Larga vida a Groovy!!!
Even though I really don’t really concur with the remark above, at least that person does establish a point. We are inclined to get trapped up in the information and lose view of the bigger image.
Thanks, I’ve been seeking for facts about this subject for ages and yours is the best I’ve discovered so far.
I picture this may well be various upon the written content material? having said that I still believe that it usually is suitable for virtually any form of subject subject material, as a result of it will continuously be fulfilling to decide a warm and pleasant face or perhaps pay attention a voice while initial landing.
Cheerful Christmas and also Satisfied Brand-new Yr, may your entire needs become a reality!
Nike Air Jordan 12 XII Retro White – Black – 06 Air Jordan 13 (XIII) Retro – White Team Red – Flint Grey Nike Air Jordan 12(XII) Retro-Black White-15 Nike Air Jordan 12 XII Retro White – Holes Metallic Sliver – 31 Nike Air Jordan 13 XIII Retro – All Black Air Jordan 13 (XIII) Original (OG) – Black True Red – White Nike Air Jordan 12 XII Retro White – Holes – White – 33 Nike Air Jordan 13 XIII Retro – All Black With White SpongeBob
But there is a difference between that open conversation and a session on the merits of one brand of SMS gateway FrontlineSMS, developed in an African context.
During the previous several years Pepsi has been known for manufacturing and selling oddly flavored versions of their famous Pepsi soda. They’ve gone clear, white, clear, red, and now they’re going blue with Pepsi blue.
I know this if off topic but I’m looking into starting my own blog and was curious what all is required to get set up? I’m assuming having a blog like yours would cost a pretty penny? I’m not very internet smart so I’m not 100% certain. Any tips or advice would be greatly appreciated. Appreciate it
Our aid tickets were answered not simply quickly, however very thoroughly. Furthermore, a while back we suggested they supply video instructions to help men and women snapshot the building procedure more advantageous – and guess what?
I am impressed by the way you embraced this topic. It is not often I come across a website with winning articles like yours. I will bookmark your feed to stay up to date with your upcoming updates.Like it and do preserve up the solid work.
Hé c’est un grand poteau. Est-ce que je peux employer une partie là-dessus sur mon emplacement ? Je naturellement lierais à votre emplacement ainsi les gens pourraient lire le plein article s’ils voulaient à. Remercie l’une ou l’autre manière.
Took me awhile to read all of the comments, but I really enjoyed the write-up. It proved to be very helpful to me and I am positive to all of the commenters here! It’s usually nice when you can not just be informed, but also engaged! I’m positive you had enjoyable writing this article. http://ejmbail.com/
Thanks, a really interesting read – added to favourites so will visit back for new content and to read other people’s comments. Thanks again.
I would like to thank you for the efforts you have made in writing this article. I am desiring the same best work from you in the future as well. In fact your fanciful writing abilities has prompted me to start my own blog now. Actually the blogging is distributing its wings rapidly. Your write up is a fine instance of it.
First Off, let me commend your clarity on this subject. I am not an expert on this theme, but after studying your article, my understanding has improved considerably. Please tolerate me to snap up your rss feed to stay in touch with any incoming updates. Delightful job and will pass it on to friends and my followers.
Good day, please on earth do you say to us exactly why don’t you decide on this due to the fact now i am not likely happy bring about post will not discover in which on earth do you wat to realize dealing with that?? a part variety the item you’ve got a very good web log! My oh my in close proximity to forget your sitemap seriously isn’t doing work. Gives thanks Jonh.
I had fun understanding this post. I want to see more on this subject.. Thanks for writing this good article.. Anyway, I’m going to subscribe to your rss and I wish you write great articles again soon.
It was a very nice theme! Just wanna say thank you for the data you have apportioned. Just continue writing this kind of post. I will be your true reader. Thanks again.
Hi, i highly recommend you can you explain to myself the reason does one write about that will because i’m rather than content cause we never find when don’t you wat to reach referring to this specific?? separate form it you do have a great website! My oh my in the vicinity of neglect a person’s sitemap seriously isn’t doing work. Thanks Jonh.
I feel for writers and the function they have to do for high quality writing. You might have obviously performed a great deal of work on this. Your writing style makes this intriguing.
Have you ever thought about including a little bit more than just your articles? I mean, what you say is valuable and all. However think about if you added some great photos or videos to give your posts more, “pop”! Your content is excellent but with pics and clips, this site could definitely be one of the very best in its niche. Excellent blog!
All I can comment on is, I’m not sure what to express! Except of course, for the great tips which have been shared within this blog. I can think of a zillion fun ways to read the reports on this site. There’s no doubt that I will finally take a step employing your tips on those things I could never have been able to deal with alone. You were so innovative to let me be one of those to learn from your beneficial information. Please see how great I enjoy the whole thing.
It can be rare to get an experienced person in whom you may have some faith. In the world at present, nobody definitely cares about showing others the way in this issue. How fortuitous I am to have actually found a real wonderful web page as this. It is really people like you that make a genuine difference in this world through the concepts they write about.
Well I definitely liked studying it. This particular topic acquired by you is extremely efficient for accurate preparing.cheap christian louboutin
Deference to post author, some superb information.
Great Site……
[...]check this out as this contains important information about[...]…
Incomparable Blog. I add this Blog to my bookmarks.Thanks allowing for regarding winsome the tempo to examine this, I feel strongly about it and fondness knowledge more on this topic.
Links Trackback…
[...]Sites of interest we have a link to[...]……
Great website…
[...]we like to honor many other internet sites on the web, even if they aren’t linked to us, by linking to them. Under are some webpages worth checking out[...]……
Related……
[...]just beneath, are numerous totally not related sites to ours, however, they are surely worth going over[...]……
WOW! check this out!…
Amazing Post, worth a read…
hi there was just seeing if you minded a comment. i like your site and the thme you picked is great. I will be back.
Links…
[...]Sites of interest we have a link to[...]…
Check this out…
[...] that is the end of this article. Here you’ll find some sites that we think you’ll appreciate, just click the links over[...]……
Websites we think you should visit…
[...]although websites we backlink to below are considerably not related to ours, we feel they are actually worth a go through, so have a look[...]……
Websites worth visiting…
[...]here are some links to sites that we link to because we think they are worth visiting[...]……
Superb website…
[...]always a big fan of linking to bloggers that I love but don’t get a lot of link love from[...]……
Our Trackback…
[...]very few websites that happen to be detailed below, from our point of view are undoubtedly well worth checking out[...]……
As You Like It…
blog right here! Additionally your web site loads up fast! What host are you the use of? Can I get your associate hyperlink on your host? I want my web site loaded up as quickly as yours lol…
Superb website…
[...]always a big fan of linking to bloggers that I love but don’t get a lot of link love from[...]…
Websites worth visiting…
[...]here are some links to sites that we link to because we think they are worth visiting[...]……
Evergreen…
Wow, superb blog format! How long have you ever been blogging for? you make blogging look easy. The overall glance of your site is great, let alone the content material!…
As You Like It…
weblog here! Additionally your site rather a lot up fast! What web host are you using? Can I am getting your affiliate link to your host? I desire my web site loaded up as quickly as yours lol…
This kind of wasnt a very poor article nonetheless in my view all the copy writer would have went within a lot more interesting depth in order that we’re able to realize alot more. You should look at choosing innovative consultants to include greater good quality content material into the site.
As You Like It…
blog right here! Also your site rather a lot up fast! What host are you using? Can I get your affiliate hyperlink on your host? I desire my website loaded up as quickly as yours lol…
Desperately been searching everywhere on information about this. Thanks a ton.
As You Like It…
blog right here! Also your web site a lot up very fast! What host are you the usage of? Can I get your affiliate link for your host? I wish my web site loaded up as fast as yours lol…
Great website…
[...]we like to honor many other internet sites on the web, even if they aren’t linked to us, by linking to them. Under are some webpages worth checking out[...]……
Holy Smokes BatMan!…
Batnman fans: Check this out!…
Evergreen…
Wow, wonderful weblog format! How long have you been blogging for? you made blogging glance easy. The full look of your site is magnificent, well the content material!…
Evergreen…
Wow, wonderful weblog layout! How lengthy have you been running a blog for? you make blogging look easy. The entire look of your web site is wonderful, let alone the content material!…
[...]The information mentioned in the article are some of the best available [...]……
[...]below you’ll find the link to some sites that we think you should visit[...]……
Recent Blogroll Additions……
[...]usually posts some very interesting stuff like this. If you’re new to this site[...]……
Websites we think you should visit…
[...]although websites we backlink to below are considerably not related to ours, we feel they are actually worth a go through, so have a look[...]……
Great post to end the night…
Check this out read it before bed!…
Sites we Like……
[...] Every once in a while we choose blogs that we read. Listed below are the latest sites that we choose [...]……
You should check this out…
[...] Wonderful story, reckoned we could combine a few unrelated data, nevertheless really worth taking a look, whoa did one learn about Mid East has got more problerms as well [...]……
Evergreen…
Wow, marvelous blog format! How long have you been blogging for? you make blogging look easy. The whole glance of your web site is fantastic, as smartly the content material!…
The wasnt this type of poor page still the very best this contributor can have absent right into a great deal more range to make certain that we’re able to know further. You should think of choosing unique internet writers to provide much better quality content and articles in the site.
As You Like It…
blog here! Additionally your web site lots up fast! What web host are you the use of? Can I am getting your associate hyperlink for your host? I wish my website loaded up as quickly as yours lol…
Awesome website…
[...]the time to read or visit the content or sites we have linked to below the[...]……
[...] that is the end of this article. Here you’ll find some sites that we think you’ll appreciate, just click the links over[...]……
[...] Every once in a while we choose blogs that we read. Listed below are the latest sites that we choose [...]……
I believe there is a issue with your blog post making use of Opera web browser.
Check this out…
[...] that is the end of this article. Here you’ll find some sites that we think you’ll appreciate, just click the links over[...]…
Definitely one of many challenges which people starting a brand new on-line firm face is that of acquiring guests to their net site.
This unique wasnt a great negative article still the very best the actual blogger will have no longer to alot more depth making sure that we could realize much more. You should look at acquiring unique consultants to add more desirable high quality information to your websites.
i was posting this topic on my blog too, this is really nice and interesting to my blog followers.
Cool sites…
[...]we came across a cool site that you might enjoy. Take a look if you want[...]……
Deja un comentario