Why your startup should consider python as a the best fit for Blockchain & Fintech Applications space?

in #programing7 years ago (edited)

Python is a one-stop shop. There's a Python framework for pretty much anything, from web apps to data analysis. In fact, WordStream is written in Python! You're the best bud. Python is often heralded as the easiest programming language to learn, with its simple and straightforward syntax. Python has risen in popularity due to Google's investment in it over the past decade (in fact, one recent study has shown Python to be the most commonly taught programming language in U.S. schools). Other applications built with Python include Pinterest and Instagram.

PYTHON IS FLEXIBLE

YouTube migrated from PHP to Python for scalability purposes, citing that "Python enables flexibility". Python is used in a wide array of industries and for a long list of different usages, from websites and web applications to systems administration, voice over IP, and desktop apps. Python is also a staple of the Scientific community, AI, Big data and Machine learning.

Because it wasn't originally created to answer a specific need, Python isn't driven by templates or specific APIs, and is therefore well-suited to rapid development of all kinds of applications. As a company focused on advanced web development, we really like this flexibility.

PYTHON IS EASY TO LEARN

Python is an easy-to learn language and provides a stepping stone into the world of programming. Serving to be a backbone of Google, this coding language uses fewer lines of code unlike Java and C++. Python basics is helpful in creating a solid base for the student's programming career ahead of C and C++.

  • Python syntax is easily readable
  • Beginners can easily learn python without much effort
  • Python runs on most major and minor operation systems and platform
  • Python can be used for Backend Web Development, Data Analysis, Artifical Intelligence
  • Using Python you can also develop Tools, Games & Desktop Apps
  • It is friendly and Flexible to Learn
  • Larger community - Python is ranked as the 5th Largest StackOverflow Community
  • 3rd Largest MeetUp Community
  • 2th Most Used Language at GitHub

1-screenshot (4).png

Python does have a lot going for it in terms of simplicity. There is a rich set of modules associated with it. In many ways, it is "easier" to do things in python, but you still have to seek out the libraries, learn what's available, and work thru writing code to implement whatever problem you are trying to solve. I think anyone claiming it is "easy" isn't really examining all the ways that programming can, and always will be, demanding in terms of effort, and thus I would not fall into the trap of telling you python is easy. Easier in some cases, but in a great many cases, I think the effort expended is much the same as in other languages.

PYTHON LETS YOU BUILD MORE FUNCTIONS WITH FEWER LINES OF CODE.

To illustrate here is a program in C to add two numbers from the command line and print the result (I'm ignoring error checking in both these examples, e.g., I expect two numbers passed as arguments):

In C

main(int argc, char *argv)
{
printf("%d\n", atoi(argv[1]) + atoi(argv[2]));
}

In python:

if name == 'main':
print int(sys.argv[1]) + int(sys.argv[2])

I had to declare the arguments to main in the C case, but I needed more syntax to use these arguments in python.

1-screenshot.png

YOU CAN NEVER MESS WITH PYTHON

Key rules:

  • Readability is important
  • Less is more
  • Complex is fine, but not complicated
  • Clarity is better than implied

For more try this in your python console

cover.jpg - 1 (4).jpg

The Zen of Python, by Tim Peters

Language ratings

1-screenshot (1).png
image - src: https://www.tiobe.com/tiobe-index/

PYTHON IS PERFECT FOR BUILDING PROTOTYPES.

The fact that Python lets you do more with less code also lets you build prototypes and ideas quickly.

Ideation is an often-overlooked aspect of web development, and the ability to come up with functioning prototypes at a faster rate can help reduce time, save money, and satisfy clients.

It’s no secret that Python is one of the most commonly used programming languages. For the past five years, Python has held the number one position as the “most popular coding language.”

Python is a favorite among many developers for its strong emphasis on readability and efficiency, especially when compared to other languages like Java, PHP, or C++.

Sure, it’s old, but it’s 1980s old, not Cobol or Fortran old. Besides, if something works, why change it, especially when there are a so many ways to improve it.

Actually, depending on how you view it, longevity is a good thing in itself—a sign of stability and reliability.

If you’re like many people who first started out with Java, C, or Perl, the learning curve for Python is practically nonexistent. But the fact that it’s easy to learn is also the reason why some people don’t see Python as a necessary programming skill.

I beg to differ.

Whether you’re starting a new company, or looking for a language to help you land a job, Python can and will push you to great heights.

DISCOVER THE BENEFITS OF PYTHON CONSULTING >>
Why is Worthwhile committed to this language? What are its advantages? How has Worthwhile produced award-winning software using Python and Django?

Let me count the ways.

PYTHON IS EASY.

Try asking programmers what programming language was easiest to learn for them, and I bet the majority of responses will probably be Python.

It’s true: Python looks like it was designed for newbies. It reads like kindergarten math and is so easy to understand that you could teach its basic concepts to someone who doesn’t know a lick of coding in one day.

Someone who doesn’t know code could probably understand this:

print 'Hello, world!'

Python’s reliance on whitespace and common expressions trims out a lot of programming fat, allowing you to do more with fewer lines of code next to say, Java or C++.

Development is not an easy task. Why not make the job easier by using a language that is as simple as it gets?

Pro tip: If you’re at a point where you think you’re good with Python, dig deeper. Pick up as many libraries as you can, and perhaps learn Django to make yourself more marketable.

PYTHON LETS YOU BUILD MORE FUNCTIONS WITH FEWER LINES OF CODE.

Python is a quick study for anyone. With practice, you could easily build a rudimentary game in two days tops (and that’s coming from knowing absolutely nothing about programming).

Another factor that makes Python an attractive programming language for novices is its readability and efficiency.

Perhaps the best example to demonstrate this is the “Hello world!” program. Below is an image that compares code between Java and Python.

As you can see, Python looks way simpler.

That simplicity is key. Simplicity is what lets you do more with Python quickly and with fewer lines of code.

PYTHON PROVIDES A STEPPING STONE TO LEARNING OTHER CODE.

Starting with Python can serve as a stepping-stone for developers new to the world of programming. Python’s object-oriented principles are compatible with other languages like Perl, JavaScript, Ruby, and C#.

Therefore, once you’ve mastered the concepts of Python, other languages grounded on similar principles should come naturally to you, allowing you to focus on their syntax, which is really what matters.

IT’S HARD TO MESS UP WITH PYTHON.

The beauty of Python—besides its simplicity—lies in the highly established rules the language is built on.

These tenets include:

  • Readability is important
  • Less is more
  • Complex is fine, but not complicated
  • Clarity is better than implied

These tenets are known as “The Zen of Python,” written by Tim Peters and inspired by Van Rossum, Python’s Benevolent Dictator for Life.

Van Rossum, Python’s Benevolent Dictator for Life

The Zen principles read like a spiritual poem, rather than a guide to programming.

With guidelines like that, it’s hard to go wrong.

PYTHON IS PERFECT FOR BUILDING PROTOTYPES.

The fact that Python lets you do more with less code also lets you build prototypes and ideas quickly.

Ideation is an often-overlooked aspect of web development, and the ability to come up with functioning prototypes at a faster rate can help reduce time, save money, and satisfy clients.

PYTHON AND DJANGO ARE HUGE IN FINTECH.

Never heard of fintech?

Better start reading about it, because you might be working in the industry soon.

The fintech revolution has led to an explosion of new companies that combine Silicon Valley’s innovations with the money machinery of Wall Street.

Basically, it’s a new sector that combines money with technology.

But why should you care? You’re a programmer, not a banker or financial analyst.

As it turns out, the fintech industry is one of the major contributors to the increase in demand for Python programmers.

Python is the fastest growing language in fintech, which might explain why Python now beats C++, PHP, and iOS in a survey on the most popular languages of 2016.

PYTHON IS ADAPTABLE.

There are several robust Python implementations integrated with other programming languages.

  • CPython, a version with C
  • Jython, or Python integrated with Java
  • IronPython, which is designed for compatibility with .NET and C#
  • PyObjc, or Python written with ObjectiveC toolkits
  • RubyPython, or Python combined with Ruby.

bukket_1_4-screenshot.png

LOTS OF RESOURCES

Python has builtin library for testing. This is one of the reason why python is used as best fit for automation testing.

2-screenshot.png

THERE’S A ROBUST STACK OF FRAMEWORKS WAITING FOR YOU.

Python owes a great deal of its flexibility to the many programming environments and frameworks that make the development of specific applications quick and easy.

For example, web developers can turn to frameworks like Django or Flask, which let you focus on writing the app or site rather than get bogged down by tedious legwork.

Python-Web-Frameworks.jpg

BLOCKCHAIN

blockchain.info api is written in python, you can install the package using pip and easily use all the features of the api. It makes life simpler to communicate with various blockchain out there namely bitcoin, ethereum e.t.c,

DJANGO, A HIGH-LEVEL PYTHON WEB FRAMEWORK, IS FLAT-OUT AMAZING.

The Django framework lets you model your domain and code classes, and just like that, you already have an ORM. Django’s ease of building templates, or using the already built-in template language, makes it easy to build applications that are ready for deployment.

It’s no surprise why Django is the foundation of sites and services like The New York Times, The Guardian, Pinterest, and Instagram.

PYTHON IS A HOT COMMODITY IN THE ERA OF INTERNET OF THINGS (IOT).

Internet of Things (IoT) is revolutionizing the way devices/things interact with each other. And when you have IoT with Python on your side, you'll be able to build interactive objects and design them.

raspberrypidiagram.png

DJANGO SUPPORTS BEST PRACTICES FOR SEO.

Adding SEO to your Django site is easy, you need to do two things:

  • Define which metadata fields you need
  • Add the output to your templates

DJANGO IS SECURE

By default, Django prevents a number of common security mistakes better than say, PHP does.

For starters, Django ‘hides’ your site’s source code (except CSS and html files) from direct viewing on the Internet by dynamically generating webpages and sending information to web browsers through templates.

As a web framework it has some functions that will help you in making your site secure. You can't directly say of a web-framework it is secure. Django is used in big projects and therefore it has proven to be used in a production environment. DISQUS is one of the best examples for that.

By default, Django prevents most common security mistakes:

XSS (cross-site scripting) protection — Django template system by default escapes variables, unless they are explicitly marked as safe.

CSRF (cross site request forgery) protection — easy to turn on globally, guarantees that forms (POST requests) are sent from your own site.

SQL injection protection — Django uses built-in ORM, thus there is no risk of SQL injection (raw queries are possible, but by no means something that a beginner would need to use).
Additional security features:

Clickjacking protection — Django can detect when the content is requested from unauthorized iframe

Safe password hash — Django by default uses PBKDF2, another option is bcrypt. Both are resilient to usage of rainbow tables (thanks to salt), both have significant compute time to prevent easy bruteforce.
It's also important to note, that Django is implemented in Python, which has excellent security track record. Thus the underlying language is not a security risk.

PYTHON IS SECURE

As with any coding language, security should be at the forefront for all Python and Django developers, especially those who are dealing with giant databases of sensitive personal information that could lead to terrible consequences if exploited or breached.

10 myths of PYTHON By - PAYPAL

Myth #1: Python is a new language
Myth #2: Python is not compiled
Myth #3: Python is not secure
Myth #4: Python is a scripting language
Myth #5: Python is weakly-typed
Myth #6: Python is slow
Myth #7: Python does not scale
Myth #8: Python lacks good concurrency support
Myth #9: Python programmers are scarce
Myth #10: Python is not for big projects

Discussions around these myths remain some of the most active and educational, both internally and externally, because implied in every myth is a recognition of Python’s strengths. Also, remember that the appearance of these seemingly tedious and troublesome concerns is a sign of steadily growing interest, and with steady influx of interested parties comes the constant job of education. ~ https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/

TOP 10 LANGUAGES PRONE FOR VULNERABILITIES

Researchers found that PHP – and less popular Web development languages Classic ASP and ColdFusion – are the riskiest programming languages for the Internet, while Java and .NET are the safest.

Number Game

Perl – 44.8 vulnerabilities found per web site
Cold Fusion (CFM) – 34.3 vulnerabilities found per web site
PHP – 26.6 vulnerabilities found per web site
JSP – 25.8 vulnerabilities found per web site
Struts (DO) – 19.9 vulnerabilities found per web site
Microsoft ASP – 25 vulnerabilities found per web site
Microsoft .NET ASPX – 18.7 vulnerabilities found per web site

Microsoft .NET ASPX - 87 days for XSS, 52 days for SQL Injection
Microsoft ASP – 84 days for XSS, 44 days for SQL Injection
Struts (DO) - 76 days for XSS, 52 days for SQL Injection
Cold Fusion (CFM) - 72 days for XSS, 79 days for SQL Injection
JSP - 67 days for XSS, 56 days for SQL Injection
Perl - 53 days for XSS, 45 days for SQL Injection
PHP - 52 days for XSS, 51 days for SQL Injection

1-screenshot (5).png

~ http://www.aabri.com/LV2013Manuscripts/LV13090.pdf

Companies using python:

Youtube
Dropbox
Survey Monkey
Google
Reddit
Bitly
Pintrest
Instagram

PYTHON IS OPEN SOURCE AND WIDELY SUPPORTED

I don't think, I need to compare nodejs & python but for fun you see the stats

1-screenshot (8).png

1-screenshot (9).png

1-screenshot (7).png

1-screenshot (6).png

Conclusion:

"Every language is unique, Every person is unique."

“People don’t learn Python because it will get them a job; they learn it because they genuinely like to program and aren’t satisfied with the languages they already know.” ~ Y Combinator co-founder, Paul Graham