Contents tagged with OOP
-
Which Is More Beautiful Architecture - FP or OOP?
Recently, upon the recommendations of a few people, I picked up a copy of the book “Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software”. This book is a great read and includes essays from some of the top minds in software today. Some of the topics covered are:
-
Resolved Language Debates?
As you may have noticed my emphasis on polyglot programming on this blog. I’ve been following the language design of Ola Bini’s Ioke with some intrigue as well as dipping my foot into languages such as Clojure. Just as well, with some lists as Michael Feathers about his “Wish List for the Next Mainstream Programming Language” has me enumerating what pieces I’d like as well. While doing some more investigation on the subject, I came across a post on Lambda the Ultimate entitled “What Are The Resolved Debates in General Purpose Language Design?”. That got me asking the same question to myself, so, what are they? The thread is a great read, especially if you’re a language enthusiast as I am.
-
Object Oriented F# - Encapsulation with Object Expressions
In the past, I've covered a bit about object oriented programming in F#. I'd like to come back to that series as there is much yet to cover on this topic. Last week, I spent some time with Erik Meijer at QCon and he and I both agreed that in some ways, F# is a better object oriented language than C# in some ways given some of the language flexibility.
-
Object Oriented F# - Creating Classes
In the past couple of posts, I covered extension everything in F#. This allows me to extend .NET types with such things as extension static and instance methods, properties, properties with indexers, events and so on. But, let's go back to the beginning and cover object oriented programming with F# from the ground up. I like to stress that F# is not only a first class functional language, albeit a more impure one than say Haskell, but it also treats imperative and object oriented code as first class citizens as well. To be able to mix and match for the appropriate programming style makes this a very powerful tool, to be able to use functional aspects with first class citizenship, but as well with imperative and object oriented, well, then the sky is the limit. With that, let's go over some of the things that make F# a player in this space.
-
Object Oriented F# - More Extension Everything
In a previous post, I covered a few ways we can do extensions methods, properties, events and so on with F#. After a few chats, I realized I may have missed a couple of cases that I wanted to cover today. These two cases are extension operators and extension properties with indexers.
-
Object Oriented F# - Extension Everything
A post by Jeremy Miller caught my eye this morning in regards to extension methods in Javascript. While I think that's pretty interesting, I don't think it's a real fair comparison. Instead, I want to revisit C# and even F# with regards to extension methods, because there are a few things I wanted to point out. This is the start of a series covering object oriented programming techniques and how they are used in F#. Note that F# is not only a functional language, but it is a general purpose programming language that supports functional, imperative and object oriented techniques. I hope this series is useful for pointing out that F# fits the need very nicely for object oriented constructs, which is seldom covered.