cap06 comenzar traducc

This commit is contained in:
Victorhck 2022-08-22 16:43:26 +02:00
parent 59e28154c0
commit ef7d212552
1 changed files with 11 additions and 11 deletions

View File

@ -1,24 +1,24 @@
# The map is not the territory
# El mapaa no es el territorio
## The changing landscape of programming
## El panorama cambiante de la programación
The one constant in the field of programming is that it is always in flux. Programming languages come into prominence and then fade away over time. What once was a given is now considered obsolete (or even "considered harmful", as many essays will point out).
La única constante en el campo de la programación es que siempre está en constante cambio. Los lenguajes de programación llegan a tener mucho renombre y después desaparecen con el paso del tiempo. Lo que una vez fue tomado como un hecho ahora está considerado obsoleto (o incluso "considerado dañino" como señalan algunos ensayos).
When I graduated from college we learned Pascal, Modula2 and Ada. Unfortunately those languages were starting to decline in popularity in favor of C. When I started my first "professional" programming position Perl was the language of choice (partially because Perl could be easily transformed into the ubiquitous CGI scripts of the era, and was considered superior to scripting tools like `awk` and traditional shell scripts). As of this writing I'm using Python as my main development language, and I foresee that I'll have to look into other languages to expand my programming career.
Cuando me gradué en la universidad aprendí Pascal, Modula2 y Ada. Desafortunadamente esos lenguajes empezaron a decaer en popularidad en favor de C. Cuando comencé en mi primer trabajo de programación como "profesional" Perl era el lenguaje de elección (en parte porque Perl podía ser transformado de manera sencilla en scripts CGI de la época y era considerado superior a herramientas para realizar scripts como `awk` y los tradicionales scripts para la shell). En el momento de escribir esto estoy utilizando Python como mi lenguaje de desarrollo principal y preveo que tendré que buscar otros lenguajes de programación para expandir mi carrera como programador.
Programming requires flexibility. It's difficult to learn only one way of doing things and have that remain relevant for over 20 years. Think back to what was current technology 20 years ago and you'll no doubt notice that things are quite different now. If you would like a fun exercise, search for articles describing the state-of-the-art technology from 20 years ago and notice how much of it you recognize.
Programar requiere flexibilidad. Es difícil aprender solo una manera de hacer las cosas y mantener eso de manera relevante durante 20 años. Recuerda cual era la tecnología actual hace 20 años y no tendrás ninguna duda en observar que las cosas eran bastante diferentes entonces. Si quieres poner en práctica un ejercicio divertido, busca artículos describiendo la tecnología puntera de hace 20 años y ver cuanto de aquello reconoces.
## Learning to learn
## Aprender a aprender
Learning specific methodologies and technologies is not a good long-term strategy for programmers. We're better served by learning how to learn, and more importantly, how we ourselves learn. That sounds simple: once we've cracked how to learn effectively then we'll be effective programmers. Unfortunately there isn't a foolproof way to learn that works for all people. Different folks learn in different ways. All of us have learning styles that work better when certain things are emphasized. Some learn better in a classroom while others learn best with self-directed study (books, video recordings, etc.). Some can read a book and be perfectly fine with understanding the material, while others may need more visual approaches. If you have the luxury of trying several different methodologies for learning I'd encourage you to use as many as you can to figure out what works best for you. Understanding what works for you will be key to helping you progress and grow.
Aprender metodologías y tecnologías específicas no es una buena estrategia a largo plazo para los programadores. Es más recomendable si aprendemos a aprender y, lo que es más importante, cómo aprendemos nosotros mismos. Eso suena simple: una vez que hayamos descifrado cómo aprender de manera efectiva, seremos programadores efectivos. Desafortunadamente, no existe una manera infalible de aprender que funcione para todas las personas. Personas diferentes aprenden de diferentes maneras. Todos tenemos estilos de aprendizaje que funcionan mejor cuando se enfatizan ciertas cosas. Algunos aprenden mejor en el aula de una clase, mientras que otros aprenden mejor con el estudio auto dirigido (libros, grabaciones de vídeo, etc.). Algunos pueden leer un libro y entender perfectamente la materia, mientras que otros pueden necesitar enfoques más visuales. Si tienes el lujo de poder probar varias metodologías diferentes para aprender, te animo a que uses todas las que puedas para descubrir cuál funciona mejor en tu caso. Comprender lo que funciona para ti será clave para ayudarte a progresar y crecer.
I've found that some simple principles work best for me. The first is repetition. I learn better when I do something daily, over and over again, in small chunks. The second is having a small goal that I can achieve. So for me having a daily practice time on a project where I can work toward an end goal works best. When I was learning Python I enrolled in PyWeek, a one week game programming sprint where the theme is announced near the beginning and all programming happens during the week. For that entire week I made time to complete my game, and by the end of the week I'd learned more about Pygame (the library I used for my game) and Python than I had in the weeks leading up to PyWeek. Doing a one-week "game jam" (as they're currently called) is a bit extreme, but it gave me a clear goal (a completed, working game) and a time-frame to accomplish it (one week). Over the years I've learned more about Python with various projects (both professionally and for myself) that had daily practice and clear end goals.
He encontrado que algunos principios sencillos funcionan mejor en mi caso. El primero es la repetición. Aprendo mejor cuando hago algo de manera diaria, una y otra vez, en pequeñas dosis. La segunda manera es teniendo una pequeña meta que pueda conseguir. Así que para mí tener una práctica diaria en un proyecto donde pueda trabajar y conseguir un objetivo es lo que mejor me funciona. Cuando estaba aprendiendo Python me uní a la PyWeek, una competición de programación de un juego de una semana de duración donde el tema a tratar se anuncia al comienzo y toda la programación transcurre en una semana. Durante esa semana completa encontré tiempo para completar mi juego y al final de la semana había aprendido más sobre Pygame (la biblioteca que utilicé para mi juego) y Python que lo que había conseguido en semanas anteriores al PyWeek. Realizar una semana de duración de esta _game jam_ (como lo llaman) es un poco extremista, pero me dio un objetivo claro (un juego funcional completo) y un tiempo dedicado para conseguirlo (una semana). Con el paso del tiempo he aprendido más sobre Python con varios proyectos (tanto profesionales como personales) que tenían una práctica diaria y objetivos claramente definidos.
You'll need to experiment to see what works best for you. The underlying principle is that your learning process should be something that you can use for any language or concept in programming. It should also offer the least amount of resistance to your learning. Your ability to learn and adapt will be vital to your experience as a programmer, so understanding your learning process and what works best for you will help you in this process.
Necesitarás experimentar para ver qué es lo que mejor funciona en tu caso. El principio que subyace es que el proceso de aprender debería ser algo que tu puedas utilizar para cualquier lenguaje o concepto en programación. Debería también ofrecer al menos menos resistencia a tu aprendizaje. Tu capacidad para aprender y adaptarte será vital para tu experiencia como programador, así que entender tu propio proceso de aprendizaje y qué funciona mejor en tu caso te ayudará en este proceso.
At the very least, set aside 10 minutes per day as a container (see previous chapter) for focused reading and learning. There is a lot to learn in programming and creating a habit of learning will help you keep up. Remember, though, to keep your learning contained in small chunks. A lot of information can overwhelm you into thinking that you can't possibly learn it all. You're right -- you can't learn it all in one sitting. If someone told you to drink one of the Great Lakes in one sitting you'd be hard pressed to complete the task (note: please don't attempt this!). If, however, you filled a glass of water several times a day from one of the Great Lakes and drank it (10 minutes at a time) you'd start to make an appreciable dent in the reduction of that lake over your life-time. (Sure, it might not look like much on the outside, but that's the junction where reality and metaphors break down).
Como mínimo, reserva 10 minutos al día para un contenedor (consulta el capítulo anterior) para una lectura y el aprendizaje enfocados. Hay mucho que aprender en programación y crear un hábito de aprendizaje te ayudará a mantenerte al día. Recuerda, sin embargo, mantener tu aprendizaje contenido en pequeños fragmentos. Mucha información puede abrumarte y hacerte pensar que no puedes aprenderlo todo. Tienes razón, no puedes aprenderlo todo de una sola vez. Si alguien te dijera que bebieras uno de los Grandes Lagos de una sola vez, sería difícil completar la tarea (nota: ¡no intentes esto!). Sin embargo, si llenaras un vaso de agua varias veces al día de uno de los Grandes Lagos y lo bebieras (10 minutos cada vez), comenzarías a hacer una mella apreciable en la reducción de ese lago a lo largo de tu vida. (Claro, puede que no parezca mucho desde el exterior, pero ese es el cruce donde la realidad y las metáforas se rompen).
Each day you have an opportunity to learn more about the realm of computers and computer programming. Taking a small part of every day to learn a little bit more will help you on your journey.
Cada día tienes una oportunidad de aprender sobre más sobre ordenadores y la programación de estas. Realizar una pequeña parte cada día para aprender un poco más te ayudará en tu viaje.
## How to choose what to learn