Será eclipse junto con java la herramienta definitiva?, parace que en el desacuerdo de lenguajes, plataformas y demás, estamos todos de acuerdo en una cosa, los cambios son demasiado sutiles para que el trabajo del día a día pueda suponer una barrera, no niego las maravillas de visual basic, frente a c++, ni de php frente a aspx, pero si exceptuamos el entorno de trabajo, la programación viene a ser la mismo, de hecho yo he visto muy buenos programadores de Visual basic con un código limpio y elegante que no se diferenciaba demasiado de la traducción a C++, lo mismo con php. De hecho entiendo que por esto es USA, muchos centros de desarrollo únicamente piden programadores con cierto grado de experiencia, superando la barrera de lenguaje que tanto impera en España.
El problema que mas he notado en los diferentes lenguajes es el grado de “chapuza” que permiten pero esto no suele ser algo que los buenos programadores lleguen a notar, un buen programador lleva experimentado con errores de codificación desde el ensamblador hasta el java, por lo que ya se ha buscado estrategias para evitar la chapuza, por ejemplo, este código escrito en C:
int variable_perdida;
printf(variable_perdida);
Todos sabemos que como la variable no ha sido asignada puede dar cualquier valor, por lo tanto cualquier algoritmo que dependa de esta variable puede dar resultados imprevisibles, lo que se traduce en “a mi me hace una cosa…” pues ami me hace otra”
En C#, esto se ha solucionado con un bonito error de compilación, si la variable no esta inicializada antes de usarla no se compila, luego un programador “chapucero” no cometerá este error en C#, pero si en C, un programador experimentado simplemente definirá las variables en la nacionalización.
int variable_perdida=0;
printf(variable_perdida);
Hace poco vi otro ejemplo de esto, C, utiliza el doble “=”, para comprobar una igualdad sin embargo para asignar un valor utiliza el “=” simple, el error mas común al definir una condición es que se evalué una asignación en lugar de una codición, p.e.
Int mi_variable=20;
if (mi_variable = 0) {
printf(“esta codicion siempre se cumple”);
}
Esto pasa para el compilador totalmente desapercibido, ¿como lo evita un programador experimentado?, para evitar este error usan un mecanismo que es invertir la igualdad, colocan la constante al principio…
if (0 =mi_variable){
printf(“esto simplemente ni se compila”);
}
esta forma de colocar la igual da como resultado que el compilador marque un error de asignación, sin embargo en una igualdad no daría ningún error
¿Que diferencia existen en usas Pascal Orientado a Objetos o C++?, pues realmente ninguna, la comodidad que te pueda ofrecer escribir
-
delphi C++, java, c# Var mi_variable: integer;
mi_variable:=5
if (5=mi_variable) then begin
writeln(‘Mi variable=’+inttostr(mi_variable);
end;
Int mi_variable;
mi_variable=5;
if (5==mi_variable) {
printf(“Mi variable=”+itostr(mi_variable);
}
Esto es similar a lo que pasa con los idiomas en general, existen buenos escritores, en ingles en español o en cualquier idioma, de hecho quien diga que el ingles no se puede decir las mismas cosas que en español, sera simplemente porque no sabe suficiente ingles. Ahora si queremos hablar con el mayor numero de gente, deberemos usar el lenguaje que mas gente use. Y llegados a este punto, es bastante fácil saber cual es el que mas se usa… JAVA, y todo por una sencilla razón, tiene mas alcance, desde las pdas, hasta los mainframes, ahora bien la segunda parte es, sobre que ide, porque a estas altura usar el notepad, o el vi, parece retroceder, perdón a los usuarios de vi :).
Parece que el edi, mas extendido ahora mismo, es eclipse. Eclipse es un super-editor que de base no hace gran cosa, algo similar a firefox, pero que a base de plug-ins, acaba sirviendo para hacer casi cualquier cosa.
Si no queremos complicarnos demasiado, lo mejor es bajar una versión con todos los plugins instalados.