<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Foreign Language - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Foreign Language - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 18 May 2026 10:48:07 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/foreign-language/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Type Letters with Accents on Mac ]]>
                </title>
                <description>
                    <![CDATA[ If you're writing in a language other than English, you'll likely need to know how to include accent marks. You know, like voilà, olé, or über. Fortunately, there are a couple easy ways to do this on a Mac. In this article, we'll go through the main ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-type-letters-with-accents-on-mac/</link>
                <guid isPermaLink="false">66b1fa4b7dd34c3b72fe22dd</guid>
                
                    <category>
                        <![CDATA[ Foreign Language ]]>
                    </category>
                
                    <category>
                        <![CDATA[ how-to ]]>
                    </category>
                
                    <category>
                        <![CDATA[ mac ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Abigail Rennemeyer ]]>
                </dc:creator>
                <pubDate>Tue, 24 Nov 2020 10:30:28 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5fac64b849c47664ed81e086.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're writing in a language other than English, you'll likely need to know how to include accent marks. You know, like voilà, olé, or über.</p>
<p>Fortunately, there are a couple easy ways to do this on a Mac. In this article, we'll go through the main methods so you can add accents to your text with ease.</p>
<h2 id="heading-the-press-and-hold-accent-method-on-mac">The Press and Hold Accent Method on Mac</h2>
<p>If you're not in a rush and you want to see all the common accent options at a glance, there's an easy way to do that.</p>
<p>Simply press and hold the key on which you'd like the accent to appear, and a number of options will come up above the letter, like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/Press-and-hold-accent-method.png" alt="Image" width="600" height="400" loading="lazy">
<em>Press and hold accent method</em></p>
<p>When you see the type of accent you'd like to add, just type that number and the accent will be added to the letter. You can also use the left and right arrow keys (and enter) to select which one you want.</p>
<p>So, for example, if you wanted the second option, above, you'd press and hold e, then press 2 (or press the right arrow key once and then enter).</p>
<p>This method works well if you don't mind the time it takes for that little accent menu to pop up. But it doesn't always include all accents in every language. And it does slow down your flow, especially if you're typing a whole article in another language. Whew, that's a lot of added time.</p>
<p>Fortunately, there's another common method that involves keyboard shortcuts. And gives you all the options, as well.</p>
<h2 id="heading-the-option-key-accent-method-on-mac">The Option Key Accent Method on Mac</h2>
<p>The Option key helps you add all kinds of accent and diacritic marks to your text. Just press and hold the Option key (the same as the Alt key), then press the "e" key, and then release them and press the letter key to which you'd like to add the accent.</p>
<p>For example, if you'd like to add an acute accent (´) to the letters a, e, i, o, or u, you'd press Option + e, and then the letter to which you'd like to add the accent. So, Option+e+a gets you á.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/quincy-accent-tweet.png" alt="Image" width="600" height="400" loading="lazy">
<em>Accent insights from freeCodeCamp's founder.</em></p>
<p>But what if you want a different sort of accent, like a grave or umlaut? Don't worry – there are option key combos for those, too (and more).</p>
<ul>
<li>Option + ` + letter = grave accent à, è, ì, ò, or ù (like this: Voilà)</li>
<li>Option + i + letter = circumflex accent â, ê, î, ô, or û (like this: Crêpe)</li>
<li>Option + n + letter = eñe character ñ, ã, or õ (like this: El Niño)</li>
<li>Option + u + letter = umlaut accent ä, ë, ï, ö, or ü (like this: Über)</li>
<li>Option + a or Shift + Option + A (for capital A) = å or Å</li>
<li>Option + ' or Shift + Option + ' = æ or Æ (ligatured ae)</li>
<li>Option + q or Shift + Option + Q (for capital letters) = œ or Œ</li>
<li>Option + c or Shift + Option + C (for capital) = ç or Ç</li>
<li>Option + o or Shift + Option + O (for capital) = ø or Ø</li>
<li>Shift + Option + ? = ¿</li>
<li>Option + 1 = ¡</li>
<li>Option + 5 = ∞</li>
</ul>
<p>Once you memorize these combinations, you can incorporate the keystrokes right into your typical typing flow. And you can always bookmark this article in case you forget :).</p>
<h2 id="heading-bonus-other-option-key-combos-on-mac">Bonus: Other Option Key combos on Mac</h2>
<p>What if you need to type some math symbols? Or the symbol for the Euro currency? You'll need more than just accent options.</p>
<p>Well, did you know – your basic English-language keyboard is hiding all those special characters right in (almost) plain sight? </p>
<p>By holding the option key and pressing any of the letters/numbers/punctuation marks, you can create a completely different character than what's printed on your keyboard.</p>
<p>So how do you know what each key combo gets you? Don't worry – your Mac can tell you. It just takes a few steps to find that info.</p>
<h3 id="heading-step-1-go-to-system-preferences">Step 1: Go to System Preferences</h3>
<p>Find the Apple icon in the upper left corner, and click it. Then select "System Preferences" from the dropdown menu.</p>
<p>Select the Keyboard icon, and you'll see this box:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/keyboard-customization.png" alt="Image" width="600" height="400" loading="lazy">
<em>How to customize your keyboard.</em></p>
<p>Make sure the "Show keyboard and emoji viewers in menu bar" is checked (as it is in the image above).</p>
<h3 id="heading-step-2-click-the-keyboard-icon-in-your-top-menu-bar">Step 2: Click the keyboard icon in your top menu bar</h3>
<p>Now you'll see a little keyboard icon in your top menu bar, next to your bluetooth and wifi symbols/icons. Click it, and select "Show keyboard viewer".</p>
<p>That will bring up an image of your keyboard as it's configured on your Mac:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/keyboard-viewer.png" alt="Image" width="600" height="400" loading="lazy">
<em>Your keyboard's basic configuration.</em></p>
<h3 id="heading-step-3-press-the-options-key">Step 3: Press the Options key</h3>
<p>Now, if you hold down the Options key, it'll show you what else all those keys can do, like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/Options-keyboard.png" alt="Image" width="600" height="400" loading="lazy">
<em>So many options...</em></p>
<p>You can see the most common accent marks highlighted in orange above. Those are the keys that, when combined with the Option key, give you those accent marks (as you learned above).</p>
<p>You'll also see all kinds of other useful symbols, like currency symbols, math symbols, and so on. So if you ever need a quick reminder about what keys to press when you need to write the Greek letter µ (miu), for example, just reference this chart.</p>
<h2 id="heading-how-to-add-accents-on-windows-with-the-international-keyboard">How to Add Accents on Windows with the International Keyboard</h2>
<p>If you want to use shortcuts to include accents and special characters without switching to an entirely different keyboard layout, you can enable the international keyboard.</p>
<p>First, press the Windows key, type "Language", and click on "Language Settings" to open the language menu:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-152.png" alt="Image" width="600" height="400" loading="lazy">
<em>The Windows 10 language menu.</em></p>
<p>Then under "Preferred languages" click on "English" and "Options" to open the language options menu:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-150.png" alt="The Windows 10 English Language Options menu." width="600" height="400" loading="lazy">
<em>The Windows 10 English Language Options menu.</em></p>
<p>Under "Keyboards", click the "Add a keyboard" button and click on "United States-International" to add the international keyboard to your system.</p>
<p>To enable the international keyboard, move your mouse down to the taskbar and click on "ENG US", then click on "ENG INTL":</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-153.png" alt="Use the keyboard select menu in the taskbar to enable the international keyboard." width="600" height="400" loading="lazy">
<em>Use the keyboard select menu in the taskbar to enable the international keyboard.</em></p>
<p>Alternatively, hold down the Windows key and press Space to cycle through your installed keyboard layouts.</p>
<p>The main difference between the normal US keyboard layout and the international layout is that some keys work as a sort of "accented character lock".</p>
<p>For example, to type a single apostrophe (') with the international keyboard enabled, just type ' + Space. For a double quotation mark, just type " + Space. And backticks work the same way with ` + Space.</p>
<p>With that out of the way, here's how to type some common accents with the Windows 10 international keyboard:</p>
<ul>
<li>` + letter = grave accent à, è, ì, ò, or ù (like this: Voilà)</li>
<li>^ + letter = circumflex accent â, ê, î, ô, or û (like this: Crêpe)</li>
<li>~ + letter = eñe character ñ, ã, or õ (like this: El Niño)</li>
<li>" + letter = umlaut accent ä, ë, ï, ö, or ü (like this: Über)</li>
<li>Right Alt+ w or Shift + Right Alt + W (for capital A) = å or Å</li>
<li>Right Alt + z or Shift + Right Alt + Z = æ or Æ (ligatured ae)</li>
<li>Right Alt + &lt; or Shift + Right Alt + &lt; (for capital) = ç or Ç</li>
<li>Right Alt + l or Shift + Right Alt + L (for capital) = ø or Ø</li>
<li>Right Alt + ? = ¿</li>
<li>Right Alt + 1 = ¡</li>
</ul>
<p>But you might have noticed that there's no shortcut to type œ, Œ, or ∞ with the international keyboard.</p>
<p>For that, let's take a quick look at another way to type accents, special characters, and symbols on Windows 10.</p>
<h2 id="heading-how-to-add-accents-on-windows-with-the-emoji-panel">How to Add Accents on Windows with the Emoji Panel</h2>
<p>The emoji panel makes it easy to scroll through all the available emoji and add one to a message. But you can also use the emoji panel to quickly add an accented or special character, too.</p>
<p>Use the shortcut Windows Key + . to open the emoji panel:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-154.png" alt="The Windows 10 emoji panel." width="600" height="400" loading="lazy">
<em>The Windows 10 emoji panel.</em></p>
<p>To add accents or special characters, press the symbols button at the top:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-156.png" alt="The Windows 10 emoji panel's Symbol options." width="600" height="400" loading="lazy">
<em>The Windows 10 emoji panel's Symbol options.</em></p>
<p>Then scroll through the menu and click on the accent or character you want:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-157.png" alt="Selecting the œ character in the Windows 10 emoji picker." width="600" height="400" loading="lazy">
<em>Selecting the œ character in the Windows 10 emoji picker.</em></p>
<p>Also, you can click around the different menus at the bottom for different types of symbols. For example, ∞ is in the "Math symbols" section:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-158.png" alt="Selecting the ∞ character in the Windows 10 emoji picker." width="600" height="400" loading="lazy">
<em>Selecting the ∞ character in the Windows 10 emoji picker.</em></p>
<p>And that should be everything you need to know to type accents and other special characters on both Mac and Windows. Adiós!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How learning a foreign language helps you learn to code ]]>
                </title>
                <description>
                    <![CDATA[ By Dylan Attal The road to becoming a software developer is a long and difficult one, especially for individuals like me who come from a completely non-technical background. I am a communication-oriented person. I have a passion for speaking foreign ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-learning-a-foreign-language-helps-you-learn-to-code-937e20b351f6/</link>
                <guid isPermaLink="false">66d45e3d8812486a37369c8f</guid>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Foreign Language ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 28 Mar 2019 15:32:40 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*9PzWQk-vRbSPf2lWU1xiPg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Dylan Attal</p>
<p>The road to becoming a software developer is a long and difficult one, especially for individuals like me who come from a completely non-technical background. I am a communication-oriented person. I have a passion for speaking foreign languages, immersing myself in foreign cultures, and trying all sorts of new food.</p>
<p>I am a humanities guy. A liberal arts guy. How did I learn how to code? My obsession with foreign language had a lot to do with it.</p>
<p>I grew up in Tampa, a beautiful city on the west coast of Florida with a rich Hispanic heritage. My ancestry is Scotch-Irish and my parents moved to Tampa around 30 years ago from North Carolina. My father worked in the famous Columbia restaurant where I remember eating chicken and yellow rice while watching flamenco shows at a young age.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/1_pRay_JxHoI-_ITvpvkK1mw.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Flamenco show at the Columbia Restaurant. Impressive and intense. Credit to <a target="_blank" href="http://www.columbiarestaurant.com/News-And-Events/Events">columbiarestaurant</a>.</em></p>
<p>Many of my friends in school grew up bilingual. I heard them speaking Spanish with their parents at pick-up time. It always fascinated me how they could communicate between themselves without me understanding. It was a certain power I didn’t have. It was like magic. Moreover, my best friend was Brazilian. When he spoke to his family in Portuguese, even my Spanish-speaking friends couldn’t understand. I remember promising myself in the 6th grade that one day I would be trilingual. My dream was to wield the magic of language.</p>
<p>Fast forward about 15 years.</p>
<p>I had accomplished my goal. I studied Linguistics, Spanish, Portuguese, Latin American Studies, and Teaching English as a Second Language at the University of Florida (GO GATORS! ?). I spent time in Sevilla, Barcelona, and Rio de Janeiro during my language studies. As a post-graduation trip, I hiked up Machu Picchu in Peru.</p>
<p>My knowledge of foreign languages opened up so many doors for me. I connected with people from completely different cultures, regions, and perspectives. I chowed down on local delicacies: alpaca burgers, cow hearts, fried guinea pig, seared rabbit, roasted chicken hearts, and more.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/1_SLICE7iPrO7d6MKcdLWfgA.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Brazilian chicken hearts. SO GOOD. Credit to <a target="_blank" href="https://www.brazilianchef.co.uk/chicken-heart-bbq/">Brazilian Chef.</a></em></p>
<p>But ultimately, I decided not to pursue a career in foreign language education like I had planned. The reasons behind that decision are many, and for a different post entirely.</p>
<p>I ended up as a software developer, and I couldn’t be happier. However, there was a lot of self-doubt along the way because I made such a leap career-wise. As it turns out, though, learning two foreign languages in the past greatly benefitted me as I learned how to code.</p>
<p>I argue that anyone who has learned a foreign language is uniquely suited for learning how to program. There are a lot of similarities between learning a human language and a programming language. I think that these similarities can be boiled down to two main points:</p>
<ol>
<li>The learning process</li>
<li>The learning mindset</li>
</ol>
<h1 id="heading-the-learning-process">The Learning Process</h1>
<p>The processes through which you learn a human language and a programming language are remarkably similar. You have to pass through similar steps in the same order to learn them effectively.</p>
<h2 id="heading-step-1-learn-the-building-blocks">Step 1: Learn the Building Blocks</h2>
<p>When you’re learning a foreign language, you start with memorizing vocabulary words. Vocabulary words are the building blocks of the language. You learn the words that are used most often and the words that form the basics of the human experience: names, numbers, colors, family members, days of the week, months of the year, etc.</p>
<p>You don’t know how these words fit together, but you learn them and their definitions. You may even sing songs or chant them in order to memorize them.</p>
<p>In programming, there is a similar step. How does the language handle numbers? How do you perform operations on those numbers? How do you declare a variable and store its value? How do you write, “Hello, world”?</p>
<h2 id="heading-step-2-put-the-blocks-together">Step 2: Put the Blocks Together</h2>
<p>The next step in learning a foreign language is putting words together. There’s no real understanding of grammar yet, but you start to understand that words go together to create more complex meaning.</p>
<p>For example, <code>Me llamo Dylan</code> means <code>My name is Dylan</code>. At this point in my journey in Spanish I wouldn’t understand that <code>me</code> is a reflexive pronoun that is attached to the verb <code>llamarse</code>, and I wouldn’t understand that <code>llamo</code>is the first person present conjugation of <code>llamarse</code>, but I would know that the way to say your name is to say the phrase <code>Me llamo [name]</code>.</p>
<p>Similarly, while beginning to learn JavaScript, you may not fully understand why the following code is written how it is, but you’ll understand that it returns the values in the array less than 50:</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> prices = [<span class="hljs-number">25</span>, <span class="hljs-number">30</span>, <span class="hljs-number">80</span>, <span class="hljs-number">90</span>, <span class="hljs-number">100</span>]
prices.filter(<span class="hljs-function"><span class="hljs-params">price</span> =&gt;</span> price &lt; <span class="hljs-number">50</span>)
<span class="hljs-comment">// returns [25, 30]</span>
</code></pre>
<p>You could have written the above code differently. I didn’t have to write it with an arrow function. But at this point, those kinds of subtleties aren’t the most important thing. The most important thing is realizing that you can manipulate arrays through functions.</p>
<h2 id="heading-step-3-learn-syntax">Step 3: Learn Syntax</h2>
<p>This is the turning point in language learning. This is where you learn how to construct meaningful ideas by using grammar to string together ideas. You learn how to conjugate verbs. You learn the difference between tenses. You learn purely functional words — words that don’t really <em>mean</em> anything on their own, but help us connect phrases and ideas. The Spanish word <code>que</code>is a good example. It is often used as a subordinating conjunction, a word that connects clauses together.</p>
<p>Grammar is a hard part of learning a new language because it is more abstract than learning words that have real-life references. <code>mesa</code> in Spanish is <code>table</code>. That’s easy to picture. <code>ni siquiera</code> is a phrase that means <code>not even</code>, like “I wouldn’t date him not even for a million dollars.” How do you picture the idea of “not even”? But it’s an important connector put into a specific place in the sentence to determine a relationship between the desire (or lack thereof) to date him and the idea of one million dollars.</p>
<p>My favorite example of learning syntax in programming is <code>this</code> in JavaScript. It’s a confusing topic at first. Why are we writing <code>this</code> before function calls? What does <code>this</code> mean? Why is it called <code>this</code>? Keywords like <code>this</code> are the grammar of programming. <code>this</code> accesses the context object in which the current code is executing. It don’t necessarily mean anything on its own, but it helps us connect parts of our code.</p>
<p>It’s worth mentioning that grammar varies wildly from one human language to another. That goes for programming languages, too. Just imagine the differences between object-oriented languages and functional languages. Also strongly-typed and weakly-typed languages. They look and act differently.</p>
<h2 id="heading-step-4-speak-like-a-native">Step 4: Speak Like a Native</h2>
<p>At this step you can get the message across, but it sounds weird. People can tell you’re not a native speaker. Maybe you have a heavy accent. Maybe your grammar makes sense logically, but it’s just not the way people would normally express the idea.</p>
<p>Working on this step is the most rewarding but also the most difficult. Language students pride themselves on sounding native. Your accent is a big part of this, but there are a lot of other things to keep in mind. Using idiomatic phrases is one. Word choice is another. Register — when to be formal, when to be casual, when to be vulgar — is another complicated part of sounding native.</p>
<p>When I was studying abroad in Rio de Janeiro, my host mother was showing me around town on the first day. I lived in Copacabana three blocks from the beach. I was thinking how beautiful it would be to watch the sunset from the beach, but I didn’t know the word for “sunset!” So I asked instead, <code>At what time does the sun disappear?</code> Horribly formal, very stilted way to ask about the sunset. But the way I asked was completely grammatically correct, so she shot me a weird look and answered. Then politely provided me with <code>pôr-do-sol</code> as the word for sunset.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/1_o6x29TUDQUc6ubXLVkP1gQ.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Sunset over Copacabana beach in Rio de Janeiro, Brazil. Credit to <a target="_blank" href="https://www.shutterstock.com/video/clip-15649072-sunset-over-copacabana-beach-rio-de-janeiro">Shutterstock</a>.</em></p>
<p>Coding is the same. You have many options (in some languages more than others) to express an idea. There is a creative — maybe even artistic — side to coding due to the flexibility with which you can accomplish your goals.</p>
<p>But sounding native in code is important, too. I learned early on that your code should be readable by other developers. No one wants to read code that is improperly indented or where there’s weird unnecessary whitespace. People want logically organized code. People want variable names that make sense. People want helpful comments.</p>
<p>Similarly, following conventions is important. Can you use <code>div</code>s to make headers and footers for a page? Yes. But why would you? HTML5 gave us <code>header</code> and <code>footer</code> tags to help with SEO, accessibility, and readability of code by other developers. If you continue to use <code>div</code>s, the code will execute fine, but people will raise an eyebrow at it.</p>
<h1 id="heading-the-learning-mindset">The Learning Mindset</h1>
<p>It takes a certain mindset to excel as a language student. You have to be childlike: hungry to understand the world around you, willing to accept new information as you discover it, and unafraid of making mistakes or looking silly.</p>
<p>Learning a foreign language is frustrating because you have to learn certain basics or rules of the language then later find out that there are a ton of exceptions to those rules. For example, in Spanish you usually put the adjective after the noun. So <code>pretty woman</code> would be <code>mujer bonita</code>, where “bonita” is “pretty”. This is awkward for English speakers learning Spanish because in English you generally put the adjectives before the nouns.</p>
<p>As it turns out, though, there are plenty of instances in Spanish where the adjective goes before the noun! In fact, some adjectives you can put either before or after the noun, and the placement changes the meaning of the sentence:</p>
<pre><code class="lang-js">Mi amiga vieja <span class="hljs-comment">// My old (in terms of age) friend</span>
Mi vieja amiga <span class="hljs-comment">// My old (you have known her for a long time) friend</span>
</code></pre>
<p>A successful language student is able to work through the frustration that comes along with these paradigm shifts. Instead of thinking, “What do you mean adjectives can come before nouns?! What a waste of time! You should have told me that in the first place!” they would say, “How interesting! So it turns out that there are instances where an adjective before a noun adds nuance to the sentence’s meaning. I’m glad I learned the general rule first and then the exceptions so I didn’t get confused.”</p>
<p>A good language student does not seek to understand a language all at once. They realize that it’s a constant practice. And furthermore, the understanding of a language is a moving target. Languages are constantly changing and evolving. As a language student, you have to accept that standards and conventions are constantly changing and you have to keep up to date with them.</p>
<p>You need a similar learning mindset when learning to program.</p>
<p>When I first learned how to iterate through arrays in JavaScript, I did so with a for loop. That was the only way I knew how to. Later on, I discovered <code>.forEach()</code>, <code>.filter()</code>, and <code>.map()</code>. Those blew my mind at the time! Even later I discovered <code>.every()</code>, <code>.some()</code>, and <code>.reduce()</code>. It turns out that there are many more ways to iterate through arrays than I originally knew, but I built my base knowledge of iteration with for loops, then added to and modified my understanding of iteration as time went on.</p>
<p>Just as human languages evolve, so do programming languages. I have heard a lot of developers complain about having to learn new frameworks every several years. I don’t understand the complaints. New frameworks often make using the language easier. It’s our job as a software developer to stay current on the best practices and new trends within programming languages.</p>
<p>Software developers also have to stay up to date with the release of new language versions. For example, with the release of ES6 JavaScript, arrow functions became (deservedly) popular. Oftentimes, they make code easier to read and write. Why stick with ES5 syntax when there is a better alternative? It doesn’t make sense to be stuck in old ways.</p>
<p>Perhaps the most important character trait in a successful language learner is the ability to make mistakes.</p>
<p>Fear holds us back from learning. Fear of failure. Fear of looking stupid. Fear of not measuring up to expectations. Fear of making mistakes. So a lot of people keep their mouth shut. They figure that if they don’t talk in a foreign language then they can’t make mistakes. This is, of course, a poor strategy since the crux of learning a foreign language is speaking.</p>
<p>I think that this is one reason that children are such good learners. They’re not afraid! They make mistake after mistake and don’t feel ashamed. They say nonsensical things all the time. They blabber. They make up words. They tell stories with no clear purpose or plot. They experiment. And through all their mess-ups and trials and errors, they discover the accepted patterns of their native language.</p>
<p>It’s much harder for adults to adopt this mindset with a second language, but I believe that if you learn how to laugh at yourself you can take the sting out of mistakes and enjoy the learning journey.</p>
<p>I remember the summer I studied abroad in Sevilla, Spain. I had just begun to take learning Spanish seriously. I was so excited to be in the beautiful south of Spain, but boy was it hot! And I’m from Florida, so that’s saying something!</p>
<p>One night I was walking home from a bar with a group of Spaniards and some American friends. We were all sweating it was so hot even with the sun down. I had had enough, and I exclaimed <code>¡Dios mío, estoy caliente!</code>which translates to <code>Oh my god, I'm horny!</code> ??‍♂️</p>
<p>After a moment of shocked silence they erupted into laughter. What I should have said was <code>¡Dios mío, tengo calor!</code>. It’s a common mistake among English speakers learning Spanish. I was embarrassed, but I was laughing as hard as they were once I realized my mistake. It became one of our favorite stories to tell back home. And trust me, I’ve never forgotten how to say <code>I'm hot</code> since.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/1_AMDusbEk8cUfTVNYHF2p9A.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Plaza de España in Sevilla, Spain. What a beautiful city. Credit to <a target="_blank" href="https://handluggageonly.co.uk/2019/01/03/11-best-things-to-do-in-seville-spain/">HandLuggageOnly</a>.</em></p>
<h1 id="heading-the-bottom-line">The Bottom Line</h1>
<p>Don’t be afraid to learn how to code if you’re a humanities person like me. Many dev teams are looking for people with strong interpersonal skills!</p>
<p>Your background is a double-edged sword. You will certainly have to play catch up, but on the other hand, you are predisposed to learn programming very effectively. And the best news is that you bring a whole swath of soft skills to the table that traditional programmers might not.</p>
<p>Learning a second language can be fun, rewarding, and fulfilling. I found that learning programming can be fun, rewarding, and fulfilling, too. With an understanding of the learning process and the right attitude you can succeed at — and enjoy — both.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
