Want to Learn Programming? 5 Key Terms You Should Know
Whatsapp Pinterest
Advertisement

Everyone wants to be a software developer, but no one wants to be a software developer. One of the main reasons why being: how in the world do you keep all those new terms in your head?

The following is primer on the most essential programming terms you’ll come across as a newcomer, laying out the everyday basics required when learning how to code.

Before You Start, Relax!

You’re not expected to memorize every programming term you come across. Through practice, you will gain an intuitive sense for what these and other terms refer to. Instead of solely trying to memorize the terms and their definitions, attempt to clarify the logic of how and why these terms are used in a programming environment.

This method is especially helpful considering most confusing programming terms typically involve other confusing terms. It’s important that you don’t stress yourself out when learning to program How to Learn Programming Without All the Stress How to Learn Programming Without All the Stress Maybe you've decided to pursue programming, whether for a career or just as a hobby. Great! But maybe you're starting to feel overwhelmed. Not so great. Here's help to ease your journey. Read More .

1. Text Editor

A text editor is a program that edits text. While that may seem simple, you’d be surprised how much goes into using a proper text editor.

Notepad for Windows is a typical example of a text editor The 6 Best Windows Notepad Alternatives The 6 Best Windows Notepad Alternatives Windows Notepad is too simple, but Microsoft Office is overkill? If you're looking for a Notepad replacement, here are the leading alternatives. One will be perfect for you. Read More . Text editors sought out for their programming capabilities, however, integrate various keyboard commands and features. These allow for faster, cleaner coding.

One such important feature is syntax highlighting. This allows text editors to highlight different parameters in different colors. The programmer can then distinguish different commands, languages, and notations by skirting the document. Syntax highlighting is crucial for noting errors and separating chunks of code. It can also foster an intuitive sense of programming logic. One red parenthesis, to give a basic example, means another one must be placed nearby.

Notepad++ and Sublime Text are two examples of quality text editors available for you to download, use, and explore.

2. IDE (Integrated Development Environment)

Whereas a text editor Text Editors vs. IDEs: Which One Is Better For Programmers? Text Editors vs. IDEs: Which One Is Better For Programmers? Choosing between an advanced IDE and a simpler text editor can be hard. We offer some insight to help you make that decision. Read More only focuses on the code you’re writing, an IDE is a sandbox of sorts that allows you to write, compile (translate from text to computer speak), test, and debug (or correct) your application. The word environment in “integrated development environment” is key: using an IDE means you’re using several programming tools in one enclosed program. You’re then meant to use these tools to create a product.

While IDE’s don’t necessarily denote an easier or more difficult programming experience than a text editor, some swear by them because they facilitate key aspects of programming such as file linking. It’s easy to keep track of a single HTML file modified by a single CSS style sheet Learn HTML and CSS with These Step by Step Tutorials Learn HTML and CSS with These Step by Step Tutorials Curious about HTML, CSS, and JavaScript? If you think that you have a knack for learning how to create websites from scratch -- here are a few great step-by-step tutorials worth trying. Read More , but more complicated projects require linking various languages, frameworks, and so on.

That’s when an IDE becomes most useful, since they integrate files, folders, and tools into one convenient (although often bulky) package. IDE’s are also particularly useful for object-oriented programming languages as well, such as C++, C, Ruby, and so on.

3. Programming Languages vs. Scripting Languages

“That’s not a script, that’s a language” is an age old adage in the programming world. While most beginners typically refer to all code as involving a programming language, there is a subtle binary distinction between a programming language and a scripting language.

Programming languages are compiled, while scripting languages are interpreted.

Let’s say you’ve created an application on Computer 1, and want to send it to a person on Computer 2.

If you want the person on Computer 2 to use a compiled program created in Computer 1, you compile your source code—meaning you convert your source code into machine code only readable by the computer—into an executable file which your computer must then download and run to use.

A good way to remember this nuance is that code compiled into an executable file on a Windows PC cannot be used on a Mac.

On the other hand, if you want Computer 2 to use your interpreted program, you can integrate JavaScript, an example scripting language, into a website and send Computer 2 a link to that website. That link will be interpreted by the other computer via a web browser, but does not require explicit download or installation. Since interpreted code doesn’t have to be compiled, it can also be used across different computer platforms.

4. Software Frameworks vs. Software Libraries

A software framework is a rigid coding blueprint that determines the guidelines of your coding project. Separate from a language, a framework determines which aspects of a language will be used in a given parameter. Bootstrap, for example, is a front-end framework that allows you to invoke an assortment of web UI tools to perform various tasks. Ruby on Rails is a back-end framework that determines how data is stored on a server.

A software library, on the other hand, is a reusable piece of code that you can integrate into your project to perform a task. Frameworks often involve, and allow users to integrate, libraries to expand functionality. Ruby Gems, for example, are libraries created using the Ruby programming language. These libraries are then integrated into the Ruby on Rails framework in order to expand the functionality of your code.

5. Pseudocode

There are two general types of coding you will conduct as a programmer: proper code, requiring proper syntax, and pseudocode. Syntax defines the structure of any given language. Programming syntax refers more specifically to the proper rules and guidelines of a given language in order to program a specific commands.

Pseudocode is meant to explain the logic of programming syntax using regular language.  Rather than writing pseudocode to program a command, it’s meant to outline the logic of a command before you implement it using syntax. Pseudocode creates a template for your code, making completing your project easier, and cements certain coding formats in your head.

For example, which actions would you need to perform to grade a test? You may start with a very simple logical sequence.

SEE Test
LOOK At Question
MARK Answer
IF Correct, Check
IF Incorrect, X
WRITE Grade

While the above correctly lists the steps required to grade a test, it also leaves a surprising amount to the imagination. Did we explicitly state what we were trying to do? Should we grade answers randomly, or in numerical order? Isn’t our grade dependent on a percentage, and if so, wouldn’t we need to convert raw data—like correct answers, incorrect answers, and total questions—into ratios to find that percentage?

It’s this type of stiff logistics that’s required when coding, which is honed through the writing and outlining of pseudocode. Over time, your pseudocode will match both the logical progression and actual syntax of your coding projects more closely.

These Terms Are Just the Beginning

If you don’t think you’re ready for a career in software development now, you’re right! The world of software development is as vast and unending as the universe. At least, it feels that way.

What you’ve done, however, is stick your feet in the void. If this is your first introduction into the world of programming terminology, you’ll find the terms listed above are involved in most aspects of your burgeoning programming career. That’s because terms in programming build off each other. For every new term you learn, there will be two more you won’t.

The important part is that you’ve covered some of the most essential basics. Now that you’ve gone over some programming terms, it’s time to go over some essential programming principals 10 Basic Programming Principles Every Programmer Must Follow 10 Basic Programming Principles Every Programmer Must Follow Always write code that can be maintained by anyone who may end up working on your software. To that end, here are several programming principles to help you clean up your act. Read More !

Enjoyed this article? Stay informed by joining our newsletter!

Enter your Email

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Tanz
    October 13, 2018 at 3:29 pm

    I concur with the comments so far, in that portability is *not* the real reason scripting languages abound. It's more about lessening the entry-level formalities compared to most compiled languages, i.e. simply "run" as opposed to "compile then run". Program stucture is also typically much more relaxed in scripting languages; you don't have to write a proper "main function" as the designated entry-point of your script but just start typing executable statements right away (leading to REPLs and uses in rapid prototyping). The usual tradeoff is the strictness of a type system (at compile-time), which makes it near-impossible to eliminate certain types of bugs without actually testing all code paths in your program.

    Portability is a much more nuanced topic than just Windows vs. MacOS; there are differences in hardware capabilities (not just the CPU instruction set), available runtime library versions for your language toolchain on the target OS versions, support and licensing guarantees of dependency libraries, etc. to consider.

  2. GEENGADE
    October 12, 2018 at 8:34 pm

    Interpret and compile c does both script is web based and pseudo is another word for algorithms

  3. Leonardo
    October 12, 2018 at 5:49 pm

    "Programmings languages are compiled, while scripting languages are interpreted".

    Sorry, but that's completely wrong. Compiling or interpreting are just models of translation from one language to another (generally high level to machine language in case of compiling). C is traditionally a compiled language, yet you can build an interpreter for it. Java is hybrid, in the sense that its translation process involves both compilation and interpretation. So by your definition, is Java a programming language or not?

    Maybe your confusion comes from the fact that _most_ scripting languages (Python, Ruby, Perl, etc.) are interpreted, but that's just a design decision. Interpretation, in general, allows better error diagnostics. Also, most scripting languages also have a dynamic type system, which plays really well with an interpreter, specially a REPL, since it allows you to easily write and test ideas and throwaway programs.

    • Leonardo
      October 12, 2018 at 6:01 pm

      Also, I wanted to clarify that the above mentioned languages (Ruby, Python, Perl) are _general purpose_ programming languages _commonly used_ in, but not restricted to, the scripting domain. You can use Python for plenty os maintenance tasks, yet you can also see it used in web development, data science, computer vision, etc. Perl was designed for sysadmin and text processing tasks, but with time it grew into a more general purpose language.

  4. Jim
    October 12, 2018 at 2:04 pm

    "A good way to remember this nuance is that code compiled into an executable file on a Windows PC cannot be used on a Mac."

    That's actually not true. There are several managed languages that can be compiled on one OS and run on another OS. Java and .NET Core for example.