Publicado hace 8 años por --320894-- a us2.campaign-archive.com

En agosto del año pasado apareció Handmade Dev, una iniciativa que pretende recordar a los programadores que el código que desarrollan se ejecuta en ordenadores reales, y afirma que todo software que se ejecute sobre una capa de abstracción lógica, que se interponga entre él y el procesador, es lento y peor.

Comentarios

D

#24 Yo creo que ya nadie se plantearía a día de hoy acceder a una base de datos directamente abriendo los ficheros que contienen los datos. En todo caso podría existir cierta controversia entre utilizar un ORM para mapear los datos en objetos del lenguaje de programación o hacerlo todo directamente utilizando SQL. Este tipo de decisiones sí suelen habitualmente enfrentar a los programadores

miau

#25 Wow, tú sí que sabes.

D

#56 a ver, aclárame tú, gran sabio

D

#56 no me lo vas a decir?

r

#6 Creo que en cualquier aplicación siempre sale algo que no estaba previsto y te obliga a remangarte y tocar las tripas del framework.

D

#6 Podría yo haber escrito ese mismo comentario, incluyendo lo de la SCWCD. +1

D

#6 Cualquier persona que evolucione en su trabajo y vaya cambiando de frameworks o librerías al final acaba aprendiendo las tripas. Si no, te estancas.

xanty.gc

#6 Tienes toda la razón, y esa vuelta a lo básico es probablemente la diferencia entre ser profesional o ser un mono-golpea-teclados. En este sector la profesionalidad brilla por su ausencia.

p

#6 Muchas veces Java para web (con todo el tinglado que lleva consigo) es matar moscas a cañonazos. Para una gran mayoría de proyectos, cosas mucho más sencillas con PHP/Python y SQlite va que chuta.

Java se debería reservar para proyectos verdaderamente complejos, que son los menos.

p

#33 C++ de hecho no se usa más... para la mayoría de casos de uso.

C++ se sigue usando donde procede. Nadie va a ser masoquista y usar C++ para web, por ejemplo. Bueno, casi nadie.

También es verdad que por fin están saliendo competidores dignos a C++. Qué pena D, que al final no cogió tracción.

Akira4

#62 Pues yo no uso C++ para web, uso C .

D

Aparte de lo que comenta #42 sobre la publicodad, estoy con #51, #33 y #7. Cada problema tiene su solución. C, C++ y ensamblador dan mas rendimiento y Java da otras facilidades. Segun los recursos de que dispongamos y del rendimiento deseado nos puede venir bien una solución u otra.

D

#12

Tu argumento solo tiene sentido para hacer una aplicación con una finalidad concreta en un equipo concreto y que no sea crítica.
Pero programar un sistema operativo, un "wordpress", un codec etc... que se va a ejecutar en millones de máquinas en todo el mundo es distinto ya que lo poco o mucho que lo optimices va a suponer un ahorro de recursos enormes, como cuando se hablaba de Google en pantalla negra para ahorrar energía, a nivel individual irrelevante, pero a nivel mundial es mucha energía.

http://www.negrooogle.es/faq/black-google.php

p

#36 Pero no estás diciendo nada novedoso. Lo que pasa es que aplicar los criterios de diseño de un driver no tiene nada que ver con los de una plataforma para blogs.

Arganor

#11 Exacto. Hay que adaptarse a las circunstancias.

Yo llevo 29 años programando (20 de forma profesional) y eso es lo primero que hay que valorar. En la Universidad, cuando yo estudié, era algo que no explicaban. Lo que te explicaban eran los conceptos básicos y a crear todo desde cero si no tenías acceso a los recursos. Y obviamente, a cogerte un libro de un lenguaje y a sacarle partido para desarrollar en el lenguaje que te pidieran...

#12 Tal como dice #36, por eso se utiliza la complejidad de los algoritmos y se revisa su eficiencia, etc.
No obstante, como hay tanto intrusismo laboral, hay analistas y programadores en el que todo el monte es orégano, por lo que al final, te hacen aplicaciones, herramientas, programas, etc. que usan más recursos por no haberle añadido algo de tiempo a optimizarlo.


#52, #90 creo que no habéis comprendido a #36 no habla de drivers sino de hacer las cosas correctamente y él está especificando adecuadamente el sentido de su frase, porque la concreta en su primera línea. Ambos la habéis cambiado la orientación para hablar de algo que son la excepción que confirma la regla.

D

#36 No quiero quitarte razón porque la tienes, pero sí quería destacar que ese argumento tiende a convertirse en una falacia de grandes números, como yo la llamo. Seguro que todos al comer siempre nos dejamos algún grano de comida en el plato, sin embargo, no es realista pensar que si "ahorramos" ese grano estamos reduciendo toneladas de comida si lo contabilizamos por 7 mil millones durante un año, ni tampoco tiene sentido hablar de las calorías que perderíamos (o los kilos) por no comerlo.

D

#90 eso es como mi vecino, que no recicla porque total que él lo haga o lo deje de hacer no va a cambiar nada, o los que no votan porque un voto más o menos no va a cambiar nada ...

D

#36 En realidad ahora con las LCD el colo negro gasta más energía.

Mister_Lala

#3 Como programador con muchos años de experiencia, te puedo decir que tiene el mismo interés que mi esfinter anal. Cero.

D

#16 Ya lo sé, solo puse lo de "relativamente" para que no me crujieran a negativos. El que escribe el artículo no es programador y se nota, aunque tristemente quiera aparentarlo

D

#20 Yo no soy programador pero que cada vez os alejáis de la maquina que da gusto, el mismo programa haciendo lo mismo en su versión 10 ocupa y come recurso de lo lindo y tiene dependencias brutales a librerías externas que da gusto y encima si no va con x versión de estas petardea que da gusto.
Cada vez que tengo ir mirarle un sofware de TPV algún cliente los backups que le dejan dan grima y tengo ver que tenia el instalado para sacar las versiones correctas con que se diseño para que no falle, lo típico es por que la empresa que creo el software no existe y con semejante instaladores que entregan ríete de intentar instalarlo en un ordenador con el hd muerto o se a caído el windows.
PD:Odio el sofware que usa SQL tanto libre como de microsoft tengo un cliente chino con una aplicación tpv con 1 binario de windows 98 pasada euros y no falla ni a palos arranca en msdos un bat para lanzarlo y no hay nada mas que hacer que cada x tiempo copiar la carpeta o los archivos de la base de datos LOCAL sin mierda de servidor sql.

chepas08

#20 Hombre, ahora no programa, pero ha programado y sabe programar.
https://es.linkedin.com/in/dbonillaf

D

#43 6 meses hace más de 10 años y utilizando Java con Servlets

xanty.gc

#44 Deberías de suscribirte a la lista. O buscar presentaciones de Bonilla. Creo que te sorprendería.

D

#55 estoy suscrito a su lista. Es un excelente padre, emprendedor y empresario (le sigo en twitter), pero de programar, lo justo. No es ningún experto

xanty.gc

#60 http://www.bonillaware.com/hola-mundo lo de empresario le viene de hace poco. Ha sido y es un técnico más.

D

#82 Gracias a ti por la respuesta

d

#20 ¿Cómo que no es programador? David Bonilla claro que lo es, qué te hace pensar lo contrario?

D

#64 es empresario, no programador. De hecho una de sus promesas en enero hace dos años fue volver a programar (y no la cumplió). Ahora en 2015 parece que sí hizo algo, aunque todo a nivel interno y de poca envergadura (revisa su blog)

D

#64 Por cierto, ayer estuvo pregonando en twitter que el artículo de hoy iba a ser muy muy técnico.... Yo le recomendaría que le echara un vistazo a los posts que tiene gallir en su blog sobre programación concurrente

g

#71 El puñetero Gallir tiene un don para escribir artículos técnicos y sin embargo se pasa el día en twitter escribiendo chorradas.

D

#75 yo no veo que se pase mucho por menéame para escribir. Y no tiene ningún don, simplemente lleva muchos años como docente

mikeoptiko

#3 pues no te quejes, cualquier noticia científica tiene como mínimo los primeros 20 comentarios con chorradas y coñas.

derethor

#51 Cuando un programa de ordenador está implementado de la forma más óptima posible no solo tiene menos líneas de código y funciona más rápido sino que es más fácil de entender y de ampliar en caso de ser necesario.

esa es una afirmacion arbritaria que no se corresponde con la realidad. Para empezar, debes de decir a que llamas optimo. Para que un codigo sea optimo, deberia de usar los recursos al maximo, por ejemplo, usando la CPU al maximo, y el bus de memoria al maximo, etc, porque dejar de usar recursos disponibles, es ineficiente.

En un procesador intel moderno, eso implica, por ejemplo, usar extensiones avx2 del micro, para usar mas operaciones matematicas. O usar la GPU para calcular mas rapidamente. Y no es lo mismo escribir codigo para una nvidia de la serie 700 que otra de la serie 900.

Es al contrario. Cuanto mas abstracto, mas dificil es hacer un programa eficiente. Cuantas menos lineas de codigo, mas abstracto, y mas dependes de variables externas, como el compilador, el runtime de php, etc, cosas que pueden cambiar y que tienes que sobreentender. Asi que, cuanto mas tienes que sobreentender, mas dificil es de usar bien.

D

#88 Me refería al tema de complejidad computacional, es decir, obteniendo los mejores resultados haciendo que el ordenador trabaje lo mínimo posible. En la Wikipedia lo explican mejor que yo.

Arganor

#88 Creo que muchos programadores, analistas, etc. de la nueva hornada no te van a comprender, no por el hecho de que no entiendan tus palabras, es que muchos de ellos no se han visto programando música y gráficos con intros de 4Kbytes.
Por ejemplo:



Pero está bien, al final, todo tiende a crecer y a veces el esfuerzo por hacer todo óptimo, eficiente, etc. no compensa económicamente, como han comentado bastantes, ya que ese software poco eficiente, el hardware futuro lo corrige, o queda obsoleto y sale otra herramienta que la sustituye.

Estoy de acuerdo en casi todas las apreciaciones. El tiempo al final es oro, ahora la duda es ¿Qué tiempo queremos optimizar? ¿El del usuario que maneja una herramienta? ¿El del futuro programador que recoja el código? ¿El de la propia máquina que cuando se quede obsoleta será sustituida por una presumiblemente mejor?

El sistema capitalista pide la venta de equipos más modernos por necesidad del mercado, no tratan de reutilizar lo "viejo" para trabajar, no interesa.

Es como querer vestirse como en el año 1600 en la actualidad y decir que vas a la moda porque has creado con eficiencia el tejido de algodón. Y seguramente te vista, te de calor, puedas ir a cualquier evento, sea ropa cómoda, etc. pero estarías aislado socialmente, serías un bicho raro.

Ya no se trabaja con un 8086 aunque se podría ... pero ya no es eficiente, ni competitivo, etc.

Libertual

var fap;
for (fap = 0; fap < 100; fap++) ;
console.log('yeah!!!');

ogrydc

#2 goto #4 y aprende a hacer sexo seguro

sexoseguro.c

s

#4 Por curiosidad, qué lenguaje es?

ktzar

#13 Javascript con excepciones tipadas... Trololo

s

#21 eso mismo pensaba! Tralala

xenko

#c-2" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2546865/order/2">#2, #4

include fap

for f in [ fap.lubricate(f) for f in fap.exahustiveFappingGenerator() ]:
 raise(f) # Viva Python!
 f.fap()
 pass

quit()

alexwing

#29 En Java tendría un singletone, una factoría y un par de librerías obsoletas.

pedrobz

#40 Se te ha olvidado el fichero de configuracion xml, los ficheros de properties, el pom del proyecto, la configuracion en el servidor, el manual de usuario, el manual de despliegue....

PD: Me voy a suicidar 😭 (lo he pensado mejor, voy a suicidar a alguien)

D

#29 #4 #2 Python siempre te lo pone facil.

import pornhub

porhub.play("lolitas")

while palote and not chorrako:
mano.up()
mano.down()

Black_Diamond

#41 IndentationError: expected an indented block

D

#50 meneame se come las indentaciones.... Un momento! Ay pillín, intentaste ejecutar el código, y veo que ya tenías instalada la librería de pornhub, eh?

D

#4

sub fap }

punyal

#4 hay q cambiar el for por un while(0)

D

#2 Exactamente, la misma diferencia entre una barra de pan de masa congelada del Gadis y un bollo de Pan de Cea es esa, el tiempo ,la sabiduría y la calidad de los procesos y materiales.

lo que pasa es que al público se le venden barras congeladas de mierda a precio de Pan de Cea. Y ellos tragan igual.

Vease p.ejm las webs de las admons. públicas.

D

Reinventar o no reinventar... Esa es la rueda.

No hay una regla de oro.

Pero las decisiones no pueden tomarse basándose en dogmas, ni en un sentido ni en otro.

c.arcediano

#7 si ya hay una librería que está más que de sobra probada y hace lo que necesitas... ¿por qué volver a programarla y probarla?

D

#99

Puede haber varios motivos:

1. La librería en cuestión puede traer montones de dependencias y hacer cientos de cosas, de las cuales sólo necesitas una.

2. La librería no hace la cosa como a ti te viene bien, y tendrías que parchear/hackear.

3. La licencia de la librería no es apta para tu proyecto.

4. Estás prototipando y te lleva menos tiempo hacer la cosa a pelo, que aprender a usar una librería porque su uso es complejo y está mal documentada.

5. Crees que podría hacerse mejor.


Montones para reinventar la rueda hay cientos (algunos mejores y otros peores) la prueba es la miríada de lenguajes, frameworks, y librerías que hacen lo mismo.

Coje cualquier cosa, y mira cuantas alternativas tienes.

D

Ahora sacan betas finales con parches de pago llamados DLC o suscripción a perpetuidad que requieren optacores para poner "Hello word".
Me recuerda el utorrent al principio era un ejecutable de 100k y ahora es una degeneración que hace lo mismo pero ocupa mil veces mas.

D

#47 Hablo de cuando era un buen programa ahora uso qbitorrent que multi y va bien aun ayer lo instale en un mac con el capitain sin problemas.
El utorrent hasta la 1.6 era la leche ahora aparte de toda la mierda que trae es penoso en tema recursos para hacer exactamente lo mismo que la 1.6.
El jodido azureus o el jdonwloader es el ejemplo de este articulo de programa en java es terrible puede que para el programador sea mas fácil de mantener pero para el usuario es un jodida pesadilla.

pedrobz

#5 No hagas caso a #47 , instálate el qbittorrent, es lo mas parecido a utorrent y es muy usado: http://www.qbittorrent.org/

Arariel

#63 Me va de maravilla. Tiene un buscador de torrents que funciona, no es mejor que ciertas páginas, pero es de utlildad.

frankiegth

Para #63. No lo conocía. Me lo apunto, aunque sigo siendo incondicional del Transmission le echaré un vistazo.

Por cierto, Transmission da soporte Blocklist, bastante útil para los tiempos que corren. Aquí un tutorial :
https://giuliomac.wordpress.com/2014/02/19/best-blocklist-for-transmission/


(CC #47 #5 #70)

frankiegth

Para #70. Acabo de probar ese buscador que trae, pero no responde.

Arariel

#79 Pulsa en la pestaña Buscar y abajo verás Motores de búsqueda, te abrirá una nueva ventana más pequeña y en ella aparecerán los que vienen. Puedes ir añadiendo.

ﻞαʋιҽɾαẞ

Fap, fap, fap...

D

A mi como programador lo que más me gusta es tener que lidiar con proyectos de tropecientos archivos distintos, millones de líneas, convenciones y patrones tan poéticos en el papel, que para resolver un problema simple te obliguen a escribir mucho más código, menos flexible y poco legible.

Todo por respetar un coding style que en su origen pretendía facilitar la tarea, pero a la larga se convierte en tu peor enemigo.

La abstracción está muy bien, pero cuando se antepone la 'corrección política' en el código frente a la eficacia o eficiencia, mal vamos.

¡Viva los antipatterns!¡Viva GOTO y RETURN!

D

#35 Al final todo tiene su contra ejemplo, si hay gente que se dedica a hacer apaños, al final tendrás millones de archivos en los que no hay documentación, etc, etc, nadie sabe que hace, de qué depende, rompe los estándares del proyecto arbitrariamente, etc, etc.

c.arcediano

#35 espero que no te toque mantener código trufado de GOTO.

Arganor

#35 Y sin tener en cuenta a veces la curva de aprendizaje... jeje...

Me recuerdo una vez que nos pidieron una herramienta muy sencilla que se usaba en diferentes dispositivos. El equipo de ingenieros informáticos de nuestro cliente, solicitaba que se realizara en un framework de PHP por su crecimiento, efectividad, etc.
Lo desarrollamos en PHP, ellos decían que haríamos un código espaguetti. Se desarrolló y se entregó, no dando errores. El código no se volvió a tocar más, han pasado 6 años. Siguen usándolo. El desarrollo fueron 3 días, ellos planteaban 2 semanas.

¿Por qué algo tan sencillo querían incorporar tantas librerías que no se iban a utilizar y usar un framework? Por lo que comentas tú.

Cuando se recoge un proyecto lo lógico es ver su objetivo y tiempo de vida.

Al final, esto es como un idioma, se utiliza para comunicarse; sino pierde su objetivo.

a

El manifiesto del "handmade dev" no lo conocía pero es una soberana estupidez. Es tomar una sóla de las dimensiones del problema del desarrollo de software, el rendimiento, y ponerla por encima del resto de dimensiones sin tener en cuenta el contexto.

Pobre del que tenga que mantener el codigo que vayan dejando a su paso estos lumbreras. Velocidad de desarrollo, mantenibilidad, extensibilidad, robustez, escalabilidad (que no es lo mismo que rendimiento)... vamos a olvidarnos de estas cosas y a escribir toneladas de código en lenguajes de bajo nivel optimizando chorradas que no le interesan a nadie!, gran idea.

fugaz

"Buen software es aquel que cumple las expectativas, plazo y presupuesto sin hipotecar su propia evolución."
Pues sí:
- Hay quien sólo sabe abstraer código y si encuentra un cuello de botella y se necesita rendimiento (porque de otro modo no cumple con las expectativas del cliente) no sabe optimizar para velocidad. Entonces el cliente se queja.
- Y hay quien no abstrae el código y entonces hace código de difícil mantenimiento y lentitud en mejoras. Entonces tienes al cliente enfadado por los continuos retrasos en mejoras y cambios.

ktzar

Otro programadorucho que se permite opinar sin haber aprendido a organizar ideas ni ortografía. Amén de decir algo interesante o llegar a algún sitio con su discurso... Temps perdut.

Siscins

será que soy de la vieja escuela y he trabajado en multinacionales, pero da igual que herramientas uses mientras sea rápido de desarrollar y sobretodo que tenga fallos para asegurar el mantenimiento, pero no tantos como para que lo den a otra empresa.

xanty.gc

El artículo viene a explicar una situación muy común que ocurre cuando técnicos nos ponemos a crear algo. Muchas veces, nos centramos en su composición y no en su función. Hacer el software perfecto no lo hace mejor si no hay usuarios.

Claro que el software bien desarrollado será más mantenible, legible y lo que queramos, pero será inútil si no lo usa nadie.

derethor

Con los años aprendes que la abstracción es el enemigo del rendimiento.

Por ejemplo. no es lo mismo recorrer un array de 2 dimensiones, recorriendo filas y columnas, que hacerlo columnas y filas. En un caso, la cache optimiza, en el otro los accesos a memoria son mucho m'as lentos. Pero tienes que saberlo, no es algo que el lenguaje te muestra de forma sencilla.

Toda la programacion orientada a objetos sufre de lo mismo. Podemos abstraer, pero no podemos evitar desencadenar una tormenta de llamadas ineficientes. Algo tan simple como a=b puede llevar una sobrecarga del operador = que haga cosas que no podemos controlar.

Lo peor que le puede pasar a un programador es que una tercera persona comience a usar su API. En ese momento aparecen las contradicciones, se comienza a usar el API para lo que no estaba pensada, aparecen los hacks... y tienes que dar soporte para todo eso.

Lo que pasa es que a los programadores nos gusta abstraer. Es algo propio de nuestra forma de pensar. En el fondo, nos encanta crear bellezas que definan un mundo zen utopico, que alimenten nuestro ego y nos llene el cerebro de placer.

D

#87 Es que de eso se trata, se cambia rendimiento a cambio de otras cosas, como seguridad, legibilidad, facilidad de codificación, etc. Y precisamente la idea es hacer a trabajar más a la máquina que para eso está. Eso sí, obviamente no siempre será buena idea, al final como cualquier buen profesional debería hacer hay que conocer las herramientas y los compromisos que te imponen.

Al final cualquier abstracción se rompe, pero ojo, muchas veces porque alguien intenta usar una herramienta de forma que no debería utilizarla. Si alguien crea un destornillador y alguien decide utilizarlo para clavar clavos, a lo mejor no es culpa de la herramienta. Por ejemplo esto:

http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/
Básicamente, si usas una herramienta que se basa en almacenar la información por documentos, para algo que claramente no sigue sea filosofía, pues la estás cagando desde el principio.

HORMAX

#92 Pretender optimizar código signifique hacer trabajar mas a la maquina porque "para eso está" es la mayor burrada de las que he escuchado en mi vida. Viene a ser lo mismo que decir que el mejor rendimiento de un motor se saca cuanta mas gasolina consume que para eso está.

Creo que no es necesario aclarar que mientras menos trabaje la máquina mas rápido se ejecuta el código, una muy buena medida de lo bien hecho que está. También indica que otras tareas pueden ser realizadas en las misma máquina de forma simultánea, porque si un solo programa se come todos los recursos innecesariamente no creo que haya que demostrar que es un mal código.

Entre código ultrarrapido optimizado a tope pero difícil de mantener y aplicaciones hechas con tantos niveles de abstracción que permita ser realizado por un individuo que no ha programado en su vida, hay todo un arco de posibilidades, la labor mas importante del profesional es determinar que punto del arco elige.

D

#93 Me parece que estás llevando al extremo mis palabras, lo principal que digo es que es un compromiso, que es básicamente lo que vienes a decir al final. No se trata de tener un motor diesel que consuma más gasolina porque sí, si lo haces para ganar otra cosa (quizás seguridad, cumplir legislación, patentes, etc) dependerá de si eso lo vale.

derethor

#92 es a lo que me refiero, la abstraccion , al ocultar la implementacion, permite usar la tecnologia mal. Tienes que saber como funciona por dentro mongodb para saber como usar mongodb. La abstraccion solo oculta esos detalles, pero nos parece mas bonita

es algo que aprendes con el tiempo, y que indica madurez como ingeniero, al menos en mi opinion

p

#87 A mí personalmente no me gusta abstraer demasiado si puedo evitarlo, especialmente para proyectos que sé que van a ser simples. Es una plaga en determinados lenguajes que no ofrecen alternativas fuera de los objetos, como Java.

D

"Si no dominas tus herramientas, si no entiendes la MAJIA detrás de Rails o jQuery, las herramientas te dominaran a ti."

Mis hogos!!!

joshendrix

#14 ¿No basta con que el autor lo escriba en mayúsculas? ¿es necesario poner comillas o, peor aún, los tags de irónico?

p

#23 No es la más gorda que mete, de hecho hay unas cuantas faltas graves que no son de coña y ahí quedaron para la posteridad.

w

#23 Si lo escribe en mayúsculas es que LA MUERTE no sabe ortografía.

court

Un artículo de mierda que no tiene ni idea de lo que está diciendo. Oye campanas y no sabe dónde.

En fin. Así vamos.

HORMAX

No se trata tan solo de que cumpla las especificaciones, sin importar la caída en el rendimiento o el abuso de recursos, sino que las capas de abstracción introducen niveles de incertidumbre insoportables.

Por poner une ejemplo en uno de los lenguajes de moda como Python, todos estamos sufriendo las incompatibilidades entre las diferentes versiones, lo que funcionaba perfectamente y a prueba de bombas en una versión, deja de funcionar en la siguiente o peor aún da resultados distintos, creando problemas extremadamente serios.

Incluso se dan incompatibilidades entre la misma versión en diferentes sistemas operativos, la portabilidad que nos vendieron como gran atractivo con ese lenguaje, tiende a cero.

D

#9 Lo que funciona perfectamente en una version de python funciona perfectamente en la siguiente version, excepto que cambie la el numero de version "major"!

Es perfectamente razonable que código de python 1 no funcione en python 2 y que el de 2 no funcione en 3. Hay cambios cómo el paso de print de statement a funcion o la codificación de cadenas por ejemplo eran cambios necesarios y me parece normal romper la retrocompatibilidad por cosas así.

Lo de incompatibilidades segun el SO, pues no conozco ninguna. Puedes poner algún ejemplo?

m

La idea del "hecho a mano" y sin abstracción es estúpido, ¿van a ponerse a escribir en código máquina? Porque cualquier otra cosa lleva una capa de abstracción.

Las ventajas de las dlls y de los frameworks es reutilizar módulos ya probados. ¿Que ese módulo tiene problemas? Se corrige una vez y les sirve a miles.

Joice

#39 Nada, tarjetas perforadas. Lo retro, como la barba y el bigote, vuelve y siempre fue mejor.

blid

#39 Un compilador, por norma general, te va a dar mejor código máquina que si lo escribieses a mano.

a

Una cosa es crear un foro y otra es crear un foro aplicando las funcionalidades que el framework te propone usar.

Para lo segundo tendrías que crear un framework y con este, un foro. Conozco con cierta profundidad Symfony y solo para implementar a mano la seguridad y escalabilidad de su sistema de enrutado te vas a pegar un buen rato.

Son dos cosas distintas porque el framework conlleva tal cantidad de ventajas que no se pueden comparar y si eres bueno y sabes aprovecharlo el rendimiento seguramente será mejor que hecho a mano.

robustiano

No empecemos a chuparnos las p*llas todavía y prestemos atención al ámbito de las variables...

o

Tan malo es querer hacer todo a bajo nivel, como atrocidades/abominaciones/canceres como NodeJS.

b

#78 A día de hoy el código fuente de cualquier ecommerce u otra app web tiene 10 o 20 scripts .js y 10 .css total para un carrito de compra y almacenar los datos de envío en una tabla de MySQL.

Lo gracioso es que no hace ninguna falta, pero parece que ningún coder web sabe programar sin jquery ni bootstrap en 2016.

p

#81 Falta no hace, pero bien usado reduce el tiempo de espera del usuario. Otra cosa es que se abuse de ello, que estoy de acuerdo en que se abusa.

c

Know you protocols.

p

#74 Know your English.

M

A los usuarios les da igual, es cierto, pero los usuarios no buscan lo mismo en la Red.

En cuanto a los lenguajes/frameworks, es más o menos como plantearse si para hacer un tractor se pueden utilizar las mismas herramientas que para hacer un reloj. Son mundos incompatibles que existen y seguirán existiendo.

Ya una vez lo dijo el gran Goya, cuando pintó unas cúpulas: ¡Estimado, esto se verá desde lejos, así que puedo usar la brocha gorda!

r

Majia -> y hasta ahí he leido

D

Y que al final es el mercado el que manda. Cuántas veces se han aplicado soluciones bastardas a problemas de fácil solución si dispusiéramos de un verdadero programador que insertara un par de lineas de código en el lugar adecuado.

logistark

Hay que escuchar más a este hombre

y ver que lo que dice esta gente de handmade son mamarrachadas.

D

Aunque tengo nociones, no programo.
Pero me gustaría aportar mi granito: lo suyo es un compromiso entre tiempo de desarrollo y velocidad de ejecución.

1 2