If you want to focus on building on your own project or app for fun, that’s fine, too. But you are going to be learning slightly different skills than if you want to become a professional software developer.
I would also like to become a contributor to open source projects because this is something I value. Some of them can be for a really great cause, or just be super handy, like GIMP, the Free and Open Source (FOSS) photo editing software.
What the heck is open source?
Don’t know what open source is? It goes by multiple names depending on your philosophical leanings, but essentially it means that a program’s software code is open to modification by its users and can be freely distributed.
Image: Linus Torvalds, the creator of the open-source Linux Kernel and software version control system Git, Wikimedia Commons
Most software available now is proprietary, and that means particular companies own the code. They want to use this model of owning software to make a profit, unlike in the early days of the web, when nerdy men used to bootleg software and share it freely.
How software languages came to be
If you think about the concept of computer science and science and engineering in general, these refer to the aspects of the external world that humans have built as part of a collective effort. Science and engineering have enabled us to build atomic bombs, 3D printers and stethoscopes.
In contrast to spoken languages, which organically developed over time from the first grunts of cave men to the erudite heights (or not so much) that we know today, programming languages were actually made up by specific people. It took me ages to get my head around this.
Image: Library at Trinity College Dublin, Wikimedia Commons
Queues and stacks
When you program anything, it’s generally about handling data in some way (information that a computer understands) to achieve a stated purpose.
In a queue, you store data in a linear structure (a line that has a beginning and an end), and the data that was added to the queue first gets deleted.
In a web browser, if it’s being a little slow, you notice that the action you took first (such as clicking on a button) is executed before all the other actions you performed subsequently. This is a real-life use of a queue. You can remember this type of queue as First In First Out (FIFO).
Image: Queue of people, Pixabay
enqueue() adds data
dequeue removes the oldest added data
push() adds data
pop() removes the most recently added data.
You know something is a string if it is surrounded by quotes. The type of quotes you use isn’t that important, unless you’re writing a Template Literal.
For example, “Hello, World!” is a string and it can be stored inside variables to be used later. Users can also type their own strings into the browser.
Strings can be added together (called concatenating), so a typical use-case would be something like “Hello” + “Catherine” to address a user with personalization.
You can do all the obvious things like add and subtract, multiply and divide, as well as ‘modulo’ find the remainder (used in some common functions in science, like converting celsius to Fahrenheit).
In many of your functions, you will be performing equations with your data. Numbers can also be stored inside variables (like strings) to use later.
Many people want to learn to code to advance their current job, or to transition into a role in the technology industry.
It’s also important to simply understand the technology that underpins our lives. Learning to code, and particularly about computer science, is a great way to do just that.
Girls and women are discouraged from making and breaking things. In films, literature and the media it’s seen as the domain of men, and that’s a shame.
Did you like this post? Contact me at firstname.lastname@example.org to commission me to write for your company blog.