Pony Programming Language
Pony Programming Language, available at $19.99, with 26 lectures, and has 2 subscribers.
You will learn about Pony Programming Language Programming Windows Basics Linux Basics This course is ideal for individuals who are Beginner programmers It is particularly useful for Beginner programmers.
Enroll now: Pony Programming Language
Summary
Title: Pony Programming Language
Price: $19.99
Number of Lectures: 26
Number of Published Lectures: 26
Number of Curriculum Items: 26
Number of Published Curriculum Objects: 26
Original Price: $22.99
Quality Status: approved
Status: Live
What You Will Learn
- Pony Programming Language
- Programming
- Windows Basics
- Linux Basics
Who Should Attend
- Beginner programmers
Target Audiences
- Beginner programmers
Welcome,
Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.
If you are looking to jump in and get started with Pony right now, you can try it in your browser using the Pony Playground. Keep reading if you are interested in what makes Pony different and why you should consider using it.
If you are interested in the early history of Pony and how it came into existence, you’re in luck: “An Early History of Pony”.
What makes Pony different?
Pony is type safe#
Really type safe. There’s a mathematical proof and everything.
Pony is memory safe#
There are no dangling pointers and no buffer overruns. The language doesn’t even have the concept of null!
Exception-Safe#
There are no runtime exceptions. All exceptions have defined semantics, and they are always caught.
Data-race Free#
Pony doesn’t have locks nor atomic operations or anything like that. Instead, the type system ensures at compile time that your concurrent program can never have data races. So you can write highly concurrent code and never get it wrong.
Deadlock-Free#
This one is easy because Pony has no locks at all! So they definitely don’t deadlock, because they don’t exist!
Native Code#
Pony is an ahead-of-time (AOT) compiled language. There is no interpreter nor virtual machine.
Compatible with C#
Pony programs can natively call C libraries using the foreign function interface.
Why Pony?
There’s plenty to love about Pony, but more than anything else, what we love most is that Pony makes it easy to write fast, safe, efficient, highly concurrent programs. How? The Pony type system introduces a novel concept: “reference capabilities”. Reference capabilities allow you to label different bits of data based on how that data can be shared. The Pony compiler will then verify that you are in fact correctly using the data based on the labels you provide. Reference capabilities combined with Pony’s actor model of concurrency makes for a powerful pairing. Let’s dig in and take a quick look:
Mutable state is hard#
The problem with concurrency is shared mutable data. If two different threads have access to the same piece of data then they might try to update it at the same time. At best this can lead to those two threads having different versions of the data. At worst the updates can interact badly resulting in the data being overwritten with garbage. The standard way to avoid these problems is to use locks to prevent data updates from happening at the same time. This causes big performance hits and is very difficult to get right, so it causes lots of bugs.
Immutable data can be safely shared#
Any data that is immutable (i.e. it cannot be changed) is safe to use concurrently. Since it is immutable it is never updated and it’s the updates that cause concurrency problems.
Isolated data is safe#
If a block of data has only one reference to it then we call it isolated. Since there is only one reference to it, isolated data cannot be shared by multiple threads, so there are no concurrency problems. Isolated data can be passed between multiple threads. As long as only one of them has a reference to it at a time then the data is still safe from concurrency problems.
Every actor is single threaded#
The code within a single actor is never run concurrently. This means that, within a single actor, data updates cannot cause problems. It’s only when we want to share data between actors that we have problems.
Reference capabilities enforce safe data handling#
By sharing only immutable data and exchanging only isolated data we can have safe concurrent programs without locks. The problem is that it’s very difficult to do that correctly. If you accidentally hang on to a reference to some isolated data you’ve handed over or change something you’ve shared as immutable then everything goes wrong. What you need is for the compiler to force you to live up to your promises. Pony reference capabilities allow the compiler to do just that.
If you ask us, that’s pretty damn cool and a hell of a reason to give Pony a try.
Let’s learn something new.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: The Environment
Chapter 2: The Big Apple
Lecture 1: Setup on Ubuntu
Lecture 2: Hello World
Lecture 3: Primitives
Lecture 4: Actors
Lecture 5: Structs
Lecture 6: Type Aliases
Lecture 7: Type Expressions
Lecture 8: Traits
Lecture 9: Literals
Lecture 10: Variables
Lecture 11: Operators
Lecture 12: Arithmetics
Lecture 13: Control
Lecture 14: Methods
Lecture 15: Errors
Lecture 16: Equality
Lecture 17: Sugar
Lecture 18: Object literals
Lecture 19: Partial Application
Lecture 20: Generics
Lecture 21: Pattern matching
Lecture 22: Packages
Lecture 23: Testing
Chapter 3: The End
Lecture 1: The End
Instructors
-
Szabó Dániel Ernő
DevOps Engineer
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 0 votes
- 5 stars: 0 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024