Fellowship vs. Followship!

Since i’m coding with Microsoft software development stack for years, recent days i’m very confused with my observations about Microsoft’s new technologies and returning reactions by it’s communities.

The god: Microsoft

The big picture what i see is; there is a world of wonders which has a god (Microsoft), and prophets (Scott Guthrie, Scott Hanselman, Rob Connery : The last Prophet :) etc.) and we all the creatures. We are all crying out to our god:

God:

- Hoo Hoo hooo, give me your soul poor man, i will bless you. With your $acrifices, i would be appreciated.

Prayers:

- oh my god, please please give me food, i gave you my soul already, please give me some more.

Among all these my posts below in the blog, it’s interesting that why i’m talking about like that for now? Nowadays, everyone is aware of the ASP.NET MVC framework you know and all the Microsoft folks waiting for it in a lather (sadly me too!). Every other’s blog which i get in, get me out with the comments like

# re: .NET Web Product Roadmap (ASP.NET, Silverlight, IIS7)
Thursday, November 29, 2007 1:39 PM by Wallstreet

Give me silverlight 2.0 or give me death!

comment on Scott Guthrie’s “.NET Web Product Roadmap (ASP.NET, Silverlight, IIS7)” post

Kevin Isom
October 19th, 2007

But in saying all of that I can’t wait to get my hands on the MVC stuff as well.

comment on Rob Connery’s “Have We ASP.NET Geeks Lost Something?” post

These comments describe what i exactly trying to mention. I called this “followship”. We all ms guys playing around with the toys that Microsoft gave us. Everyone in the community looks for Scott Guthrie’s mouth for any lips movement. We are greedily waiting for MVC ctp deadline, when we eat it, our god will feed us with an another toy. What’s new here? MVC patterns exists for years and when Microsoft implements it it becomes one of holy grails. The followship buzzword sits on the right meaning for Microsoft community IMHO.

Then what is “fellowship” ? I won’t describe the the meaning what i load to, But i’ll gave you some steps to open your wings to gain full freedom and to open doors to no headed community.

  • Get you pc Ubuntu/Linux installed (or any other popular linux distro)
  • Open your distro’s packet manager.
  • Get your distro Apache Http Server installed
  • Get your distro Eclipse installed
  • Get your Eclipse PyDev and CDT plug-ins installed
  • Welcome to the fellowship of the free software

All you need to develop really real world software is on your hands for FREE even in enterprise solutions. Take it so:

  1. Do you need speed? No doubt : take C programming language, learn it, experience it, tool it for you box, in Eclipse IDE with CDT plug-in.
  2. Do you need efficiency? No doubt : take JAVA programming language, it won’t hurt you if you already code with C# also it has extensive Enterprise Frameworks like Spring, Struts and Eclipse IDE is the hometown for JAVA.
  3. Do you need productivity? No doubt : take Python programming language, learn what it can save for your life time, again in famous Eclipse IDE with PyDev plug-in.

The all stack comes with real cross-platform comformance, they are not built for a specific platform like IIS or Windows api. They can extend on free Apache http server which works on all platforms, they can extend on Gtk+ GUI toolkit which works on all platforms etc. etc. etc. Give them a chance and with your individual skills you should be number one coder and developer with community support, GPL support :) and freedom support ;) Believe in that here no one expects nothing from someone except some help without get paid.

Anyone may vary easily in his/her thoughts, so do i. Give a try for steps i pointed above, you’ll be exactly excited for only in 7 hours… From now i’ll hold this stack with my right hand and swap my Microsoft related (really experienced) knowledge to my left hand.

And it’s time for you to face with your own realities…

kick it on DotNetKicks.com

What kind of programmer you are? An analytical thinker or a VS operator

i’ve got two tasks for you. The first one is; you will connect to your working database, make a query to fetch all your contacts, and display’ em in a grid like control on a windows form. You bet it’s very simple, especially if you’re using Visual Studio. Now with Visual Studio 2008 by drag&drop operations i can do this without writing any code snippet and even have ability to display relational data.

Oh my, visual studio is really great IDE software, it makes all the things for me and now i could really dive into thinking the real problems of my software needs. But where is analytical thinking? Trying to solve the big picture puzzle of software is really an analytical thinking? I think the nature of computer programming is writing code that computers undertands and trying to solve problems by using innovational or existing algorithms. So the one who solves computional problems by algorithms is a computer programmer in a nutshell i think.

If you doubt, one main question have to be asked:

What is analytical thinking?

Here comes my second task for you that you have an array of digits those random positioned like this one:

int[] digits = new int[]{4, 5, 2, 7, 9, 3, 1, 8, 6};

So please give a try to sort this array ascending like this one {1, 2, 3, 4, 5, 6, 7, 8, 9 } without using Array.Sort() or any library method. This sounds very simple, is it? i can hear your laugh, saying how an easy thing this is. If you give a chance yourself to solve this problem i guess and suppose that you will find how much an analytical thinker you are.

cards being sort*

Here i do not advocate that not to use visual studio or framework libraries, certainly they make our life more easier, but all programmers who says that i’m a programmer and have ability to solve any kind of problems by using my favorite programming language, must do training and exercise in basic algorithms, learn historical solutions to generic problematic issues and have a look at some framework base classes how things done.

I’m neither a perfect programmer nor a expert analytical thinker, but i’m trying to do and always give myself some time to understand some basic and base concepts. I guess and believe these will make me soon a good big picture puzzler, a senior developer or solution developer.

kick it on DotNetKicks.com

Sometimes I Hate Runtime Frameworks

Have you ever experienced a conversation in your programming life such this IM talk:

George: Hey Adam, i ‘ve just programmed a little funny puzzling game, do you want to play some? It’s only 50Kb.
Adam: Well great! send me a copy, of course i want to play.
George: OK! Wait a minute i’m zipping it, … , well have you got it?
Adam: Yep! But it gives an error.
George: Hımmm, i think you have to install bla bla framework v3.8. You can download it here http://www.blablaframeork.com. It only takes 20 minutes.
Adam: Ohh. Forget about it George, i’m too busy now, maybe later, right?
George: OK Adam, byee.
Adam: Byee ;)

This is a small but one big point that gets me think twice for programming under a framework platform. I’m programming for about 5-6 years without native programming languages knowledge and i always feel lameness of this. Write once, run nowhere, distrubute nowhere, deploy nowhere, only play it yourself with your coding enviroment. Think about that no one can produce a Windows Notepad replacement with programming .Net Framework or Java enviroment. Because notepad is only 68 Kb, requires nothing, and meaningfully responsive.

Assembly Language

Developing lightweight, tool like, portable mini softwares died for us framework parasites. Although t’s the funniest part of programming, we all have lack of this.

I’m looking for a day that really gets me to the boiling point, and begin to learn assembly language :P

Visual Studio Aims Independent Eclipse Community

VsxWith the upcoming release of Visual Studio 2008 comes with new software development ecosystem named Visual Studio Shell. Infact it’s not new at all. Visual Studio only exposes it’s shell enviroment freely to various software development vendors and individual software developers. Here the word ‘new’ points that suprisingly Microsoft’s revolution strategy speeded up for breaking the idea of anti-Microsoft approach that disperses from OPEN SOURCE sympathizers to the whole world.

In brief Visual Studio Shell let software vendors add new features (plug-ins) to Visual Studio or use it as an enviroment in their individual projects. This means that will not suprise us coding pure JAVA (not J#) in Visual Studio enviroment. It should be a dream!

The shell comes with integrated and a new isolated mode. Integrated mode provides visual studio enviroment to extend existing instance of developer’s Visual Studio 2008 installation. There is better news that isolated mode exactly works as a seperate instance and interface uses Visual Studio Shell without the requirement of visual studio installation. I can hear you… Yes it is an Eclipse core feature. If you are not familiar to famous open source Eclipse IDE platform mostly used by JAVA developers, it entirely exposes it’s shell enviroment (workbenchs, views etc…) to plug-ins or for other standalone softwares. For example Adobe provides Flex development enviroment as either a standalone Eclipse based IDE (using Eclipse RPC) or plug-ins (Eclipse PDE) that can be added to an existing Eclipse installation. This shows us Microsoft’s idea is certainly inspired from Eclipse and it aims to gain whoever Eclipse’s commercial and non-commercial ISV’s anyway.

Finally i want to share a quote from an interview with Anders Hejlsberg who is chief architect of the Visual C# language and has been a key developer of the company’s .Net application development technology. His answers followed like below against the questions from InfoWorld.

InfoWorld: What is your take on Eclipse and the Eclipse Foundation and Eclipse IDE? At this point Eclipse has Sun and Microsoft not participating and everybody else pretty much is. What does that mean?

Hejlsberg: Eclipse is an open source project built around the Java platform, so I don’t think it’s so surprising that we’re not partaking there. I would say we’re competing there, and I think we’re competing quite well with Visual Studio. A lot of the features you see in Visual Studio 2005 bring us not just neck to neck, but ahead of Eclipse, and I think it’s healthy to have competition. As always, it’s going to keep us on our toes and it’s going to keep them on their toes.

InfoWorld: But you have to spend money for Visual Studio and you can download Eclipse for nothing.

Hejlsberg: That all depends on how you look at it. You can download the Visual Studio 2005 Express Editions for nothing, and I would argue that in many ways they are better, more deeply integrated tools than some of the stuff you can do with Eclipse. And conversely, with Eclipse you typically end up paying money anyway because you buy a particular distribution of it and you buy it as part of [IBM] WebSphere or whatever and you actually do pay money. So it’s not that clear, it’s a bit of a fallacy that everything is free in that space and everything costs money with our platform.

Is the word Open Source itself a shell? Is used for marketing goals by some profit-units in software industry? Is Microsoft really a capitalism idol? How do you gonna live without any salary or profit while writing code only for world wide human beings? Are this these topics too heavy for us to lift? :)

What do you think?

  
Valid XHTML 1.0 Strict Valid CSS!