Muchos te dirán que necesitas un IDE. Están equivocados. Los IDEs son grandes herramientas profesionales, porque manejan toneladas de cosas que tendrías que hacer manualmente de otra manera. Los IDEs son terribles para los principiantes, porque hacen toneladas de cosas que no tienes ni idea de que están haciendo, y se meterán en profundos agujeros de los que no tienes el conocimiento para salir. Aprende a programar primero. Frustrate con el tedio de construir programas de tamaño moderado (y aprende a usar make), y luego usa un IDE cuando no puedas más. XCode en el Mac es un IDE de este tipo. Para las clases que imparto, es mucho más de lo que necesitas, pero tengo estudiantes que lo usan.
Cualquier cosa que te permita escribir texto plano en un archivo servirá, pero algo que haga una buena sangría y que haga coincidir llaves/pares/corchetes es realmente útil. Por lo tanto, te recomiendo que descargues Emacs (descarga de GNU Emacs - Proyecto GNU o GNU Emacs para Mac OS X) o que ejecutes vim (yo soy una persona de Emacs, pero no le guardo rencor a vim). Una desventaja de Emacs son las convenciones de formato por defecto. Configúralo para que use los estándares de Linux (o al menos K&R). A muchos de mis alumnos les gusta Sublime Text. Emacs es mi elección: es un editor, un sistema operativo, un sistema de ventanas, un depurador, un psicoterapeuta y un amigo.
Vea también este post: ¿Cuál es el mejor editor de texto/IDE de C?
Notas: If you use Emacs, I recommend that you do put the following into a .emacs file in your home directory (it can be the first file you edit with Emacs!):
- (setq c-default-style
- '((java-mode . "java")
- (c-mode . "linux")
- (c++-mode . "linux")
- (other . "gnu")))
You may substitute “k&r” for “linux”, but see https://www.kernel.org/doc/Documentation/process/coding-style.rst.
On the Mac, I also prefer to use the Command (Apple) key as the Emacs meta key. To do that, put this in your .emacs file (if you don’t know what this means, try Emacs for a while and come back if you get bugged by using the Option key for meta):
- (setq mac-option-key-is-meta nil
- mac-command-key-is-meta t
- mac-command-modifier 'meta
- mac-option-modifier 'none)