QUIERO SER PROGRAMADOR

1 mar 2017

Después de algunos años desde que comencé a aprender a programar, he decidido intentar dar algunos consejos y explicar por dónde empezar para convertirte en programador. Debo decir que no soy un programador demasiado avanzado todavía y puede haber algunos puntos que se puedan mejorar, después de todo, sólo quiero compartir el camino que he seguido hasta ahora.

Habrá muchas preguntas que puede que te hagas durante todo el camino que recorrerás hasta que te conviertas en programador, tales como: "¿Cómo se come esto?", "LOL, ¿por qué estoy usando esto?", "No sería más fácil usar esto otro... ? " o "¿Por dónde empiezo?". Es esta última pregunta la que te debes estar haciendo y la que resolveré en esta entrada.

Cuando me lo pregunté por primera vez tenía la intención de hacer un videojuego. Lo primero que hice fue descargar Microsoft XNA y ... bueno, ¡de cabeza a la aventura! Comencé a aprender C# leyendo su documentación e hice un Space Invaders bastante simple. Dejé el proyecto porque se me hizo pesado y empecé con Game Maker. Creo que fue una muy buena decisión. Con Game Maker no aprendí ningún lenguaje de programación, pero aprendí su lógica y, para empezar, es lo mejor que puedes aprender. Estuve 2 años más o menos desarrollando algunos juegos "casuals" en GM, pero nada serio.

Entonces, en 2013, cuando comprendía y estaba familiarizado con la lógica de programación, decidí que era el momento de aprender un lenguaje de programación. Ese fue el momento en el que me hice la pregunta del inicio de la entrada: "¿por dónde empiezo?". Entonces, pensé: "Si quiero aprender algo, primero tengo que saber cuántas opciones hay y evaluar cuál es la mejor". Seguidamente busqué con qué lenguaje de programación debía empezar y di con "Python" debido a sus posibilidades y "potencia". En ese momento me pregunté otra vez la misma pregunta pero esta vez no sabía la respuesta. Tuve la suerte de que un amigo me envió un curso en línea donde llegaría a aprender HTML, CSS, un poco de JAVASCRIPT y PYTHON.

Bien, tal vez mi historia no te sirva de mucho, pero creo que es interesante conocer el camino que han seguido otras personas como yo. Me centraré en esta última parte puesto que la respuesta a la pregunta está en ella. De todos modos, quiero enfatizar los 2 años en los que estuve usando Game Maker.

Si eres principiante y no sabes nada sobre programación ni su lógica, te recomiendo que comiences desarrollando algunos juegos o aplicaciones con aplicaciones de desarrollo con entorno gráfico como pueden ser Game Maker, si quieres desarrollar juegos, o App Inventor, si prefieres desarrollar aplicaciones para Android. Aquí tienes los enlaces para descargarlos:
- Game Maker: http://www.yoyogames.com/studio
- App Inventor: http://www.appinventor.org/
Estas aplicaciones te permiten programar sin saber ningún lenguaje de programación (Qué ironía, ¿verdad? Ya te darás cuenta de que no lo es.). Es como hacer puzzles y ... ¡Es divertido!
Recuerda que el paso por este tipo de desarrollo es temporal, exactamente hasta que te familiarices con las lógicas de programación.

Una vez que estés familiarizado con la lógica de programación, lo siguiente que puedes hacer es aprender llevando a cabo un curso en línea, pero primero tienes que elegir un lenguaje. El más apropiado depende de lo que quieras hacer, así que aquí tienes algunas opciones.

- "Quiero desarrollar videojuegos": Bueno, te interesa aprender C#, lenguaje usado en muchos motores de juego y similar a JAVA. También es bastante recomendable C++, usado en motores como Unreal Engine.
- "Quiero desarrollar aplicaciones móviles": Entonces te interesa aprender JAVA y, como he dicho, es similar a C#.
- "Quiero desarrollar páginas web": Muy bien, es más fácil de lo que piensas. Tienes que aprender HTML y CSS, ambos son lenguajes muy fáciles. Posteriormente ya te tienes que embaucar en JAVASCRIPT que...
- "No me importa (o no lo sé todavía), quiero programar": Está bien, entonces te recomiendo Python. Como ya he explicado en mi historia, es un lenguaje potente y útil para muchas cosas.

El siguiente paso es buscar un curso del lenguaje que elijas. Aquí te dejo algunas recomendaciones de los cursos que puedes hacer.

- Para C # puedes empezar a ver este curso: https://www.youtube.com/playlist?list=PL7rVTwUzzPyJs6bfjFYRSVzOs_nnWuUqy
- Para JAVA te recomiendo encarecidamente que sigáis este (es un curso sobre desarrollo de apps para android en el que enseñan XML y JAVA): https://www.udacity.com/course/android-development-for-beginners--ud837
- Para python te recomiendo codecademy.com

Completar algunos de estos cursos te hará capaz de iniciar tu fascinante aventura en el mundo de la programación y de comenzar cualquier proyecto que tengas en mente. Pero tienes que tener en cuenta una cosa: esos cursos solo te enseñan lo básico, para aprender más la mejor manera es haciendo tus propios proyectos y buscando lo que no sabes / lo que necesitas, es decir, con la experiencia.
Otra cosa que debes saber es que cuando ya sabes un lenguaje puedes aprender fácilmente otro nuevo. Por lo tanto, no importa si tu elección no ha sido la más acertada, siempre serás capaz de aprender un nuevo lenguaje más rápido ;).

Y nada más, creo (y espero) que he aclarado tus dudas. Si no, puede ponerte en contacto con nosotros en twitter (@inphyxstudios) o por correo electrónico (contact@inphyx.com). ¡No dudes en dejarnos tu opinión!

¡Saludos!
- Sergi [Atenrev: @AtenrevCode]

Read more ...

I WANT TO BE A PROGRAMMER

17 sept 2015
After some years (one year seriously) since I started to learn programming I decided to try to give you some tips and explain you where to start to become a programmer. I must say that I'm not an advanced programmer yet and there may be some points that can be improved, after all, I only want to share with you the way I followed so far.
There will be many questions that you may ask during all the way until you become a programmer such as: "What's the point?", "LOL, why am I using this?", "Wouldn't be easier using this...?" or "Where do I start?". And is this last question the one that you may be asking right now and it's the one I'm solving in this post.
When I asked this question for the first time I was intended to make a videogame. The first thing I did was to download Microsoft XNA and... well, head for adventure! I started to learn C# reading its documentation and I did a very simple space invaders. I left the project because it became heavy and I started with Game Maker. I think it was a great decision. With Game Maker I didn't learn any language but I learnt their logic, and, to start, it's the best you can learn. I spent 2 years more or less developing some casual games in GM, but nothing serious.
Then, in 2013, when I understood and I was familiar with the programming logic, I decided it was the moment to learn a programming language. That was the moment I asked the question "where do I start?". So, I thought: "If I want to learn something first I need to know how many options there are and which is the best one.". Then I searched with what programming language should I start and I found "Python" due to its possibilities and powerful. At that moment I asked again the same question but this time I didn't know the answer. I had the luck that one friend sent me an online course where later, I learned HTML, CSS, and a little of JAVASCRIPT.
Okay, maybe my story is not useful at all but I think it's interesting to know the way that has followed other people like me. I'll focus in this last part because  the answer to the question is in it. Anyway, I want to emphasize the 2 years spent on Game Maker.
If you are beginners and you don't know nothing about programming nor logic I strongly recommend you to start by developing some games or apps with environment developing applications like Game Maker, if you want to develop games, or App inventor, if you prefer to develop on android. Here you have the download links:
Those applications let you program without using a programming language. Is like making puzzles and... It's funny!
Remember that it's provisional until you familiarize with programming logics.
After being familiar with programming logics, the next thing you can do is to learn doing an online course but first you have to choose a language. Which one you should choose depends on what you want to do, so here you have some options.
- "I want to develop videogames": Okay, you would like to learn C#, it's a language used in many game engines similar to JAVA.
- "I want to develop mobile apps": Then, you would like to learn JAVA, and as I said, it's similar to C#.
- "I want to develop websites": Sure, it's easier than you think. You have to learn HTML and CSS, each are very easy languages.
- "I don't care (or I don't know yet), i want to program": Well, then I recommend you python, as I told on my story, it's a powerful language and it's useful for many things.
The next step is to look for a course of the language you choose. Here I leave you some recommendations of which courses you can do.
- For JAVA I highly recommend you to follow this (it's a course about android development but they teach XML and JAVA): https://www.udacity.com/course/android-development-for-beginners--ud837
- For python I recommend you codecademy.com
Completing some of this courses will make you able to start your adventure and start any project you have in mind. But you have to keep in mind this: those courses only teach you the basics, to learn more the best way is by doing your own projects and searching for what you don't know/you need.
Another thing you should know is that when you know a language you can easily learn a new one. So, don't care if your election was wrong, you will be able to learn a new language faster ;).
And nothing more, I think that I cleared your doubts. If not, you can contact us on twitter (@inphyxstudios or via email contact@inphyx.com). Feel free to leave your opinion!
Cheers!
- Sergi [Atenrev: @AtenrevCode]


Read more ...

WELCOME TO INPHYX BLOG

19 jul 2015
Hey there! We are happy to announce that we've launched a blog where we will write about the way we are following to achieve our objectives, tecnology and other interesteing stuff.

We think that it's interesting for the people who are following us to know how we work and what we think through the way. Also, we will publish and share with you the knowledge we acquire so you can learn with us.

The first post that we've posted is about the way that our programmer has followed since he decided to be a game developer. He will tech you what to do if you want to learn to program and he will give you some tips.

We hope that you enjoy this journey as we do, because it's what we want!

Cheers.
Read more ...