Welcome to On-Software
This site is for and about software, or more specifically, software
engineering. Hopefully you find it informative, but keep in mind it is a work
in progress and may not be 100% accurate at all times.
The articles cover an assortment of topics related to programming languages
and software engineering best practices. The site is not particular to a given
language, but it leans heavily towards articles on Scala, Clojure, Java, and
Javascript, mainly because these are my current areas of research and
interest.
Note that effort has been made to give credit to those whose ideas are
discussed in these articles. If the approriate credit is missing or a
correction needs to be made, please feel free to contact
me so I can update the articles appropriately.
Also, feel free to contact me if you would like to contribute an article.
Programming Articles
| Article |
Description |
Languages |
| Type Parameterization |
What is type parameterization and how is it handled in Java vs Scala... |
Java, Scala |
| Type Erasure |
What is type erasure and what does it mean to developers in Java and Scala... |
Java, Scala |
| Pimp My Types |
How to extend some of the built-in Scala types... |
Scala |
| Reifiable Types |
How one might create reifiable types in scala... |
Scala |
| Product and Sum Types |
What are product and sum types |
Scala |
| Union Types |
A re-hash of other great articles on creating union types in Scala |
Scala |
| Record Types |
Implemention of the Clojure Record type in Scala |
Scala, Clojure |
| Lazy Sequences |
Creating and using lazy sequences in Scala... |
Scala |
| Concurrency and Parallelism |
A comparison of different approaches to concurrency and parallelism... |
C/C++, Java, Scala, Clojure |
| Lifting |
What does it mean to Lift a function... |
Scala, Haskell |
| TypeClasses |
Discussion of type classes in Haskell and how to implement in Scala.. |
Scala, Haskell |
| MultiMethods |
Discussion of multi-methods in Clojure and some possible alternatives in Scala... |
Clojure, Scala |
| Scope |
A comparison of lexical scoping vs dynamic scoping... |
General |
| Parsing |
Overview of parsing |
General |
| Nlp |
Overview of natural language processing (NLP) |
General |
Other Articles