Comentarios

khel_mva

#14 O agno.

D

#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.

myself_83

#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)

D

#15 El código escrito en cualquier idioma que no sea el Inglés hace llorar al Niño Jesús.

D

#65 ¿Y por qué no código en euskera?

D

#65: Sino no compila.
Pero los nombres de variables en Español. 80 caracteres, ahí bien descriptivo para que no haya que comentar nada.

Zeioth

#15 Que usais, C?

D

#14 Yo escribo ano[19] y a tomar por culo... nunca mejor dicho

r

#14 ¿Utilizar caracteres españoles en el codigo puede dar problemas en java?
Estudio programación y nunca tuve ese problema con netbeans

j

#90 Java como tal lo soporta perfectamente. El problema está en que tu código siguen siendo ficheros de texto que, si abre alguien con un locale/codificación regionla distinto al de tu máquina, puede decodificarse de otra forma. Vamos, que si el código no sale de tu máquina puedes nombrar las variables en cirílico si quieres, pero si vas a compartir el código no es buena idea.

Si te interesa el tema -> http://stackoverflow.com/questions/2178348/should-source-code-be-saved-in-utf-8-format

Cidwel

#90 No lo hagas. Simplemente no lo hagas.

D

#90 JAVA debe morir

D

#90 Sí puede dar problemas, a mi en netbeans/eclipse no me ha dado más problemas que al compartir el código con otra persona el archivo lo abra mal y en vez de salir "más" salgan cosas como "m«as". Si solo era en los comentarios, es una molestía, si era en el código, hay que arreglarlo.

Además, ten en cuenta que cada vez más se usan frameworks, plugins u otro tipo de herramientas externas que tienen que escanear tu código ellos para añadir alguna funcionalidad extra, así que siempre puede fallar algo.

PS: Y como dicen, es un problema de la codificación del archivo de texto y qué codificación espera cada programa que lo lea.

G

#14 con ese sistema de nomenclatura no se que hay en la variable... Deberia ser iyear[] o syear[] o algo por el estilo

M

#7 > el año veinteavo

Cc #10

D

#75 UnexpectedTrollInception

G

#10 un ingeniero jamas se equivoca... Se referia al día 18 y pico

D

Puto Java...

khel_mva

#9 Amen, hermano.

dreierfahrer

#9 #11 Tiene sus cosas buenas...

Magankie

#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

D

#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.

j

#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.

Magankie

#56 Ahora me vas a decir que un programa en VM es mejor que compilado??

j

#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.

j

#105 100% de acuerdo. De lo contrario no habría dicho #64.

Ovlak

#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.

Ovlak

#95 Amén. Nada es "mejor" ni "peor" sino que algo puede ser "más adecuado" según el caso.

A

#56 Muchísimas menos opciones comparado con qué?

j

#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.

G

#79 los lenguajes son herramientas... Para algunas cosas es mejor java, para otras C++ y para otras qbasic.

A

#79 Joe, lo había entendido al reves ^_^U Debe ser cosa de que es viernes por la tarde...

D

#12 Franco también hizo muchos pantanos y asfaltó muchas carreteras.

minardo

#9 ...y al séptimo día creó groovy:

println "Hello World"

G

#21 GOTO #9

D

#9 Pues PHP va por el mismo camino, se va a tardar más en crear la "carcasa" que la lógica de negocio.

D

#30 La carcasa? Te refieres la parte funcional? Porqué no usar una framework? (recién he descubierto Yii y me gusta un montonazo)

daphoene

#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 lol

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.

D

#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.

daphoene

#80, Tienes razón, mi memoria de abuelo cebolleta, que se inventa los recuerdos. Era uno de los 'gurús' de Yii, con su explicación razonada:

http://weavora.com/blog/2013/03/26/why-we-prefer-symfony2-over-yii-framework/

M

#54 A mi jefe le dio una temporada por FuelPHP. Ya no es mi jefe y yo ya no programo en PHP.


Cc. #38

M

#30 Yo creo que es al reves, cada vez hay más frameworks que te dan ya toda la carcasa hecha y tu vas al grano olvidandote un poco de tareas tediosas como seguridad, gestión de usuarios, permisos, rutas, templates... .

D

#42 ORGIA DE NOTARIOS!!!

RojoVelasco

#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.

D

#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.

daphoene

#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.

D

#93 El test es un codigo extremadamente sencillo que simplemente llama al código a testear pasándole unos parámetros fijos y comprueba que se devuelven los valores esperados.

Claro que los tests podrían estar mal hechos, pero entonces te darías cuenta enseguida de que no estás testeando bien lo que quieres comprobar, porque entonces tendrías errores en vez de fallos. Los tests bien escritos tienen o éxitos o fallos, nunca errores. Por eso no es necesario hacer tests de tests, porque al ejecutarse "se testean solos": si dan error, están mal hechos.

D

#24 #61 #69, #81 ... etc.

No digo que muchas veces lo que decís no sea cierto pero muchas otras lo que te encuentras es otras cosas y es conveniente tener una actitud crítica con uno mismo.
- Que no es cuestión de ego, si no de formación. Hay gente que aprendió C y no salieron de "if", "for" y con suerte "while". En estos casos, utilizar cualquier herramienta/librería/paradigma diferente te convierte en alguien que escribe código que nadie entiende. La idea es subir el nivel del equipo, no embrutecerte para que hasta un chimpancé entienda tu cutre-código, incluyendo gente que para hacer algo "simple" y no muy complicado tiene la fea costumbre de usar demasiado el Ctrl-C Ctrl-V, o no dividir el fichero en módulos porque es más sencillo verlo en un archivo de 200K líneas.
- Si acabas de recibir un codigo fuente igual hay que intentar entender qué se estaba haciendo. Puede que lo que pase no es que el código sea una mierda, si no que no entiendas la complejidad del problema.

Una de las cosas que más me encuentro es que todo el mundo es "muy listo" y siempre recibe código de idiotas. Adivinad lo que muy probablemente vayan a decir quien reciba vuestro código

Pero eso si, justo ahora mismo acabo de tirar un montón de código y estoy rehaciendo el trabajo de otros..... por lo que sí que a veces pasa

RojoVelasco

#136 Una de las cosas que más me encuentro es que todo el mundo es "muy listo" y siempre recibe código de idiotas

Yo intento no pensarlo, por que la mayor parte de las ñapas, códigos ofuscados, con baja performance, etc, no suelen ser culpa del programador. Pienso que al pobre tipo quizá le asignarón un proyecto donde desconocia la técnologia, con arquitectura inexistente, los requisites cambiando como quien cambia de bragas, estaba al 30% en otro proyecto y mientras solucionaba bugs de deliveries anteriores. Así es imposible programar bien. Es lo que me pasa a mi a veces y es lógico que les pase a los demás.

Por otro lado, mi queja en #69 va por otro lado. Conozco perfectamente cual era la situación del tipo que lo desarrollo. Era una software con unos requisitos sencillisimos pero el colega acababa de salir de la Universidad y tenia que sacarse la polla con un código ininteligible, matando moscas a cañonazos. No hablo de alguien que usa metaprogramación de una forma lógica o alguien que usa un framework que se ajusta al proyecto ante el estupor de sus compañeros.

M

#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.

daphoene

#109, otra ventaja clara de los tests que se me ha olvidado mencionar, es que te suele forzar a diseñar código desacoplado. Eso sí es bueno, aunque hay otras maneras de conseguir el mismo objetivo.

Sobre el resto de lo que comentas en #61, chapó. Estoy aburrido de ver gente con un ego casi antinatural retorcer el lenguaje para utilizar siempre 'lo último de lo último', pasándose por el forro 500 buenos principios y el dictado de la experiencia, y luego darse de morros una y otra vez sin aprender nada. Supongo que es más fácil aprender 'lo último' para que parezca que eres super-cool y eres senior con 20 años, que dedicar cientos de horas a aprender a fondo todas las tecnologías que utilizas, y saber dónde es mejor no ser tan guay, o utilizar algo 'viejuno' pero que es la mejor solución.

Al respecto, yo suelo tratar de recordarle a la gente que para la empresa la informática no es un fin, sino un medio para lograr unos objetivos, y que esa perspectiva no hay que perderla nunca.

Otra es la humildad, pero esa no se enseña, o se tiene, o se aprende de las formas más humillantes...

D

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

ElPerroDeLosCinco

#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.

Penetrator

#7 y #8: se dice vigésimo.

antuan

10 CLS
20 PRINT "¡Hola Mundo!"
30 GOTO 20

sukh

#31 aggghhh mis ojos !!! BASIC . Nooo por favor.

D

#31 te falta un:
15 LOCATE X, Y

para ya terminar de trollear a todos estos. Eso o un ";" al final del PRINT para llenar la pantalla.

Eso eran lenguajes de programación y no lo de ahora

Mister_Lala

Real como la vida misma. Yo cada vez hago más ñapas directamente en código por pura desidia.

D

#6 Yo también. Ley del mínimo esfuerzo.

e

++++++++++[>+++++++>++++++++++>+++>+.

M

#63 Madredelamorhermoso. Pobrecitos los que tenían que programar con esto. Que es, por cierto?

D

#82 yoksetioxdxd script

a

#82 Es COBOL, y sigue siendo uno de los lenguajes más utilizados por la banca.

M

#97 Tiene que ser "apasionante" programar con eso...

KimDeal

#82 cobol. Y programé con él hasta que me sangraron los dedos. Después de esoel Java te parece una cosa marciana

j

#63 Qué tiempos... en el fondo al menos las instrucciones en COBOL son legibles.

thorpedo

#91 sobre todo su identación a fuego jajajja

Calomar

#63 no puedo leer ese código sin pensar con voz robótica y venirme a la cabeza robocop o terminator

D

Los que no son ingenieros.

void main()
">

¿Para qué necesitas una clase para imprimir "hola mundo"?

a

#16 Porque en Java no hay otra forma de hacerlo.

m

#21: ¿Y para qué necesitas Java?

D

#16 Para qué necesitas una función?

sukh

#16 Y el #include ?
Sin int ni return para el SO ?!?

Suspenso !! Con un 4,99 lol

D

#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...

sukh

#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
lol

D

#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

sukh

#72 Pues no lo sabia . Bueeeno, tu ganas, lo subo a 4,998 .

D

#74 Apruebe a mi colega, que el chaval lleva todo el curso estudiando

D

#34 #72 C también devuelve return 0 por defecto si no hay retorno explícito. Concretamente a partir de C99. Eso sí, para ello la función main debe ser básicamente de tipo int, si no te dará warning. Así que en realidad ni pa uno ni pa otro (?).


P.D.: Por si alguien tiene dudas:
If the return type of the main function is a type compatible with int,areturn from the
initial call to the main function is equivalent to calling the exit function with the value
returned by the main function as its argument;10) reaching the } that terminates the
main function returns a value of 0. If the return type is not compatible with int, the
termination status returned to the host environment is unspecified.
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

f

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

Sofrito

#18 Qué recuerdos.

anv

#! /bin/bash
echo "hello world"

Wayfarer

#41echoecho Hello world

Me encanta la simplicidad del scripting de cmd para según qué cosas :-P

D

#70 cat
Hello world

dreierfahrer

Esto es un alegato contra la POO?

angeldav

La evolución de un ingeniero de software.

D

#1 Doy fe de que es cierto

D

#23 Doy fe de que has dado fe de ello.

x

#23 Falso. Ahora usan frameworks nada mas salir de la carrera y miran por encima del hombro al que lo hace sencillo.

Trevago

#1 ¿Mismo nick que Forocoches y Erepublik?

angeldav

#86 Por supuesto, shurmano

D

#86 #89 , me encanta encontrarme shurs por ahí jajajajajaja.

D

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.

D

#46 año 11: apt-get install python

D

#50 otro que no ha salido de la universidad

elzahr

#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.

a

El mejor es el LOLCODE:

HAI 1.2
CAN HAS STDIO?
VISIBLE "HAI WORLD!!!1!"
KTHXBYE

sukh
D

#100 Yo cambiaría ese hai world por un "ola k ase, chau"

takamura

Esto es más viejo que el cagar.

K

Ésto es como muy 2014...

D

#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.

daphoene

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

p

#55 Yo a veces veo las cabriolas que hacen algunos para cosas super chorras y me quedo pensativo ¿será que soy muy simple y ellos saben algo que no sé? Luego cuando veo que lo mío hace lo mismo de formas mucho más sencillas (y por lo general más eficientes) me quedo tranquilo.

Le tendencia a la sobreingeniería y sobre todo a la pose (se nota mucho por el uso excesivo de jerga y circunloquios) es exagerada en este mundillo.

Cada uno que pierda el tiempo como quiera, pero personalmente, KISS.

Magankie

Ésto era simpleza:

10 PRINT "Hello World!"
END

D

Ingenebrio.

Abeel

Print 'hello world'. Python rules

Arlequin

#98 No. Al quinto año todo es Java, o se le parece.

superplinio

Aficionados, todo el mundo sabe que el mejor código está basado en patrones roll

https://taskinoor.wordpress.com/2011/09/21/the-abuse-of-design-patterns-in-writing-a-hello-world-program/

G

Justamente ayer cree un hello world son diferentes archivos todo en uno.

http://pastebin.com/TA8D1CV4

Ludovicio

#48 ¿#pragma once?

Eso no es standard!

G

#87 Nenaza

Trublux

Saes
True Story

derethor

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

p

#78 Me temo que es una moda que trajo Java, cuando aparentemente los objetos eran buenos porque sí, aunque no hiciesen falta para nada. Era la época en la que para que un lenguaje fuese "In" tenía que decir que todo era un objeto (lo cual siempre acababa siendo mentira, por otra parte).

Luego acababas una ristra de clases y subclases para hacer auténticas chorradas que en otros lenguajes llevaban 3 líneas (y por tanto eran mucho más fáciles de depurar y había muy pocos puntos de fallo).

Cuando acababas lo que fuese, te dabas cuenta de que el 90% del tiempo se había empleado en pura burocracia y que sólo 3 líneas del programa hacían algo de verdad.

Al menos estas cosas sirven para darse cuenta de cuándo no deben usarse los cañones para matar moscas.

D

The fifth yeaar, es puro toc.

a

Yo prefiero algo asi como:

------ HelloWorldTest.java
import org.junit.Test;
import org.mockito.Mockito;
import java.io.PrintStream;

public class HelloWorldTest TestTest
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)
}

d

#88 Las clases en java no pueden ser privadas (a no ser que sean inner, que no es este caso).

En lugar de mockito, yo passaría mi propia inner class que extendiera PrintStream, un fail() en cada método que no esperamos que se llame y un asserEquals en println(String). Así el test es mucho más robuto, ya que con mockito si se llama a otros métodos no tienes forma de saberlo y devolveran valores por defecto como 0, false etc.. Lo cual introduce bugs divertidos de debuggear. Además utiliza reflection y tiene mucho overhead de velocidad, con un test no se nota pero con 30K sí.

No haría el parámetro final en el constructor simplemente porque no hace falta. No soy partidario de hacer parmámetros final. Nadie va a cambiar la referencia del parámetro en un método de una línea.

E

¿Y los tests? Esperaba que el último caso fuese algo como: HelloWorldTest + HelloWorld.

D

HOLA MUNDO

D

(define (displayln arg)(display arg)(newline))
(define hello (lambda () (displayln "hello"))
(hello)

D

#26 Lo digo con todo respeto y camaraderia; eres un cliche personificado.

D

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.

sukh

#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 lol ).

Yo les meto returns ( exit, quit ... ) hasta a los pseucodigos.

arllutoquintumi

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.

D

#66 Y aún así, todos pasan. ¿Será locura transitoria?

D

Muy viejo.

1 2