Metodo para aprender a programar.

Para programar solo hace falta ser medianamente inteligente, las matemáticas y el ingés no inlfuyen en nada.

Ten en cuenta que lo que tienes que programar te lo dan mascadito los analistas.

Eso de los analistas varía según el sector y la empresa donde se esté. En algunas partes (o para algunos problemas con naturaleza mal definida) el programador ha de ser analista y en parte arquitecto. De hecho, gracias a Dios, nunca he encontrado ese modelo de programador que solo rellena los huecos.

Por eso es importante el inglés (para formarse) y un mínimo conocimiento de matemáticas.
 
Pero entonces QUE deberia empezar a hacer alguien que no tiene NI fruta IDEA de programar.

Depende principalmente de las motivaciones que tenga. Aparte, dentro de "programar" hay muchísimos niveles.
 
Voy a recomendar algo, desde el punto de vista de un teleco (técnico) al que no le desagrada programar pero que es muy malo en ello y jamás podría ganarse la vida haciendo desarrollos.

Empieza por los fundamentos; Lógica. Que sepa qué es un estado Verdadero, uno Falso. Que conozca qué es una disyunción, una implicación, inferencias, comparaciones, etc Eso te prepara la cabeza.

Que se instale Linux, una Ubuntu o Mint que son las más user friendly. Linux si quieres hacer las cosas bien, te obligará a saber algo de programación. Su shell Bash para alguien que jamás programó nada, da para mucho. Aquí tienes una buena referencia al respecto Advanced Bash-Scripting Guide. Linux también suele venir con Perl, Python y varios lenguages de scripting (interpretados, no compilados) de serie. Con esta shell puedes automatizar muchas tonterías; borrados de archivos, copias de seguridad, envío de correos, etc. Con esto tienes para enterarte de qué es un array, bucles, variables, constantes, operadores, etc

A partir de ahí, pues Perl es muy útil para trabajar con cadenas de texto, PHP está difundidísimo para desarrollo web, Python, etc

Si lo que quiere es hacer cositas para el windows desde ya, Visual .NET
 
Pero entonces QUE deberia empezar a hacer alguien que no tiene NI fruta IDEA de programar.

Depende principalmente de las motivaciones que tenga. Aparte, dentro de "programar" hay muchísimos niveles.

Exacto. Que diga qué interés tiene en la programación para que alguien le de una opinión más personalizada. Unos posts antes alguien ha hablado del sector GIS (software topográfico, navegadores para coches, etc, creo). Como no conozco ese sector, no doy mi opinión, y además ya le han recomendado cosas otros programadores en su mismo trabajo.
 
Refloto el tema porque veo mucho nivel y gente que controla bastante, pero os rogaria que aconsejarais algo para un novato y s puede ser paso a paso mejor.

Se trata de empezar a hacer programillas, pillar a logica y avanzar poco a poco.

Ahora imaginaros que empezais de cero y vista la experiencia que recomendariais, ejemplo:
Primero pseudocodigo, segundo un lenguaje, etc.

Si ya poneis links con documentacion seria la leche.

Un saludo.
 
yo "programaba" en bath y de ahí no pasé pero me dió para montar un par de bichito, qué tiempos aquellos
 
Hoy en día lo que importa es la productividad, no lo friki que seas. Para gestión lo mejor Microsoft .NET y en concreto Visual Basic .NET.
 
Hay tantas opiniones como culos. La mía es que a programar se aprende programando.

Comenzar con libros como "How To Design Programs" o "Structure and Interpretation of Computer Programs" o la "Metodología de la programación" y leerlos de principio a fin es un camino por supuesto pero para gente muy centrada que no se desanime con facilidad. Depende como sea el autodidacta...

Así que descartando este enfoque creo que lo mejor es ponerse a hacer código desde prácticamente el primer día. El mejor lenguaje para aprender probablemente sea Python - Python Programming Language – Official Website - Puedes empezar simplemente descargándote Python y utilizando el notepad/notepad++/ultraedit para escribir el código. Más adelante podrías descargarte el IDE de Python.

Hay un millón de libros pero creo que uno bueno para empezar es:
"Python Programming: An Introduction to Computer Science" de John Zelle.
web con recursos de descargas del libro: http://mcsp.wartburg.edu/zelle/python/

y en paralelo puedes mirar esto que creo que va como anillo al dedo para ir haciendo mini-aplicaciones cada poco tiempo a la vez que se va aprendiendo:
Invent Your Own Computer Games with Python


Además en la web hay millones de enlaces que te pueden servir. Google es tu amigo.
Ejemplos:
A Gentle Introduction to Programming Using Python | Electrical Engineering and Computer Science | MIT OpenCourseWare
que enlaza al libro http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy.pdf

Otra web
Learning to Program

o esto:
Python

y por supuesto todo la documentación oficial de Python + cualquier otro libro que encuentres y te guste.

=======================

Una vez hayas finiquitado el material de arriba te aconsejaría que te interesaras por los patrones de diseño (design patterns). Me parece excelente (aunque los ejemplos estén en java) para un principiante este: "Head-First Design Patterns". La razón: los libros de Head-First son libros entretenidos de leer, nada "académicos".

En esta segunda fase quizá sea un buen momento para comenzar a trastear con java. En la línea del anterior: "Head First Java"

o uno de estos más "serios":
"Thinking in Java"
"Effective Java 2ed"

--------------------

Lo de los patrones de diseño te lo decía porque te debería valer para cualquier lenguaje y saber algo de java nunca es una mala idea.

=======================

Aparte, en cualquier momento como recursos genéricos tienes

Tutoriales + código fuente
SourceForge - Download, Develop and Publish Free Open Source Software

Web de preguntas/respuestas
Stack Overflow

========================

Por último libros que creo que cualquier programador debe leer sí o sí (para más adelante):

"Code Complete"
"The pragmatic programmer"

y hay muchos más, me vienen a la cabeza los de Martin Fowler, pero ya dependerá de lo cómodo que te sientas cuando llegues a este punto y de cuales sean tus objetivos. A lo mejor te interesa la programación web, a lo mejor quieres ir duro a aprender C, quizá te interese alguna plataforma móvil (Android/IOS de apple). ¿Cual es el objetivo?

=========================

Lo dicho,
1. Bájate Python.
2. Escribe tu primer programa "Hello World".
3. Ejecútalo.

Con internet todo lo demás depende del tiempo que le eches.
 
Uno muy fácil: CFGSDAM

Programar es dar instrucciones a una máquina. No es tan complicado ni a bajo, ni a alto nivel.

Y teniendo en cuenta que la única manera de que una máquina decida que hacer es una expresión lógica booleana, programar se convierte en algo trivial.

Lo que pasa es que hay que echarle horas y bemoles. Recursos tienes millones en la red. Pero si crees que viendo un par de vídeos/artículos aprenderás a programar, va a ser que no.

Empieza aprendiendo C y después java. Quién no sabe manejar punteros no debería manejar referencias a objetos (que son en esencia lo mismo).
 
Uno muy fácil: CFGSDAM

Programar es dar instrucciones a una máquina. No es tan complicado ni a bajo, ni a alto nivel.

Y teniendo en cuenta que la única manera de que una máquina decida que hacer es una expresión lógica booleana, programar se convierte en algo trivial.

:)) :)) :XX:
:roto2:
 
Volver