View Full Version : Aprendamos a programar
Warrior_oF_Byte
21-05-2005, 03:58 AM
Bueno aca les dejo mi aporte como programador... si les gusta la idea sigo con los ejemplo :D
Empecemos, programar... ¿qué es?, para algunos un hobby, para otros trabajo, para mi las dos cosas... pero en si que es programar.. programar no es ni mas ni menos que saber encontrar la resolucion a un problema determinado, sabiendo los pasos a seguir..
Bueno sabiendo esto me gustaria dar a conocer un poco de informacion sobre como iniciarse en la programacion... sobre como pensar para programar.. seguramente al principio les parecera un tonteria pero a la larga se complicaran las cosas..
Si tenes pensado aprender a programar algun lenguaje primero aprende a programar, lo importante no es saber 5 lenguajes diferentes, lo importante es saber programar..
Resolucion de Problemas
=======================
Vamos a considerar cuatro etapas para la resolucion de problemas, esto es:
1) El problema debe ser formulado en forma correcta,completa y sin ambigüedades.
2) La eleccion de un metodo o procedimiento para hallar la solucion del mismo.
3) esta etapa se llama CODIFICACION, consiste en expresar el metodo o procedimiento elegido de forma tal que pueda ser interpretado por el procesador que va a utilizarse
4) Esta es la etapa de EJECUCION del procedimiento elegido para obtener la solucion del problem
Veamos el siguiente problema.
ENUNCIADO 1
~~~~~~~~~~~
Preparar una tortilla de papas de tres huevos.
Dificil no? jeje... quedese tranquilo es el foro de programacion... No de cocina...
El enunciado de este problema basta para que por ejemplo, si el procesador es un cocinero experto, éste lo pueda resolver el problema enunciado, sin informacion adicional alguna pero, si éste no es el caso debemos describir los pasos necesarios para realizar la preparacion. Esta descripcion puede ser:
t1. mezclar papas, huevos, y una pizca de sal en un recipiente
t2. freir
Esto podria resolver el problema, si el procesador o ejecutor del mismo, no fuera una persona que da sus primeros pasos en tareas culinarias, que ya que el procedimiento presupone, tambien muchas cosas, en la forma que esta el enunciado.
Si este problema debiera resolverlo uan persona que bno sabe cocinar ( yo por ejemplo )debemos detallar cada uno de los pasos mencionados, pues estos no son lo bastantes simples para un principiante. Con este ultimo objetivo, procederemos a especificar los detalles de cada uno de los pasos. Asi, el primer paso 't1', puede descomponerse en los siguientes cuatro:
¬ t1.1 cortar als papas en laminas
¬ t1.2 dorar las papas
¬ t1.3 batir los huevos en un recipiente
¬ t1.4 verter las papas en el recipiente y echar una pizca de sal
El segundo paso, 't2', puede descomponerse en los siguientes tres
¬ t2.1 Calentar el acite en la sarten
¬ t2.2 verter el contenido del recipiente en la sarten
¬ t2.3 dorar la tortilla de ambos lados
Si, por ejemplo, el procesador fuera un niño, la tarea t1.3 "batir los huevos en un recipiente", puede no resultar suficintemente explicita, debiendose entonces, descomponer la accion en:
t1.3.1 poner los tres huevos sobre la mesada
REPETIR
t1.3.2 tomar un huevo de la mesada
t1.3.3 cascar el huevo y verter su contenido en el recipiente
t1.3.4 tirar las cáscara en el recipiente de residuos
HASTA QUE no haya mas huevos sobre la mesada.
Las tareas t1.3.2, t1.3.3 y t1.3.4 se repiten hasta qeu la condicion sea verdadera, en este caso, tres veces.
El Paso t1.2 puede, tambien, descomponerse.
t1.2.1 colocar las papas en el recipiente
SI las papas estan doradas
Entonces
t1.2.2 retirarlas
SINO
t1.2.3 dejarlas un tiempo mas
FinSI
Con esto, aparece otro concepto importante: el concepto de la decision. La capacidad de decicsion permite diferir la seleccion de alternativas de accion, hasta el momento de la ejecucion. Segun sea la condicion, Satisfecha o no, se ejecuta una accion u otra.
Además, debemos tener en cuenta, para la fomulacion de este procedimiento, si contamos con el ambiente necesario para su ejecución:
a)Ingredientes: huevos, papas, sal y aceite
b)utensilios de cocina: recipiente, batidor o tenedor y sarten.
Bueno espero que hayan capatado la onda de lo que es programar...( o al menos como se hace un tortilla ) este solo fue el principio.
Espero que les guste y les sea de utilidad
Speed of Light
27-05-2005, 10:44 AM
Porque siempre se empieza con el ejemplo de la tortilla???
Programacion en una palabra que se puede extender hasta el infinito. Encierra muchos significados, metodologías, criterios, capacidad de razonamiento, sensatez y sencillez, eficiencia, creatividad, demencia, y hasta sentimientos.
Es mi caso es mas que un trabajo.....llega a ser como una pasión, porque de esa forma me dispongo al momento de desarrollar. Porque al producto final es mas que el fruto de un esfuerzo.....es como ver a un hijo nacer....es como jugar a ser dios y crear criaturas con vida propia (limitada, pero vida al fin)
Muy buena tu primer acercamiento a la programacion Warrrior!?!?!
Me hace acordar aquel primer año, donde metódicamente aprendimos a cambiar lamparitas, y en fin a desarrollar algoritmos lógicos a travez de algun tipo de diagramación. Esa es la primer etapa de aprendizaje. Comenzar por reconocer un problema, plantearlo, y a partir de alli reconocer las estructuras que te permitan dar una solucion. ABRIR LA MENTE y formar un buen criterio
Despues se podría volcar la solucion planteada a un cierto lenguaje que se elija. Y un buen programador no es el que mas lenguajes sabe, o el que mas sepa de algun lenguaje en particular, sino aquel que conociendo los fundamentos de un lenguaje y aplicando un buen criterio sabe donde encontrar el metodo mas apropiado
Criterio.....puro criterio
nfomatias
07-10-2005, 09:39 AM
Una cosa es aprender a programar y otra es aprender lenguajes de programación.
Lo importante es aprender a programar. Con esto aprendés como debe ser la lógica de un programa. Fundamentalmente hay que aprender las estructuras básicas (if, while, for). Luego estas estructuras pueden aplicarse a casi cualquier lenguaje.
Acá tienen un par de tutoriales http://www.manuales-gratis.com/manuales/programacion.html
saludos,
nfo
Speed of Light
07-10-2005, 10:18 AM
tuvieron que pasar 5 meses para que aparezca otra respuesta en este tema!!! :D
Vos sos programador o analista o algo de eso???
En que lenguajes andás metido???
Yo en realidad manejo VB 6 , sobre todo lo que es acceso a datos......pero mi idea es irme de a poco a .NET. Al principio el cambio es un poco brusco, porque te encontrás con una forma de programar, quieras o no, orientada completamente a objetos.....y no es que en VB 6 no haya tenido contacto con clases y objetos, ahora es algo ineludible. Ni que hablar que ADO.NET se hizo mucho mas complejo que su antecesor
En fin.....me está costando un poco dominar por completo el lenguaje......:p
javier
08-10-2005, 10:00 AM
Interesante y lindo tema para discutir un largo tiempo.
orchiz87
08-10-2005, 12:28 PM
Jojo la primera vez ke habo este thread...groxo los programadores ke se encuentren en el foro podrian mandar todo lo ke kieran sobre el tema o escribir o intercambiar ideas entre ellos ya ke asi nos. leemos y vamo aprendiendo :P la verdad los planteos de problemas no son mi fuerte y mucho menes plantear un diagrama para resolverlo :P yo veo ke onda con el problema y lo ke sale sale :p lo resuelvo de la manera mas practica ke encuentre en el momento por lo tanto...no creeo tener la capacidad nesecaria para programar :D
nfomatias
11-10-2005, 11:55 AM
tuvieron que pasar 5 meses para que aparezca otra respuesta en este tema!!! :D
Vos sos programador o analista o algo de eso???
En que lenguajes andás metido???
Yo en realidad manejo VB 6 , sobre todo lo que es acceso a datos......pero mi idea es irme de a poco a .NET. Al principio el cambio es un poco brusco, porque te encontrás con una forma de programar, quieras o no, orientada completamente a objetos.....y no es que en VB 6 no haya tenido contacto con clases y objetos, ahora es algo ineludible. Ni que hablar que ADO.NET se hizo mucho mas complejo que su antecesor
En fin.....me está costando un poco dominar por completo el lenguaje......:p
Por eso es mejor que aprendas el paradigma orientado a objetos antes de meterte en .net.
En .net tiene infinitas ventajas pero hay que saber utilizarlas. Yo tampoco lo manejo bien el .net pero es cuestion de ir haciendo cosas de a poco.
saludos,
nfo
Speed of Light
11-10-2005, 12:06 PM
Tengo algo de teoría de objetos, pero no demasiada (encapsulamiento, herencia, clases y esas cosas), pero es cierto, si realmente querés entender el xq del .NET es cuestion de dominar bien todas esas tecnicas. Porque ya desde el vamos te encontrás con código cuando simplemente agregas un formulario al proyecto o solución....y ya no es más transparente para el programador, ahora cada control que se utiliza no se hace mas que crear una instancia de la clase y una herencia de toda su funcionalidad
Un verdadero quilombo!!
Si están en una posocion parecida e la mía, intercambiemos algunas experiencias aunque sean medio *******. Por ej. ahora estoy tratando de hacer unos AMB con acceso ADO.NET. Vamo a ver que sale!!
salu3
nfomatias
12-10-2005, 01:36 PM
Suerte en tu proyecto y si tenes alguna duda avisanos que trataremos de resolverla.
LorD_NikoN
14-10-2005, 10:54 AM
Buenas, che que paso con la tortilla??? no vamos a ver algo que le diga a la tortilla que se corte en 12.356 pedazos o algo asi jejeje
no en serio disculpen que entre asi de guapo pero vengo hace un tiempito intentando meterme en programacion leyendo pidiendo consejos y orientacion... y bueno vi el thread me meti y aprendi a hacer una tortilla en ascii ^^ :P
pero me interesaria que si tienen mas de ese tipo o nivel de meterial para ofrecer que lo posteen o manden links... taria bueno que no se desvirtue el thread y que realmente se llene de material para aprender a programar...
Mi intencion es APRENDER A PROGRAMAR y luego aprender java programacion orientada a objetos.. con lo que sea que me puedan orientar/ayudar/aconsejar les voy a estar mas que muy agradecido.
de momento Saludos y hasta la prox.
GamBiT
No_Carrier
nfomatias
16-10-2005, 10:50 AM
Lord,
Hoy en día hay dos paradigmas de lenguajes de programación mas utilizados. Un paradigma es la programación estructurada (código lineal con llamadas a funciones), y el otro paradigma (mas utilizado por sus ventajas que provee) es la programación orientada a objetos (lo vas a ver también como como OOP que significa Object-Oriented Programming).
Para dar tus primeros pasos lo primero y principal es que aprendas programación estructurada ya que la programación orientada a objetos es un paradigma posteriór y es un poco mas complicado porque tenes que aplicar varios conceptos (herencia, polimorfismo, bindin dinamico, etc.) en cambio la programación estructurada viene a ser como la preparación de una receta de cocina como el problema del primer post.
Aprender programación estructurada NO SIGNIFICA que tengas que aprender un lenguaje de programación. Primero aprendés a programar y luego aplicas la lógica a cualquier lenguaje de programación estructurada que exista. Porqué es importante esto? porque haciendo estos pasos que te digo te independizas del lenguaje de programación y luego podes aplicar lo que sabés a cualquiera de ellos.
Para empezar te tiro un tutorial que lo vas a encontrar aca:
http://www.monografias.com/trabajos/progestructu/progestructu.shtml
Y con este search que hice en google tenes muchos mas recursos:
http://www.google.com.ar/search?q=tutorial+%22programacion+estructurada%22&sourceid=firefox&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:es-AR:official
Espero que te haya servido,
saludos,
nfo
LorD_NikoN
17-10-2005, 11:52 AM
Un respueston el suyo nfo la verdad que muy interesante y util la data... entiendo lo que me decis de no iniciar intentando aprender leguaje sino a programar en si sabia de la existencia de este tipo de estructuras y un poco de su importancia... estoy leyendo lo que me pasaste en links y tratando de buscar un poco mas que hile con el tema... mas adelante si no molesto vengo a preguntar otras cositas.... como que pasa depues de que uno entiende el concepto de programacion estructurada... pero bueno por ahora ya tengo un pequeño pasatiempo depues volvere a preguntar... Gracias de nuevo che y salutes!!!
muy buena onda !! :aplausos:
nfomatias
18-10-2005, 12:58 PM
No hay de qué. Me alegra que te haya servido lo que escribí.
Saludos,
nfo
yanito
23-04-2006, 04:24 PM
a mi me gustaria mucho aprender a programar
yo trabajo haciendo paginas web y la parte programacion es la qiue mas me cuesta, por ser algo tan abstracto
se que para esto se tendria que aprender primero a resolver algoritmos , no?
A mi, en la facultad asi me enseñaron, eso al menos, pero la verdad que los que me explicaban eran una piedra y termine odiando la programacion y hoy en dia uso ejemplos y trato de adaptarlos en la medida de loposible.
pero lo ideal seria poder resolver yo las cosas.
lo que mas usaria: actionscript, php, html ...en si, todo lo que sea web.
espero que este thread siga asi me pongo las pilas
gracias
Homeronte
20-05-2006, 12:08 AM
a mi me gustaria mucho aprender a programar
yo trabajo haciendo paginas web y la parte programacion es la qiue mas me cuesta, por ser algo tan abstracto
se que para esto se tendria que aprender primero a resolver algoritmos , no?
A mi, en la facultad asi me enseñaron, eso al menos, pero la verdad que los que me explicaban eran una piedra y termine odiando la programacion y hoy en dia uso ejemplos y trato de adaptarlos en la medida de loposible.
pero lo ideal seria poder resolver yo las cosas.
lo que mas usaria: actionscript, php, html ...en si, todo lo que sea web.
espero que este thread siga asi me pongo las pilas
gracias
Si usas vbscript o javascript necesitas a full conceptos de objetos si queres laburar bien... con php podes zafar un poco ya que es mas estructurado aunque las versiones nuevas ya permiten una orientacion mas a objetos...
EDIT: Que hay que hacer para ser miembro de nak? :D
Dargor
27-07-2006, 07:01 PM
jajajaja
basta de copiar fotocopias pedorras.
No se si a warrior o a speed le enseñaron a cambiar la rueda de un auto.
jajajajaja es muy salamero
1) Analisis de la situación
2) Propuesta de solución
3) Diseño de solución
4) Codificación de la solución
5) Testeo de la solución
6) Puesta en marcha
En muy "ciclo de vida" pero........
salu2
LeoY2K
27-07-2006, 08:46 PM
jajajaja
basta de copiar fotocopias pedorras.
No se si a warrior o a speed le enseñaron a cambiar la rueda de un auto.
jajajajaja es muy salamero
1) Analisis de la situación
2) Propuesta de solución
3) Diseño de solución
4) Codificación de la solución
5) Testeo de la solución
6) Puesta en marcha
En muy "ciclo de vida" pero........
salu2
que buena entrada al foro que tuviste.. :rolleyes:
Requiem
17-08-2006, 12:24 PM
para los que quieran aprender:
http://foros.toxico-pc.com/showthread.php?t=1980
saludos!
Pervertido
08-12-2006, 12:04 PM
quiero aprender a programar, pero soy un novato total, que hago como me inicio que me aconcejas.
bye
cucuit
14-12-2006, 09:32 PM
aca le dejo un par de cosas que tengo de .Net usando c# y ado.net, un par de ejemplos y un par de guias que me dieron en la facu, estan bastante simples y completas...:cool:
http://rapidshare.com/files/7529971/Cosas_de_Net.rar
1) Analisis de la situación
2) Propuesta de solución
3) Diseño de solución
4) Codificación de la solución
5) Testeo de la solución
6) Puesta en marcha
En muy "ciclo de vida" pero........
salu2
es muy ciclo de vida de software... no nos vayamos de la programación por ahora, si no podriamos ponernos a hablar de ciclos interativos e incrementales y cosas por el estilo que no vienen mucho al tread
Cheppak
16-08-2008, 02:16 AM
quiero aprender a programar, pero soy un novato total, que hago como me inicio que me aconcejas.
Primero hay q tener UN PROBLEMA y saber "abstraerlo" (es la clave).
Una vez q tenes una idea del problema, planteas la solucion (determina la verdadera habilidad del analista/sujeto (a mi criterio))
Recien ahi viene la codificacion (aqui interviene el programador --> el obrero de tu solucion :) )
Podes plantear el problema de varias formas/maneras (paradigmas), q llevan a q la resolucion se implemente de diferentes formas (con lenguajes de programacion como C, java, etc)
Para mi la mejor forma de empezar a "programar" es (sobre todas las cosas) aprender a abastraer un problema, saber QUE tengo q hacer y COMO lo tengo q resolver, para luego leyendo los libros (o tutoriales por la red) ver la forma de implementar todo lo q hice anteriormente mediante un lenguaje de programacion adecuado (el q gustes).
Ojala no te halla embarrado mas la cancha :S
Tutoriales a montooones en google, uno de los conocidos: http://www.chuidiang.com/ (java y c)
Dark-Link
16-08-2008, 02:35 AM
Abstraer un problema no solo es lo mas importante, sino tambien "algoritmizarlo" :p.
Yo empece con unos apuntes y libro de Algoritmos, donde no te enseñan 1 lenguaje especifico, sino un "pseudocodigo" muy parecido a fortran o C que te obliga a pensar para resolver problemas.
Luego aprendi C muy facilmente (teniendo la base algoritmica, es sencillo aprender CUALQUIER lenguaje, salvando diferencias de sintaxis), tambien Java y ahora estoy empezando con .NET.
Es cuestion de abrir la cabeza y siempre tener en mente el algoritmo, el lenguaje es lo de menos :)... Como decia un profe de la facu, es como pensar, TODOS los humanos piensan, pero unos piensan en ingles, otros en español y otros en chino. El tema es aprender a pensar, luego si hablas en español o japones, es cuestion de practica ;)
rhpsystems
16-08-2008, 09:07 AM
Aprovecho el revival para expresar mi humilde opinión.
Si realmente a alguien le gusta programar, lo que tiene que hacer, siempre y cuando esté dentro de sus posibilidades, es estudiar en una universidad. Ahí es donde se enseñan los verdaderos conceptos y técnicas de programación que absolutamente ninguna monografía, "Aprenda Java en 21 días", "C for Dummies" o apunte te van a enseñar.
Fuera de eso, se puede practicar o tratar de hacer algo o incluso programarlo, pero eso no significa que vayamos a convertirnos en programadores. Para saber programar en serio hacen falta años de estudio y práctica. Con esto no quiero decir que nadie pueda programar sin estudiar, digo que son muy pero muy pocos los que logran hacerlo bien y de última terminan realizando algún estudio para perfeccionarse. No es tan sencillo como agarrar un Visual Studio, correr un asistente y tener una aplicación funcionando en 15 minutos. Este tipo de prácticas que implementó Microsoft es lo que llevó a que el 80% de los programadores no miren siquiera los cientos de líneas de código que genera un asistente y por ese motivo no sepan que hace ese código en realidad. Nunca se termina de aprender a programar por el simple hecho de nunca se termina de estudiar.
Ahora, a todos aquellos que se quieren meter en el mundo de la programación, mi recomendación es que no pongan "aprender a programar" en el Google y agarren el primer tutorial pedorro de los miles que hay dando vueltas. Es preferible que vayan directamente a los libros de verdad, a los que enseñan a programar en serio y dan pautas concretas y reales de cmo debe hacerse.
Saludos
Dark-Link
16-08-2008, 10:52 AM
Totalmente... es otro mundo la teoria atras de la programacion. Para algo hay carreras como Ing. en Programacion o Sistemas, esta ultima es la que estoy intentando termina :p
Phobia
16-08-2008, 02:50 PM
Aprovecho el revival para expresar mi humilde opinión.
Si realmente a alguien le gusta programar, lo que tiene que hacer, siempre y cuando esté dentro de sus posibilidades, es estudiar en una universidad. Ahí es donde se enseñan los verdaderos conceptos y técnicas de programación que absolutamente ninguna monografía, "Aprenda Java en 21 días", "C for Dummies" o apunte te van a enseñar.
Fuera de eso, se puede practicar o tratar de hacer algo o incluso programarlo, pero eso no significa que vayamos a convertirnos en programadores. Para saber programar en serio hacen falta años de estudio y práctica. Con esto no quiero decir que nadie pueda programar sin estudiar, digo que son muy pero muy pocos los que logran hacerlo bien y de última terminan realizando algún estudio para perfeccionarse. No es tan sencillo como agarrar un Visual Studio, correr un asistente y tener una aplicación funcionando en 15 minutos. Este tipo de prácticas que implementó Microsoft es lo que llevó a que el 80% de los programadores no miren siquiera los cientos de líneas de código que genera un asistente y por ese motivo no sepan que hace ese código en realidad. Nunca se termina de aprender a programar por el simple hecho de nunca se termina de estudiar.
Ahora, a todos aquellos que se quieren meter en el mundo de la programación, mi recomendación es que no pongan "aprender a programar" en el Google y agarren el primer tutorial pedorro de los miles que hay dando vueltas. Es preferible que vayan directamente a los libros de verdad, a los que enseñan a programar en serio y dan pautas concretas y reales de cmo debe hacerse.
Saludos
totalmente de acuerdo, se los dice un programador universitario :D
adrenalinaleo
16-08-2008, 04:08 PM
! el links no funca ¡
EmiSH77
17-08-2008, 12:35 AM
jeje me hicieron acordar a las clases de algoritmo en 1º dios que año :D
el de 2º no dio con un ñoca :p pero hasta ahi nomas
que buena revivida que le pegaron eh! xDDD
HerXP
22-08-2008, 12:09 AM
Yo hoy en dia.. estoy empezando a programar, estoy en 5to año de la secundaria.. y creo que programar no es algo que se aprenda en un tutorial.Ya que se necesitan muchos recursos de diversos tipos para poder entender bien lo que es la programacion.
Yo antes de entrar a el aerea de programacion busque tutoriales de todo tipo.. y la verdad que no entendia nda.. y mas alla de eso, se necesita tener una buena base de matematica logica y por supuesto algo de idea de lo que es la programacion cosa que los tutoriales no te explican.. exeptuando algunos pocos, pero de todas formas, me parece que si hoy cualquiera quiere aprender a programar, no hay nda mejor que o hacer un buenn curso de programacion o ir a una escuela orientada a programacion.
Es mi opinion esta:p jaja asi que, opine cada uno.
saludoss
MaxBot
06-11-2008, 08:58 PM
Creo que la edad no afecta mucho en el tema que estamos debatiendo, ya que no estamos poniendo a prueba la sabiduria, sino la logica de programación de cada analista, ingeniero, licenciado, etc.
Tambien tengo teoria para ofrecer, cualquier consulta, no duden en contactar conmigo a través de PM.
Saludos
jatg1410
16-07-2009, 10:35 AM
Bueno, si lo que quieren es meterse de lleno en la programación .Net, les recomiendo que se den una vuelta por el sitio que Microsoft tiene destinado a tal efecto:
http://www.mslatam.com/latam/msdn/comunidad/dce2005/
Aquí podrán aprender desde cero, les hacen exámenes y hasta dan certificación. Hay una gran comunidad que ayuda mucho y la bibliografía es abundante.
Espero que les sirva de mucho en su afan de mejorar como programadores
vBulletin® v3.6.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.