Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

Monday, 13 April 2015

Python the general purpose language

Over a year or so I have been experimenting with Python on the server side of things. Python has become my favourite computer language so far. The reasons for such favouritisim will be clear shortly. I do have experience with other languages such as Java (not JavaScript - complete differences), JavaScript, PHP and GO (Google's response to Java ). In case you think I might be biased for the wrong reasons or that you have landed on a website/blog that promotes nothing but Python. They all seem to fail to capture my imagination on what I may be capable of constructing with such technologies. Not only that but they also stress different principles that take getting used to. Or do you ever get used to their syntax? I personally found it difficult to maintain and follow an understanding each of such languages apart from JavaScript (easy to learn, especially on the web - web development tools).

PHP in my opinion is the worst to comprehend from the bunch of languages I have learned. It has an overly complicated syntax layout and is at least a decade and a half old. For me, it is common sense to learn a language that is newer in market and less of a hassle to learn and implement. Rather than an older language that takes twice as long to learn. PHP is great to learn when first developing dynamic websites along with JavaScript. Although I do think JavaScript should be introduced to a web developer at first hand. Rather than PHP.

So, you now know were I stand on certain languages that I have learned and you have a feel for what my opinions are. Lets now look into Python. The reason that you have visited this page.

Maybe I enjoy Python so much, is due to its easy logic, simplistic syntax, not needing to download and install Python on a Macintosh (pre installed already) or its usefulness on the server along with Google's App Engine (platform as a service - PaaS). So, what is Python? Lets start off with the initial inventor of such greatness. Guido van Rossum is the man that you should be praising and complementing since 1990 of his invention. According to Lukaszweski, Python got its title/name from the infamous British sitcom Monty Python (n.d.). All good things are free. That includes Python - open source under an OSI-approved open source license agreement (Python, n.d.). Currently developed by a group of developers at the Python Software Foundation: http://www.python.org.

Python may be downloaded from its official web resource at: http://python.org. Python comes in many flavours. For example Python for all supported machines including Macintosh, Linux and Microsoft. As well as Jython for Java developers looking to interact with Python could through Java interfaces in Java projects. "Jython is a version that runs on the JVM and has seamless Java integration"(Rossum, 2009). Or Iron Python a C# (pronounced: c sharp) version that may be used in parallel with the .Net platform or Mono. "IronPython is an implementation of the Python programming language for Microsoft .NET and Mono. It supports an interactive console with fully dynamic compilation. It seamlesslly integrates with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining compatibility with existing Python code" (Hardy, 2014 ).

Python offers the same basic programming capabilities offered in many languages you may have came across found in other languages such as dealing with text manipulation, image editing, audio snippet editing and HTTP requests. Python is so much more though. Python may be used to build complete servers that run 24/7, Python is also used in YouTube, NASA and many more large scale, complex projects. Python is so popular for the right reasons that it is used by Google for its advertising mechanisms as well as its web crawling projects (spider crawler - used to index web resources in indexed order ). As you have come to understand. Python is affiliated to a wide array of diverse projects. Python is interpreted language that is only compiled to bytecode at runtime( Lukaszweski, n.d.).

Python borrows a lot of its syntax from C. Python is a more friendlier language to read. No unnecessary brackets that become difficult to follow if hundreds of lines of code to follow. Python implements good programming syntax convention. By requiring developers to use and implement good indentation. If not applied, developers will be punished i.e. errors thrown. Python does not require explicit declaration and type assignment like C. Instead, uses a more easier to follow convention name-value principle - without hard coding each variable type .  " Variables do not need to be declared before they are assigned and they can even change type in the middle of a program. Like other dynamic languages, all type-checking is performed at run-time by an interpreter instead of during a separate compilation step." (Rossum, 2009). 

Python also holds a large library of  code reuse that makes it so popular for development. As well as a mass catalog of third-party code extensions (modules and packages). Python can be thought of as an object oriented language (support for classes and inheritance) as well as scripting language - functional programming - procedural coding . Either one may be made use of depending on the type development.  Python requires fewer lines of code than Java or C. And is just as powerful as both. So what are you waiting for? get coding...

References:


Python. (n.d.) Available: https://www.python.org/about [Accessed: 13 of April 2015].


The History of Python (2009) Available: http://python-history.blogspot.co.uk/2009/01/introduction-and-overview.html#comment-form [Accessed: 13 of April 2015].


What is Python. (n.d.)[Online] Available: http://python.about.com/od/gettingstarted/ss/whatispython.htm [Accessed: 13 of April 2015].