We may earn an affiliate commission when you visit our partners.
Pluralsight logo

Elixir

The Big Picture

AJ Foster

This course introduces Elixir, a language that enables concurrent and fault-tolerant applications with friendly developer aesthetics. You’ll learn how its powerful heritage creates more than just another new language.

Read more

This course introduces Elixir, a language that enables concurrent and fault-tolerant applications with friendly developer aesthetics. You’ll learn how its powerful heritage creates more than just another new language.

Real-time experiences increasingly define our interaction with technology. In this course, Elixir: The Big Picture, you’ll learn how Elixir makes these experiences easy to create. First, you’ll learn about its relationship to Erlang, a battle-tested language that powers telecommunications. Then you’ll see how Elixir’s concurrency model allows us to accomplish a lot while minimizing the impact of errors. Finally, you’ll see what makes Elixir approachable as a functional language that focuses on productivity. When you’re finished with this course, you’ll have the skills and knowledge needed to understand applications that use Elixir, evaluate it for your next project, and begin writing it yourself.

Enroll now

What's inside

Syllabus

Course Overview
Elixir’s Roots in Erlang
Writing Concurrent and Fault-tolerant Code
Productivity and Extensibility
Read more

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces students to the Elixir language, which has uses in industry and is standard in telecommunications
Taught by AJ Foster, a seasoned instructor specialized in Elixir
Introduces Elixir's strong heritage, which stems from its roots in Erlang
Focuses on how Elixir's concurrency model assists in minimizing the impact of errors
Examines how Elixir's productivity and extensibility make it an approachable functional language
May require students to have prior programming experience

Save this course

Save Elixir: The Big Picture to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Elixir: The Big Picture. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Elixir: The Big Picture will develop knowledge and skills that may be useful to these careers:
Elixir Software Engineer
Elixir Software Engineers are in demand as more and more organizations seek to create real-time, fault-tolerant applications. This course will teach you the fundamentals of Elixir, a language that is specifically designed for building these types of applications. You'll learn how to write concurrent and fault-tolerant code, and you'll also learn about Elixir's powerful concurrency model. This course is a great way to get started with Elixir, and it will give you the skills you need to succeed as an Elixir Software Engineer.
Erlang Software Engineer
Elixir builds upon the strengths of Erlang, a battle-tested language that powers telecommunications. As an Erlang Software Engineer, you'll be responsible for designing, developing, and maintaining Erlang-based systems. This course will teach you the fundamentals of Erlang, and it will also provide you with an understanding of Elixir's relationship to Erlang. This course can help you build a foundation for a successful career as an Erlang Software Engineer.
Software Architect
Software Architects are responsible for designing and overseeing the development of software systems. They work with stakeholders to understand the business requirements, and they then design and implement software solutions that meet those requirements. This course will teach you the fundamentals of software architecture, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems. This course can help you build a foundation for a successful career as a Software Architect.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. They work to ensure that software is developed and deployed efficiently and reliably. This course will teach you the fundamentals of DevOps, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems. This course can help you build a foundation for a successful career as a DevOps Engineer.
Full-Stack Developer
Full Stack Developers are responsible for designing and developing software systems from start to finish. They work on both the front-end and back-end of software applications. This course will teach you the fundamentals of full stack development, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems. This course can help you build a foundation for a successful career as a Full Stack Developer.
Systems Engineer
Systems Engineers are responsible for designing and overseeing the development of complex systems. They work with stakeholders to understand the business requirements, and they then design and implement systems that meet those requirements. This course will teach you the fundamentals of systems engineering, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Programmer Analyst
Programmer Analysts are responsible for analyzing user needs and designing and developing software solutions. They work with stakeholders to understand the business requirements, and they then design and implement software solutions that meet those requirements. This course will teach you the fundamentals of software development, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Computer Programmer
Computer Programmers are responsible for writing and maintaining computer code. They work with stakeholders to understand the business requirements, and they then write and maintain code that meets those requirements. This course will teach you the fundamentals of computer programming, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Software Developer
Software Developers are responsible for designing and developing software applications. They work with stakeholders to understand the business requirements, and they then design and develop software solutions that meet those requirements. This course will teach you the fundamentals of software development, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Computer Scientist
Computer Scientists are responsible for conducting research in the field of computer science. They work to develop new theories and algorithms, and they also work to design and develop new computer systems. This course will teach you the fundamentals of computer science, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data. They work with stakeholders to understand the business requirements, and they then use data to develop insights and recommendations. This course will teach you the fundamentals of data science, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing and developing machine learning models. They work with stakeholders to understand the business requirements, and they then design and develop machine learning models that meet those requirements. This course will teach you the fundamentals of machine learning, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Data Engineer
Data Engineers are responsible for designing and developing data pipelines. They work with stakeholders to understand the business requirements, and they then design and develop data pipelines that meet those requirements. This course will teach you the fundamentals of data engineering, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.
Cloud Engineer
Cloud Engineers are responsible for designing and developing cloud-based applications. They work with stakeholders to understand the business requirements, and they then design and develop cloud-based applications that meet those requirements. This course will teach you the fundamentals of cloud computing, and it will also provide you with an understanding of Elixir's role in building scalable, fault-tolerant systems.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Elixir: The Big Picture.
Delves into the practical aspects of building reliable and maintainable Elixir systems using OTP. It covers topics such as supervision trees, error handling, and distributed systems, providing valuable insights for developing robust Elixir applications.
Provides a deep dive into parallel and concurrent programming concepts in Haskell, which functional programming language similar to Elixir. It covers topics such as concurrency primitives, synchronization, and performance optimization, and provides valuable insights applicable to Elixir development.
This concise guidebook provides a quick introduction to Elixir and OTP (Open Telecom Platform), which set of libraries and tools that enhance Elixir's capabilities for building fault-tolerant and scalable systems.
Provides a comprehensive overview of the challenges and techniques involved in designing and building data-intensive applications. It covers topics such as data modeling, storage, processing, and analysis, and provides valuable insights applicable to Elixir development, as Elixir is well-suited for handling large amounts of data.
Explores concurrency and parallelism in Go, which is another popular language for building concurrent and fault-tolerant systems. It covers topics such as goroutines, channels, and synchronization primitives, and provides valuable insights that can be applied to Elixir development.
Provides a beginner-friendly introduction to Erlang, the language that inspired Elixir. It covers the fundamentals of Erlang, such as concurrency, message passing, and pattern matching, and provides a solid foundation for understanding Elixir's core concepts.
Provides a whirlwind tour of different concurrency models, exploring their strengths and weaknesses. It covers topics such as shared memory, message passing, and actor systems, and provides valuable insights applicable to Elixir development, as Elixir supports multiple concurrency models.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser