Passion and a willingness to forego the immediate monetary awards and focus on pursuit of building something that you can be proud of. Pride is a sentimental thing and you would think that it wouldn’t have much place in a subject area as clinical as programming. Yet if all programs were written in the same manner pride and sentiment couldn’t be identified in the code you write.
3 Reasons why C# and Object Oriented Programming Rocks
I have come to really appreciate the quality of and the real possibilities that are associated with C# and object oriented programming, and I thought that maybe I could think of 3 reasons why it rocks. So here are my 3 reasons.
- Real-world object mapping: You can take real world objects and turn them into functional, programmable computer objects. If you have a product in your business then you can define that product, through some analysis, and develop it into something that can be represented as a programmable computer object. This is where business objects are created – they are true representations of the actual objects themselves. Object can have relationships with other objects.
- Object re-use: If I create an object within any of my web projects, I can re-use the functions of those objects as many times as I want. All I have to do is create an instance of that object and I have access to its functions. This reduces the number of times I have to re-use name spaces. It also allows me to focus on developing and refining my objects, and making changes in fewer places.
- Multi-platform and device: C# can be used in windows-based, web-based and mobile applications. Within web and windows applications you can target Silverlight (Web) and WPF (Application) without having to let go of C#. Talk about honing your C# skills!
C# Access Modifiers
Today I was coding some C# and I decided to refresh my understanding of classes and how you declare methods and how they become accessible or inaccessible to other classes. C# has the following access modifiers, and depending on which one you use, it wll determine how other classes can use them:
- Public: Members and methods declared as public are visible to any method and to any class outside that class.
- Private: Members and Methods within a class marked as private are only accessible within that class
- Protected: Members and Methods of a class marked as protected are only accessible to methods inside that class and any classes that derive from that class
- Internal: The members in a class that are marked internal are accessible to methods of any class in that class’s assembly.
Technology Maturity
Silverlight is not a very mature implementation but the technologies it uses for that implementation aren’t new or unknown. Sure, you have to download a plugin to view Silverlight content, but other than that the technologies that are used in Silverlight are not new. Flash uses ActionScript which closely resembles JavaScript and wonder above wonder Silverlight 1.0 and 1.1 uses JavaScript. Silverlight does use a technology set called XAML, but then again XAML looks and feels like XML. XML is not a new technology either. With Silverlight 2.0 you can use .NET Programming Languages such as C#. Again C# is not a new technology, and even though it has been around for less than 10 years its syntax is strikingly similar to Java and C++, which have been around for longer. Where is all of this coming from? Well in the week, Friday, to be exact I tested a Silverlight 1.x application on a local Intranet. I wanted to see what difficulties users might end up with if required to download the plugin. I sent the URL to a few developers and asked them to test it for me and one question that came back was “How long has this Silverlight technology been around?”, which got me thinking. Silverlight as an implementation is new, yes, but its underlying technology is not. There will be issues with the implementation, as with many technology sets, but the key for me as a developer is that I will be able to take my JavaScript, C#, XML and database skills and be able to build on them with this new technology. From a designer’s perspective Silverlight will not introduce any new technology sets either, because all the graphics elements used within WPF and Silverlight are Vector-based. The graphics elements are represented as XAML and interestingly enough you can export Adobe Illustrator files as XAML and import that directly into Expression Blend and Visual Studio 2008. Personally I think that shows great interoperability.
The point though is that in today’s development environment technology maturity may only point to an implementation specific issue, not a technology subset. The technology subsets that an implementation is focussed on will in all likelihood be a mature technology already.
Pages
Archives
- November 2011 (5)
- August 2011 (1)
- July 2011 (1)
- June 2011 (3)
- May 2011 (1)
- April 2011 (11)
- March 2011 (3)
- February 2011 (5)
- January 2011 (6)
- December 2010 (2)
- November 2010 (3)
- October 2010 (2)
- September 2010 (5)
- August 2010 (4)
- July 2010 (3)
- June 2010 (7)
- May 2010 (1)
- April 2010 (6)
- March 2010 (2)
- February 2010 (1)
- January 2010 (1)
- December 2009 (2)
- November 2009 (5)
- October 2009 (26)
- September 2009 (15)
- August 2009 (2)
- July 2009 (3)
- June 2009 (1)
- May 2009 (1)
- April 2009 (3)
- March 2009 (2)
- February 2009 (3)
- January 2009 (11)
- December 2008 (13)
- November 2008 (8)
- October 2008 (10)
- September 2008 (9)
- August 2008 (13)
- July 2008 (12)
- June 2008 (9)
- May 2008 (8)
- April 2008 (6)
Categories
- 2011 (1)
- AJAX (14)
- Application Development (23)
- ASP.NET (28)
- ASP.NET MVC (8)
- Bing (1)
- Blog Action Day (1)
- Browsers (5)
- C# (62)
- Chrome (1)
- Content Management Systems (1)
- Design Patterns (1)
- DevDays (1)
- eMarketing (6)
- Facebook (4)
- Firefox (3)
- Fremus.co.za (8)
- General (48)
- Google Chrome (1)
- Information Technology (1)
- Internet Explorer (2)
- jQuery (4)
- Leadership (2)
- LINQ to XML (4)
- Microsoft (1)
- Microsoft Events (1)
- Music (1)
- News (2)
- PC Hardware (1)
- Personal (16)
- Photography (1)
- SEO (3)
- Silverlight (11)
- Software (1)
- Springboks (1)
- SQL Server 2005 (7)
- SQL Server 2008 (3)
- tech (2)
- TranceFamily (1)
- TV Series (1)
- Twitter (1)
- WCF (1)
- Web 2.0 (13)
- Web Design (9)
- Web Development (36)
- Web Search (1)
- Web Technologies (39)
- Windows Phone 7 (2)
- Windows Powershell 2.0 (1)
- Wordpress (6)
- WPF (2)
Tags
.NET Adobe Flash AJAX Armin van Buuren ASP.NET ASP.NET MVC C# concept context CSS e-Marketing Facebook Firefox 3 Fremus General Thoughts GMail Google Google Analytics Javascript jquery LINQ to XML LiveValidation Microsoft Microsoft Access Microsoft Powerpoint object-oriented Personal PHP Programming ScrewTurn wiki Silverlight Social Media Social Networking South African E-Marketing SQL Server 2005 Twitter Visual Studio 2008 WCF web-based solutions Web 2.0 Web Design web development wiki's Wordpress WPF