Mostrando entradas con la etiqueta programar. Mostrar todas las entradas
Mostrando entradas con la etiqueta programar. Mostrar todas las entradas

jueves, 8 de septiembre de 2011

Aprender lenguajes de programación

Para quienes comienzan a aventurarse en el mundo de la programación hay ciertos puntos que les pueden ayudar:

1.- Diagramas de flujo: Si bien es algo latoso hacerlos (tareas, clases, etc.) no significa que sean inútiles. La mayoría de las empresas que se dedican a desarrollar aplicaciones hacen los diagramas de flujo (de X aplicación) por mucho tiempo antes de siquiera sentarse a programar. No significa que uds. lo requieran pero es una buena costumbre. Lo primordial de un diagrama de flujo es precisamente entender paso a paso todas las acciones que se ejcutarán desde que inicia el programa. Al entender este flujo entenderán en realidad como se procesa la información por las computadoras y podrán desarrollar mejores aplicaciones libres de bugs.

2.- Controles de estructura, loops, signos de comparación y palabras reservadas: Son escenciales en todo lenguaje de programación así que son de las primeras cosas que deben aprender y memorizar (en más fácil de lo que creen).

3.- Variables: Aprendan todo lo básico de las variables, desde los distintos tipos hasta la forma correcta de declararlas. Los ámbitos (global ó local) de las variables también son importantes porque les ayudarán a que sus códigos se ejecuten más rápido.

4.- Funciones: Aprender a crear sus propias funciones les ayudará a ahorrar líneas de código y a ejecutar más rápido sus funciones. Eso de escribir series líneas de código idéntico en distintas zonas de su aplicación no es óptimo.

5.- Por último serían las funciones propias del lenguaje de programación.

Conforme más programemos en X lenguaje más rápido memorizaremos lo anteriorente mencionado.

Si ya se conoce por lo menos 1 lenguaje de programación de alto nivel será mucho más fácil aprender el resto.

martes, 3 de agosto de 2010

Un poco de la vida de un programador

A lo mejor nadie, o casi nadie, se pregunta como es la vida de un programador, un cracker o un hacker pero me permito abrirles un poco la perspectiva. En mi persona aplica lo de programador.

Comenzaré diciendoles que si programar se trata de una actividad secundaria (como es mi caso), es decir que no es de lo que vivimos, es muy seguro que las horas de descanso (dormir) sean realmente pocas. Esto porque aparte nuestras actividades cotidianas debemos darle un espacio y tiempo de concentración a lo que estamos programando y por ende suele ser toda la madrugada.

Es duro ciclarte a veces en una parte de lo que estas programando porque no funciona como debiera, pero en innumerables veces suele ser porque estamos agotados y no tenemos ya la claridad para resolverlo en ese momento. Irnos a descansar suele ser la solución pero a costa de un mal descanso, ya que en mi caso cierro los ojos y vuelvo a ver la pantalla de la computadora en mi mente y sigo trabajando en el código. Para cuando despierto solo hacen falta 5 minutos para resolver lo que unas horas antes parecía imposible. El precio...adios al descanso real ya que dormimos pensando en programación y luego de un par de horas despertamos igual (así es, casi no dormimos). Cuando existen algunos fines de semana y es tanta nuestra adicción a programar es que podemos quedarnos frente a la computadora por horas (lo más que me he quedado han sido 17 horas sin dormir) y a veces ni queremos comer con el fin de no distraernos y no perder lo que tenemos construido en nuestras mentes.

Otra parte desagradable es el no poder concentrarse en el código por factores externos como pueden ser que alguien tenga la música a alto volumen o que simplemente te hablen y te distraigan por unos segundos. Eso realmente es irritante ya que los demás no saben que en nuestras mentes tenemos que pensar e ir procesando el código que escribimos tal cual como lo haría la computadora y con un poco de distracción a veces perdemos el hilo (cuando estamos sobre todo más cansados). Esta es otra razón por la cual también prefiero programar de madrugada o con audifonos (con supresión de ruido) a todo lo que dan.

La parte buena es que conforme más aprendemos (sobre todo de errores) mejores cosas podemos lograr. También es excelente el sentimiento de satisfacción cuando ves que vuestro programa es tan útil que tienes seguidores que aportan grandes ideas para su desarrollo ya que te llevan a fronteras que jamás imaginaste.

Para el caso de un cracker en mi poca experiencia sólo les puedo decir que es un tanto más difícil en un principio ya que con el tiempo te acostumbras tanto al ASM que muchas veces preferirás ASM un decompilador mal logrado (como el rec22). Pero aun con eso sigue siendo complicado el hacer ingeniería inversa y sobre todo con factores como los anteriormente mencionados.

Cuando pasas demasiado tiempo aprendiendo el código en ASM de un X programa puedes llegar a entender como trabaja la mente de quien lo programó y aun mejor puedes llegar a hacer reingeniería como tus propios updates o mods con funciones totalmente nuevas o diferentes a lo que una aplicación original puede ofrecerte.

Bueno, suficiente de quejas...Ahora si seguiré viendo unos pendientes hehe.