Wednesday, February 19, 2020

Exposure to functional programming languages like Python / Scala opens more opps

[1]

Python is among the fastest-growing and most popular programming languages out there today. Here are a few ways to use the coding language across industries.

https://www.techrepublic.com/article/python-5-use-cases-for-programmers/

1. Insurance

Top use: Creating business insights with machine learning
Case study: One American multinational finance and insurance corporation faced competition from smaller companies that were introducing services driven by machine learning. To compete, the insurer allowed teams to develop new applications and services using machine learning; however, with too many sets of data science tools involved, a number of different versions of Python and compatibility issues arose. The company settled on one version of Python to deliver all of the machine learning capabilities needed.

2. Retail banking

Top use: Flexible data transformation and manipulation
Case study: A large American department store chain with an in-store banking arm collects data centrally in a warehouse, and then shares it with multiple applications to enable its supply chain, retail banking, and analytics and reporting needs. While the company standardized on Python for data manipulation, each team created its own version, which created problems. The company decided on a single, standard Python build to increase engineering speed and decrease support costs.

3. Aerospace

Top use: Meeting software system deadlines
Case study: An American multinational aerospace, military, and defense corporation was contracted to provide a number of systems for the International Space Station. While aerospace software focused on critical safety systems is typically written in a language like Ada, those older languages do not lend themselves well to scripting tasks, GUI creation, or data science analysis. Selecting a single Python version offered a larger contract value and no exposure.

4. Finance

Top use: Data mining identify cross-sell opportunities
Case study: An American multinational financial services corporation wanted to mine complex customer and prospect behavioral data as part of a digital transformation project. The company used Python to initiate different data science and machine learning initiatives to examine the structured data it had been collecting for years, and correlated it with unstructured data from the web and social media to increase cross-selling and reclaim resources.

5. Business services

Top use: API access to financial information
Case study: A privately-held financial data and media company had previously provided partners with access to financial information through different electronic resources. Partners wanted to build desktop applications in a variety of languages, including Python, to incorporate the customer's API directly into their own, and created a Python Software Development Kit (SDK) for their financial information API, leading to increased revenue and customer satisfaction.


[2]

https://stackabuse.com/functional-programming-in-python/

Functional Programming is a programming paradigm with software primarily composed of functions processing data throughout its execution. Although there's not one singular definition of what is Functional Programming, we were able to examine some prominent features in Functional Languages: Pure Functions, Immutability, and Higher Order Functions.
Python allows us to code in a functional, declarative style. It even has support for many common functional features like Lambda Expressions and the map and filter functions.
However, the Python community does not consider the use of Functional Programming techniques best practice at all times. Even so, we've learned new ways to solve problems and if needed we can solve problems leveraging the expressivity of Functional Programming.

 [3]
Historical evaluation of python evolution


https://python-history.blogspot.com/2009/04/origins-of-pythons-functional-features.html

"..It is also worth nothing that even though I didn't envision Python as a functional language, the introduction of closures has been useful in the development of many other advanced programming features. For example, certain aspects of new-style classes, decorators, and other modern features rely upon this capability.

Lastly, even though a number of functional programming features have been introduced over the years, Python still lacks certain features found in “real” functional programming languages. For instance, Python does not perform certain kinds of optimizations (e.g., tail recursion). In general, because Python's extremely dynamic nature, it is impossible to do the kind of compile-time optimization known from functional languages like Haskell or ML.
.."


[4]

Tutorial: Python Functions and Functional Programming

https://www.dataquest.io/blog/introduction-functional-programming-python/

In this post, we will:
  • Explain the basics of functional programming by comparing it to object-oriented programming.
  • Cover why you might want to incorporate functional programming in your own code.
  • Show you how Python allows you to switch between the two.
  • The Lambda Expression
  • The Map Function
  • The Filter Function
  • The Reduce Function
  • Rewriting with list comprehensions
  • Writing Function Partials
[5]
 Another link to get started with language syntax

 Concluding thoughts

Getting to know your programming language of choice well by exploring its features, libraries and internals will undoubtedly help you debug and read code faster. Knowing about and using ideas from other languages or programing language theory can also be fun, interesting, and make you a stronger and more versatile programmer. However, being a Python power-user ultimately means not just knowing what you *could* do, but understanding when which skills would be more efficient. Functional programming can be incorporated into Python easily. To keep its incorporation elegant, especially in shared code spaces, I find it best to use a purely functional mindset to make code more predictable and easy, all the while maintaining simplicity and idiomaticity.

[6] Another good and concise one to get started

A practical introduction to functional programming

 

 

 





No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Followers