Study Learn Grow
Learning Java 9 - Functional Programming

Learning Java 9 - Functional Programming


Learn functional programming with JAVA 9, through examples containing generic data

Overview

Learn functional programming with JAVA 9, through examples containing generic data

Functional programming is a programming paradigm, and it's all about programming with functions! But this doesn't explain the most important aspect: how FP is different from other paradigms, and what makes it a (potentially) better way to write programs. The paradigm makes programs easier to reason with because they're deterministic, since one specific input will always give you the same output.

To kick-start this learning experience, we explain the use of generic data structures in Java, along with a number of practical examples, such as implementing a Pair class, and using a generic comparator function to sort a list of generic objects with an explanation of the need for generics, followed by practical use cases. Moving on from generics to functional programming, we explain the use of generic functions in Java, along with some common usage patterns. To conclude, we discuss what functional programming is, and the benefits we can get from using it, before moving on to a couple real-life examples. We start with a simple list of data points, before using a traditional for loop to first filter, sort, manipulate, and then finally reduce the list of data points. We will then write a similar example using functional programming, providing a perfect example of some of the benefits it provides when working with data sets.

This course will teach you one of the most powerful elements of the Java programming language, to help you start writing programs by coding the base functions needed and combining these functions into higher-level ones, repeating the process until you have a "single function" corresponding to the program you're building. Given their transparency, they can be reused to build other programs without any modifications, which saves time and allows you to focus on the further development of your project. From learning how to write more readable functional code, to processing discrete data sets using the stream interface and then writing your own Lambdas, this course has it all!

All the code and supporting files for this course are available on Github at - https://github.com/PacktPublishing/Learning-Java-9---Functional-Programming-v-

About the Author

Colibri is a technology consultancy company founded in 2015 by James Cross and Ingrid Funie. The company works to help its clients navigate the rapidly changing and complex world of emerging technologies, with deep expertise in areas such as big data, data science, machine learning, and cloud computing. Over the past few years they have worked with some of the world's largest and most prestigious companies, including a tier-1 investment bank, a leading management consultancy group, and one of the world's most popular soft drinks companies, helping each of them to make better sense of its data, and process it in more intelligent ways. The company lives by its motto: Data -> Intelligence -> Action.
James Cross is a Big Data Engineer and certified AWS Solutions Architect with a passion for data-driven applications. He's spent the last 3-5 years helping his clients to design and implement huge scale streaming Big Data platforms, Cloud-based analytics stacks, and serverless architectures.
He started his professional career in Investment Banking, working with well-established technologies such as Java and SQL Server, before moving into the big data space. Since then he's worked with a huge range of big data tools including most of the Hadoop eco-system, Spark and many No-SQL technologies such as Cassandra, MongoDB, Redis, and DynamoDB. More recently his focus has been on Cloud technologies and how they can be applied to data analytics, culminating in his work at Scout Solutions as CTO, and more recently with Mckinsey.
James is an AWS-certified solutions architect with several years' experience designing and implementing solutions on this cloud platform. As CTO of Scout Solutions Ltd, he built a fully serverless set of APIs and an analytics stack based around Lambda and Redshift.
He is interested in almost anything that has to do with technology. He has worked with everything from WordPress to Hadoop, from C++ to Java, and from Oracle to DynamoDB. If it's new and solves a problem in an innovative way he's keen to give it a go!

Course Information

Experience in Java is required

Learn one of the most powerful elements of the Java programming language
Start coding the required base functions and combine these functions into higher-level ones
Have a single function corresponding to the program you're building.
Build other programs without any modifications to save time and allow you to focus on the further development of your project.
Write more readable functional code, to process discrete data sets using the stream interface, then write your own Lambdas

This Learning Path is for novice developers looking to get started with programming in Java 9. This Learning Path is also for experienced Java developers who wish to further enhance their object-oriented, modular, and functional programming skills.

• Lifetime Access to Each Course
• Certificate on Completion of Course
• No Extra Charges Or Admin Fees
• Easy Access to Courses
• High Priority Support After Sales.
• Big Discounts on Individual Courses

Course Specifications

IT and Computing courses are available to study on our learning platform. 

See All Courses

Adult education is the non-credential activity of gaining skills and improved education. 

See All Courses

Online education is electronically supported learning that relies on the Internet for teacher/student interaction. 

See All Courses

A short course is a learning programme that gives you combined content or specific skills training in a short period of time. Short courses often lean towards the more practical side of things and have less theory than a university course – this gives you a more hands-on experience within your field of interest.

See All Courses

Course duration is 24 hours.

See All Courses

Study Learn Grow

Related Jobs