Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

Getting started with functional programming in Swift

This course is designed for developers who are new to functional programming, and is comprised of theory and practice to help them gradually change their existing way of thinking.

(4.5) 10 reviews

157 learners

3시간 만에 완강할 수 있는 강의 ⏰
iOS
Swift
Functional Programming

Reviews from Early Learners

What you will learn!

  • Basic concepts of functional programming

  • Implementing a practical project using Swift

  • Refactoring an existing program to a functional programming style

  • Functional programming techniques for solving concurrency problems

Get a preview of what you'll learn by watching the introductory video above.

Things to learn

With the growing interest in functional programming, this course begins with a basic understanding of functional programming, then moves on to practical projects and practical applications. You'll learn how to convert existing source code to functional programming, developing a natural and practical understanding of functional programming. Ultimately, you'll develop an iOS app with a UI, mastering design techniques and practical application methods.

Part 1: Concepts of functional programming Part 2: Structured to allow hands-on learning of frequently used techniques Part 3: Converting an existing program to functional programming Part 4: Developing an iOS app that applies UI


Functional Programming, Getting Started with Swift - Swift FP

This course is designed for those who, no matter how hard they try to understand Functional Programming (FP), find its fundamental structure overwhelmingly unfamiliar, its differences from OOP, and its inconvenient and challenging nature. This special lecture is designed for those new to FP, and it combines theory and practice to help them gradually shift their existing mindset.
  • Case-based, not theory-based
  • Explain with direct code rather than explaining difficult concepts or terms.
  • It is structured as a hands-on course so that you can learn by typing directly.
  • Pair programming method allows learning functional thinking and programming process.
  • Includes projects that proceed from functional design to UI app implementation.

  • Operating environment: Mac OS, XCode 9 or later
  • Prerequisites: Swift 4.x
Functional programming is something that many developers want to learn now.
In recent years, interest in functional programming (FP) has grown significantly. Discussions about FP have become a common sight at meetups and seminars across various fields. In particular, we often see examples of refactoring existing code using FP techniques, and we often hear encouragement to widely adopt this beneficial approach. However, given that many developers are accustomed to the object-oriented programming paradigm, transitioning to a new paradigm requires significant effort. This is different from learning a new language and mastering its syntax.
Why is it difficult to move to a functional programming paradigm?
A programmer's cognitive system (paradigm) is deeply involved in every process, from designing the program structure to writing the source code. Assuming this programmer has spent their entire life programming within the object-oriented programming paradigm, learning functional programming anew can present the following challenges:
  • The very idea of not changing the value of a variable feels strange. To put it more developer-friendly, the very idea of programming without state feels incredibly awkward.
  • The concept of "currying" in FP is also strange. I don't understand what it means to create a function that creates a function that creates a function (that's not a typo).
  • It's strange to control the behavior of a program without changing its data. It just feels weird.

Helpful people

  • Anyone who knows Swift
  • Anyone who wants to learn functional programming
  • Those who have learned functional programming but are unable to use it in practice
  • Those who want to apply functional programming in practice
  • Those who want to develop services where concurrency and asynchrony are important
  • People who are worried about writing concise source code
  • Anyone interested in learning FP

Introduction of knowledge sharers

Developer Song Chi-won
A mobile developer with 15 years of experience. I'm a passionate mobile developer and have been working on iOS since 2008.
  • iOS Meetup "Let Us: Go!" Presenters for Fall 2017, Spring 2018, and Summer 2018. All topics were FP-related!
  • Embedded/Mobile Software Programmer
  • Embedded/Application Programming/Arduino/3D Printer Instructor
  • Ministry of Employment and Labor's Spec-Transcending Mentor School Mentor
  • Embedded Software Industry Association member
  • Blog , GitHub
If you have any suggestions for additions to the course or questions, please post them in the "Questions" section. This course was created through a partnership between instructor Song Chi-won and Programmers.

Recommended for
these people

Who is this course right for?

  • Anyone familiar with the Swift language

  • Anyone who wants to understand the evolution of programming paradigms

  • Anyone who wants to apply functional programming to a practical project

  • Anyone who wants to convert an existing code base to functional programming

Hello
This is

157

Learners

10

Reviews

2

Answers

4.5

Rating

1

Course

Curriculum

All

29 lectures ∙ (1hr 25min)

Published: 
Last updated: 

Reviews

All

10 reviews

4.5

10 reviews

  • 한솔님의 프로필 이미지
    한솔

    Reviews 1

    Average Rating 3.0

    3

    55% enrolled

    • 박상호님의 프로필 이미지
      박상호

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      함수형 프로그래밍이 무엇인지 알게 되었습니다.

      • 어수형님의 프로필 이미지
        어수형

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        혼자서 알기 힘든 부분이 많았는데 간단하고 직관적인 예제로 이해하기 쉽게 설명 해주셔서 감사합니다.

        • Tony님의 프로필 이미지
          Tony

          Reviews 1

          Average Rating 5.0

          5

          86% enrolled

          정말 좋습니다. 직접 문제를 풀어보는 과정이 있어서 도움이 되요.

          • 김현준님의 프로필 이미지
            김현준

            Reviews 6

            Average Rating 5.0

            5

            100% enrolled

            너무너무 재밌고 신기했습니다

            $38.50

            Similar courses

            Explore other courses in the same field!