Ir al contenido principal

Aprendes uno, aprendes todos (o casi todos)

El día de ayer llego un amigo (y de la familia, casi hermano) a la casa a pedirme ayuda con las siguientes preguntas

¿Que es programacion orientada a objetos?

¿Que es polimorfismo?

¿Que es herencia?

etc, etc, etc

Bueno como cualquier programador (o futuro programador) tiene que conocer todos estos conceptos y dominarlos, o por lo menos hacer la casaca de que sabe algo de esto, así que me puse a enseñarle estos términos, claro con conceptos que el conoce, los cuales entendió de inmediato, la cosa se puso bonita cuando me dijo "va enséñame eso, pero usando visual basic".

Me lleva la que no me trajo, ¿como voy a enseñar eso en un lenguaje que solo conozco el nombre?, ¡ni si quiera se como declarar una variable en visual basic!, (se un poco de java, php y c#). La cosa se puso interesante, haciéndome el todo poderoso programador le pregunto "¿ya lo has usado?, ¿sabes como se declaran variables y todo eso?", por suerte me contesta que si, entonces comencemos, mi amigo alegremente abre el visual studio y crea un nuevo proyecto de formulario y de nuevo digo en mi mente: "a la gran p.... de nuevo", amablemente le digo:

-hey porque no mejor haces un proyecto de tipo consola

-es que el profesor nos enseña con formularios

-pero has visto alguno de tipo consola ¿verdad?

-si, pero ¿porque queréis  trabajar con esos?, sino sirven para nada

-bueno, la forma mas fácil de comprender esos términos es con aplicaciones sencillas como una de consola

-dale pues, hagamos lo con uno de consola

La cosa fue simple, usando visual studio, es casi lo mismo que decir que se usa .net y como muchos saben .net  hace casi una estandarización de los lenguajes usados bajo el, así que le pedí que declara algunas variables para saber como se hacia, me fije como estaba declaro el metodo main, y puf! ya sabia un poco de visual basic bajo .net

Luego de eso, creamos unas clases para explicar la herencia y la encapsulación, unos métodos para enseñarle sobre escritura y sobrecarga y un poco de polimorfismo, bueno no tengo porque esconder algo que se preguntaran, si, visite la msdn para saber como se hacia, la mejor documentación siempre a la mano, lo único que quedo pendiente fue la abstracción, eso para mañana, todo lo anterior lo repasamos y aprendimos en unas 2 horas, bien explicado, bien redactado y bien comentado.

Lo que quiero a dar a entender es lo siguiente: no necesito conocer un lenguaje de programación al 100% para aplicar conceptos que son de un paradigma actual (ni tanto, ya lleva su rato), como lo es la POO .

Comentarios

Entradas populares de este blog

Northwind para Mysql y otras

Supongamos que necesitamos una base de datos para comenzar a hacer pruebas y a la vez necesitamos que esa base de datos contenga mucha información con la cual trabajar. En mis tiempos de universidad existía una base de datos que utilizábamos en los laboratorios con SQL Server y c# para mostrar los datos en algún formulario. El nombre era Northwind. El problema es que era solo para SQL Server, pero alguien en se dio a la tarea de exportar esa base de datos a MySql y es justo lo que te vengo a mostrar acá. Hace un tiempo atrás clone de los repositorios de Google Code   esa información (que como algunos de ustedes sabrá dejara de estar al servicio de todos en un tiempo). Modifique un poco la DB de Mysql para que se pudiera ejecutar el script sin ningún problema. Lo interesante de todo esto es que puedes utilizar los demás script para diferentes gestores de base de datos Se advierte que para poder usarlas adecuadamente hay que modificar los campos de tipo longblob y qu...

How to upload File from form data POST in Android with Retrofit 2

 The last day I explain how to upload a simple CSV file using node . And now I teach how to upload from android device. Get source code here:  GitHub This article is write in java... later I'll add the method for kotlin. The logic is not changed, only the format code. 1) Is necessary add the dependencies in gradle: module implementation 'com.google.code.gson:gson:2.8.6' // RETROFIT // implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.squareup.retrofit2:converter-scalars:2.5.0' 2) Add permissions in AndroidManifest.xml and modified the application for work with network security policy <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> in applitacion add ...

Como encriptar AES con Node JS

  Puedes descargar el proyecto desde este enlace El otro día surgió una necesidad para encriptar contenido bajo el algoritmo AES y es la que te vengo a mostrar a continuación en la cual use Node para solventar mi necesidad. Pude haber usando cualquier lenguaje que me viniera en gana pero no quería instalar nada mas. Dependencias: NodeJS >= 12 Crypto-JS Aplicaciones recomendadas: Git bash Visual Studio Code Lo primero que necesitamos es tener una clave única (KEY) y un vector de inicialización (IV). Este ultimo no es necesario pero agrega un extra de seguridad a nuestro contenido. Para lo cual usaremos el bash de git para utilizar openssl KEY openssl rand -base64 24 IV openssl rand -base64 12 Ahora que ya tenemos estas 2 cadenas únicas. Podemos proceder a escribir nuestro código. npm init -y Luego hacemos una modificación en el package.json para que admita módulos "type": "module", Instalamos la dependencia de Crypto-JS npm i crypto-js --save Ahora importamos l...