Rust for the Novice Programmer/Introduction
Introduction[edit | edit source]
Welcome to Rust for the Novice Programmer! In the introduction you will gain some context for the concepts you will learn in the following chapters. Don't be too worried if you don't understand bits and pieces of it. Just learning some portions will help you to grasp ideas as you move forward!
What is Programming?[edit | edit source]
Programming is writing programs that instruct a computer to do a certain task. However, computers are both complicated and rudimentary and don't understand normal human language very well because our languages are imprecise and inaccurate. Therefore, we must use a language which is precise and clear to communicate our exact intent to computers. This is where programming languages come in. They provide a way for us to lay out instructions in the way we want that a computer will perform, however since they are not natural languages they must be learned. There are many, many programming languages each with their own advantages and disadvantages but in this guide we will be focused on learning the Rust programming language.
What is Rust?[edit | edit source]
Rust is a modern programming language designed for performance and safety. This is the tagline you might see, but what does it mean? Modern is saying that because it began development around 2010 and became stable(not changing in ways that would break old programs) around 2015, this is relatively modern for most programming languages since it takes a lot of time to build up the ecosystem a language requires. The advantage of being modern is that it can use ideas that are proven to work from other languages and adapt them. A lot of languages are stuck with old ideas that aren't really fit for purpose but that can't be removed now. It is designed for performance which essentially means that it runs fast. This might not seem like a big deal but if you think about how much computing goes on around the world, from massive servers that serve websites to computers rendering 3d graphics, having high performance does improve the quality of programs significantly. Finally, safety is hugely critical. We use computers for everything from banking to shopping to even things like driving nowadays. It is imperative that programs don't just work, but work under all conditions and don't break when people who want to break them try. Thus, Rust has some concepts that help to preserve correct programs that work as expected.
All that being said, it is hoped you have fun! Programming can be fun and engaging and you don't want to get too caught up in these concepts at the start.