Hola veréis, es que quiero meterme de forma sería con un lenguaje de programación (toque VB 6.0 y Python pero los dejé por los estudios) y me interesan estos dos, ya que son los primeros que se enseñan y los primeros en aprender (Tengo una amiga que estudia telecomunicaciones y estudia Pascal)
No tengo ninguna preferencia en cuanto al desarrollo de aplicaciones, simplemente quiero aprender un lenguaje que me sirva para crear aplicaciones, que sea multiplataforma y que se puedan crear buenas aplicaciones, también me interesaría que fuera como una especie de "puente" es decir que después de aprender o C o Pascal pueda aprender mejor y entender más rápido otros lenguajes derivados de estos
Espero que me podáis ayudar con la elección, y si podéis que me deis argumentos a favor y en contra de unos y otros, y que opináis de los mismos en el sentido de cual me recomiendan
Muchas gracias adelantadas
Saludos!
C sin duda
C
c o c++.
saludos
C o C++.
Vale pero ¿por qué?
http://www.lysator.liu.se/c/bwk-on-pascal.html
C
Por qué
Pues, según mi punto de vista, y el de la mayoría que te decimos que C, es un lenguaje que crea buenas costumbres de programación, y es de los mejores para aprender. Fueraparte dices que quieres que te sirva de puente para aprender otros, y C te sirve de puente para C++, PHP, etc.
Pascal también crea muy buenas costumbres de programación. Para *aprender* a *programar* recomendaría Pascal.
C por supuesto...
¿Por qué? Pues porque Pascal está en desuso, y, teniendo donde elegir, mejor elegir la alternativa moderna, que además es mucho más potente...
Pascal es obsoleto ya. Solo es usado para aprender a programar ;)
C es la que va :xD
Cita de: raul338 en 3 Julio 2010, 19:54 PM
Pascal es obsoleto ya. Solo es usado para aprender a programar ;)
C es la que va :xD
No es obsoleto para nada. De entrada se creo como un lenguaje para enseñar a programar, no para programar aplicaciones serias.
-------------------------------------------------------------------------------------------------------------------------
BTW, te recomiendo C igualmente, yo tuve que estudiar Pascal un cuatrimestre y la verdad que me disgustó bastante, y no creo que sea demasiado más complicado empezar directamente por C (de hecho antes de aprender Pascal había aprendido un poco de C (y sólo) y me había costado menos que Pascal).
Pues el Lunes iré a buscar libros a la Biblioteca de mi libro sobre C, espero que no sea tan difícil como parece a primera vista
Muchas gracias a todos por la ayuda y creo que podéis cerrar el tema
Saludos!
C no es complicado... Lo "complicado" es aprender a utilizar correctamente los punteros, ya que es donde más "patina" la gente que se inicia en la programación.
Cita de: cbug en 4 Julio 2010, 03:45 AM
C no es complicado... Lo "complicado" es aprender a utilizar correctamente los punteros, ya que es donde más "patina" la gente que se inicia en la programación.
+1
Brian W. Kernighan ( co-autor del libro "El lenguaje de programación C" ) - Why Pascal is Not My Favorite Programming Language (http://www.lysator.liu.se/c/bwk-on-pascal.html)
Salu10.
Cita de: Amadeo Magnus en 3 Julio 2010, 23:53 PM
Cita de: raul338 en 3 Julio 2010, 19:54 PM
Pascal es obsoleto ya. Solo es usado para aprender a programar ;)
C es la que va :xD
No es obsoleto para nada. De entrada se creo como un lenguaje para enseñar a programar, no para programar aplicaciones serias.
Para que hicieron delphi? Es un derivado de pascal para aplicaciones "serias" :P
Aun asi, pascal solo se usa para aprender a programar. Para obtener la "logica" de la programacion
A programar se aprende programando.
Cita de: raul338 en 4 Julio 2010, 17:42 PM
Cita de: Amadeo Magnus en 3 Julio 2010, 23:53 PM
Cita de: raul338 en 3 Julio 2010, 19:54 PM
Pascal es obsoleto ya. Solo es usado para aprender a programar ;)
C es la que va :xD
No es obsoleto para nada. De entrada se creo como un lenguaje para enseñar a programar, no para programar aplicaciones serias.
Para que hicieron delphi? Es un derivado de pascal para aplicaciones "serias" :P
So? :huh:
CitarInitially, Pascal was largely, but not exclusively, intended to teach students structured programming. A generation of students used Pascal as an introductory language in undergraduate courses. Variants of Pascal have also frequently been used for everything from research projects to PC games and embedded systems. Newer Pascal compilers exist which are widely used
Con lo que se deduce directamente que:
Citar
designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.
No nos vayamos del tema con Object Pascal, y Delphi... ya que Delphi es híbrido...
Hazle caso a Brian W. Kernighan.
Depende mucho de para que quieras aprender a programar.
Igual que con los lenguajes "hablados", los lenguajes de programación sirven para comunicarte y que se comuniquen contigo. Yo empecé por C, pero claro, aunque sea un lenguaje mítico e increíble, no me sirvió de mucho cuando quise desarrollar aplicaciones con entorno gráfico.
De la misma manera, si te gustaría entender los entresijos del sistema operativo y del ordenador, como usuario de Linux deberías aprender BASH y ensamblador.
Yo, si fuera tú, empezaría por Java o Python, lenguajes de alto nivel que te ayudan a entender los fundamentos de la programación orientada a objetos y además son divertidos porque puedes hacer aplicaciones "que se ven" no sólo en la consola con letras.
Cita de: Razgriz en 10 Julio 2010, 16:24 PM... Yo empecé por C, pero claro, aunque sea un lenguaje mítico e increíble, no me sirvió de mucho cuando quise desarrollar aplicaciones con entorno gráfico. ...
Puedes programar en C y tranquilamente poder desarrollar aplicaciones con entorno grafico y ademas ser multi-plataforma.
http://glade.gnome.org/
Cita de: Razgriz en 10 Julio 2010, 16:24 PMYo, si fuera tú, empezaría por Java o Python, lenguajes de alto nivel que te ayudan a entender los fundamentos de la programación orientada a objetos y además son divertidos porque puedes hacer aplicaciones "que se ven" no sólo en la consola con letras.
Yo mas que Java recomendaria aprender C++, ya que es un lenguaje bastante poderoso, multiparadigma, soporta multiherencia y ademas de la posibilidad de usando las librerias estandar y librerias multiplataforma tu programa puede ser portable. Otro punto a favor es que no estas restringido a la VM como es el caso de Java.
http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B
Salu10.
Cita de: nicolas_cof en 10 Julio 2010, 21:36 PM
Cita de: Razgriz en 10 Julio 2010, 16:24 PM... Yo empecé por C, pero claro, aunque sea un lenguaje mítico e increíble, no me sirvió de mucho cuando quise desarrollar aplicaciones con entorno gráfico. ...
Puedes programar en C y tranquilamente poder desarrollar aplicaciones con entorno grafico y ademas ser multi-plataforma.
http://glade.gnome.org/
No estoy muy puesto con el tema de crear GUIs con C, pero dudo que sea tan simple como escribir en gedit:
//Creamos una ventana de 400x400 pixels con un boton dentro XD
import javax.swing.*;
public class GUI{
public static void main(String[] args){
JFrame marco = new JFrame();
JButton boton1 = new JButton("Click para nada");
marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marco.getContentPane().add(boton1);
marco.setSize(400,400);
marco.setVisible(true);
}
}
Por eso digo que es tan "divertido" :xD
Pero tengo que darle la razón a
nicolas_cof en que C++ mola también. Como siempre digo, si vas a estar programando en un Mac o para Mac, utiliza Java porque ya viene instalado en todos.
Bien pensado, si estás preguntando por tu primer lenguaje entonces te da igual todo eso de la "herencia", "librerias bla" y "cosas bla bla" porque tampoco tienes ni idea. :laugh:
A menos que te vayas a dedicar a esto, probablemente lo que programes nunca saldrá de tu ordenador, así que lo del tema "multiplataforma" también te da igual. :xD
Aprende lo que quieras, al final tu te darás cuenta de que te interesa más.
Yo más que aprender un lenguaje de alto nivel empezaría por Pascal o C, en los lenguajes de 4º generación se mal acostumbra a los programadores, a la sencillez de las clases que ya vienen todas hechas y piensan que están programando, cuando en su vida supieron aunque sea lo que es una estructura, los usuarios noveles que comienzan con VB sobre todo, son los que tienen problemas, ya que todo es método, métodos y métodoS... nunca se plantearon un algoritmo... ni siquiera la lógica... Lo único que saben es arrastrar un botón, o crear ventanitas bonitas...
Cita de: cbug en 11 Julio 2010, 14:22 PM
Yo más que aprender un lenguaje de alto nivel empezaría por Pascal o C, en los lenguajes de 4º generación se mal acostumbra a los programadores, a la sencillez de las clases que ya vienen todas hechas y piensan que están programando, cuando en su vida supieron aunque sea lo que es una estructura, los usuarios noveles que comienzan con VB sobre todo, son los que tienen problemas, ya que todo es método, métodos y métodoS... nunca se plantearon un algoritmo... ni siquiera la lógica... Lo único que saben es arrastrar un botón, o crear ventanitas bonitas...
Uhhhh... ahí tengo que darte la razón
cbug. Crear GUIs no lo es todo en la programación. Un ejemplo: te hacer un programita pequeño que te calcule las raíces de un polinomio de segundo grado (¿Quién no lo ha hecho? XD) y te viene bien para bachillerato. No te hace falta GUI, ni robustez ni nada. Como eres el único usuario sabes lo que tienes que poner y todo funciona. Y ahí has programado.
Es que es un ejemplo muy sencillo... Creo que más "bonito" sería crear un programa con interfaz gráfica que muestre algoritmos recursivos de un árbol AVL por ejemplo...
Para los que sois vagos, pero vagos de no mirar ni en la wiki, un árbol AVL es una lista donde colocas un primer nodo que tendrá una estructura (valor, *dcha, *izq) y donde se van colocando los valores mayores que valor en el puntero que apunta a la izquierda y los menores que valor a la derecha. XD
Pero esas cosas prefiero C++ a C, pero bah. :laugh:
Sin duda C++ porque hay muchos lenguajes que tienen una sintaxis parecida, con programacion estructurada, Orientada a Objetos, imperativo, rapidez de ejecución, etc. Aqui tienes la traduccion del libro Thinking in C++, por si te animas:
http://arco.esi.uclm.es/~david.villa/pensarC++.html (http://arco.esi.uclm.es/~david.villa/pensarC++.html)