Bienvenido a la programación de computadoras.

La programación de computadoras ha pasado de ser una actividad de unos pocos a popularizase.
Ahora es común ver en muchas escuelas que se imparte la programación como una nueva materia. La programación es una disciplina maravillosa que nos permite crear aplicaciones para que una computadora, celular, tablet, reloj etc. haga lo que uno quiera.

Pero el aprendizaje de la programación no es una tarea fácil (sobre todo al principio cuando tenemos que seleccionar el material)
Hay muchos lenguajes de programación que podemos utilizar para aprender.

Este sitio tratará de mostrarte un sendero a seguir para llegar a la meta, pero por sobre todas las cosas te alentaremos a que disfrutes con cada programa que desarrolles


Videos nuevos: Introducción a la programación con JavaScript

Mis primeros pasos en la programación

Para iniciarnos desde cero podemos utilizar alguno de estos lenguajes: Java, Python, C, C++, C#, Visual Basic .net, Go, Ruby, Kotlin o Delphi con estos lenguajes introducimos los conceptos básicos del planteo de algorítmos utilizando el desarrollo de diagramas de flujos para facilitar el entendimiento. Cualquiera de estos 10 tutoriales puede emplear para iniciarse en la programación.
Aprendiendo uno de estos lenguajes en forma correcta fácilmente luego puede aprender alguno de los otros.

Es indispensable para esta primer aproximación a la programación que seas ordenado y metódico (estudia cada concepto a conciencia y desarrolla los ejercicios resueltos, propuestos y no dejes de inventar tus propios problemas en las áreas que te sientas más cómodo), es un error pensar que podemos en muy poco tiempo llegar a desarrollar programas complejos similares a los que hay en el mercado.

A medida que avances podrás imaginar como están desarrollados internamente programas que hay en el mercado.

Las universidades e institutos de enseñanza de programación eligen generalmente alguno de estos como primer lenguaje.

Y como último consejo disfruta la sensación de ver cada programa resuelto funcionando, no importa lo pequeño que sea (la suma de dos números, un programa que permita administrar una encuesta, un juego como el ahorcado etc.)

Java

El objetivo de este tutorial es iniciarse en el arte de la programación desde cero empleando el lenguaje Java como soporte para el desarrollo de aplicaciones.

El lenguaje Java está presente en múltiples sistemas operativos y dispositivos de escritorio y móviles.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones móviles para Android.

Comenzar!

Python

El tutorial está desarrollado pensando en iniciarse en la programación desde cero empleando el lenguaje Python como soporte para la implementación de programas.

Un lenguaje ampliamente utilizado por universidades e institutos educativos para iniciarse fácilmente en el mundo de la programación.

Comenzar!

C#

El objetivo de este tutorial es iniciarse en el arte de la programación desde cero empleando el lenguaje C# desarrollado por Microsoft.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de escritorio, web o móviles en un futuro.

Comenzar!

C

El objetivo de este tutorial es iniciarse en la programación desde cero empleando el lenguaje C.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de bajo nivel o software de de base.

Comenzar!

C++

El tutorial está desarrollado pensando en iniciarse en la programación desde cero empleando el lenguaje C++ como soporte para la implementación de programas.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de bajo nivel o software de base.

Comenzar!

Visual Basic .Net

El objetivo de este tutorial es iniciarse en el arte de la programación desde cero empleando el lenguaje Visual Basic .Net desarrollado por Microsoft.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de escritorio, web o móviles (Windows Phone) en un futuro.

Comenzar!

Go

El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje Go.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones utilizando el lenguaje propuesto por Google en los últimos años.

Comenzar!

Ruby

El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje de programacióm Ruby.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones web empleando el framework Ruby on Rails.

Comenzar!

Kotlin

El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje de programacióm Kotlin.

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones móviles para Android.

Comenzar!

Delphi (Object Pascal)

El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje Delphi (Object Pascal)

Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de escritorio con entornos visuales bajo el sistema operativo Windows.

Comenzar!

Programación Web

Es más conveniente empezar con "Mis primeros pasos en la programación" (sección anterior con Java, C++ o C#) antes de lanzarnos en la programación web.
En el mundo de la programación web intervienen muchos lenguajes (algunos se ejecutan en un navegador web, otros se ejecutan en un servidor de internet) Si ingresamos directamente en la programación web sin habernos introducido en un lenguaje básico como Java, C++ o C# se nos hará una cuesta muy empinada.
El orden más lógico para estudiar estos tutoriales es primero HTML y luego CSS, PHP, JavaScript, JQuery, AJax.

HTML y HTML5

El HTML es el lenguaje que se emplea para el desarrollo de páginas de internet.
Un navegador web (Chrome, FireFox, IExplorer etc.) interpreta y muestra en la pantalla su contenido.

Comenzar HTML!

Comenzar HTML5!

CSS, CSS3 y Bootstrap

CSS son las siglas de Cascade Style Sheet que traducido significa hojas de estilo en cascada.
Las hojas de estilo es un lenguaje que nos permite controlar la apariencia de una página web.

Comenzar CSS!

Comenzar CSS3!

Comenzar Bootstrap 5!

Comenzar Bootstrap 4!

PHP

El PHP es un lenguaje de programación que se ejecuta en un servidor de internet. Nos permite generar fundamentalmente páginas web HTML con un contenido dinámico (es decir que varía su contenido según el pedido del usuario)
Nos permite también acceder a bases de datos almacenadas en un servidor web.

Comenzar!

Javascript y DHtml

JavaScript es un lenguaje de programación muy popular que nos permite entre otras cosas escribir programas que se ejecuten en un navegador web. El primer paso antes de comenzar un framework de Javascipt es revisar estos dos cursos.

Comenzar JavaScript!

Comenzar DHtml!

Chuleta de JavaScript

Ejercitación sobre funciones en JavaScript

JavaScript y el DOM

Ejercitación sobre Arrays en JavaScript

Ejercitación sobre JavaScript asíncrono

Ejercitación sobre JSON

Ajax

La característica fundamental de AJAX es permitir actualizar parte de una página con información que se encuentra en el servidor sin tener que refrescar completamente la página. De modo similar podemos enviar información al servidor.

Comenzar Ajax!

jQuery, Angular, Vue y React

jQuery es una librería de Javascript muy famosa con más de 10 años en el mercado que nos facilita la manipulación del árbol del DOM de una página web, administración de eventos, peticiones AJAX etc.

En cambio Vue es un framework de Javascript progesivo basado en componentes y con una curva de aprendizaje sencilla.

React y Angular también son framework basados en componentes.

Comenzar JQuery!

Comenzar Vue!

Comenzar React!

Comenzar Angular 17!

Comenzar Angular <17!

Asp.Net
Web Forms

El objetivo de este tutorial es iniciarse en el desarrollo de aplicaciones web utilizando el lenguaje C# de Microsoft.

Se utiliza el paradigma de los Web Forms (Formularios Web)

Comenzar!

Asp.Net
MVC

El objetivo de este tutorial es iniciarse en el desarrollo de aplicaciones web utilizando el lenguaje C# de Microsoft.

Se utiliza el paradigma de MVC (Modelo - Vista - Controlador)

Comenzar!

Node.js

Node.js nos permite desarrollar aplicaciones que se ejecutan en un servidor.

Comenzar NodeJS!

Todas las tecnologías juntas con PHP: MySQL, HTML, CSS, Bootstrap, JavaScript, JQuery etc.

Una vez que se entiende una tecnología es necesario ver como se combinan con otras.
La mayoría de las aplicaciones web de la actualidad emplean una combinación de estos lenguajes de programación, se necesita un conocimiento en forma individual de cada tecnología pero es fundamental como se relacionan e integran con las otras.

Se han agrupado teniendo en cuenta que en el BackEnd se utiliza como tecnología el lenguaje PHP.


Base de datos

Otra área que debe dominar el programador es la gestión de base de datos. El lenguaje más extendido en los gestores de base de datos es el SQL.
Existen muchos gestores de bases de datos relacionales desarrollados por distintas empresas, pero todos tiene en común el lenguaje SQL, esto nos facilita cuando tenemos que migrar de un gestor de bases de datos a otro. La elección de que gestor de bases de datos dependerá del tipo de proyecto a desarrollar. Para iniciarnos en el lenguaje SQL básico podemos elegir cualquiera de dichos gestores que tengamos acceso para poder practicar, luego aprender otro gestor es muy sencillo.

MySQL

El gestor de base de datos MySQL es el más extendido como elemento de almacenamiento de datos de sitios web.

Comenzar!

Sql Server

El gestor de base de datos SQL Server es el más utilizado en las soluciones propuestas e integradas por las tecnologías que propone Microsoft.

Comenzar!

Oracle

Gestor de base de datos propuesto por la empresa Oracle y muy usado en grandes empresas.

Comenzar!

PostgreSQL

El Gestor de base de datos PostgreSQL es de código abierto y bastante utilizado para el acceso de aplicaciones web.

Comenzar!

SQLite

SQLite es un gestor de bases de datos relacional pero con objetivos muy diferentes a los gestores como MySQL, SQLServer, Oracle, PostgreSQL etc.

Este gestor de base de datos tiene por objetivo ser parte de la misma aplicación con la que colabora.

Comenzar!

MongoDB

MongoDB es un gestor de bases de datos NoSQL. Se lo considera un gestor documental y tiene como prioridad la gestión de grandes bases de datos y alta disponibilidad.

Comenzar!

Programación móvil

En los últimos años se han desarrollan grandes avances para la programación de dispositivos móviles. Hay diversas herramientas para desarrollar aplicaciones que se ejecuten en un celular, una tablet, un reloj etc.

Android

El objetivo de este tutorial es iniciarse en la programación de Android. Se requieren conceptos previos de programación en Java o Kotlin Se busca ir conociendo los rudimentos básicos de la programación en Android desde cero.

Comenzar con Compose (Kotlin)!

Comenzar con Java!

Comenzar con Kotlin!

Aplicaciones Universales para Windows 10

El objetivo de este tutorial es comenzar a programar con el lenguaje C# en la Plataforma Universal de Windows 10. Se requieren conceptos previos de C# y se hace una introducción gradual UWP (Universal Windows Platform).

Comenzar!

Herramientas para programadores

Además de aprender la lógica y la sintaxis de un lenguaje hay otras herramientas que ayudan a los programadores.

Visual Studio Code

Visual Studio Code es uno de los editores de texto que más está siendo utilizado por los programadores.

Se presentan en el tutorial las características principales del editor.

Comenzar!

Git

Git es el software de control de versiones distribuido más utilizado por los desarrolladores.

Comenzar!

Tecnologías antiguas

La programación es una disciplina muy dinámica y constantemente aparecen nuevos lenguajes que sustituyen a otras, pero como hay mucho código antiguo se necesita tener referencias a dichas tecnologías.

ASP

La primer tecnología propuesta por Microsoft para el desarrollo de sitios web dinámicos.

Comenzar!