Thursday, December 16, 2010

Guillaume Roques Response - What he really meant...

First off to everyone that has linked to this blog and even tweeted... yes traffic came from 2 tweets :) . . . I appreciate it. Today 205 readers checked out DOT BLOAT alone and over 1300 views since I have started blogging again, which is pretty cool. Is there a possibility momentum is building for the truth about Visual Studio? By the way, if you are linking to this blog and want a link back let me know and I will add it to the side bar.



A bit about Kinnect
Soma in his most recent blog mentioned Kinnect. Ok so my grandson has an xbox360, which is CTP 7 / RC3 / SERVICE PACK 210 TO BETA RTM 6 of the XBOX 160 which (in case you forgot) contained only pong and pac-man (just kidding). Anyway the kid is asking for this kinnect thing and more then likely I am going to get it for him. But anyway in that spirit here is a brief infomerical about kinnect before getting into the "bloat" of what I have to say. (Yes it is a repost but still funny)



Soma's Reply
I seriously appreciate the fact, Soma posted a reply and my comments. Below is what he wrote.


My blog isn’t moderated and comments should show up within a couple minutes of posting. Sometimes MSDN’s automatic spam filter triggers on blog posts, as it seemed to have with yours, so I’m posting it here:

.... My comments were posted here in his blog ...

Mark, I do want to tell you that I hear your concerns. You are passionate about Visual FoxPro, which is great. We will have to respectfully agree to disagree about Visual Studio and .NET. I hope we can lay this topic to rest.


While there is not much in his reply, I am glad he read my concerns unfortunately he didn't address any of them. I would like to clarify one point. I am "passionate" about "productive" development tools. I am passionate about the FoxPro paradigm and the ease and speed in which applications can be written. If Visual Studio was at least equal to or more efficient then VFP, I wouldn't have anything to complain about. I truly feel the community would be best served if developers voiced their opinion about the bugs and problematic paradigms of Visual Studio in an attempt to improve the tools and frameworks Microsoft is releasing. Our job is hard enough without tools and bloat getting in our way and slowing us down.

Now What I want to do is break down Guillaume Roques's response.

If you are a bit confused, check out my prior post before proceeding.

But first, lets pull out the questions in Tom comments.

1) Why was Ajax Toolkit discouraged and why did you start touting jscript all of sudden? Just because of open source pressure or that they out-witted you guys?

2) Why are you guys promoting MVC. What is the problem with regular way of doing ASP.NET sites?

3) Do you have scientific or statistical proof that MVC is better than the original approach?

4) How many .NET developers actually use MVC?

5) Why did you guys discourage LINQ-To-SQL and started encouraging Entity Framework?


Guillaume's reply to Tom - What he really meant.


Tom:

When we think developers that are consuming Ajax it breaks into two segments:

a) Developers that want to write some client side script in their pages.

[Ok I have to ask this, what is the hang up with developers who want to write code? This makes absolutely zero business sense! Read that again ZERO "BUSINESS SENSE" either your client is paying for your play time or your company is. Either way it is a "waste" of time in most cases.

This is so simple, each line of code we have to write takes time and secondly no matter how simple the code is, each line of code is possible point of failure in your application. Folks, misspelled variables names, logic errors, unclosed brackets etc ... whatever the case is HAPPENS! Unless I'm the only asshole programmer that makes these type of mistakes and "the get close to the metal VS guys" are freaking perfect? In terms of html, jquery and javascript, in Visual Studio 2008, it is even worse since the compiler won't even catch the majority of the errors nor is intellisense fully implemented! There is a simple saying "time is money" and that is true for a reason. If someone has a trick to writing more lines of code by hand in less time then reusing a UI class for example please fill me in.

Let me make this clear: Programmers are hired to deliver a solution. Programmers are not paid to get an erection and masturbate over a link list implementation they wrote or the 500,000 lines of MVC code using 20 different technologies you created for a 20 pages website. Most client's could give a shit about your algorithm artwork. The primary reason for coding standards and writing clean code is for maintainability NOT to address some twisted technology fetish you have. If you want to write code use C++, C or better yet assembler trust me you can write a ton of code in those languages, I can speak from experience I started coding on a PDP11.

Moreover you guys are using .NET OS WRAPPER CLASSES and JQUERY to do most of the work for you, what metal are you getting close too? Cool you can type a variables or object and you know how to write some bullshit plumbing logic or call some bloated bastardized os wrapper class framework method and your head swells. Not all programmers are bad, but I am tired of the arrogance that seems to be running rampant in certain circles and with some individuals. First the VS guys looked down on VFP and now MVC dudes are looking now on webforms - isn't the solution what matters? Yeah I am just venting I will get back on track.]


b) Developers that want their applications to automatically take advantage of Ajax functionality.

[There is nothing automatic about the the Ajax Toolkit, it is merely the lesser of the two evils.]

Our investments into jQuery

[What was Microsoft's investment in JQuery? Some cash to buy licensing? Adding intellisense to Visual Notepad 2010 or copying the library functions, JQuery is an open source toolkit.]


are targeting people in the first batch while the Ajax Control Toolkit and the rich server controls offered by third party vendors target people in the later case.

[Wait a second, offered by third party vendors? WTF - Microsoft wrote the Ajax toolkit and the default set of server controls. I know Microsoft has A LOT of technology, more then most developers want, but does Guillaume even know what products Microsoft offers?]


We think there are developers in both of these segments and are trying to target them both just like below in the MVC section you can see we are trying to target multiple types of developers.
[What happened to DRY? Maybe Guillaume didn't get Scott "THE DOT" Gu's email or read his blog. (Come on did you think I wouldn't mention the GU!). VFP and VB developers got targeted alright, with a freaking bullseye.]

This isn’t about choosing one Ajax strategy over the other you can use one or the other or both together.
[This is a crock, first he never answered the question and second can someone tell me when Microsoft released an Ajax toolkit update? If Microsoft is no longer updating or supporting a toolkit how can Microsoft advocate using it?]

With regards to MVC, we have had in the past one framework for developing Web Applications and that is ASP.NET Web Forms. This framework was designed to make the transition from developing desktop applications to developing server-based web applications very easy it also gives developers great benefits in productivity
[Guillaume should of said, this tool has the "POTENTIAL" to give developers great benefits in productivity. How many releases do we have to wait until the webform designer gets fixed? That designer is a bug ridden mess. Moreover the html generated by the rich set of server controls and the form designer doesn't even render pages consistently across different version of Intercrap Explorer without hacks and work arounds. Most developers end up writing the html by hand in Visual Notepad I meant Studio, how is that productive? Moreover why can't we visually subclass UI controls in Visual Studio's non-functioning class browser so we can reuse them?

Let's proceed I think you get my point.]

by letting them leverage rich web controls that have lots of built in functionality


[True they do have lots of functionality unfortunately visual studio doesn't support all of the functionality. For example, the listview rich server control which by the way do we really need 6 different data grids, Microsoft simply omitted the UI and made it read only so we are coding by hand to implement it. That is sloppy crap development plain and simple. How many of us could sell excel as a custom solution to a client and expect the client to key in the formulas? Maybe we can use Microsoft's Marketing spin and explain to the client how they are getting close to the metal and this is a feature? This is exactly what Microsoft is doing to their development community. No sense beating this to death Guillaume thinks webform controls were written by a 3rd party vendor.]


While trying to grow the types of developers that can use ASP.NET we also identified the MVC pattern as a common pattern used by many other web frameworks such as Ruby on Rails and CakePHP and as a result we created ASP.NET MVC to provide a bridge to developers that like that pattern to be able to easily adopt ASP.NET and the power of the .NET framework and more generally our Web Platform. We are focusing on providing choices to various types of customers. We will continue to invest in all areas of ASP.NET (Web Forms and MVC).

[Ok here is what I think is happening: Microsoft is scared shitless of the open source community, Google's endorsement carries a lot of weight and showcase sites like facebook give it creditability, more importantly there is NO way they can buy out their competition this time like they did with Foxpro.

Microsoft is simply trying to duplicate open source technology as close as possible. This is a terrible strategy for one .BLOAT is not required in open Source and open source developers are not going to change teams most hate Microsoft. Even if these hurdles didn't exists there is still one other problem - COST! What Microsoft did accomplish with MVC is split their own community, great move.

The only way you compete with open source is by building a "BETTER" and more productive environment. This concept works, Microsoft did it with word going against Word Perfect and Excel went up against Lotus. Microsoft needs to scrap the API wrappers known as the .BLOAT framework, build complete development tools that work well and start changing their image, this is NOT a difficult formula. Until they do they are going to struggle in the web platform arena, if they haven't already lost that battle.

Let me throw this fun fact out there. MVC was invented at Xerox Parc in the 70's this is not NEW. If Microsoft was interested in this paradigm they could have moved in this direction from the start with interdev. Microsoft's movement towards MVC is a hail mary pass to try and compete with open source frameworks. Microsoft flat out doesn't have the confidence in their software development toolkits that they can stand on their own merit and attract developers.]


From a data perspective, ASP.NET works with any data solution in .NET but Entity Framework has been getting better and better with each release

[Given how bad EF is, they are not exactly setting a very high bar!]

and with the release of EF Feature CTP 5 we think that it is very compelling for web data scenarios and are working to provide more guidance on how to use it.

[Guillaume wrote "working to provide more guidance", am I the only one that had a WTF moment? Is Guillaume stating Microsoft really doesn't know how to use EF? If so then how in the hell can he say it is compelling to use, when they are still trying to provide guidance on how to use it?

What is so f#$ked up here is Microsoft, since the birth of Visual Studio, has been trying to implement a data solution and FAILS over and over again! Yet they have Visual FoxPro laying there and it F#$King works, hell most of the SQL Server indexing internals are based on VFP'S rushmore technology. Does it seriously require a brain surgeon to say hmmm maybe we should put a data centric extension language into Visual Studio.

The real issue is, Microsoft is not looking to make developers productive, their data goal is to build some type of data access strategy that the community will accept which will lock web and LOB applications into Sql Server. Move over this is CTP5 which means they released 5 versions of this thing and still can't get it right! This CTP/RC/RTM notion is BULLSHIT this is "RELEASE AND PRAY" software development. Microsoft is "using" the community as a group of "FREE" BETA testers throwing crap out there until something sticks. By labeling software in this fashion they can put this stuff out there without having to worry about quality, analysis or if it even works right. GU can always write on this blog well this is CTP6 no worries we will have it fixed when we "GO LIVE" sometime in 2020 and CTP7 will be out in a couple weeks. When FoxPro went Visual/OOP in version 3.0 there was only 6 total releases and couple service packs for each release. EF is only a data technology folks it is not even a complete development tool and they are on their 6th attempt. While they know their goal, SQL Server LockIn, they are clueless how to get there or better stated what the community will tolerate.

This is important so let me state it another way, as long as "connection string based" data access is around and implemented using standard Structured Query Language and stored procedures, portability exists and Microsoft can not accomplish the goal of SQL Server Lock In! I believe the syntax structure change in LINQ was introduced to force developers into a new paradigm and out of SPROCS to raise the barrier of entry into MySql. The bottom line is SQL Server is Microsoft's cash cow in the development area this is an expensive package and MySql works and it's free!


Guillaume

Director of Product Management - Microsoft

Now let's return to the 5 questions Tom asked and see how many were answered.

1) Why was Ajax Toolkit discouraged and why did you start touting jscript all of sudden? Just because of open source pressure or that they out-witted you guys?

Guillaume didn't even know Microsoft wrote the Ajax toolkit.

2) Why are you guys promoting MVC. What is the problem with regular way of doing ASP.NET sites?

Guillaume tried to spin an answer. It short we can't beat them so let's join them!

3) Do you have scientific or statistical proof that MVC is better than the original approach?

Guillaume ignored this one.

4) How many .NET developers actually use MVC?

Guillaume ignored this one as well. Many people have been asking this question and Microsoft has been silent. If the MVC numbers were high, I think it is safe to assume Soma would be blogging about it. Other then the hype of something new and the cheerleaders spinning MVC, my opinion is not many companies have jumped on this bandwagon.

5) Why did you guys discourage LINQ-To-SQL and started encouraging Entity Framework?

I think Guillaume will get back to you Tom once Microsoft figures out how to use EF. IMHO To lock developers into SQL Server.

I know this was long - there was even more there then I initially thought. If you made it this far, I hope you enjoyed reading this post as much as I enjoyed writing it. The one good thing about blogging about VS there is never a lack of material.

Until Next Time.

.Mark!

1 comment:

Anonymous said...

What are you trying to accomplish? We have to do the best job we can with Visual Studio for better or worse. One blog is not going to change the direction of Microsoft. How is bashing technology and programmers helpful?

You need a hobby!