Programar en Mac 01: Un programa es una serie de instrucciones

Programar en Mac 01: Un programa es una serie de instrucciones

22 marzo, 2010 |  by  |  Programar en Mac

Introducción

Si aprendes a conducir un coche, debes aprender a manejar determinadas cosas como si fueran una sola. Debes saber cómo funciona tanto el embrague, como el acelerador o el pedal del freno. Para programar también necesitarás almacenar muchas cosas en tu mente o tu programa se vendrá abajo. Mientras que en el caso de un coche ya conoces cómo es el interior del vehículo antes de aprender a conducirlo, en el caso de la programación careces de esa ventaja antes de aprender a usar el Xcode. Para no abrumarte, dejaremos el tema de la programación como tal para más tarde; primero, te vamos a familiarizar con algunas cuestiones del código C-Objective, comenzando con algunos cálculos sencillos que ya conoces muy bien.

En Primaria, debes hacer cálculos rellenando los huecos:

2 + 6 = …

… = 3 * 4

(el asterisco * es el el símbolo estándar para representar la multiplicación en los teclados informáticos).

En Secundaria, los puntos suspensivos pasaron de moda y las variables son llamadas “x” e “y” (y aparece una nueva palabra maravillosa, “álgebra”). Mirando atrás, puedes sacar tus propias conclusiones sobre por qué a la gente le intimidaba tanto este pequeño cambio de … por x.

Variables

El lenguaje C-Objective también usa variables. Las variables no son más que nombres convenientes en cada caso para referirse a una dato específico, como un número. He aquí un ejemplo de código en C-Objective: una línea de código donde a una variable se le otorga un determinado valor:

// [1]

x = 4;

El punto y coma

A la variable denominada “x” se le ha otorgado el valor 4. Te habrás dado cuenta que hay un signo de punto y coma al final del código. Esto es así porque el punto y coma es necesario siempre al final de cualquier código. ¿Por qué? Bien, quizá el fragmento de código del ejemplo [1] pueda parecerte algo fácil y sin embargo un ordenador no sabría qué hacer con él. Es necesario utilizar un determinado programa especial, llamado “compilador” para convertir el texto que has tecleado en un lenguaje de “unos y ceros” que el Mac entenderá. Es muy complicado para un compilador leer el texto que cualquiera de nosotros puede haber escrito. Por tanto, tendrás que darle algunas pistas para que nos entienda, como por ejemplo el lugar donde termina cada código. Pues eso mismo es lo que hacemos cuando utilizamos el punto y coma.

Si te olvidas de un punto y coma en el texto, el código no podrá ser compilado, es decir, no se podrá convertir en un programa que el Mac pueda ejecutar. No te preocupes mucho por esto, porque el compilador te avisará y protestará en caso de no poder compilar tu código. Como veremos en futuros capítulos, te ayudará a encontrar dónde está el error y solucionarlo.


Dando nombres a las variables

Mientras que los nombres de las variables por sí mismos no significan nada para el compilador, utilizar nombres descriptivos en las variables puede hacer que nos resulte mucho más sencillo leer el programa y, por tanto, mucho más fácil de entender. Lo cual supone una ventaja en caso de tener que localizar y corregir un error en tu código.

Los errores en los programas se denominan tradicionalmente “bugs”. Encontrarlos y corregirlos es una operación habitual denominada “debugging”.

Por tanto, en el código real evitaremos utilizar nombres de variables no-descriptivos como x. Por ejemplo el nombre para el ancho de una imagen podría ser denominada pictureWidth [2]

// [2]

pictureWidth = 8;

Si olvidar un punto y coma puede resultar un gran error para un compilador, podrás suponer que la programación es algo en lo que importan mucho los detalles. Uno de esos detalles es el de prestar atención al hecho de que el código será siempre diferenciará entre mayúsculas y minúsculas, por lo tanto, importará si utilizas mayúsculas o no. La variable pictureWidth no es la misma que pictureWIDTH o PictureWidth. De acuerdo con las reglas generales convenidas, nombraremos las variables fusionando palabras: la primera en minúscula y las demás comenzando en mayúscula, tal como hemos visto en el ejemplo anterior. A este estilo de nomenclatura se le llama generalmente camelCase. Siguiendo este esquema, reduciremos las opciones de caer en errores de programación por el uso de mayúsculas o minúsculas.

Por favor, date cuenta que el nombre de una variable consiste en una sola palabra (o un todo).

Mientras que tienes total libertad para elegir el nombre de las variables, hay algunas normas sobre el nombre de las variables con las que te tendrás que conformar. La primera regla que deberás obedecer es la de que los nombres no podrán ser una de las palabras reservadas del lenguaje Objective-C (por ejemplo una palabra con un significado especial en este lenguaje). Componiendo una palabra a partir de la unión de otras dos, estarás siempre cumpliendo esta norma, como hemos visto con pictureWidth. Para que las variables sean inteligibles, el uso de mayúsculas en los nombres es muy recomendable. Si sigues este esquema, tus programas tendrán menos bugs.

Si quieres seguir aprendiendo un par de reglas, continua leyendo este párrafo. Además de letras, el uso de dígitos está permitido, pero un nombre de variable jamás podrá comenzar con un dígito. También estará permitido el uso del “guión bajo” o “_”. He aquí algunos ejemplos de variables:

Nombres aceptados:

door8k

do8or

do_or

Nombres no aceptados:

door 8 (porque contiene un espacio)

8door (porque empieza por un dígito)

No recomendados:

Door8 (porque comienza con mayúscula)

El uso de variables para cálculo

Ahora que sabemos cómo dar un valor a una variable, podremos realizar cálculos. Vamos a ver el código para calcular la superficie de una imagen. He aquí el código [3] que lo hace:

// [3]

pictureWidth=8;

pictureHeight=6;

pictureSurfaceArea=pictureWidth*pictureHeight;

Sorprendentemente el compilador no es sensible a los espacios (salvo para los nombres de variables, etc). Así que para hacer el código más fácil a los ojos, podremos usar algunos espacios:

// [4]

pictureWidth = 8;

pictureHeight = 6;

pictureSurfaceArea = pictureWidth * pictureHeight;

[CONTINÚA...parte 2]

 

9 Comments


  1. ¡Os amo! ^^

    Espero que sigáis hasta el infinito ofreciendo estos tutoriales… estoy siempre MUY impaciente esperando siempre un nuevo artículo de programación xD.

  2. genial, que ganas tenía! es super interesante!

  3. Mañana, la segunda parte de la primera lección.

  4. Es muy acertado que hables de los bugs pero deberías recordar que si el programa falla, también puede ser problema del hardware conozco a uno que se reviso todas las lineas de código y no eran pocas y al final era que tenia una clavija desconectada.

  5. jajaja, tienes toda la razón kidonis… hombre, se supone que el hardware es de Apple (quiero seguir pensando que no falla nunca, jaja). Además ya sabéis eso de que el sonido de arranque del ordenador es realmente un sonido de confirmación de que el hardware está bien. Vamos, que si no suena el Boong ese del principio es que el hardware está mal.

    Pero es verdad, si falla la caja por mucho que revises los bugs (conocido como hacer ‘debug’) algo no funcionará. Buena apreciación. Gracias amigo.

  6. Este fin de semana en AppleNeXt.com publicaremos un PDF que hemos preparado con todo lo que hay que saber para empezar a Programar en Mac, no os lo perdáis!

    Es un resumen de todos los temas introductorios sobre Programación en Mac y aprender a Programar Apps para el iPhone.

    Lo publicaremos el viernes probablemente.

  7. Me encanta cómo lo estáis haciendo. Fantástico tutorial. Como prometisteis, no dais nada por sabido y con mis casi nulos conocimientos de programación, me estoy enterando de todo.

    Por cierto, he visto una errata: “el código será siempre diferenciará entre mayúsculas y minúsculas”. Es una frase que no tiene sentido. Está justo después de [2]. Supongo que sobra el “será”.

    Cualquier otra errata que vea os la comentaré. Es lo menos que puedo hacer para agradeceos vuestro trabajo.

  8. GRACIAS, GRACIAS, GRACIAS, muy bien explicado.

  9. Estoy muy contento de haber encontrado este espacio y este tutorial. He estado pensando en conseguir este ano mi primer Mac espero una Pro y saber de su website me anima a aprender mas sobre apple sus xomandos y ahora crear con apple. Finalmente espero hacerles saber que hare todo lo posible por tener donde practicar lo que con tanta amabilidad nos brindan. Saludos desde MExixo capital amigos. Sere un gran principiante gracias por su time.

Trackbacks

  1. Aprende a programar Javascript en tu Mac | AppleNeXt

Leave a Reply