En la programación es común que se nos indique que todas las variables de tipo String son inmutables, pero pocas veces se nos explica el ¿Por qué? de esto.
En la programación es común que se nos indique que todas las variables de tipo String son inmutables, pero pocas veces se nos explica el ¿Por qué? de esto.
Desde los inicios de la creación de los lenguajes de programación de alto nivel, es decir, en los años 50s, se detecto la gran problemática que traería la comparativa de variables de tipo cadena, ya que para comparar si 2 String son iguales, se necesitaba de algoritmos de O(n), es decir, algoritmos que tardarían dependiendo el numero de caracteres que tuviera tu variable de tipo String.
A parte, cuando se guarda una variable String, esta se distribuye por la memoria en distintas direcciones, por lo cual, se agrega un nivel extra de rendimiento.
En los años 60s se opto por utilizar un mecanismo el cual guardará los String distintos y solo asignarle la dirección de memoria a la variable de este tipo, de esta manera, al comparar 2 String, solo se compararía si correspondían a la misma dirección de memoria o no. Este mecanismo es llamado String Intern Pool.
El String Intern Pool es utilizado por la mayoría de lenguajes de programación más utilizados, como es el caso de C#, Python, Java y PHP.
A continuación te explico más a fondo de que va este concepto:
Hubo una época en mi carrera como Programador donde sentía que me estaba quedando atrás en conocimientos, sentía que siempre había algo que aprender, y hasta sentía que era tonto por no saber todo lo que estaba saliendo, era frustrante no llevar el hilo de todo, sentir que era malo en lo que estaba haciendo, ya que me era imposible aprender todo lo que se escuchaba, y lo peor, cada semana que pasaba, nuevas cosas aparecían.
Hubo una época en mi carrera como Programador donde sentía que me estaba quedando atrás en conocimientos, sentía que siempre había algo que aprender, y hasta sentía que era tonto por no saber todo lo que estaba saliendo, era frustrante no llevar el hilo de todo, sentir que era malo en lo que estaba haciendo, ya que me era imposible aprender todo lo que se escuchaba, y lo peor, cada semana que pasaba, nuevas cosas aparecían.
Un día entendí que el problema no era yo, el problema era la creciente evolución de esta área, todo fue mejorando en mi cuando me di cuenta que en realidad, poco de todo lo que estaba saliendo, realmente era algo que necesitaba aprender.
Esto fue la parte difícil, aceptar que no tenemos que aprender todo, solo tenemos que aprender lo que necesitamos, pero: ¿Cómo saber que es lo que necesitamos? Probando por curiosidad, algunos minutos del día algo que nos llame la atención, y tener un juicio sin fanatismo para aceptar si eso nos servirá o solo es algo que tiene mucho hype.
Posterior a esto, al poder decidir que aprender y que no, todo se siente más relajado.
El aprendizaje debe estar orientado a objetivos, puedes tener hobbies de lectura sobre temas que te llamen la atención y no pasa nada, pero el querer aprender todo lo que esta saliendo solo por sentirse que te quedas atrás es un error que cometemos muchos que estamos dentro de la Programación.
He lanzado un video, donde las personas se han sentido identificadas, igual, quizá, puede servirte verlo:
En el siguiente video te muestro como crear y obtener la información de un formulario dinámico creado en HTML y JavaScript, sin utilizar framework o biblioteca alguna.
Los formularios dinámicos son algo indispensable que debemos saber crear como programadores.
Tarde o temprano nos amos a enfrentar a un requerimiento que necesite de una solución dinámica.
En el siguiente video te muestro como crear y obtener la información de un formulario dinámico creado en HTML y JavaScript, sin utilizar framework o biblioteca alguna.
Los principios SOLID nos pueden ayuda a crear código el cual pueda tener mejor adaptabilidad a cambios, esto es importante ya que los proyectos de software suelen tener muchos cambios a través de su existencia.
Los principios SOLID nos pueden ayuda a crear código el cual pueda tener mejor adaptabilidad a cambios, esto es importante ya que los proyectos de software suelen tener muchos cambios a través de su existencia.
JavaScript es un lenguaje de Programación muy flexible, por lo cual se tiene complicación comprender estos principios que originalmente fueron propuestos para lenguajes de programación orientado a objetos.
En el siguiente curso te muestro ejercicios prácticos con los cuales comprenderás estos principios utilizando el lenguaje de programación JavaScript.
Lo realmente difícil de programar es analizar como se va a resolver un problema, una vez analizado, la codificación solo es traducir las ideas que resuelven el requerimiento.
Cuando tenemos el primer acercamiento con la programación, muchas veces lo primero que vemos es la parte de codificar. Esto al final es la parte más sencilla de crear software, ya que al codificar ya se tiene el análisis previo.
Lo realmente difícil de programar es analizar como se va a resolver un problema, una vez analizado, la codificación solo es traducir las ideas que resuelven el requerimiento.
En el siguiente video abordamos a fondo este tema.
Fernando Herrera, programador analista y creador de contenido, referente en enseñanza en línea nos contara: como es vivir en Canadá, que involucra crear un curso, los problemas a los que se enfrento al inicio, tecnologías frontend, como fueron sus inicios como programador y mucho más.
Fernando Herrera, programador analista y creador de contenido, referente en enseñanza en línea nos contara: como es vivir en Canadá, que involucra crear un curso, los problemas a los que se enfrento al inicio, tecnologías frontend, como fueron sus inicios como programador y mucho más.
Factores como estar en una computadora sentados por horas, sedentarismo y rutina hacen que sea un sentimiento común en la área del desarrollo de software, pero hay otro tipo de factores que ocasionan esto.
La frustración no es propia de la programación, pero si algo muy común en esta área.
Factores como estar en una computadora sentados por horas, sedentarismo y rutina hacen que sea un sentimiento común en la área del desarrollo de software, pero hay otro tipo de factores que ocasionan esto.
En el siguiente video me he puesto a analizar algunas cosas comunes las cuales pueden estar frustrándonos sin darnos cuenta, y sobre todo, como los creadores de contenido somos parte del problema.
Al aprender a programar nos encontramos con un contenido masivo de cursos, los cuales nos enseñarán el conocimiento, pero hay un problema con esto, no son suficientes para mejorar como programador.
Al aprender a programar nos encontramos con un contenido masivo de cursos, los cuales nos enseñarán el conocimiento, pero hay un problema con esto, no son suficientes para mejorar como programador.
Al hacer un proyecto te metes en situaciones que un curso no te adentrará, situaciones que te involucrarán a un escenario más realista de lo que es programar, y poco a poco comenzaras a pulirte con nuevas habilidades a la hora de investigar como realizar una solución.
En el siguiente video te muestro 3 ejemplos de situaciones que los cursos no te llevarán nunca: