Consejo para empezar a programar

skv

C

1
ManuKNT

#27 Estoy de acuerdo en que C es uno de los lenguajes más complicados para aprender, al principio y después, ya que todo lo controla el usuario, y no tienes esas "ayudas" del tipo Java o similares.

#28 ¿Diferencias entre Java y C? Miles. De primeras el paradigma no tiene nada que ver. De segundas, en Java no tienes el control total, por ejemplo, del acceso a la memoria, en C si con los punteros. Si comparas C y C++. si son más parecidos, pero sigo diciendo que si C++ es un "incremento de C"... ¿no será mejor aprender el padre y te será muy sencillo aprender el hijo?

#29 Estoy de acuerdo, no hay que dejar ninguna de las dos cosas de lado. El pseudocódigo te sirve para entender la lógica del problema y poder realizar algo con tus palabras, para luego codificarlo en el lenguaje que quieras. Yo seguiría tu consejo, ir haciendo ambas cosas.

1 respuesta
ManuKNT

Edito porque se ha repetido :D

dagavi

#32 Si nos vamos al post de "Cual fue tu primer programa", es posible que si tengas razón y Java y C (o C++) son muy diferentes, pero en muchos sitios la gente empieza programando haciendo condicionales, bucles y funciones. Incluso en mi claso nos prohibían (para el que supiera, no era mi caso) los punteros (más allá del paso de paràmetros por referencia en C++). Por lo general lo que hacíamos en C++ lo podías hacer en C o en Java casi sin tocar ni siquiera la sintaxi.

Recordemos que está diciendo "empezar", no empezar sabiendo algo que puedes ir más rápido. Aquí vais directos a punteros, cuando no sabe ni hacer un bucle. Posiblemente su primera asignatura de programación se basará más en aprender algoritmos y resolver problemas, para aprender como plantear las soluciones, que en aprender un lenguaje (de hecho a mi no me han enseñado en profundidad ninguno).

Lo del pseudocódigo discrepo bastante (como ya dejé mi opinión en el post que se comentó la utilidad del mismo). De hecho parece que los profesores de mi universidad piensan lo mismo cuando quitaron, después de años, el pseudocódigo de la primera asignatura de programación (justo en mi cuatrimestre hicieron el cambio) dejándolo solo C++, tanto para explicar cosas en teoría como en la práctica.

Algo que veo bastante normal, a este nivel tan simple un pseudocódigo y la programación se diferencia básicamente en que uno es ejecutable y el otro no. Así que lo único que va a estar haciendo es escribir un programa en ¿castellano? para después pasarlo al inglés de C. ¿No le vale el propio C para aprender la algoritmia?

"Lee dos números y di el máximo"
x := leer(); y := leer()
si x > y entonces escribir x, sino escribir y;

int x, y;
cin >> x >> y;
if (x > y) cout << x << endl; else cout << y < end;

1 respuesta
Ulmo

Hay q ser muy mal amigo para aconsejar empezar con C a pelo, es un lenguaje q al principio es muy jodido y muy poco agradecido.

Como mínimo decirle C++ q ya tiene algunas clases implementadas q hacen ligeramente más ameno los inicios, pero es q meterse con C de entrada sin tener nociones de programación me parece una invitación a q abandone la idea.

PD: Java no me gusta.

1 respuesta
ManuKNT

#34 Sí, en eso te doy la razón, no va a empezar con punteros lógicamente... pero como tú dices, bucles, condicionales y demás se hacen prácticamente igual en C, Java, etc... ¿Para que usar Java, por ejemplo, para aprender a hacer algo que es exactamente igual en C, y luego cambiarte a C porque es con el que puedes aprender todo lo demás?

Sobre el pseudocódigo, yo lo apoyo, pero también es al gusto de cada uno. Al principio, entenderá mejor como hacer un programa que lea dos números y diga el mayor si escribe: "leer X, leer Y. Si x > y, visualizar X, sino, visualizara Y". Estamos de acuerdo que es lo mismo, pero es lo mismo para nosotros que ya podemos directamente empezar a programar sin pseudocódigo. Cuando esté suelto con la sintaxis y demás, puede dejar el pseudocódigo.

#35 Te parece malvado aconsejarle C, pero te parece bien un "C orientado a objetos". Si prácticamente lo que tienes en C++ es C sumándole unas cuantas cosas. Puede llegar a ser más complicado C++ ya que es un OOP híbrido. Tú sí que eres mal amigo xD PD: Java multiplataforma, sólo por eso ya merece tenerlo en cuenta :D

1

Usuarios habituales

  • ManuKNT
  • dagavi
  • Craw
  • MTX_Anubis
  • eisenfaust
  • 0buS
  • Camp1