¿Con qué lenguaje de programación empezar?

Iniciado por schlägt, 28 Agosto 2011, 08:47 AM

0 Miembros y 2 Visitantes están viendo este tema.

schlägt

Hola comunidad, soy nuevo acá y este es mi primer tema :D

Como bien el título dice ¿Con que lenguaje de programación empezar?

Tengo 15 años, utilizo GNU/Linux y estoy interesado en aprender a programar.

Sé que hay varias ramas de la programación, pero estoy buscando aprender a programar enserio con algún lenguaje que me de buenos hábitos para luego ir a otros más especializados y tener una buena base.

Algunos dicen "Empezá con C" pero a mi entender es super complejo y no entendería nada, aunque no sé si esta "teoría" es cierta. Otros dicen que es mejor empezar con Pascal y Delphi, pero bueno, mucho no sé por eso hago este tema.





  Muchísimas Gracias, Saludos (: 


Shell Root

Si apenas empiezas, empieza bien así que no caería mal C/C++.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

schlägt

Cita de: Shell Root en 28 Agosto 2011, 09:06 AM
Si apenas empiezas, empieza bien así que no caería mal C/C++.

Genial, voy a esperar a ver que dice la mayoría.

Gracias por responder (:

Senior++

#3
Yo te recomiendo Visual basic 6.0 es fácil y tiene (para mi y para muchos) la misma  capacidad de hacer los mismo programas QUE CUALQUIER OTRO LENGUAJE y mucho mas rápido.

Saludos
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

Queta

Cita de: SixToes en 28 Agosto 2011, 09:32 AM
la misma  capacidad de hacer los mismo programas QUE CUALQUIER OTRO LENGUAJE

Primera mentira; a parte de que Visual Basic es un lenguaje totalmente obsoleto, ya me gustaría ver un sistema operativo desarrollado en Visual Basic, que lógicamente no se puede.

Cita de: SixToes en 28 Agosto 2011, 09:32 AM
y mucho mas rápido.

Hablar por hablar. Antivirus, sistemas operativos, drivers, programas de edición, etcétera, todo, absolutamente todo es C o C++ y si no vete a Adobe y diles que hagan el Photoshop en Visual Basic, que si no pierde mucha velocidad y potencia :laugh:.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

BlackWolf

a mi me recomendaron el Python para comenzar, estoy en ello, tengo que leerme el manual en inglés todavia... vv' Creeis que tiene salida o que es util este lenguaje?
"Nada puede salir bien en un sistema donde las palabras contradicen los hechos"

Valkyr

¿Has resuelto problemas en pseudocódigo? Ya que si no es así, esa sería la mejor forma de empezar. No tienes problemas de lenguaje porque el lenguaje puede ser el que tú quieras, o puedes buscar algún pseudocódigo que alguien haya escrito.

Sí ya has hecho eso, entonces podrías empezar con C o C++, o Pascal que también es bastante intuitivo y no tiene mucha complejidad.

saludos.

schlägt

Cita de: Valkyr en 28 Agosto 2011, 14:13 PM
¿Has resuelto problemas en pseudocódigo? Ya que si no es así, esa sería la mejor forma de empezar. No tienes problemas de lenguaje porque el lenguaje puede ser el que tú quieras, o puedes buscar algún pseudocódigo que alguien haya escrito.

Sí ya has hecho eso, entonces podrías empezar con C o C++, o Pascal que también es bastante intuitivo y no tiene mucha complejidad.

saludos.

De Pseudocodigo no vi nada de nada, pero tengo una noción de algoritmos.

Buen consejo, Gracias :D

Feedeex

Es una buena idea empezar con C, y sino, te recomiendo java. Por cierto, si necesitas ayuda enviame un MP que quizás puedo orientarte un poco.

Suerte y que logres tu meta de aprender a programar ;-)

BlackZeroX

#9
Antes de entrar afirmaciones erradas de alguna manera, te recomiendo probar distintos lenguajes, nosotros te podemos decir X, Y, Z lenguaje pero la vdd eso lo vas a decidir TU, con el que te acomodes y sea mejor. la vdd yo no te recomendaria Java ni .NET, debido a que son leeentos en procesamiento hasta mi punto de vista y debido a que no les he sacado mucho su jugo, esta claro que son buenos tienen lo suyo pero te dan malas practicas como programador en mi consideracion, es lo mismo con vb y cualquier lenguaje de alto nivel... esta bien que los conoscas y veas sus PRO y CONTRAS.

Mi recomendacion: C/C++ Java, .net (TODOS los lenguajes incorporados y la plataforma en si), Basic (cualquier derivacion)...

Ahora si vamos a lo nuestro:

Cita de: SixToes en 28 Agosto 2011, 09:32 AM
Yo te recomiendo Visual basic 6.0 es fácil y tiene (para mi y para muchos) la misma  capacidad de hacer los mismo programas QUE CUALQUIER OTRO LENGUAJE y mucho mas rápido.

He usado bastante VB como para decirte que NO; No es rapido en algunas cuestiones, Hay trucos para acercarse mucho a la velocidad de C/C++ pero dependes mucho de APIS como RtlMoveMemory y de el tipo de dato long (esto lo uso para los retos de velocidad en vb6, que se publican en el subforo de VB).

* Carece de punteros reales ( los puedes simular pero Dependes del API RtlMoveMemory ).
* Barrido de bits... (en VB a fuerzas debes multiplicar o dividir...).
* Heredacion (en si en vb6 TODO ereda de el tipo Object, pero no se puede heredar de otra lado...).
* Otras cosillas...

VB no es malo salvo lo que ya cite... y si tu algoritmo es malo o bueno lo puedes escribir donde quieras pero eso si si sabes algunos trucos para la velocidad en este lenguaje u otro puedes hacercarte a la velocidad de C/C++... almenos que tu algoritmo sea mas eficiente que el que esta escrito en C/C++...

Cita de: Queta en 28 Agosto 2011, 12:55 PM
Primera mentira; a parte de que Visual Basic es un lenguaje totalmente obsoleto, ya me gustaría ver un sistema operativo desarrollado en Visual Basic, que lógicamente no se puede.

Como visualbasic viene de una vertiente del Basic... Entonces pondre lo siguiente:

"me escupo a mi mismo"

En Basic SI SE PUEDEN crear S.O., Microcontroladores, Drivers, etc...

Aqui te dejo un S.O. super pequeño("Hello World") en FreeBasic (Lenguaje Basic + ASM inline):

kernel.bas
Código (vb) [Seleccionar]


DECLARE SUB PrintString(src AS Byte Ptr, x AS LONG, y AS LONG)
DECLARE SUB main ()

SUB multiboot ()
  Asm

    .set ALIGN,    1<<0            
    .set MEMINFO,  1<<1            
    .set FLAGS,    ALIGN | MEMINFO  
    .set MAGIC,    0x1BADB002      
    .set CHECKSUM, -(MAGIC + FLAGS)

    .align 4
    .LONG MAGIC
    .LONG FLAGS
    .LONG CHECKSUM

    .set STACKSIZE, 0x4000          
    .comm stack, STACKSIZE, 32      

    .global loader                  

    loader:
      lea   esp, stack + STACKSIZE
      push  eax                      
      push  ebx                      

      CALL  MAIN

      cli
      hlt                    
  END Asm

END SUB

SUB main ()
   CONST s = "Hello World"

   PrintString CPtr(Byte Ptr, @s), 35, 12

END SUB

SUB PrintString(src AS Byte Ptr, x AS LONG, y AS LONG)

   DIM dst AS Byte Ptr
   DIM counter AS LONG

   dst = CPtr(Byte Ptr, &HB8000 + y * 160 + x * 2)

   counter = 0

   WHILE src[counter] <> 0
       dst[2 * counter] = src[counter]
       dst[2 * counter + 1] = 15
       counter = counter + 1
   WEND
END SUB



link.ld
Código (vb) [Seleccionar]


OUTPUT_FORMAT("elf32-i386")
ENTRY (loader)

SECTIONS{
   . = 0x00100000;

   .text :{
       KERNEL_START = .;

       *(.text)
   }

   .rodata ALIGN (0x1000) : {
       *(.rodata)
       _CTORS = .;
       *(.ctors)
       _CTORS_END = .;      
   }

   .data ALIGN (0x1000) : {
       *(.data)
   }

   .bss : {
       SBSS = .;
       *(COMMON)
       *(.bss)
       EBSS = .;

       KERNEL_END = .;
   }
}



Para construir el pequeño S.O.:

Código (vb) [Seleccionar]


fbc -c kernel.bas -o kernel.o
i586-elf-ld -T link.ld -o kernel.bin kernel.o



Temibles Lunas!¡.
The Dark Shadow is my passion.