Hoy estaba comentando com mi primo acerca de lo mucho más claro que es el lenguaje Python frente al tradicional C. Aquí un ejemplo que hace una factorial:
1 def fac(n, total=1):
2 if n > 1:
3 return fac(n-1, n*total)
4 else:
5 print total
6 fac(int(raw_input("Introducir un numero del que hacer el factorial\n=>")))
Esto era python. Poca cosa. A ver C:
1 #include stdio.h
2
3
4 int factorial(n, total) {
5 if (n > 1) {
6 return factorial(n-1, n*total);
7 }
8 else {
9 printf("\n\ntotal = %d\n\n", total);
10 return total;
11 }
12 }
13 int main() {
14 printf("Introducir un numero del que hacer el factorial\n=>");
15 int a;
16 scanf("%d", &a);
17 factorial(a, 1);
18 return 0;
19 }
Vale, sí, ambos se pueden compactar y ambos algoritmos (que son el mismo) pueden mejorarse. Pero ahí queda la diferencia entre uno y otro. Bueno, y después de esto que no interesa a nadie (o sí, estaría bien que alguien lo comentara) venía a lo siguiente:como me aburro mucho me apetece abrir una de esas discusiones típicas de los más recónditos foros de discusión de programadores y demás fauna informática: ¿Qué lenguaje de programació preferís? ¿Cuál para cada tipo de programa? ¿Acaso os interesa la programación? ¿Os parece una parida aprender? ¿A qué huele un cerebro vivo?
Cosas.

Viva phyton xDDD
Me lo has dejado claro, quiero aprender programación (con tiempo) y por lo que veo seguramente me decante por Phyton…
Mejor:
Aunque ya no interesa, he reducido la factorial a una línea.
fac = lambda x: x and x*fac(x-1) or 1Bueno, hay que usar otra línea para llamarla, de la forma:
fac(6)ofac(int(raw_input("=>")))Pero mooola.
int factorial (int n){
int r, i;
for (i=0,r=1;n>1;i++){
r=r*n;
n–;
}
return r;
}
Iterativamente es más eficiente xD. Yo por ahora prefiero el C, ya que es el único que manejo con relativa soltura. A pesar de todo, soy consciente que lenguajes como Python son más cómodos en la mayoría de las situaciones (eso sí, en cuanto a eficiencia y posibilidades el C es el mejor si descartamos el ensamblador y el binario xDD).
¿Vale GW-Basic como lenguaje?