Geek Proud, GeekOut.

Python: What A Non-Programmer Needs To Know

Python is an interpreted programming language – For those of you who don’t know what this means, this article is exactly for you. If you do know about Python, but just want to see if your knowledge is up to scratch, then again, this article might well be for you. If you’re a well-versed expert in Python who just wants to check to see if a website got their facts right… I guess this article is for you too – It’s a way to look at Python from a non-programmers perspective and to try to apply the knowledge to learning the basics needed, without it seeming like we’re just stringing words together to make things happen. Although isn’t that what programming is all about..?


Why Should I Choose Python?

No doubt that if you’ve taken an interest in programming before, then some of the terms you’ll read in this article will be familiar to you. We’ll use words such as interpreted, object-oriented, free and open source (FOSS), portable and much more. We’ll explain why you might want to start with Python, as well as talking about some of the things you might not do as well with Python compared to other languages. As such, this article is meant as a guide for someone who is curious about programming, but doesn’t really know where to begin, or why this particular programming language might be the one for them. Let’s start off with the basics: Simplicity.

Simplicity

Simplicity is what makes most programmers come back – Like the above JavaScript.

Some programming languages are downright hard to master. I’ll give you two examples of the same program below, so you can see what we mean by simplicity.

Java

public class HelloGeekOut {

    public static void main(String[] args) {
        System.out.println("Hello, GeekOut Readers!");
    }

}

Save the above program as HelloGeekOut.java, run it in command line with the command javac HelloGeekOut.java , then run java HelloGeekOut. This will then have the command line say the words “Hello, GeekOut Readers!” to you.

Python

print("Hello, GeekOut Readers!")

Save the above program as HelloGeekOut.py, then run it in IDLE, which is a program that comes with the instalation of Python. Run HelloGeekOut.py and it will say “Hello, GeekOut Readers!” to you.

I’m not joking – That’s the actual difference between the two. Of course, not all programming languages are quite as frightful as Java’s seemingly overly complex opening, but the most important factor with any programming language is you understand how the structure works. The above Java program is actually an example of how Java uses OOP, or Object-Oriented Programming, in a very strict manner. Meanwhile, Python is a little bit more relaxed. It says “I can understand what you’re saying here” and it runs the commands that you’ve asked of it. There are some disadvantages to this, but we’ll talk about that later on. Simple isn’t always better, but Python can get pretty complex, if it needs to.

Interpreted or Compiled

An Interpreted programming language requires an interpreter on the computer it’s running on. For instance, if I were to start speaking to you in Java, you would need the Java interpreter to actually understand what I was saying. Likewise, with Python, you need the Python interpreter. Now, interpreted languages are typically slower than compiled languages. As such, Python gives you the option, once you’ve tested your program out, to compile it. By doing so, you speed it up quite a bit. If you’re just writing basic calculator programs, then you might not have a need to compile your Python applications, however if you’re building a massive database sprawling application, then you’d compile it. Ultimately, you’d not want to play a game that was just interpreted: You’d want to play a game that was told exactly how it should be.

Because this is an interpreted language as well as a compiled language, you can say that Python code is incredibly portable. When it’s compiled, it can be run natively on the operating system you’re running, such as Windows. However, once it’s compiled, it sorta is best kept on that operating system. As such, if you want to share you Python programs, you simply can share the source code, keeping the FOSS (Free Open Source Software) spirit of Python alive. Not all Python code is written to be FOSS, however sharing is caring!

Multiple Programming Paradigms

You might have seen us mention Object-Oriented as a keyphrase earlier in this article; that is just one of the different paradigms of programming. You can have functional programming, you can have imperative. You can have object-oriented, you can have declarative. Most importantly though, a language needs something in which to base itself around. A programming language doesn’t have to be singular in paradigm either. Python is one of these languages that supports multiple paradigms, depending on what functionality the programmer needs, as well as what they actually know. You do not have to be forced to use OOP methodology, (that is Object-Oriented Programming), but instead, you can go in entirely with a functional programming background and have the same program written in an entirely different way.


Hopefully, there’ll be a few of you out there who gained a little bit of insight in the programming of a Python application. Perhaps some of you will have already known how to do some commands, but don’t really know why the commands work, or more importantly why they’re structured in such a way. Either way, I hope you’ve learned a little bit about Python through this article. If you followed our really primative examples and you thought we were useful, let us know in the comments below, or over on Facebook, Twitter or Reddit.

15 responses

  1. This is a great introduction, thank you! 🙂

    Liked by 1 person

    May 5, 2017 at 1:14 pm

    • Glad you liked it! Hope it gives you the courage to make that first step into Python.

      Like

      May 5, 2017 at 12:15 pm

  2. Excellent introduction. One thing I really like about Python is it’s rapid application development. Since you don’t need recompile code, you can reload a module at runtime and see code changes instantly.

    Liked by 1 person

    May 5, 2017 at 6:25 pm

    • Ah I completely forgot to mention this, a great point! It suits the portable / Interpreted nature of Python for sure.

      Liked by 1 person

      May 5, 2017 at 9:18 pm

      • I agree. It’s really useful in larger programs or programs that have a complicated workflow that reproduce a bug.

        Liked by 1 person

        May 5, 2017 at 9:46 pm

  3. Do you have anything like this for OOP? I’d like to measure my understanding of the topic against someone with a better grasp of it.

    I like this by the way. I might drop into some Python programming to see the differences for myself. Can’t hurt to learn after all.

    Liked by 1 person

    May 7, 2017 at 12:59 am

    • I don’t… Yet! I am no expert, but I have always worked OOP. I will get an OOP article up for next Friday :)

      Would there be any other languages you would like an introduction to?

      Liked by 1 person

      May 7, 2017 at 1:06 am

      • Not a language really. I’ve been looking at Xamarin though. It’s interesting because it combats many of the compatibility issues with different platforms.

        Perhaps C#, if you haven’t already covered that?

        Liked by 1 person

        May 7, 2017 at 1:15 am

      • I remember Xarmarin from a while back – but something struck me as a bit off. I might check that out again and see what I find out.

        C# – I am sure I can do a non-programmers article on that :)

        Like

        May 7, 2017 at 1:17 am

      • I’m downloading Visual Studio now to play around with it.

        Liked by 1 person

        May 7, 2017 at 1:24 am

    • I could probably put something together for OOP. What sort of thing did you have in mind? Like a beginners guide or just a more simple way to explain it?

      Liked by 1 person

      May 8, 2017 at 12:30 pm

      • A summary of the concept would be awesome. I don’t mean to create extra work.

        Sorry for not responding sooner. Been a hectic week!

        Like

        May 12, 2017 at 5:17 pm

      • Oh it’s no extra work :) Don’t you worry :D Article goes up on Sunday!

        Liked by 1 person

        May 12, 2017 at 9:51 pm

  4. Pingback: Java: What A Non-Programmer Needs To Know | GeekOut South-West

  5. Thanks for this post

    Like

    September 24, 2017 at 11:58 am

Drop us a line

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s