Functional programming (FP) provides many advantages, and its popularity has been increasing as a result. However, each programming paradigm comes with its own unique jargon and FP is no exception. By providing a glossary, we hope to make learning FP easier.
The JVM is a truly remarkable piece of software, but it is still just a computer program, not magic! In this talk, I will explain how we might start to implement a JVM from scratch, using the Java programming language. Fundamental concepts such as the bytecode interpreter, classfile parsing and memory management will be explained, using an open-source implementation as reference. We will build up a working interpreter capable of executing simple methods, and then discuss the limitations of the simple JVM. The second half of the talk will be to show how the Rust programming language provides a good
Following areas will be covered: Algebraic Data Types Pattern matching Brief overview on Ownership and Lifetimes in Rust Higher order functions and combinators An extended example that makes use of the above as well as slightly advanced topics. In addition to the above the strengths and weakness of Rust as a functional programming language will be compared. I love designing and implementing software systems in a clean, simple way and have been doing that for years. I’m deeply interested in functional programming and applying functional techniques in software design.