I just started my own blog here. I just appreciate Google's hosting for blogger. Follow my posts in hexican.com.
Amir.
Wednesday, January 19, 2011
Saturday, January 8, 2011
Setters and Getters
Every Java or C# developer knows how getter/setter methodes make the code messy and noisy because you have to define them explicitly in those languages. I just like the idea of using annotations to reduce amount of the code that should be written. Objective C has defined an annotation to define getter/setter methods implicitly. See below example:
The implementation:
There is no sign of setter/getter methods however, they actually will be accessible during runtime. This is the most clear implementation that I've ever seen. Interface is more declarative.
@interface SimpleCar : NSObject {
NSString* make;
NSString* model;
NSNumber* vin;
}
@property(readwrite, retain) NSString* make;
@property(readwrite, retain) NSString* model;
@property(readwrite, retain) NSNumber* vin;
@end
The implementation:
#import "SimpleCar.h"
@implementation SimpleCar
@synthesize make, model, vin;
@end
There is no sign of setter/getter methods however, they actually will be accessible during runtime. This is the most clear implementation that I've ever seen. Interface is more declarative.
Friday, January 7, 2011
It is not a big deal to start a smaller one.
There are two kinds of software project I think. The one is large scale projects that consume a lot of time/resources and you cant always estimate if it gets done successfully or not. The other one is small size project which you can accomplish them by yourself. Some kinds of small software widgets and iPhone or Android applications are in this category.
The atmosphere of these two kinds of projects are pretty different. An enterprise project needs long time frequently meetings and professionals while each one is just responsible for some parts of the project and not more. It also needs expensive servers and environmental tools, configuration management and administration. These projects run just by millions. Their failover also is a catastrophe. I remember the time that I was involved into developing, deploying and testing an enterprise Java based core banking solution which was run over IBM technologies. It was the worst nightmare that I've ever seen. Each step was just going more into the mud and sludge.
However, a small size project needs one or two developer who know perfectly the whole project. They need just a brilliant idea and one or two notebooks and nothing more. They gain wonderful experience in each step. Aslo it is not a big deal at all if the project fails. There is just an attempting to build a cash cow.
After some years of playing with harmful enterprise toys I just need to get rest by developing small mac applications. So I've started to learn Objective C, iOS and Mac OS concepts and technologies. They are really simple solutions to sweet success.
The atmosphere of these two kinds of projects are pretty different. An enterprise project needs long time frequently meetings and professionals while each one is just responsible for some parts of the project and not more. It also needs expensive servers and environmental tools, configuration management and administration. These projects run just by millions. Their failover also is a catastrophe. I remember the time that I was involved into developing, deploying and testing an enterprise Java based core banking solution which was run over IBM technologies. It was the worst nightmare that I've ever seen. Each step was just going more into the mud and sludge.
However, a small size project needs one or two developer who know perfectly the whole project. They need just a brilliant idea and one or two notebooks and nothing more. They gain wonderful experience in each step. Aslo it is not a big deal at all if the project fails. There is just an attempting to build a cash cow.
After some years of playing with harmful enterprise toys I just need to get rest by developing small mac applications. So I've started to learn Objective C, iOS and Mac OS concepts and technologies. They are really simple solutions to sweet success.
Wednesday, January 5, 2011
They've cared about details.
MacBook Pro isn't just beautiful. It has a perfect design and material. When you use it you find soon some intelligent behaviors and perfect arrangement of the things and functionalities that made it a brilliant. For example you never hit caps lock key wrongly when you are typing quickly. Caps lock has a delay to response that let you keep typing so fast without caring about hitting caps lock instead of tab button. They have cared about details. Watch this video and enjoy how they make things.
Subscribe to:
Posts (Atom)