This post is about open source and Python programming language. As a python developer and open source community lover, I would like to share my knowledge and enhance this community. I hope to work on open sources projects in future. This is my first blog post in the @utopian-io community and I want to contribute from my side to this great community.
Python is very useful in various fields of IT and is growing faster than any other languages. Data science, web scraping, web design are some of the fields where python is used mostly. I am going to make blog series on different aspects of python which will be useful for learners and enthusiasts who wants to do something on python.
Introduction:
Open source refers to the programs that are free to use whose source code is available to everyone and can me modified by the developers or users according to their needs for the personal or commercial purpose. There are many open sources project which we are using day by day but we may not be aware of that. Android OS, Linux OS, Atom(an IDE), Gimp(a photoshopping tool), etc are some of the open sources project's product.
Python:
Python was developed by Guido Van Rossum in the 1980s. Python is named after the television show Monty Python's Flying Circus. Later on, it was handed over to the non-profit Python Software Foundation, which now serves as the administrator of the Python language. It is open source and is free to use even for commercial applications.It was made to both look good and be easy to read. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library.
Zen Of Python:
In 1999, Tim Peters wrote the 20 principles of softwares among which only 19 of them were written down which influenced the design of Python Programming Language . It is published on public domain. Click here to view
It is also included as an easter egg in Python interpreter, which would be displayed by entering a statement
import this
Above picture consists the list of Zen of Python.
Features of Python Programming Language:
Open Souce: You can freely use, make changes to it, use pieces of it in new free programs. Python is gaining its popularity because of its open source nature due to which it is being improvised day by day with the help of the community.
Easy to learn and High-level : It's easy to use because of its simple syntax and when you write programs in Python, you never need to bother about low-level details such as managing the memory used by your program.
Portable: It can be interpreted in various operating systems, including UNIX-based systems, various Microsoft Windows versions, Mac OS, MS-DOS, etc.
Object-Oriented: Supports procedure-oriented as well as object-oriented programming (OOP). Python has a very powerful but simplistic way of implementing OOP.
Embeddable: Python can be embedded in your C/C++,Java and other programs to give 'scripting' capabilities for your program's users.
Extensible Libraries: It has huge amount of standard libraries which can help you to do various things such as regular expressions, documentation generation, unit testing, threading, databases, web browsers, CGI, FTP, email, XML, HTML, WAV files, cryptography, GUI, Tk, and many more.
Uses of Python:
Many of us may be still wondering about "Why python?", or "Where does it fit in?" or "What are its applications and uses?". Here are few of the uses I listed.
Web Development: Python is used in web development. It's web frameworks such as Django, Flask, Pyramid, etc makes easy to design and create websites. Django is the most popular web frameworks and can be integrated with HTML, CSS, JavaScript, AJAX, etc.
Data Science: Data science is an interdisciplinary field of scientific methods, processes, and systems to extract knowledge or insights from data in various forms, either structured or unstructured. Python libraries such as Scipy, Numpy, Pandas, etc are widely used in data science.
Artificial Intelligence: Python is very useful in AI and machine learning. There are many platforms in python which helps in AI. AIMA, pyDatalog, easyAI, etc helps in AI, Orange, Pybrain, pyml, milk, etc helps in machine learning, NLTK, gensim, Quepy, etc helps in natural language processing and neurolab, ffnet, PyAnn, etc helps in neural-network programming. Above mentioned are tool and platform that helps in Artificial Intelligence.
Game Development: Python is widely used in making desktop games. It can be implemented in mobile games too but it's not much in practice. Libraries like PyOpenGL, PyGame, Pyglet, etc are used for game making purposes.
Web Scrapping: Web Scrapping is data scraping used for extracting data from websites. Most of the data scrappers use python libraries for web scrapping. Libraries like Beautiful Soup, Requests, Selenium, Scrapy, etc are used in web scrapping.
Automation: As already mentioned, python is a scripting language and many programmers write scripts in python to automate the process.
What is CPython? How is it different from Python?
CPython is the original Python implementation. It is called as CPython to distinguish it from other Python implementations, and to distinguish the implementation of the language engine from the Python programming language itself. Do not get confused CPython as programming language, it is just an implementation. Programming language is simply the rules and syntax for writing code. Python language uses CPython as the base; other implementations follow. If you are using python downloaded from here, you are already using CPython.
Disadvantages:
As everything has it's advantages and disadvantages, python has also some disadvantages despite having many advantages. Here are some of it which I can think of.
- Due to its open source nature and the huge community, changes and updates are frequent which may be hard to adopt.
- It is an interpreted language and is often many times slower than compiled languages.
- The language isn’t a good choice for mobile applications and memory intensive tasks.
- It's near impossible to build a high-graphic 3D game using Python.
- Comparing with popular database access layers like JDBC and ODBC, the Python’s database access layer is found to be bit underdeveloped and primitive, it requires more testing and has errors that only show up at runtime.
Conclusion:
Python is an open source programming language with lots of advantages and few disadvantages. It has huge potential in future.
It is widely used in AI, data science, machine learning, software development, etc. It has the huge community which helps in the development of python. It is one of the fastest growing programming languages.
For more details and documentations visit: Python.org
Posted on Utopian.io - Rewarding Open Source Contributors
Hello,
Welcome to Utopian. Thanks for the post. However, it cannot be accepted since content has some problems identified. We review the content and it's correctness very detailed.
Didn't get that. What kind of database access limitations python have?
I don't think "Zen of Python" is a book. I thought it was a collection of python principles written by Tim Peters. Where can I see that book?
I think "embeddable" means in a programming language context where you can ship the language itself with the application. Doesn't get the relation with HTML or Jinja templating library.
I know mistakes happen while writing. However, in that category, we expect well-thought, well-designed contributions. Please, re-read a couple of times before submitting a contribution to Utopian.
Thanks.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@emrebeyler this post has been edited and updated, please check again
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I re-read the contribution again, and I found some pieces where you just get that information from 3rd party sources. This is called as "paraphrasing plagiarism" and we ban users doing that.
Original source
This contribution's status will stay rejected.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I think you can share you can cover a bit on python using as a bot with messaging app like discord, telegram and messengers.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@superoo7 I'm thinking of that.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit