Siempre hay varias maneras de programar una solución

En el área de la programación nos encontramos con un problema al cual hay que encontrarle una solución por medio de los algoritmos representados con código.

En el área de la programación nos encontramos con un problema al cual hay que encontrarle una solución por medio de los algoritmos representados con código.

Pero no solo en esta parte radica hacer la solución, también nos encontramos en armar una arquitectura, un diseño de base de datos, o un balance de componentes de tecnologías distintas que convivan entre si y juntos sean la solución.

El entender que el realizar un software de una manera la cual funcione bien, es decir, que cumpla su trabajo, dando la solución y esta solución sea segura, balanceada, escalar y todas esas características de calidad, implica que es una de las tantas maneras de haber creado la solución, más no es ni la mejor, ni la peor, pero si una de tantas.

A inicios del siglo 20 por allá de 1900 se reunieron un grupo de matemáticos, una asamblea donde a uno de estos matemáticos llamado David Hilbert, se le ocurrió plantear algunos problemas a resolver (desde entonces nos gustaba complicarnos), uno de esos problemas es el llamado Entscheidungsproblem (problema de decisión) el cual propone lo siguiente:

¿Existe un algoritmo el cual pueda decirnos si un cálculo de primer orden es un teorema valido?

En palabras más simples, existe un algoritmo que pueda decirnos si un enunciado lógico es demostrable.

Es aquí un punto crítico en la historia de la computación, ya que gracias a este problema alguien llamado Alan Turing y alguien llamado Alonzo Church demostraron que era imposible tal algoritmo pero también demostraron que en la computación se puede encontrar una solución de distintas formas.

Alan Turing creo la máquina de Turing la base de la programación imperativa y por su parte Alonzo Church creo el cálculo lambda la base de la programación declarativa.

La programación imperativa se ha convertido en la base de paradigmas de programación como la programación Orientada a Objetos, en cambio, la programación declarativa lo vemos en paradigmas funcional o lógico (prolog), de hecho, hoy en día el combinar los paradigmas es el pan de cada día.

Al final, nosotros creamos algoritmos que darán con la solución a un problema, pero siempre hay formas distintas de hacerlo, con menor o mayor abstracción, con menos líneas o más líneas de código, como sea, siempre habrá maneras distintas de tener una solución.

El objetivo de este texto es entender que si estamos programando y no damos con la solución, es bueno comenzar de nuevo esa parte y pensar cómo se haría de una manera distinta, no cerrarnos al primer camino en el cual nos quedamos atorados, sino entender que siempre hay otra forma de hacerlo.

Esto aplica tanto para programar, para diseñar una base de datos, para la arquitectura de software, bueno, aplica para toda etapa en el desarrollo de sistemas.

Si has llegado hasta aquí te agradezco, puedes compartir el texto si ha sido de tu agrado.

¿Cómo tener motivación para Programar?

Esta pregunta la he escuchado bastante desde hace años, ¿Cómo obtengo motivación para programar?

Esta pregunta la he escuchado bastante desde hace años, ¿Cómo obtengo motivación para programar?

La motivación es importante en el área de la programación, ya que programar sin motivación nos puede llevar a tener mejor o peor eficiencia.

Sin motivación podemos pasar horas en algo que puede ser sencillo de realizar, y con motivación podemos acortar el tiempo de algo que es difícil de realizar.

En el área de la psicología la motivación es un tema de debate, ya que la motivación puede influir en el comportamiento.

Puedes tener motivación por diversos factores que van desde el dinero, metas, o reconocimiento, el problema es cuando se pierde la motivación y aquí es cuando es bueno detenernos y pensar que es lo que nos motivaba en un principio y porque ya no nos motiva.

Un caso real de cuando perdemos la motivación viene cuando hemos comenzado un proyecto en el cual debemos aprender una tecnología nueva, el reto puede ser factor para tener motivación, el problema radica cuando al reto le echas problemáticas o reglas como el tiempo de entrega, cambios de requerimientos, o simplemente que la tecnología no es lo que uno esperaba.

El desmotivarnos es un problema para llevar el proyecto con eficiencia, ya que no seremos igual de productivos, y es aquí cuando comienzan los problemas. El perder el control del tiempo por no tener motivación de realizar las cosas es una bola de nieve que va creciendo hasta que se convierte en una avalancha.

En lo personal yo he pasado por muchas fases de desmotivación a través de mi vida laboral, y analizándolo ahora lo que me ha servido es lo siguiente: pensar si vale la pena seguir con la tarea, si lo vale, ya habremos encontrado un factor de motivación, pero si no lo vale es momento de actuar, de hacer un cambio.

Si la motivación se ha perdido porque no se siente que se gana el dinero suficiente, es momento de negociar y encontrar una solución, pero como todo, la negociación siempre debe ser yo te ofrezco y tú me ofreces, un ganar-ganar para los 2 lados.

Si la falta de motivación es por cuestión de carga de trabajo, es momento de jerarquizar y organizar, no quedarnos callados, pedir ayuda, ya sea de un recurso extra, ya sea de flexibilidad en el tiempo de entrega, más vale hacer algo bien que algo a la carrera, esto ahorrara mucho tiempo a futuro.

Si pierdes la motivación te recomiendo analizar qué es lo que te motiva en realidad, y ver como eso que te motiva puede ser obtenido con la tarea que realizas, o como llegar a realizar un cambio para que puedas estar en camino a la meta anhelada.

El motivarte es algo tan importante, que puede ser el recurso necesario en hacer algo bien, y no es malo apoyarnos también de sentimientos como el hacerlo por la familia o seres cercanos, ahí también se encuentra un factor que puede ser motivante, ya sea para compartir lo ganado con ellos como el tiempo o el dinero (el cochino dinero).

Cuando sientas que no tienes motivación, busca hacer un cambio, no solo te quedes estancado, hay que analizar que debemos cambiar para que regrese esa motivación con la cual un día estuvimos de buenas, se vale cambiar de trabajo, de tecnología, de retos, todo esto se vale.

Si llegaste hasta aquí te agradezco, que pases un buen día.

El Roadmap de C#

El objetivo de esta entrada es darte un camino que pueda servirte en tu preparación al adentrarte en el lenguaje de programación C#.

El objetivo de esta entrada es darte un camino que pueda servirte en tu preparación al adentrarte en el lenguaje de programación C#.

Esta entrada ira en actualización constante (solo pondré los cursos completos), aquí iré poniendo el camino a seguir para aprender C# con el contenido ya existente en mi canal.

Fundamentos de C#

Los fundamentos son importantes ya que te daran las bases solidas antes de entrar a crear aplicaciones reales.

Muchas veces pasa que entramos de lleno a un framework sin comprender las bases, y es cuando vienen los problemas

Programación orientada a objetos

La programación orientada a objetos es fundamental para llevar buenas prácticas, es por ello que una vez que has visto el curso de fundamentos, el siguiente paso sería la siguiente lista de videos.

Desarrollo Web con ASP.Net

Una vez que se comprende la programación orientada a objetos, es momento de entrar a un framework para desarrollo de cosas reales.

La lista de desarrollo en MVC .Net es el punto a seguir, donde aprenderás a crear sistemas web en el patrón arquitectónico MVC (Pronto se actualizara este curso por MVC .Net 5)

Conforme sigan terminándose de grabar más cursos irán apareciendo en esta entrada, por lo pronto puedes suscribirte a mi canal dando clic aquí, que tiene ya más de 600 videos.

Curso de Python orientado a novatos

En este curso veras los fundamentos básicos de python, características que son necesarias para comenzar con este lenguaje de programación.

Aprenderás como hacer variables, listas, funciones, clases, programación funcional, conexiones a base de datos, y por ultimo haremos un Crud(crear, obtener, editar y eliminar).

El curso esta orientado a nivel novato o principiante.

Curso de Python, De novato a experto | Variables y listas #1
Prev 1 of 1 Next
Prev 1 of 1 Next

Curso programando un sistema de venta real con: .Net Core, angular y Xamarin

En este curso haremos un sistema de venta real utilizando como tecnología de backend .Net Core y en el frontend Angular y Xamarin.

Me acercare lo más posible a lo que sería un sistema real, por lo cual veremos muchos temas como son:

  • Autentificación
  • Seguridad
  • Entity Framework
  • Cruds
  • Creación de servicios web
  • Aplicación de patrones de diseño
  • Diagramas de componentes
  • JWT
  • Directivas en angular
  • Servicios en angular
  • Observadores en angular
  • Y mucho más

El curso es publicado en mi canal de Youtube y para seguir el rastro te invito a que te suscribas dando clic aquí.

Programando un sistema de ventas real | Introducción
Prev 1 of 2 Next
Prev 1 of 2 Next

Podcast #28 – ¿Debería aprender Jquery en el 2020?

En este podcast te diré porque deberías aprender jquery en este 2020 a pesar de que sea una tecnología vieja, aún tiene mucha relevancia en el desarrollo de software.

Puedes escuchar todos mis podcast de programación dando clic aquí.

Curso de programación orientada a objetos en C# .Net

Curso orientado a toda persona que desea aprender a programar.

En este curso me enfoco en ir paso a paso en los conceptos de la programación orientada a objetos.

Para este curso necesitas instalar visual studio; puedes instalar visual studio community el cual es gratuito.

Este curso esta en proceso y te invito a que te suscribas a mi canal para ue recibas notificación cada que suba un video: canal de youtube

1.- Clases y objetos

2.- Herencia

3.- Sobrecarga

4.-  Sobreescritura

5.- Encapsulamiento

6.- Propiedades

7.- Polimorfismo de inclusión