Temas a ser tratados en esta entrega:
1) Un pantallazo de paradigmas.
2) Un pantallazo de los lenguajes de programación utilizados en la actualidad.
3) El lenguaje C.
1) Un pantallazo
a) Que es un paradigma?
Me pareció interesante incluir esta definición ya que muchos dicen "seh seh los paradigmas bla bla" y no saben ni lo que es un paradigma.
Paradigma:
Nota: Utilizen google cuando no saben lo que es algo de la siguiente manera: "define:<lo que no saben aca>"
Nota 2: Nunca se queden con una sola definición existiendo muchas, es bueno leer varias y con el "sentido común" adoptar la que más nos parezca, o una mezcla entre ellas.
Creo que con esas tres es suficiente, no es nada muy complicado, podríamos decir que un paradigma es en nuestro caso un "modelo" a seguir que en muchos casos nos ayudará a "pensar" las cosas de manera tal para poder luego expresarlas como código y nos ayudará a que nuestro programa este ordenado y sea entendible (aveces).
b)Paradigmas de la programación:
Cabe destacar que ningún paradigma es el "IDEAL" sino que como casi todo en la vida, cada uno tiene sus ventajas y desventanas que tendrá que cada uno evaluar a la hora de elegir. Tampoco hace falta que en un programa se utilize un solo paradigma (aunque es recomendable si es posible y no afecta al rendimiento), se puede utilizar dos o más si es necesario.
Existen muchos paradigmas, vamos a tomar los ejemplos que hay en la wiki:
Nota 3: Verán que utilizo mucho definiciones de la wiki, podría reescribirlas pero me parece que estan bastante bien, y además en todo el curso es mi intención demostrarles que la información esta al alcance de sus manos.
Quedando definidos estos paradigmas voy a aclarar un par de cosas; La primera es que no vamos a ver ni el lógico ni el funcional (por lo tanto veremos en parte programación imperativa y más adelante orientada a objetos ^^). La segunda es que estaría bueno que entren a la wiki y lean un poco más de estos dos ultimos, no voy a incluir aca más datos, "mi idea es que tengan una idea" y que lleguen a leer hasta el final de la entrega =).
2) Otro pantallazo
a) Que es un lenguaje? y que es un lenguaje de programación?
Nuevamente caemos en definiciones, quizá esta parezca más simple aún pero echemosle un vistazo.
Abstracto:
Más concreto:
Aún más concreto:
Simplístico:
Un lenguaje de programación es un conjunto de palabritas, numeritos y simbolitos raros utilizados para hablar con la pc de manera que esta lo entienda y no se mande fruta.
Aclaración:
Pepito dice: "Ah pero che no era que la pc solo entendía unos y ceros?"
Toby dice: "Si es así, pero como el humano es pajero por naturaleza se inventaron los compiladores, un compilador es un programa que se encarga de interpretar el lenguaje de programación y traducirlo a lenguaje maquina, más conocido como Assembler. También existen programas llamados Intérpretes que realizan un trabajo parecido al de un compilador pero lo realizan cada vez que se ejecuta el programa, esto quiere decir que el programa nunca es realmente compilado a lenguaje de maquina."
b) Algunos lenguajes de programación
Vamos a nombrar un par de lenguajes:
Bueno, notarán que nombré algunos de los más conocidos, si quieren saber sobre más lenguajes visiten la wiki =).
Ahora se preguntarán:
Nota (creo q 4 no?): El nivel de un lenguaje vendría a ser un indicador de "que tan lejos" está de ser assembler. También podriamos decir que se refiere a el nivel de abstracción que tiene el lenguaje.
Para que existen TANTOS lenguajes de programación?
Es cierto que "podría decirse" que existen un par de lenguajes demás, sin embargo cada uno tiene una particularidad que lo hace destacarse y ser afin para ciertas aplicaciones, por ejemplo:
(voy a describir un toke los lenguajes (voy a ser medio subjetivo) si quieren salteenselo)
Bueno doy por finalizado esto, quería poner más cosas pero quiero terminar con la entrega.
3) El lenguaje C
a) Porque C?
Porque es el lenguaje más universal (paracticamente cualquier cosa programable tiene un compilador de C) y el que más posibilidades te da, practicamente TODO se puede hacer en C. Sin contar que es la mejor base para todo programador y que a partir de C te podés ir a cualquier lenguaje. Igualmente iremos mezclando con C++ de a poco ya que están muy relacionados y con C no podemos aprender nada de programación orientada a objetos. Además C++ nos da cierta flexibilidad, a algunos les cae mal esta flexibilidad ya que puede producir código difícil de mantener, pero eso es responsabilidad de cada uno, además el que dice "con c++ haces código difícil de mantener" es por una razón:
Es un programador de manteniento. (En otras palabras no sabe más que leer el codigo de a más que el tamaño de un trozo de papel higienico).
b) Intro al C
De la wiki (saque partes no reelevantes):
C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.
c) Estandar de C
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas. En la práctica, los programadores (agregado por piluex: esto lo hacen los de windows que usan visual c) suelen usar elementos no-portables dependientes del compilador o del sistema operativo.
C99
Tras el proceso de estandarización de ANSI, la especificación del lenguaje C permaneció relativamente estable durante algún tiempo, mientras que C++ siguió evolucionando. Sin embargo, el estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000.
d) Hola mundo en C
No te preocupes si no entendés NADA de eso, sería la gracia (??). Es como en las novelas cuando te dan un adelanto choto de lo que se viene.
Fin de la entrega.
Esta entrega como notarán fue todo teoría. Por eso se abre la discución par a todo el material expuesto. Se buscan criticas constructivas.
Artiuclo sin revisar. Propenso a cambios (se avisarán).
1) Un pantallazo de paradigmas.
2) Un pantallazo de los lenguajes de programación utilizados en la actualidad.
3) El lenguaje C.
1) Un pantallazo
a) Que es un paradigma?
Me pareció interesante incluir esta definición ya que muchos dicen "seh seh los paradigmas bla bla" y no saben ni lo que es un paradigma.
Paradigma:
Nota: Utilizen google cuando no saben lo que es algo de la siguiente manera: "define:<lo que no saben aca>"
Originalmente publicado por wiki
Originalmente publicado por www.fac.mil.co/pag_interiores/provisionales/glosario.htm
Originalmente publicado por www.ucsm.edu.pe/rabarcaf/vofici07.htm
b)Paradigmas de la programación:
Cabe destacar que ningún paradigma es el "IDEAL" sino que como casi todo en la vida, cada uno tiene sus ventajas y desventanas que tendrá que cada uno evaluar a la hora de elegir. Tampoco hace falta que en un programa se utilize un solo paradigma (aunque es recomendable si es posible y no afecta al rendimiento), se puede utilizar dos o más si es necesario.
Existen muchos paradigmas, vamos a tomar los ejemplos que hay en la wiki:
- El paradigma imperativo es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
- El paradigma funcional está representado por la familia de lenguajes LISP, en particular Scheme.
- El paradigma lógico, un ejemplo es PROLOG.
- El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.
Originalmente publicado por WIKI
Originalmente publicado por WIKI
Originalmente publicado por WIKI
Originalmente publicado por WIKI
Quedando definidos estos paradigmas voy a aclarar un par de cosas; La primera es que no vamos a ver ni el lógico ni el funcional (por lo tanto veremos en parte programación imperativa y más adelante orientada a objetos ^^). La segunda es que estaría bueno que entren a la wiki y lean un poco más de estos dos ultimos, no voy a incluir aca más datos, "mi idea es que tengan una idea" y que lleguen a leer hasta el final de la entrega =).
2) Otro pantallazo
a) Que es un lenguaje? y que es un lenguaje de programación?
Nuevamente caemos en definiciones, quizá esta parezca más simple aún pero echemosle un vistazo.
Abstracto:
Originalmente publicado por WIKI
Originalmente publicado por WIKI
Originalmente publicado por WIKI
Un lenguaje de programación es un conjunto de palabritas, numeritos y simbolitos raros utilizados para hablar con la pc de manera que esta lo entienda y no se mande fruta.
Aclaración:
Pepito dice: "Ah pero che no era que la pc solo entendía unos y ceros?"
Toby dice: "Si es así, pero como el humano es pajero por naturaleza se inventaron los compiladores, un compilador es un programa que se encarga de interpretar el lenguaje de programación y traducirlo a lenguaje maquina, más conocido como Assembler. También existen programas llamados Intérpretes que realizan un trabajo parecido al de un compilador pero lo realizan cada vez que se ejecuta el programa, esto quiere decir que el programa nunca es realmente compilado a lenguaje de maquina."
b) Algunos lenguajes de programación
Vamos a nombrar un par de lenguajes:
- C
- C++
- Java
- Basic
- Pascal
- Python
- C#
- SmallTalk
- PHP
Bueno, notarán que nombré algunos de los más conocidos, si quieren saber sobre más lenguajes visiten la wiki =).
Ahora se preguntarán:
Nota (creo q 4 no?): El nivel de un lenguaje vendría a ser un indicador de "que tan lejos" está de ser assembler. También podriamos decir que se refiere a el nivel de abstracción que tiene el lenguaje.
Para que existen TANTOS lenguajes de programación?
Es cierto que "podría decirse" que existen un par de lenguajes demás, sin embargo cada uno tiene una particularidad que lo hace destacarse y ser afin para ciertas aplicaciones, por ejemplo:
(voy a describir un toke los lenguajes (voy a ser medio subjetivo) si quieren salteenselo)
- C es un lenguaje de "casi" bajo nivel, muy utilizado cuando se busca perfomance o contacto directo con la maquina en proyectos medianos o grandes.
- C++ es C pero con la posibilidad de programar orientando a objetos y muchas más facilidades, lo cual nos sigue dando la misma flexibilidad que C pero con más facilidades a la hora de mantener y realizar proyectos de gran embergadura.
- Java es un lenguaje de alto nivel, nos ahorra mucho tiempo a la hora de programar es portable y ahora va a ser OPEN SOURCE (guau (??)), es una buena opción para programar orientando a objetos y para aprender a programar.
- Basic es un lenguaje de alto nivel, bastante antiguo ya (ahora existe el visual basic) es normalmente el lenguaje con el que los autodidactas aprendern a programar, es imperativo a diferencia de java que es orientado a objetos, por lo tanto se podría decir que es "más fácil", sin contar que es muy flexible.
- Pascal es un lenguaje parecido al basic (por asi decirlo) permite colocar código en assembler, es más estructurado y durante mucho tiempo fue (y es (??)) la elección de los profesores para enseñar a programar.
- Python es muy utilizado en la actualidad para realizar "scripting", no es muy popular en windows, sin embargo en linux si. Lo utilizan mucho los hackers para escribir exploits.
- C# es como un C++ para maricones, más que nada se usa con ".net" (una mierda porque tiene toda una maquina virtual de la cual pasas a ser independiente) java siempre le hizo sombra, y ahora que será open source aún más.
- SmallTalk es un sistema informático que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales. Se puede considerar que un Smalltalk es un mundo virtual donde viven Objetos que se comunican mediante el envio de mensajes.
- PHP (no me cae bien ASP por eso no lo nombré) es un lenguaje de programación multiparadigma MUY completo y con mucho desarrollo, es utilizado más que nada para la parte web ya que así nació. Es interpretado. Y es lo que utiliza el foro en el que lees para ser un foro.
Bueno doy por finalizado esto, quería poner más cosas pero quiero terminar con la entrega.
3) El lenguaje C
a) Porque C?
Porque es el lenguaje más universal (paracticamente cualquier cosa programable tiene un compilador de C) y el que más posibilidades te da, practicamente TODO se puede hacer en C. Sin contar que es la mejor base para todo programador y que a partir de C te podés ir a cualquier lenguaje. Igualmente iremos mezclando con C++ de a poco ya que están muy relacionados y con C no podemos aprender nada de programación orientada a objetos. Además C++ nos da cierta flexibilidad, a algunos les cae mal esta flexibilidad ya que puede producir código difícil de mantener, pero eso es responsabilidad de cada uno, además el que dice "con c++ haces código difícil de mantener" es por una razón:
Es un programador de manteniento. (En otras palabras no sabe más que leer el codigo de a más que el tamaño de un trozo de papel higienico).
b) Intro al C
De la wiki (saque partes no reelevantes):
C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.
c) Estandar de C
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas. En la práctica, los programadores (agregado por piluex: esto lo hacen los de windows que usan visual c) suelen usar elementos no-portables dependientes del compilador o del sistema operativo.
C99
Tras el proceso de estandarización de ANSI, la especificación del lenguaje C permaneció relativamente estable durante algún tiempo, mientras que C++ siguió evolucionando. Sin embargo, el estándar continuó bajo revisión a finales de la década de 1990, lo que llevó a la publicación del estándar ISO 9899:1999 en 1999. Este estándar se denomina habitualmente "C99". Se adoptó como estándar ANSI en marzo de 2000.
d) Hola mundo en C
Código:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hola, Mundo\n");
return 0;
}
Fin de la entrega.
Esta entrega como notarán fue todo teoría. Por eso se abre la discución par a todo el material expuesto. Se buscan criticas constructivas.
Artiuclo sin revisar. Propenso a cambios (se avisarán).






Comentario