So, I'm not sure how many people agree with me (I haven't really searched around to see if anyone has the same opinion), but I'm starting to form the opinion that there are two different types of developers: Those that can develop an application but don't really understand the concepts behind it, and those that have a relatively deep knowledge of how their code works and all fits together. Or, in other words, those think it's alright (and perhaps have it as a job), but are not very passionate, versus those that are very passionate about programming. Generally, I guess something like the following could be said:

People in the first group:

  • Have done their main programming study at University or TAFE OR are self-taught with just the basics, generally nothing about best practices. Generally, they've learnt just enough to get by, nothing more
  • Will copy and paste code and be happy that it works, but might not really understand how it actually works
  • Don't really consider programming a hobby
  • Might be considered "code monkeys" in some situations
  • Generally need help with fixing odd bugs

And people in the second group:

  • May have done a University course, but their main learning is self-taught
  • Write applications, scripts, websites, whatever for fun (and might actively participate in open-source projects)
  • Don't copy and paste code very often. Instead, they learn from other people's code, and then rewrite that code in their own style
  • Consider programming one of their biggest hobbies
  • Aware of some of the latest trends in software development
  • Might often question things, like the ways people do things, and why code is written in a specific way (or is this just me?). Usually I do that just to learn how things are done.
  • Can generally investigate and solve odd bugs pretty well

Anyone else agree with me? Personally I'm proud to be in the second group, the awesome group 😄

Anyways, I'll write another proper blog post, eventually. I started working recently, and will definitely have to blog about that 😃

Until next time,

— Daniel

Well, back to posting coding-related blog posts, for now anyways 😛. Seeing as a lot of people seem to be confused by Object Oriented Programming, I thought I'd post a quick (or maybe not so quick) post about what OOP is, the main features, and how it can benefit you. This is paraphrased from an assignment I had on OOP last semester at university. I use C# code examples throughout this, but the concepts are very similar in other languages. Note that in this post, I assume you know the basics of programming, and just want to learn more about object orientation.

Now, let's begin looking at what OOP actually means. At its core, the Object Oriented paradigm consists of classes and objects. A class is a “thing” or entity that has a purpose, and an object is an instance of this entity. For example, a Car would be a class, and my car would be an object (instance of the Car class).

Read more ⇒

TCP sockets in Pascal are generally hard to use; Free Pascal doesn't come with any high-level socket libraries by default, only a relatively low-level socket library. Some external libraries are available to make using sockets with Pascal easier, and one of these libraries is Synapse. Synapse is an easy-to-use socket library for Pascal, and in this blog post I'll try to show how to use Synapse to connect to a remote server and send/receive data from it.

Read more ⇒

1 2 Next