Resultados 1 al 16 de 16

Empezar a programar

  1. #1 Empezar a programar 
    Iniciado
    Fecha de ingreso
    Nov 2010
    Mensajes
    3
    Descargas
    6
    Uploads
    0
    Hola, soy nuevo en esto, estoy buscando algún manual o tutorial para empezar a programar, algo sencillo para crear una base solida y más tarde meterme más a fondo para poder crear programas más complejos. ¿Alguien sabe donde me puedo descargar algún tutorial o de alguna página? He estado buscando por este foro pero no he encontrado nada.

    Muchas gracias de antemano por toda la ayuda
    Citar  
     

  2. #2 Ola, yo también. 
    Iniciado
    Fecha de ingreso
    Oct 2010
    Mensajes
    1
    Descargas
    0
    Uploads
    0
    Ola yo también voy a empezar a programar. Lo voy a hacer en C pero tengo innumerables manuales para todos los lenguajes. Te recomiendo que busques en Taringa.net. Ahí he encontrado yo prácticamente todos los que tengo y si son bastante buenos.

    Suerte!
    Citar  
     

  3. #3  
    Co-Admin HackHispano.com Avatar de clarinetista
    Fecha de ingreso
    Jan 2004
    Ubicación
    HackHispano/SM
    Mensajes
    7.773
    Descargas
    31
    Uploads
    8
    Pues puedes empezar pos las ezines, post e incluso hilos fijos del foro.

    Tambien, puedes entrar en nuestro portal, donde tienes papers, enlaces, y temas varios de seguridad, aqui:

    http://foro.hackhispano.com/downloads.php
    Citar  
     

  4. #4  
    Iniciado
    Fecha de ingreso
    Nov 2010
    Mensajes
    3
    Descargas
    6
    Uploads
    0
    Muchas gracias a todos por su ayuda, me han recomendado personalmente el python, no se cual escogere, ya les ire comentando

    muchas gracias
    Citar  
     

  5. #5 Respuesta 
    Iniciado
    Fecha de ingreso
    Dec 2010
    Mensajes
    1
    Descargas
    0
    Uploads
    0
    Cita Iniciado por fuejomusta Ver mensaje
    Muchas gracias a todos por su ayuda, me han recomendado personalmente el python, no se cual escogere, ya les ire comentando

    muchas gracias
    Nunca sabía que esto era programación solo me divertía O_O.
    http://librosweb.es/ me gusta más la programación web, ya que las aplicaciones la mayoría de los usuarios ya no ejecutan por ejecutar.
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Oct 2010
    Mensajes
    401
    Descargas
    24
    Uploads
    0
    Muchas gracias a todos por su ayuda, me han recomendado personalmente el python

    Phython es un lenguaje script (yo diria que el mejor), pero no lo recomiendo para crearte una base, ya que no es portable necesita un interprete tanto en windows como en linux,yo recomendaria algo como C y C++, validos para cualquier sistema (Multiplataforma).


    Si quereis aprender de verdad compraros algun libro de C (Tambien lo puedes descargar), yo recomiendo Aprende C en 21 dias (Pero no flipes que no aprenderas C en 21 dias xd),
    para mi la mejor forma de aprender algo es con un buen libro.
    René Pérez Joglar: Pa' tener a un listo que no dice nada prefiero a un idiota que hable mucho.
    Citar  
     

  7. #7  
    Iniciado
    Fecha de ingreso
    Nov 2010
    Mensajes
    3
    Descargas
    6
    Uploads
    0
    Muchas gracias a todos por la ayuda presentada y su interés.
    Al final lo que he hecho es empezar por C para generar una buena base, a partir de ahí intentare seguir aprendiendo.

    MUCHAS GRACIAS
    Citar  
     

  8. #8  
    Iniciado
    Fecha de ingreso
    Jul 2004
    Ubicación
    Cadifornia
    Mensajes
    24
    Descargas
    0
    Uploads
    0
    Sinceramente, para el principio recomendaria un lenguaje mas fuertemente tipado que C, donde el control por parte del compilador es muy pequeño, y es muy facil coger malos habitos.

    Pero cada vez que veo recomendaciones de la gente, suelen decir C.

    En fin, imagino que para gustos los colores ¿no?.

    Un saludo.

    Edito.

    fuertemente tipado, quizas no haya sido la mejor definicion mirando la wikipedia , pero a lo que me referia es que hacen un uso excesivo de punteros en casi todo. Me parece, que la gente se lia más... no se si mandarle a la funcion & o * o que coño hace en realidad, es muy facil acabar sobreescribiendo memoria, sin tener ni idea siquiera del concepto de puntero.
    Última edición por willamette; 19-02-2011 a las 15:29
    Citar  
     

  9. #9  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Si quitaras tu último parrafo, habrías dado un buen consejo, pero sinceramente, cuando dices "a lo que me refería es a que se hace un uso excesivo de punteros", ya la has liado un poco...

    Fuertemente tipado: una variable definida con un tipo de datos, sólo admitirá ese tipo de datos, siendo necesaria, según el caso, una conversión de datos previa para la asignación.

    C es fuertemente tipado, ya que una variable, por ejemplo de tipo "int", sólo admitirá datos de tipo entero. Si se quisiera asignar un real o un caracter a esa variable sería necesario convertir ese caracter a por ejemplo, su código ASCII, o para el caso de un real, truncarlo o redondearlo. De lo contrario habrá un error sintáctico.

    JavaScript sin embargo no está tipificado, ya que una variable declarada como "int", puede más adelante en el código ser asignada con un caracter o un string. Y eso, además de compilar, funcionará.

    Los punteros son otro tema aparte. Si el programador en C tiene problemas con el uso de & y * tal vez sería recomendable dos opciones: o aprender primero lo que es un puntero y para qué y cuándo debe usarse, o bien dejar de perder el tiempo.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  10. #10  
    Iniciado
    Fecha de ingreso
    Jul 2004
    Ubicación
    Cadifornia
    Mensajes
    24
    Descargas
    0
    Uploads
    0
    Prueba con char a tratarlo como un caracter o como un numero hasta 256, veras la sorpresa. Será fuertemente tipado, pero tiene excepciones.

    en cuanto al ultimo parrafo. No veo conveniente empezar la casa por el tejado. El mero hecho de llamar a una funcion (con argumentos), da ese problema. La funcion scanf (la cual desaconsejo totalmente) tiene ese problema, y así con muchisimos elementos basicos de la programacion.

    Use es mi punto de vista.
    Citar  
     

  11. #11  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    Por supuesto.

    En C, por ejemplo, si tienes:

    Código:
    char c = 'A';
    
    printf("%c - %d", c, c);
    Te imprimirá: A - 65. Es el %d el que indica al compilador que debe transformarlo a entero, y en la conversión lo que toma son los códigos ASCII de los caracteres. Por lo que se puede perfectamente hacer estructuras del tipo:

    char c;
    for (c='A'; c<='Z'; c++){...}

    Lo que me refería en tu post, es que el mero hecho de usar punteros no significa que se desaconseje su uso porque en otros lenguajes se pueda hacer lo mismo sin necesidad de hacer uso de ellos, y más si la razón es porque "son complejos" o "es fácil equivocarse"...

    Es más, bajo mi punto de vista, es bueno saber manejar punteros desde el principio, y casi debería ser obligatorio que se sepan manejar. De hecho lo correcto es usar punteros, y no dejar que el intérprete del compilador de un lenguaje que no usa punteros, haga el trabajo... Significará que luego puede enfrentar cualquier lenguaje, entendiendo lo que hace por ejemplo un "create" en pascal o un "new" en Java, o también, cómo se maneja un parámetro de entrada/salida en una función.

    Si apruebo que es de buenas prácticas, para el que empieza, lo haga con un lenguaje de tipificación fuerte, para evitar asignaciones "semánticamente incorrectas", y que fuerce a un programador a hacer la conversión o casting (significa que el programador sabe lo que está haciendo). Pero desapruebo que se eviten usar lenguajes que necesiten hacer uso de punteros, por el simple hecho de que "es fácil equivocarse" o "son complejos"...

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  12. #12  
    Moderador HH
    Fecha de ingreso
    Nov 2006
    Mensajes
    1.516
    Descargas
    7
    Uploads
    0
    Como dice HySTD equivocandose se aprende... Con C es facil provocar un pantallazo azul si no sabes lo que estas haciendo con la memoria, pero de alguna forma hay que aprender...

    Empezar con un lenguaje fuertemente tipificado ayudara a prevenir manias a la hora de programar, o que se usen los tipos asi como asi sin ton ni son. Es mas, aun veo profesores que enseñan a declarar 'doubles' en lugar de 'integer' para mayor comodidad de calculos (divisiones, potencias...) pero el problema es que lo hacen asi siempre aunque no sea necesario.


    Un saludo

    PD: Con lo que mola asignar memoria dinamicamente y pasarse de ancho...
    Mess with the best, die like the rest.


    Hazle a los demas... antes de que te hagan a ti.
    Citar  
     

  13. #13  
    Iniciado
    Fecha de ingreso
    Jul 2004
    Ubicación
    Cadifornia
    Mensajes
    24
    Descargas
    0
    Uploads
    0
    Cita Iniciado por hystd Ver mensaje
    Por supuesto.

    En C, por ejemplo, si tienes:

    Código:
    char c = 'A';
    
    printf("%c - %d", c, c);
    Te imprimirá: A - 65. Es el %d el que indica al compilador que debe transformarlo a entero, y en la conversión lo que toma son los códigos ASCII de los caracteres. Por lo que se puede perfectamente hacer estructuras del tipo:

    char c;
    for (c='A'; c<='Z'; c++){...}
    No No...
    La funcion printf interpreta la variable posterior según la parametricemos, eso sí.

    Pero char, es una posicion de memoria de un byte, y no importa el tipo.
    edito. Bueno, no importa el tipo lo puedo entrecomillar, existe tambien unsigned char, pero que puedes interpretar el byte como caracter o numero sin casting es evidente. fin edito.

    Prueba
    Código:
        char a=' ' ;
        char b=' ';
        int c;
        c = a+b;
        printf("%d\n", c);
    te hará la suma 32+32.


    Personalmente sigo siendo cabezón :P y pensando que los punteros en su momento adecuado, si no, le enseñamos tambien que son los registros y la pila y que ensamblen que ahí si que aprenden de verdad.

    Un saludo.
    Última edición por willamette; 21-02-2011 a las 22:30
    Citar  
     

  14. #14  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    No No...
    La funcion printf interpreta la variable posterior según la parametricemos, eso sí.
    Si Si... jejeje.

    En el ejemplo que he puesto no se ha "convertido" previamente la variable a int y sin embargo printf ha interpretado lo que es un char, como un int, por el simple hecho de haber puesto un %d...

    Pero char, es una posicion de memoria de un byte, y no importa el tipo.
    edito. Bueno, no importa el tipo lo puedo entrecomillar, existe tambien unsigned char, pero que puedes interpretar el byte como caracter o numero sin casting es evidente. fin edito.
    Claro, al igual que un int es de 32 bits (4 bytes) y unsigned int, quitando el bit de signo (equivale a enteros positivos).

    Todo este embrollo se podría solucionar con punteros (por si alguien no se da cuenta). Un puntero puede apuntar a cualquier cosa, y en esa posición de memoria puedes tener lo que te de la gana... Y así te olvidas de castings y demás historias.


    Prueba
    Código:

    char a=' ' ;
    char b=' ';
    int c;
    c = a+b;
    printf("%d\n", c);

    te hará la suma 32+32.
    Claro, al igual que el ejemplo que he puesto del bucle for... es el mismo caso.


    Personalmente sigo siendo cabezón :P y pensando que los punteros en su momento adecuado, si no, le enseñamos tambien que son los registros y la pila y que ensamblen que ahí si que aprenden de verdad.
    Siento persistir, pero apoyo el criterio de que cuanto antes se sepa, además de punteros, los registros, la pila, el paso de parámetros, etc... menos problemas tendremos después y mejor se sabrá interpretar un NullPointerException de Java, el cual fíjate... ¡Es un lenguaje que no usa punteros!, pero sin embargo... ¡El código en Java se sigue ejecutando en una memoria, tiene pila y registros, y hay paso de parámetros!

    Desconocer lo que es un puntero y de las posibilidades que se pueden conseguir a ese nivel de abstracción resta posibilidades a un programador. Es lo que pienso. Sobre todo si se desea hacer uso de llamadas nativas de un SO, que por ejemplo para el caso de Windows, resulta que casi todos los parámetros son pasados por referencia.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

  15. #15  
    Iniciado
    Fecha de ingreso
    Jul 2004
    Ubicación
    Cadifornia
    Mensajes
    24
    Descargas
    0
    Uploads
    0
    Nos estamos haciendo la pisha un lio tu conmigo y yo contigo .

    en lo del printf estaba diciendo lo mismo que tu. que segun la parametricemos (%d %s(pete con char ) %c ) muestra la variable.

    esta claro que con punteros te saltas los tipos como quieras.

    Por otra parte (y creo que sin solucion) tenemos distintos puntos de vista didacticos

    Un saludo.
    Citar  
     

  16. #16  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.596
    Descargas
    58
    Uploads
    0
    en lo del printf estaba diciendo lo mismo que tu. que segun la parametricemos (%d %s(pete con char ) %c ) muestra la variable.
    Mea culpa... no había entendido bien lo de parametrizar.

    Por otra parte (y creo que sin solucion) tenemos distintos puntos de vista didacticos
    Jejeje, ok, supongo que como en todos los aspectos, siempre hay como mínimo dos puntos de vista... . Y cuanto más puntos de vista haya, mejor. Asi que te doy las gracias por tu aporte.

    Mi recomendación es que cuanto más se sepa mejor ¿no?. En eso seguro que estamos de acuerdo .

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

Temas similares

  1. por donde empezar
    Por nanoanxo en el foro GENERAL
    Respuestas: 1
    Último mensaje: 28-10-2010, 00:19
  2. Empezar a aprender.
    Por agust84 en el foro GENERAL
    Respuestas: 1
    Último mensaje: 07-09-2010, 07:10
  3. por donde empezar
    Por spaceman en el foro OFF-TOPIC
    Respuestas: 2
    Último mensaje: 03-12-2009, 15:55
  4. Respuestas: 27
    Último mensaje: 13-01-2007, 19:42
  5. Cómo empezar a programar?
    Por serlibre_2 en el foro GENERAL
    Respuestas: 34
    Último mensaje: 29-08-2006, 20:00

Marcadores

Marcadores