A Brief History of Objective-C

Probably not the most entertaining post, but there are a couple of cool things about programming in Objective-C that I found interesting and thought I would share.

So basically the language was created in the early 1980s when a couple of people decided that reusability in code would be a good idea.  If you don't know that much about programming (not that I know that much either) reusability in code basically means some kind of object orientated language.  Now lets try to explain why objective programming languages are useful. . .

The very basic idea is that, lets say you wanted to draw five different boxes, each one a different color.  But to draw a box you had to type four lines of code to define the location, size, rotation, and color.  That means these five boxes would take 20 lines of code, which seems like a lot especially since the only thing that changes is the color.  Well here comes object orientated programming to save the day.  In objective languages you can create an object ( so that's where it gets its name) that has different properties that correspond to the different variables of your box.  For example it would have a location property, a color property, etc.  Now all you have to do is assign those properties a value which is a simple as saying

box.color = red.  

In addition to that, if you ever need to make a box in a different program you have an object to do that.  BAM! Reusability!

So basically these two guys thought this would be a good idea but also wanted it to be back compatible with the C language to make it more usable.  So they did their thing and came up with a pretty good product.  Then in 1988 NeXT (which is the computer company Steve Jobs started after being fired from Apple) bought Objective-C from the two guys and began writing a bunch of libraries which the NeXTstep operating system was built on.  Because of this, objects in objective-C carry the prefix NS for NeXTstep.  Once Apple realized they were doomed with out Steve Jobs, they brought him and NeXT back to Apple and Mac OS X (which is the operating system still being used by Macs, just on version 10.8 or whatever it is now) is built on the NeXTstep operating system.

So, long story short, if you've ever programmed in objective C and had to type "NSString" or "NSLog" now you know where that NS is coming from.  

There are lots of other cool things about Objective-C, but this post got a little longer than I wanted so I won't really go into that.  I just thought it was kinda cool that even today, programming stuff for iPhone 6s and iOS 7, the prefix is from a computer company that doesn't even exist anymore.

 

So yeah, I hope you enjoyed that and maybe you even learned something.  

 

As always, Thanks for reading

-Matt.

 

 

[Full disclaimer:  I'm not a Computer Science major and may not have a clue what I'm taking about when describing what an object orientated programming language is.  My example may be better suited to describe the physics behind the flight of elephants (although being a mechanical engineer, I can say with some certainty that it probably isn't describing that either)]

 

Motivation

Or rather the lack there of.

I thought this might be an appropriate post given the overall lack of motivation I felt I've had the past month or so.  My post a while back about coming back to blogging I had actually written about a week ago but I never actually got around to clicking the post button (mostly because I would just forget about it until ten o'clock and then decide that I shouldn't post it that late).  

Recently, however, there has been a lot of stuff motivating me to start working on development a little bit more.  The huge, overnight, success of Flappy Bird has motivated me.  It has me thinking that you really don't have to be a large size development company to have a massively popular app.  The main character in a book I'm reading for a class (while fictional) started his own video game company which has gotten me a little more motivated.  There have just been a lot of things recently motivating me to get up and write some code (or I guess I'd actually have to sit down. . .)

But I think, overall, the thing that motivates me the most to keep writing code isn't just the possibility of creating the next Flappy Bird (although I wouldn't say no to 50K a day, just saying) but it's the idea that I want to build something that I can point to and say "yeah, me and my friend built that" whether that's an app, or an entire company (even if it's a small one, as long as we have an office that I can actually point to).

 

Anyways.  This post was more for me so that I could sit down and write a list of the things keeping me motivated.  It can be hard, sometimes, to sit down and work on something after a long day of classes, labs, homework, and the such.  But if you read it, I hope you enjoyed some of the things keeping me going.

 

 

As always, thanks for reading

-Matt.

 

(Oh also, Happy Birthday to Austin)

Photo Friday- Random

So I know I said I was going to do something different for this Photo Friday, but I kinda lied.  I had something else planned but then it got late and I figured I would post something rather than nothing.  I am, however, going to implement one change in this week's Photo Friday.  I'm going to stop having all the pictures from one album.  I've got a lot of pictures but not enough in the same genre.  So I'm just going to pick some random ones to share with you.  Also, I got an Instagram so if you want some more consistent, more recent, photo updates you can follow me there.  Anyways, here are the pictures.  I hope you like them.

-Matt. 

It's been a while. . .

Over a month, actually.  Long story short I didn't have internet that last week of winter break and then school started again.  The first week was a little rough getting back into the swing of things.  The next couple of weeks were rough because classes started to ramp up and I had to start dealing with homework and lab reports and presentations and quizzes and essays and tests and . . .

 

. . .Anyways. . . .

 

My goal is to be updating this blog on an almost daily basis.  I'm going to try and make it part of my daily internet routine.  Because of that, I'm going to try and make posts relatively short, unless I have something important to talk about.  So with that in mind, let me tell you everything you missed in the past four weeks in a couple short sentences.

We are making good progress on Vaultology and I think we'll be in beta by mid march.  Austin also took the liberty of starting some code on a new game that we think is going to be pretty fun.  The quadcopter is making progress slowly but surely, and I've begin some modeling work on quadcopter 2.0.  I got an Instagram so you can follow me there for some more consistent photo updates.  Speaking of photography, I think some things are going to change with Photo Friday, I'll upload a post about that this friday, so check back for that.

I think this is where I'm going to sum things up.  Just wanted to let you know that I'm going to try and keep this updated more often with more, shorter, day-to-day type stuff in-between the longer, content heavy, posts.  Thanks for reading.

 

-Matt.

Photo Friday - Lightning

So I may or may not have missed a couple of Photo Fridays the past couple of weeks due to the holidays, but here I am (at a Starbucks because we have no internet at home) posting again.

If you've been around the website you may have already seen parts of these photos before.  This week I wanted to share some lightning photos with you guys.  Taking an awesome lightning photo has been on my photography bucket list for a while and it wasn't until recently that I learned a technique to take photos of lightning.  I hope you enjoy.

-Matt.