TypeSafe Journey Using Scala
  • Table Of Content
  • About This Book
  • Copyleft Notice
  • Thanks
  • My Journey
  • Introduction
  • Phase I: Basics
    • Chapter 1: What are the types?
    • Chapter 2: Types Vs Classes and Subtyping Vs Inheritance
    • Chapter 3: Type Disciplines
    • Chapter 4: Type Inference
    • Chapter 5: Scala Types Hierarchy
    • Chapter 6: Parameterized Types
    • Chapter 7: Type Erasure
    • Chapter 8: Type Classes and Ad-hoc Polymorphism
    • Chapter 9: Type Constraints
    • Chapter 10: Variance
      • Non-Variance
      • Co-Variance
      • Contra-Varaince
      • Conclusion
  • Phase II: Advance
    • Chapter 11: What are Kinds in Scala?
    • Chapter 12: Higher Kinded Types
Powered by GitBook
On this page

My Journey

PreviousThanksNextIntroduction

Last updated 4 years ago

I started my career from Java EE application development and, after three years of my career, I got a chance to work on the Scala language. Initially, for me, Scala was something similar to Java 8 and I started to write code in Scala as a way of using standard Java, including using semicolons. After some time, I realized potential for improvements to the code, that I had written. For learning and exploring Scala, I joined Knoldus, where I got a chance to learn Scala and explore lightbend stack. After that, I realized and started my new journey with Scala functional stack which gives me an amazing flavor of the new paradigm.

Initially, I thought, all features are in the type system, similar to Java generics. However, I soon found this was not true. While exploring Functional Programming, I saw the power of the Scala type system. The Scala type system is not limited to generics classes. It is more than that. For learning Functional Programming, I did my best to find the resources. During that time, started expanding the Scalaz community and create a group of people to take ownership of open source scala FP libraries, which are based on . When I was attending one or two meetings by John, I realized that Scala FP libraries are based on one important factor, which is called a Type System. After some more findings, I found Haskell; a pure FP language that is also based on a powerful type system. In Haskell, if your code has succeeded in compiling, this means that there is an approximately 90% percent chance that your code will run successfully.

After joining Knoldus, I usually share knowledge using internal sessions which are called Knolx but from the year 2018, I started to sharing knowledge on conferences, which gives me the opportunity to learn more and more. For more information about my sessions, you can visit my portfolio:

🤓
John.De.Goes
ZIO
http://harmeetsingh.dev