El ingeniero del artículo no termina haciendo "ñapas", sino que deja de sobredimensionar la solución. A medida que un programador va aprendiendo patrones, metodologías, paradigmas... trata de implementarlos en lo que hace, muchas veces sin sentido. Al final se va encontrando el equilibrio y se deja la complejidad para lo que tiene que ser complejo, y la simplicidad para lo que tiene que ser simple. El principio KISS. Te lo dice un programador con 30 años de experiencia.
#17:
#12 Java es de lo poco que ha conseguido poner de acuerdo a Richard Stallman y Linus Torvalds.
#2:
La verdad es que un ingeniero de software, cuanto mas vago, mejor codigo escribe... sin duda.
#14:
#10 Bien dicho. Lo suyo sería referirnos al vigésimo año como anyo[19].
#110:
#99 si comparas dos cosas, deben de ser al menos en un campo comparable. Evidentemente C/C++ se come a Java con patatas cuando hace falta utilizar rutinas de bajo nivel optimizandolas para la cpu/gpu objetivo en tiempo de compilación. Pero te aseguro que en programación más generalista la diferencia es despreciable. Y te lo digo como alguien que hasta hace muy poco tiempo defendía tu postura hasta que me lo demostraron.
#141:
#28 No se que sentido tiene usar C hoy en día. A no ser que estés haciendo software empotrado donde usar C++ no está permitido por temás de seguridad (Software on-board aeroespaciales, por ejemplo), C solo te lastra.
C++11 es una maravilla, el problema es que hay mucha gente que sigue anclada en el "C++ es C con clases", y no.
#121:
#95 Amen. Empiezan hablando como pajilleros. Quienes eligen java no suele buscar eficiencia sino una velocidad de desarrollo aceptable "despreocupandose" de la portabilidad y viceversa.
Esto es como un arquitecto, para elegir materiales de construcción no siempre elegirá el mismo porque piense que sea "mejor", sino porque es el mas adecuado para las condiciones que va a soportar dentro del presupuesto en cada caso.
Ahora en serio, existe una tendencia absurda a hacer código overengineered. Si necesitas medir tu ego, mejor juega a ver quien mea mas lejos, que luego hay gente que tiene que leer tu código...
La de salvajadas que se ven por ahí para hacer cualquier puta irrelevancia donde alguna estrellita del código ha gastado todas las opciones que le ofrecía el lenguaje. Y por supuesto, sin ni un puto test, claro. Las estrellitas del código no escriben tests porque no hacen falta. Ni documentación, que el código "se lee solo" y si no sabes lo que hacen todas esas variables monoletra y sus complicadas operaciones y llamadas a 3 funciones distintas dentro de esa función que se supone que simplemente devuelve un fichero abierto, es porque no eres tan estrellita como ellos.
Nope. Ya quisiera acercarse, por ejemplo, Minecraft a Minetest con el segundo con el mod Carbone petado de módulos.
Que no, que se dejen de magufadas, que en la vida alcazarán a C++. En un i7 con un SSD no lo notas casi, pero un Core Duo maximiza la ventana del MC contra Minetest, anda, o mejor: En un P4. Ni lo intentes.
Todo el que dice que Java con JIT se acerca a C++ que baje de la nube e imagine un Unreal Engine 4 con "eso".
Todo dicho.
#5:
#4 2013 para ser más exactos, pero podía haber sido escrito ayer mismo y te hubiera dado igual. Es tecnología, no actualidad
#95:
#58 Un ingeniero que dice que algo es "mejor" o "peor", no es un gran ingeniero.
#7 Qué optimista. El año veinteavo un ingeniero no será el puto amo sino que estará despedido, porque cobra mucho y la empresa puede poner en su lugar al hijo/yerno del gerente. Total, solo tiene que enviar ese mail que dices al becario.
Ahora en serio, existe una tendencia absurda a hacer código overengineered. Si necesitas medir tu ego, mejor juega a ver quien mea mas lejos, que luego hay gente que tiene que leer tu código...
#7 el año 20 estara como el año 1, picando teclas como becario, eso con suerte.
#10#14#15 El problema es discutir sobre gilinerdeces de como se dice el año mientras nos comen la tostada otros de pelo engominado. Asi va la profesion.
#14#15#35 Pues yo escribo year[19] ... Por aquello de darle un toque más internacional...
(Delirios de grandeza de pensar que tu código lo va a ver alguien más que tú mismo y puede que algún colega o jefe... si tal)
#28 El secreto está en el gigantesco ecosistema que se creó en su día, perfectamente documentado y mantenido.
Aunque la mayoría de ese ecosistema sea un mamotreto de proporciones astronómicas y su documentación más infumable que la Biblia en versos arameos, es justamente lo que hace que Java siga siendo ampliamente utilizado hoy en día.
#38, Usar un framework tiene sus ventajas, pero Yii no, por favor... Busca otra cosa, cuanto más pequeña, mejor. De hecho, su creador se ha pasado a Synfony2, lo cual no dice nada bueno ni de Yii, ni de Synfony
Ahora en serio, cualquier cosa que te facilite la vida, está bien. Y si se usa ampliamente, mejor para ti, que te da más oportunidades laborales.
Pero una vez que comprendas cómo funciona el cotarro, trata de usar aquello que realmente te haga las cosas más fáciles, y sobre todo, que no te limite.
Sobre el meneo, real como la vida misma, yo nunca he abandonado la doctrina KISS (https://es.wikipedia.org/wiki/Principio_KISS), y según va pasando el tiempo, creo ha sido la mejor decisión de mi vida.
#28 Ventajas de Java respecto a C hay unas cuantas: tienes orientación a objetos, contenedores genéricos, te despreocupas de punteros, hay una cantidad ingente de librerías modernas... no sé, en general es bastante más fácil de usar.
Respecto a C++ ya creo que sólo tiene que es algo más fácil de usar, pero más que nada porque tienes muchísimas menos opciones.
#5 Exacto, solo que en lugar de utilizar Java se utilizará otra lenguaje pero es lo mismico.
Lo bonito de la programación es su facilidad para hacer que te desconectes del mundo y solo pienses en como puñetas escribir el código para que el programa haga lo que tú quieres que haga.
La de salvajadas que se ven por ahí para hacer cualquier puta irrelevancia donde alguna estrellita del código ha gastado todas las opciones que le ofrecía el lenguaje. Y por supuesto, sin ni un puto test, claro. Las estrellitas del código no escriben tests porque no hacen falta. Ni documentación, que el código "se lee solo" y si no sabes lo que hacen todas esas variables monoletra y sus complicadas operaciones y llamadas a 3 funciones distintas dentro de esa función que se supone que simplemente devuelve un fichero abierto, es porque no eres tan estrellita como ellos.
#58 No, te voy a decir que "mejor" depende del criterio de evaluación. Y la velocidad de ejecución o el consumo de recursos no son los únicos criterios posibles.
Pues no lo acabo de ver... todo depende de las necesidades. Si sólo necesitas que imprima "Hello World" ningún desarrollador en su sano juicio pasaría por estas etapas de complejidad.
#61 En el proyecto en el que estoy trabajando ahora he visto una de las mayors aberraciones de mi vida. Un broker (cojo mensaje, distribuyo a otros brokers y si la subscripción casa, se lo mando al subscriptor) implementado con maquinas de estado, runnables por todas partes, factorias y polladas varias. Es como coger el libro de gang of four y implementar X patrones entren o no. Terrible. Lo he tenido que rehacer solo por no ponerme a hacer modificaciones.
#59 C++ sí que devuelve por defecto "return 0;" si el código no especifica un "return" en la función "main".
The body of the main function does not need to contain the return statement: if control reaches the end of main without encountering a return statement, the effect is that of executing return 0;.
Lo he tenido que rehacer solo por no ponerme a hacer modificaciones.
Es que es lo que se debe hacer con la basura. Mi procedimiento habitual para tratar con ella es ese. No será la primera vez ni la última que heredo código y, tras echar un vistazo y ver que es una puta mierda, hago unos cuantos tests (que el menda de antes no ha hecho) para comprobar que cumple lo que promete y acto seguido todo fuera y a hacerlo como toca.
#68 Con C++ (es lo que dice la frase...). Para empezar en Java casi no puedes hacer gestión de memoria, como mucho decirle al GC cuando quieres que pase. Y luego más cosas, como poder marcar las funciones como inline, virtual o const, poder marcar las variables como register o volatile, tienes herencia múltiple, tienes move semantics, tienes el preprocesador (que a veces es útil)... en fin, unas cuantas cosas.
#54 Tranqui, que ya tengo un tiempo en esto y sé cómo funciona el cotarro. Ahora, lo del creador de Yii (Qiang Xue) no encuentro nada que diga que se ha pasado a Symfony2.
#61 Bueno. Si no entiendes un código es porque es una mierda, no porque no haya suficientes comentarios.
Por cierto, en general, un programador que escribe un código que sólo entienden programadores senior es un mal programador y le está haciendo una putada a su empresa.
#67 Me lo dices a mi ? Bahh no pasa nada.
No soy de la misma opinión. Aunque sea básico, que en eso no te contradigo, crea costumbre y es muy útil para sistemas tener esos códigos de salida (me he descubierto ).
Yo les meto returns ( exit, quit ... ) hasta a los pseucodigos.
#46 No sé si viene muy a cuento, pero me flipa muchísimo que un programador que no sea capaz de ganar más de 1200€ al mes en España se piense que puede ganar más en el extranjero. Pero mucho más me flipa que igual tiene razón!
Hasta el programador más mediocre se puede ganar bien la vida en el extranjero.
#77, no es por trolear, pero ¿ quién te asegura que los tests testan lo que tienen que testar ? ¿ No es acaso el test otro código que a su vez requeriría otro test, para cumplir con el mismo principio que promete ?
Nope. Ya quisiera acercarse, por ejemplo, Minecraft a Minetest con el segundo con el mod Carbone petado de módulos.
Que no, que se dejen de magufadas, que en la vida alcazarán a C++. En un i7 con un SSD no lo notas casi, pero un Core Duo maximiza la ventana del MC contra Minetest, anda, o mejor: En un P4. Ni lo intentes.
Todo el que dice que Java con JIT se acerca a C++ que baje de la nube e imagine un Unreal Engine 4 con "eso".
Comentarios
La evolución de un ingeniero de software.
La verdad es que un ingeniero de software, cuanto mas vago, mejor codigo escribe... sin duda.
Esto es más viejo que el cagar.
Ésto es como muy 2014...
#4 2013 para ser más exactos, pero podía haber sido escrito ayer mismo y te hubiera dado igual. Es tecnología, no actualidad
Real como la vida misma. Yo cada vez hago más ñapas directamente en código por pura desidia.
el año veinteavo, escribiría:
from:puto amo
mailto: becario
Pringao, hazme un programa que ponga hello world en la pantalla.Lo quiero en 10 minutos o te vas fuera.
saludos cordiales,
puto amo
#7 Qué optimista. El año veinteavo un ingeniero no será el puto amo sino que estará despedido, porque cobra mucho y la empresa puede poner en su lugar al hijo/yerno del gerente. Total, solo tiene que enviar ese mail que dices al becario.
Puto Java...
#8 El problema es que haya ingenieros diciendo veinteavo en vez de vigésimo. Ese es el problema.
#9 Amen, hermano.
#9 #11 Tiene sus cosas buenas...
Esto es un alegato contra la POO?
#10 Bien dicho. Lo suyo sería referirnos al vigésimo año como anyo[19].
#14 O agno.
Los que no son ingenieros.
void main()
">
¿Para qué necesitas una clase para imprimir "hola mundo"?
#12 Java es de lo poco que ha conseguido poner de acuerdo a Richard Stallman y Linus Torvalds.
y los diveros son
PROGRAM Hola Mundo;
PRIVATE fuente1;
BEGIN
fuente1 = load_fnt("help/help.fnt");
write(fuente1, 160, 100, 4, "Hola Mundo");
LOOP
FRAME;
END
END
wass... que no se quede DIV atras
#6 Yo también. Ley del mínimo esfuerzo.
#9 ...y al séptimo día creó groovy:
println "Hello World"
#16 Porque en Java no hay otra forma de hacerlo.
#7 y #8: se dice vigésimo.
#1 Doy fe de que es cierto
Para lo que me pagan...
Ahora en serio, existe una tendencia absurda a hacer código overengineered. Si necesitas medir tu ego, mejor juega a ver quien mea mas lejos, que luego hay gente que tiene que leer tu código...
#21 GOTO #9
(define (displayln arg)(display arg)(newline))
(define hello (lambda () (displayln "hello"))
(hello)
#7 el año 20 estara como el año 1, picando teclas como becario, eso con suerte.
#10 #14 #15 El problema es discutir sobre gilinerdeces de como se dice el año mientras nos comen la tostada otros de pelo engominado. Asi va la profesion.
#12 Aparte de que es posible que te funcione en sistemas distintos... no le veo ninguna ventaja, ni a la programación ni al producto final.
C
#16 Para qué necesitas una función?
#9 Pues PHP va por el mismo camino, se va a tardar más en crear la "carcasa" que la lógica de negocio.
10 CLS
20 PRINT "¡Hola Mundo!"
30 GOTO 20
The fifth yeaar, es puro toc.
Muy viejo.
#16 Y el #include ?
Sin int ni return para el SO ?!?
Suspenso !! Con un 4,99
#14 Yo escribo ano[19] y a tomar por culo... nunca mejor dicho
Ingenebrio.
++++++++++[>+++++++>++++++++++>+++>+.
#30 La carcasa? Te refieres la parte funcional? Porqué no usar una framework? (recién he descubierto Yii y me gusta un montonazo)
#12 Franco también hizo muchos pantanos y asfaltó muchas carreteras.
Aficionados, todo el mundo sabe que el mejor código está basado en patrones
https://taskinoor.wordpress.com/2011/09/21/the-abuse-of-design-patterns-in-writing-a-hello-world-program/
#! /bin/bash
echo "hello world"
#23 Doy fe de que has dado fe de ello.
#14 #15 #35 Pues yo escribo year[19] ... Por aquello de darle un toque más internacional...
(Delirios de grandeza de pensar que tu código lo va a ver alguien más que tú mismo y puede que algún colega o jefe... si tal)
#42 ORGIA DE NOTARIOS!!!
#31 aggghhh mis ojos !!! BASIC . Nooo por favor.
Año 11: pierde el tiempo en Meneame en horario de oficina, donde se queja de que en Españistán sigue cobrando 1200€/mes.
#28 El secreto está en el gigantesco ecosistema que se creó en su día, perfectamente documentado y mantenido.
Aunque la mayoría de ese ecosistema sea un mamotreto de proporciones astronómicas y su documentación más infumable que la Biblia en versos arameos, es justamente lo que hace que Java siga siendo ampliamente utilizado hoy en día.
Justamente ayer cree un hello world son diferentes archivos todo en uno.
http://pastebin.com/TA8D1CV4
¿Y los tests? Esperaba que el último caso fuese algo como: HelloWorldTest + HelloWorld.
#46 año 11: apt-get install python
#34 ¿C no devuelve "return 0;" por defecto, en caso de omitirlo en la función "main"?
Pregunto, porque C++ sí que sé que lo hace...
HOLA MUNDO
#18 Qué recuerdos.
#38, Usar un framework tiene sus ventajas, pero Yii no, por favor... Busca otra cosa, cuanto más pequeña, mejor. De hecho, su creador se ha pasado a Synfony2, lo cual no dice nada bueno ni de Yii, ni de Synfony
Ahora en serio, cualquier cosa que te facilite la vida, está bien. Y si se usa ampliamente, mejor para ti, que te da más oportunidades laborales.
Pero una vez que comprendas cómo funciona el cotarro, trata de usar aquello que realmente te haga las cosas más fáciles, y sobre todo, que no te limite.
Sobre el meneo, real como la vida misma, yo nunca he abandonado la doctrina KISS (https://es.wikipedia.org/wiki/Principio_KISS), y según va pasando el tiempo, creo ha sido la mejor decisión de mi vida.
Edito, en inglés viene mucho más completo: https://en.wikipedia.org/wiki/KISS_principle
#28 Ventajas de Java respecto a C hay unas cuantas: tienes orientación a objetos, contenedores genéricos, te despreocupas de punteros, hay una cantidad ingente de librerías modernas... no sé, en general es bastante más fácil de usar.
Respecto a C++ ya creo que sólo tiene que es algo más fácil de usar, pero más que nada porque tienes muchísimas menos opciones.
#5 Exacto, solo que en lugar de utilizar Java se utilizará otra lenguaje pero es lo mismico.
Lo bonito de la programación es su facilidad para hacer que te desconectes del mundo y solo pienses en como puñetas escribir el código para que el programa haga lo que tú quieres que haga.
#56 Ahora me vas a decir que un programa en VM es mejor que compilado??
#51 que yo sepa no ... y creo que C++ tampoco ... a no ser que lo haga auto el compilador.
Aún así , excusas no me vale
#50 otro que no ha salido de la universidad
#24 Amén.
La de salvajadas que se ven por ahí para hacer cualquier puta irrelevancia donde alguna estrellita del código ha gastado todas las opciones que le ofrecía el lenguaje. Y por supuesto, sin ni un puto test, claro. Las estrellitas del código no escriben tests porque no hacen falta. Ni documentación, que el código "se lee solo" y si no sabes lo que hacen todas esas variables monoletra y sus complicadas operaciones y llamadas a 3 funciones distintas dentro de esa función que se supone que simplemente devuelve un fichero abierto, es porque no eres tan estrellita como ellos.
Ésto era simpleza:
10 PRINT "Hello World!"
END
criaturicas...
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLOWORLD.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500 DISPLAY "Hello world!" LINE 15 POSITION 10.
100600 STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800 EXIT.
#58 No, te voy a decir que "mejor" depende del criterio de evaluación. Y la velocidad de ejecución o el consumo de recursos no son los únicos criterios posibles.
#15 El código escrito en cualquier idioma que no sea el Inglés hace llorar al Niño Jesús.
Pues no lo acabo de ver... todo depende de las necesidades. Si sólo necesitas que imprima "Hello World" ningún desarrollador en su sano juicio pasaría por estas etapas de complejidad.
El return en programas tan básicos no hace falta.
pd. Lo siento le he dado al botón de negativo sin querer. Te lo compenso.
#56 Muchísimas menos opciones comparado con qué?
#61 En el proyecto en el que estoy trabajando ahora he visto una de las mayors aberraciones de mi vida. Un broker (cojo mensaje, distribuyo a otros brokers y si la subscripción casa, se lo mando al subscriptor) implementado con maquinas de estado, runnables por todas partes, factorias y polladas varias. Es como coger el libro de gang of four y implementar X patrones entren o no. Terrible. Lo he tenido que rehacer solo por no ponerme a hacer modificaciones.
#41echo Hello world
Me encanta la simplicidad del scripting de cmd para según qué cosas :-P
#2 La eficiencia no es más que una forma avanzada de vagancia.
#59 C++ sí que devuelve por defecto "return 0;" si el código no especifica un "return" en la función "main".
The body of the main function does not need to contain the return statement: if control reaches the end of main without encountering a return statement, the effect is that of executing return 0;.
http://en.cppreference.com/w/cpp/language/main_function
#60
https://kcaicasestudy.files.wordpress.com/2014/01/success.gif
#72 Pues no lo sabia . Bueeeno, tu ganas, lo subo a 4,998 .
#7 > el año veinteavo
Cc #10
#58 en terminos de portabilidad, sin duda. En términos de eficiencia, no pero casi. Hace tiempo que java utiliza compilación just-in-time.
#69 😭 🔫
Lo he tenido que rehacer solo por no ponerme a hacer modificaciones.
Es que es lo que se debe hacer con la basura. Mi procedimiento habitual para tratar con ella es ese. No será la primera vez ni la última que heredo código y, tras echar un vistazo y ver que es una puta mierda, hago unos cuantos tests (que el menda de antes no ha hecho) para comprobar que cumple lo que promete y acto seguido todo fuera y a hacerlo como toca.
Es exáctamente asi. Miro mis programas de c++ y me identifico totalmente. Hoy para escribir 'class' tengo que tener una buena lista de motivos
#68 Con C++ (es lo que dice la frase...). Para empezar en Java casi no puedes hacer gestión de memoria, como mucho decirle al GC cuando quieres que pase. Y luego más cosas, como poder marcar las funciones como inline, virtual o const, poder marcar las variables como register o volatile, tienes herencia múltiple, tienes move semantics, tienes el preprocesador (que a veces es útil)... en fin, unas cuantas cosas.
#54 Tranqui, que ya tengo un tiempo en esto y sé cómo funciona el cotarro. Ahora, lo del creador de Yii (Qiang Xue) no encuentro nada que diga que se ha pasado a Symfony2.
#61 Bueno. Si no entiendes un código es porque es una mierda, no porque no haya suficientes comentarios.
Por cierto, en general, un programador que escribe un código que sólo entienden programadores senior es un mal programador y le está haciendo una putada a su empresa.
#63 Madredelamorhermoso. Pobrecitos los que tenían que programar con esto. Que es, por cierto?
#67 Me lo dices a mi ? Bahh no pasa nada.
No soy de la misma opinión. Aunque sea básico, que en eso no te contradigo, crea costumbre y es muy útil para sistemas tener esos códigos de salida (me he descubierto ).
Yo les meto returns ( exit, quit ... ) hasta a los pseucodigos.
Saes
True Story
#46 No sé si viene muy a cuento, pero me flipa muchísimo que un programador que no sea capaz de ganar más de 1200€ al mes en España se piense que puede ganar más en el extranjero. Pero mucho más me flipa que igual tiene razón!
Hasta el programador más mediocre se puede ganar bien la vida en el extranjero.
#1 ¿Mismo nick que Forocoches y Erepublik?
#48 ¿#pragma once?
Eso no es standard!
Yo prefiero algo asi como:
------ HelloWorldTest.java
import org.junit.Test;
import org.mockito.Mockito;
import java.io.PrintStream;
public class HelloWorldTest Test
public void test_hello_world_is_printed() {
PrintStream output = Mockito.mock(PrintStream.class);
HelloWorld hw = new HelloWorld(output);
hw.sayPhrase();
Mockito.verify(output).println("Hello world!");
">
}
------- HelloWorld.java
import java.io.PrintStream;
private class HelloWorld
public void sayPhrase() ">
public static void main(String[] args)
}
#86 Por supuesto, shurmano
#14 ¿Utilizar caracteres españoles en el codigo puede dar problemas en java?
Estudio programación y nunca tuve ese problema con netbeans
#63 Qué tiempos... en el fondo al menos las instrucciones en COBOL son legibles.
#54 A mi jefe le dio una temporada por FuelPHP. Ya no es mi jefe y yo ya no programo en PHP.
Cc. #38
#77, no es por trolear, pero ¿ quién te asegura que los tests testan lo que tienen que testar ? ¿ No es acaso el test otro código que a su vez requeriría otro test, para cumplir con el mismo principio que promete ?
Ahí lo dejo.
#82 yoksetioxdxd script
#58 Un ingeniero que dice que algo es "mejor" o "peor", no es un gran ingeniero.
#10 un ingeniero jamas se equivoca... Se referia al día 18 y pico
#82 Es COBOL, y sigue siendo uno de los lenguajes más utilizados por la banca.
Print 'hello world'. Python rules
#76 ", no pero casi."
Nope. Ya quisiera acercarse, por ejemplo, Minecraft a Minetest con el segundo con el mod Carbone petado de módulos.
Que no, que se dejen de magufadas, que en la vida alcazarán a C++. En un i7 con un SSD no lo notas casi, pero un Core Duo maximiza la ventana del MC contra Minetest, anda, o mejor: En un P4. Ni lo intentes.
Todo el que dice que Java con JIT se acerca a C++ que baje de la nube e imagine un Unreal Engine 4 con "eso".
Todo dicho.
El mejor es el LOLCODE:
HAI 1.2
CAN HAS STDIO?
VISIBLE "HAI WORLD!!!1!"
KTHXBYE