Silverlight Toolkit


Last November we introduced the Silverlight Toolkit, an open source project designed to provide additional Silverlight controls and functionality between versions of Silverlight. Since then, we have received significant positive feedback and have already released a 2nd revision in December.


  


The December release contains even more themes, a new sample app, fine-tuned components, and a bunch of features and fixes requested from the development community.  We’re also shipping designer DLLs to integrate the experience some, plus unit tests and the latest release of the unit test framework.


 



For those of you familiar with Windows Presentation Foundation, you’ll recognize the names of some of controls available in the toolkit.  The controls in the “Stable” quality band are AutoCompleteBox, DockPanel, HeaderedContentControl, HeaderedItemsControl, Label, NumericUpDown, TreeView and WrapPanel.  Controls in the “Preview” quality band include Charting, Expander, ImplicitStyleManager and Viewbox.



Using the controls is a matter of adding references to the assemblies in the toolkit and using them as regular controls in your Silverlight application.  Below, you’ll find a few examples.


  


NumericUpDown


NumericUpDown is a TextBox that only allows numeric values while also providing the ability to nudge values up or down using either the mouse or keyboard. Setting various properties allow you to control Minimum, Maximum, Value and by how much to Increment.  In the following Xaml, you can see how easy it is to use the NumericUpDown control.




autocompletexaml


And, the result would look as follows:



 autocomplete


 


This is a great control to use when you want to constrain user input to numeric only while also providing a quick means to adjust the value.


 


Charting controls


Silverlight chart is a set of completely new classes that enable developers to easily create professional-looking column, bar, pie, line, scatter, and bubble charts.  These different re‑stylable and re‑templatable charts are exposed as series controls that the chart control can host, allowing you to combine them.


 



Here’s all it takes to create a simple column chart in XAML (note that there’s no code required):


 


Let’s take a look at a simple example:



 chartxaml


 


The XAML above produces the following chart:



 chart


 



Themes


In addition to the controls listed in this post, you’ll also find ten themes available for your applications within the toolkit.  Below, you can see a screenshot of what these themes look like. 




 themes



You can learn even more about these controls and the Silverlight Toolkit on CodePlex here.


 


 



Namaste!


Comments (41)

  1. Jeff Lewis says:

    "Here’s all it takes to create a simple column chart in XAML (note that there’s no code required):"

    Kind of splitting semantic hairs there. I see 13 lines of code – XAML code. How is that different from this pseudo-C# code:

    ChartControlColumn ccc = new ChartControlColumn();

    ccc.Items.AddRange(new Object[] { 1, 2, 3 });

    ChartControl cc = new ChartControl();

    cc.ChartType = ChartType.Series;

    cc.Columns.Add(ccc);

    this.Controls.Add(cc);

    And this example is kind of contrived – the moment you need to do anything active, you’ll need code-behind, which means you’ll be working in two disconnected languages: XAML and C# or VB.

    That’s kind of what bugs me about this new found evangelism for XAML. There’s an awful lot of handwaving to make some basic issues (like the lack of a good designer system integrated into Visual Studio and the weird upside-down object design relative to .Net Forms) go away.

  2. AvdPlas says:

    @Jeff.

    The XAML is created for you by a designer working with Blend (and I dont think of XAML as being code. Code can be executed, while XAML must be translated to code first before it can be executed. XAML is a markup language that makes it much easier to read/declare your UI then it is with code).

    In the code behind a developer only works with the objectmodel of the created XAML code.

    It all feels really natural to me, and I don’t see a problem at all.

    In fact it promotes even more the separation of design and logic, which is a good thing.

    At the same time, in your view you shouldn’t have much code to start with. If that is the case, then your UI controls are filled with logic that should not be there. A Silverlight developer is still mainly a .NET developer. Most code will/should be placed in business layers, not in your View.

  3. sburke says:

    @Jeff – working with XAML effectively involves several new concepts, and that’s hard to communicate with a "hello world" sample.  Actually, you would typically not use code behind for this sample, but rather you would databind to your Chart rather than creating the collection.  If you have a DataContext set, with a Data property that’s an array of numberic value, the above XAML collapes to:

    <charting:Chart Title="My First Chart">

     <charting:Chart.Series>

       <charting:ColumnSeries ItemsSource="{Binding Data}"/>

     </charting:Chart.Series>

    </charting:Chart>

    The only line in the code behind would be:

    this.DataContext = new MyDataSource();

    Hope that helps.

    Shawn

  4. Sam says:

    Soma, it is still very difficult to add text with hyperlinks in Silverlight. TextBlocks do not support hyperlinks (This is possible in WPF). There is no richtextbox in Silverlight except those made by individuals. Any news if SL 3.0 will provide support for these?

    Will SL 3.0 provide Authentication (Login) controls in the box, so that Silverlight is independent from ASP.NET for Authentication/Authorization, etc?

    Other than that, Silverlight and the Toolkit is execellent stuff from Microsoft and the open source community.

  5. Carlos says:

    The biggest thing I’d love to see would be a rich text editor that allows the user to add text and images and then save the results as HTML.

    With the end result being to get the entered markup and images stored in a database.

    That would be a truly awesome addition to Silverlight or ASP.NET.

  6. Mark Rideout [msft] says:

    We are working on adding support for embedding UI elements into TextBlock. With inline UI elements you can put images or even HyperlinkButton elements in there.

    I can’t guarantee yet if this will be in Silverlight 3 yet but I’m working on trying to make it happen.

    -mark

    Silverlight Program Manager

    Microsoft

    This post is provided "as-is"

  7. Sam says:

    Another suggestion: Why not release a Silverlight version of Live Hotmail? This can help both Silverlight and Live Hotmail and provide users with rich email experiences. Am more than willing to help out in this endeavor! 🙂

  8. Carlos says:

    @Mark

    That sounds promising Mark. I’m very glad it is being looked in to. I’m anxious to hear more about the Silverlight roadmap so I can better plan what tech I want to use for future projects.

  9. Mark Gordon says:

    None of the technologies are integrated well nor is there a concise development environment to handle XMAL, SILVERLIGHT, CODE BEHIND and MVC or even a technology strategy that makes sense, if you really think about it integration is a major challenge. It appears they are just throwing, whatever is in some state of being marginally completed (I use the term completed very loosely) against the wall and seeing what sticks.

    I really don’t believe anyone can get excited about an up and down numeric textbox. Moreover I hardly call this blogworthy. This was called a spinner control in late 90’s and it is just now making it’s way into the silverlight dev tools. It’s implementation is more accurately called catch-up!

    Personally I wouldn’t use any of this tech for the next several years and take a wait and see approach – I think jury is still out if any of this will make any major inroads.

  10. Sam says:

    @Mark Gordon: Who are you to decide what is blog worthy or not? Stay out of it if you don’t have anything to discuss or worthy to say. Stick with your Visual FoxPro and don’t comment on advanced technologies whose potential is beyond your comprehension.

  11. RobertWrayUK says:

    Sam – what you said, twice over.

  12. Mark Gordon says:

    Sam,

    You cheerlead products that simply create more work,  and are poorly implemented. More importantly these products utilize a paradigm geared, not in productivity, but designed to protect the window os monopoly by linking, through the .BLOAT framework, our applications directly to the OS. Furthermore VS is attempting to destroy native application development.

    If you argue with this thought process look at what has already transpired, Microsoft has bought out and killed every development kit it possibly could that competes with VS. The have written the best they could airtight EULA restricting cross platform development and definately not seriously playing in the open source arena. Don’t you get it, it is competition that fosters innovation not monopolies and in the absence of competition the only avenue left is criticism which for the most part in their arrogance they ignore. If it wasn’t for competition Microsoft would not be implementing MVC and Windows would not exist given what some may call it’s close resemblance to the mac.

    Moveover the core of the .BLOAT framework is NOT new that is the ironic part. .BLOAT is merely OS API wrappers and WPF is just a different way of getting at directx while pathetically wpf is not even tightly integrated into VS! Where is the innovation, giving something that already existed a new name or the fact Microsoft wrapped the API in classes and put a big red bow around it and forced developers to use it!

    If you really look at this, the very foundation of the OOP programmming model is based on polymorphism, encapsulation and inheritance. And while c# is being called a true oop language and .BLOAT is being called a framework by some, VS doesn’t lend itself to these principles just look at the code it generates and the class browser. Moreover LINKTOSQL from a puriest point of view doesn’t scale since it excutes commands on the sql box. So microsoft is basically redefing the OOP foundation to fit into it’s VS paradigm. This is going backward not forward. I truely believe why they are getting away with this is new VS programmers DO NOT understand what OOP programming "REALLY" is or fully comprehend the concept of reusability (true frameworks) and it’s overwhelming benefits since VB never fully implemented an OOP programming model.

    What is really great in 5-10 years when this all plays out everyone will owe me a huge apology as everything I said will be right on the Mark as usual. Programmmers will get tired of maintaining VS spaghetti code and either a new development platform will be released to compete with open source and allow native development while implementing oop correctly and/or .NET will finally refocus on reusability and return to the foundation of the oop paradigm, personally I think the later will occur. All you early adapter cheerleader types will be stuck maintaining thousands of lines of obselete code/xmal and your customers will love you for throwing them under the bus….. In the mean time I will continue fixing the messes "you technology experts" make using proven paradigms.

    "First they ignore you, then they ridicule you, then they fight you, then you win." –Mahatma Gandhi

  13. Sam says:

    @Mark Gordon: Read your post with patience and tolerance, which by the way, you do not deserve. I haven’t seen another epitome of double standards as you anywhere in the world. One of your posts on your own blog a while ago was bad mouthing developers of India. Now you use a saying of Gandhi to end off your article?! You bad mouth Microsoft and you use some of its products for a living?! Whatever you said in your previous post is your twisted opinion to vent frustration because you do not understand current technology. You don’t understand the usefulness of LINQ and can’t get to use LINQ properly! You are stuck with VB and Visual FoxPro and tend to live in that horrible world of messy scripting and un-usable code. You remain ignorant and cannot educate yourself with C#, etc. So, don’t go about ranting non-sense on a Microsoft blog and tell us what OOP really is. Write your own framework and try building a company like Microsoft or Google if you are so full of conviction with your ideas. Don’t rant crap here.

    @Soma: We can do without Gordon. Instead of having fruitful discussions and discussing technology with others that understand .NET, why are we made to read Gordon’s nonsense? It’s not that he leaves any constructive criticism. He’s out here to demonstrate to the world what an idiot he is.

    Why do you allow his posts?

  14. Mark Gordon says:

    @Sam this is a fruitful dicussion and I really don’t think you read my comments!

    I don’t complain about c# or sql server in my comments or blog. Of course there are minor issues with them but nothing worth wasting my time blogging about. You question my skills which I already went into but you not answering what type of programming you do or if you work for Microsoft?

    Perhaps if I was just an a cog programmer in an IT department paid hourly to churn code or worked for Microsoft. I wouldn’t be concerned about how much extra work a development tools costs me. But since I’m actually in the field selling solutions based on this nonsense development toolkit this is a huge concern. These tools are adversely affecting my profit margins!

    I moved in VFP and VB for select applications because those are "THE RIGHT" tools for small and medium size businesses. Using these tools you are able to quickly generate a true OOP N-TIER applications that scales very well and provide customers a solution with low a cost of ownership. This is in part due to the fact VFP has a "true" data centric language and VB/VFP has a royalty free distribution. You CAN NOT DO this with Visual Studio. If you feel the urge to dismiss this claim go ahead build a desktop VS winform/SQL application with 20 user support and I will duplicate it in VB/VFP and prove you wrong! As I know for a fact it can’t be done! VS requires more code which equates to more time besides the fact you need to add into your quote the sql server licensing and new hardware. You will lose this bet. But we all should dismiss this arugement because they are Microsoft right?

    As far as these new technologies go like WPF which you are so fond of, given it has been out for more then 2 years don’t you find it even the least bit interesting it is not highly utilized in Windows 7? Moreover while it is supposed to be used in VS 2010 Soma’s blog indicates it will not be fully implemented in the production release of VS. ‘

    There are two logical reasons for this

    1) The VS source has the tiers completely intermingled. Since this is the default behavior for most VS applications this could very well be the case.

    2) Not even Microsoft can use WPF to create a completely standalone UI layer. Given the number of programmers they can throw at this I find it very interesting. As in all the application I write the UI is completely seperate from the business rules and it can be swapped out with very little work.

    Given the fact the class browser in VS is pathetic with regards to subclassing UI controls and you have to deal with a host of bugs to even code a ui layer out most programmers don’t even bother generating a complete UI layer for their application. I’m fully aware of these issues as I use a true UI layer in all the applications I develop. Since VS is supposed to be an OOP environment and Microsoft calls every wrapper they produce a framework I find this poor implementation at the UI level mind-boggling. This terrible UI implementation even gets worse in Web-Forms and even their latest MVC "FRAMEWORK" doesn’t fully address the seperation issue completely. This is inexcusable. The funny part the legacy application VFP has this implemented correctly, UI framework layers work perfectly! I guess we just dismiss this flaw in VS as well right, as who needs a UI layer in a business framework right?

    My comments about linktosql are founded in fact as even you admited in a prior rant to me linqtosql is not a middle tier technology and since it generates SQL Server script it can not scale unless you chain sql server boxes together which is not scaling an application. Since I’m obviously completely right as usual where do you get off saying I lack experience in this technology? The fact is Microsoft’s latest greatest data access technology is a LEGACY two teir solution. How is that progress? Or should we just dismiss this too because they are Microsoft and continue to cheerlead this "advancement."

    What is wrong with wanting tools that work! It is perfectly fine that I deliver applications that meet my customers needs but how dare I point out Microsoft’s shortcomings especially given they killed an environment platform that meet my customers needs without a suitable replacement. Therefore the best you can do it flame me on a board and attempt to dismiss these bugs how is that helping the development community! It isn’t it is cheerleading!

  15. Sam says:

    @Mark Gordon: Read my direct responses to all your "opinions":

    These tools are adversely affecting your profit margins because you don’t know how to use them or perhaps you don’t believe in them and want to cry over n over instead of taking the time to learn how to use your tools before you use them to sell solutions.

    VFP and VB may be "the right" tools in your fantasy world of the past. It is mighty hard to get developers who will code in VFP. Today, small and medium sized businesses either opt for Windows Server 2003/2008, with SQL Server and VS.NET (C# or VB.NET) for development. Designers have tools like Expression Blend, Design, or products from Adobe. I know several hundreds of businesses using these tools today. Who uses VFP and VB? May be 1 or 2 companies where you provide your twisted opinions. Today small businesses have the option to go for the Bizspark program that Microsoft offers – hence giving them 3 years of free server and development software. There is virtually no cost to a small or startup business.

    Are you telling the world that you can build a more scalable, robust, fault-tolerant, SECURE and efficient application in VFP and VB vs. using .NET and SQL Server? Any beginner will beat your most sophisticated application written in VFP. Sure, someone stuck in the past can write programs in C or Pascal as well, but requirements in today’s world are more sophisticated and complex than when C, Pascal or VFP were created. Those things are not designed to solve "real world" problems of today. 20 user support applications are what you can make in VB and VFP. SQL Server is not for you Mr. Gordon. Did you know it can handle thousand to millions of users?

    Windows 7 is an operating system. Do you know what that means? Or do I have to define it for you? WPF is a front-end technology for writing applications that can run on Windows 7. As of today, VS 2010 shall contain bits written in WPF.

    About your point:

    "2) Not even Microsoft can use WPF to create a completely standalone UI layer. Given the number of programmers they can throw at this I find it very interesting. As in all the application I write the UI is completely seperate from the business rules and it can be swapped out with very little work."

    Look at it this way, every project has a requirements phase. Those who invest time to do this properly rarely ever need to change their UIs. If you can get this right, there should be almost no reason to swap out WPF UI for WinForm or vice-versa. Even if there is need to, it can be done without problems assuming the business tier/layer was written to take changes into account. Microsoft is not a company with unlimited resources. Why do you have unrealistic expectations from them? They provide us with tools – it is up to us to choose them judiciously. You do not like WPF, don’t use it. But don’t give me or others who work on it foolish assumptions coming from figments of your imagination.

    I don’t know what programmers you deal with or how those poor programmers deal with you. It is obvious that you do not understand how to write UI for applications using today’s technologies since your stuck with VFP. As for MVC, I haven’t looked into that yet – so I won’t comment on it. I’m not a big fan of MVC style as yet.

    As I re-call correctly, I showed you how to use LINQ-to-SQL correctly. However, given the little sense you can make out of today’s technologies, it isn’t a wonder that you still don’t get it. I also mentioned that for more complex scenarios you could use N-hibernate, Entity Framework (which I admit needs more work) or simply, ADO.NET. What leads you to believe that executing SQL scripts on SQL Server does not scale an application? Isn’t that the purpose of SQL Server – to execute SQL and provide you with data? If LINQ-to SQL generates SQL for SQL Server, whats wrong with that?!!! You can jolly well have a server farm for your business logic that can both scale and add efficiency for your applications. Unless you have more than a few hundred "simultaneous users", even that is NOT necessary. LINQ is a superior programming technique Mr. Gordon. There are many more uses for it. Go and learn and educate yourself before you dismiss it.

    Finally, there is nothing in wanting tools that work! That’s why millions of developers around the world are happy with VS.NET. Again, your expectations out of Microsoft are unreasonable. Your customers need to move on with times and adopt current technologies because these are made to deal with requirements of today’s world. You keep them in the dark because of your fondness with ancient technology then, you are just blinding your customers for the sake of your own profits! So, stop cheerleading the past technologies and move on!

    Don’t stand against the path of innovation and evolution just because you love ancient technology. Some of the new technologies will be here to stay and some won’t be. If we knew what the future has in store, then the present would not be interesting!

  16. Mark Gordon says:

    @Sam Lot of words in your reply not too much substance …. However you still fail to answer the simple questions or do any research before responding so I will enlighten you.

    1) Many Microsoft MVP’S who are consultants are complaining about the high cost of ownership of VS. I listed some specifically in my blog. VS applications on avg using their figures not mine, as I think their numbers are conservative, the MVPS are stating VS custom app run 75% higher then a VFP/VB custom application. Therefore I absorb much of licensing costs and reduced my hourly programming rate to stay as close as on par with a VB/VPF custom app and within the client’s budget.

    2) You still refuse to answer who you work for or your qualifications. Hmmmm. . . . .

    3) With the exception of very specific cases most applications derieve a huge benefit from a seperate UI layer. If you don’t understand that point then I question if you ever really wrote an N-TIER application. There is alot of information about this on web look it up.

    The UI level framework I use, I originally wrote in c++ and mfc then ported over to to VFP and ported again to c#/.BLOAT. Yes that is a real "framework layer" not wrappers the difference is it actually does stuff to save time, provide consitency in the ui presentation along with code and has "real" not "perceived" benefits. Any argument against a UI layer in a framework is more driven by VS’S inability to provide tools to do it easily then based on fact so many developers just dismiss a foundation of N-TIER application development as no long necessary as a way to fill a hole in VS.

    4) That for stating the obvious with regards to windows 7 again research is a wonderful thing as many programmers are asking the same question I posed why wasn’t WPF used in Windows 7. Microsoft has avoided directly answering the question. Even thou windows 7 is an operating system there are a lot of applications built into the OS such as notepad, calculator, media player etc which could have been used to showcase WPF, instead of accessing the video layer natively. You can google that one too.

    5) If I say I can recreate a winforms/wpf vs application in vb/vfp why not prove me wrong instead of just arguing. I will make this simple post your code right here on this blog using native wpf and c# for a simple N-TIER application. Form/canvas (ui layer) and a  business data layer that will pull a set of data from sql server northwinds customers table, populate a dataset then display the data in a grid formatted correctly so zip codes and phone numbers for example have the dashes. Then add a command button to the form that will bring up a dialogue so the user can select a directory from a treeview and enter a filename of where they want the data saved and display their qualified filename selection on the main canvas. Then have a second command button that actually saves the data from the dataset into excel format. Given this is a fairly standard and common ui request it shouldn’t take an expert like yourself using this great technology that long to write and be sure to post all the glue code/xaml. Then I will do the same using native VFP then at the end we will see which application has less lines of code. Given I know how many lines of code this takes in both environments there is no way you would do it. But in light of that here is your chance to show everyone thats read this blog I have no clue what I am talking about and showcase the VS/WPF RAD environment. Just to sweeten the deal since you want me off this blog so bad do it in less lines of code then I can in VFP and I wont blog again! While I’m sure you will write paragraphs of reasons why you won’t do it the bottom line is your code-silence, which is putting the money where your mouth is so to speak – will be deafening. When the truth you wont is because the shear volume of code in VS to pull off something this common is an embarassment to VS.

    6) Your linq comment is not even worthy of a response.

  17. Someone says:

    What happened to Mark Gordon’s latest post. He invited Sam to challenge writing  some code. I’m following this argue intensively. Did someone delete that post on purpose?

  18. Sam says:

    @Mark Gordon: I am not obliged to consider or participate in any of your pointless games. With regards to your post, here are my responses:

    1) If cost of ownership can be reduced – I am for it and not against it. But this is not something I control. However, there is help for startups and students in universities through various programs that Microsoft offers. You can buy lower end products and get on with your work. Heard of Express edition or open source? Search it up.

    2) My work and what I do is known to people in the field.

    3) Never said there is no benefit of having a separate UI layer. Following this approach in all of  my applications. Cannot be a developer or designer without understanding this.

    4) This is a question for Microsoft’s Windows team, not me. What I’m concerned with is building applications that run on Windows or the web. Whether I choose to use WPF or WinForms or Silverlight or ASP.NET depends on requirements of the application and what makes best sense. However, you seem to have a constant fix for everything – VFP/VB and RAD approach. Shows your maturity and dwelling on the past.

    5) Tell you what? Let’s make this sweeter. Let’s have a Mark Gordon coding event. You sponsor this and pay developers to waste their time to prove you wrong. You get the glory of starting a non-sense event and I get to complete my work in the industry on some real world applications.

    6) None of your posts are worthy – just amusing and wanting a beating.

  19. Mark Gordon says:

    Hi Sam, you tone has definately changed.

    If you could have proved me wrong I think you would have as I was really looking forward to the effort.

    But nonetheless no sense paying someone for a coding event it was worth my time to prove my point. I wrote the applications 26 lines of code and 8 minutes using the legacy FoxPro environment and using the Latest Greatest Visual Studio 2008 with the .NET framework approx 300 lines of c# code using winforms. That required about 35 minutes of work. All the details are on my blog. I guess the old saying is true actions speak louder then words.

    If all your work is known let me know who you are and show me your work, link to your website instead of remaining anonymous.

    Funny you say my posts are wanting a beating when I’m right and proved it – bit hard to aruge this one – source code doesn’t lie!

  20. Sam says:

    @Mark Gordon: When I was younger, the first day when I was provided a PC, my brother opened the calculator program and added 2 numbers and showed me the result. He then got a physical electronic calculator and did the same. My kid brother concluded: what’s the strength of a computer vs. calculator –  both do the same thing at the same speed?! It was then, I showed him a little C program that showed him sum of 20 numbers. It seemed to take the same time as calculating the sum of 2 numbers. He then realized the power of computers in some sense.

    You bring up a similar case to the world in this blog. You talk about a simple scenario that any RAD design can solve in few minutes. You don’t get the jist of .NET or C# or Silverlight or WPF or LINQ. These technologies are not here to write a toy application that you presented. Try doing any of these in Visual FoxPro Mr. Gordon:

    1. Design and develop a website or even a windows application without using .NET and WinForms (just FoxPro and VB) that does what Youtube does.

    2. Try doing a website that any banking website does for its users. (Online banking). Now do the same for smart phones.

    3. Try making a distributed n-tier application that does pricing, bonds, and other financial number crunching in Visual FoxPro.

    4. Do a graphic-intensive application that monitors a patient’s health or brain during surgery or after surgery and provides real time updates to doctors or nurses.

    5. Write a media (videos, images, rich content) intensive website that is appealing to the public in Visual FoxPro or VB.

    6. Write a mobile application in Visual FoxPro (for example: a mail application or a browser)

    7. Write a distributed multi-threaded peer-to-peer system in FoxPro using your brilliant 30 lines of code to handle complex TCP level traffic.

    Show me what you really got Mr. Gordon and if your ancient technology can bring useful and maintainable solutions for today’s users! We can count number of lines of code for the above with respect to the following:

    a. SECURITY (Authentication, Authorization, Roles, etc)

    b. ROBUSTNESS (Error handling, etc)

    c. PERFORMANCE

    d. TESTING AND DEBUGGING

    e. USABILITY

    and more…

    Don’t come here showing to the world that you know how to read alphabets A, B, C, D… and count numbers.

    My tone is consistent and yet respectful. Don’t take that as a weakness.

    BTW, during some or the other point in time, I have done most of those applications mentioned above using various programming languages and techniques. I would be willing to share some knowledge with you to "enlighten" you – but you have consistently shown detest and unwillingness to learn and be educated with real technology and science! TOO BAD!

  21. Mark Gordon says:

    Sam giving this a little bit more thought then what it really deserves I will take you up on your offer of a coding event and who better to use as a coder then you given your vast knowledge of VS.

    Since you stated numerous times I don’t know what I’m talking about and it took me 35 minutes to write this application in VS using c# (I’m really greateful for my C# for dummies book it really came in handy tonight) it should only take someone of your expertise no more then 20 minutes I assume to churn this little application out. Therefore, I’ll pay for 20 minutes of development time as long as I can post your VS N-TIER code and publicly critique it which you should be of no concern to you since heck I probably can’t make any sense out of it right?

    Besides this is fair as my VFP code is out there on the web so you can have at it – rip it apart if you want to and I will post my C# code as well after I see where this goes with you.

    Not sure why, given you waste more time responding to my posts on this blog, I should have to pay for 20 minutes of your time but whatever I’ll do it …

    Don’t worry I wont use any of your code for profit my VS framework already handles all of this already. Furthermore nothing needs to be speced out either the screen shots are also posted on the web just duplicate the form and functionality.

    Give me an estimate for this, as matter of fact quote it writing the application using WPF and also a quote it as a Winform application perhaps I will have you write both applications and then I will post the code so everyone can compare the productivity gain an expert VS coder can deliver using WPF and also Winforms coupled with all the latest and greatest Microsoft Tools and frameworks you cheerlead for compared to someone who you feel is clueless and stuck capable of only using outdated legacy technology such as VB or VFP.

    Please post your quotes, thanks for the great idea…

    .Mark

  22. Mark Gordon says:

    Sam, regarding the usefullness of Visual Studio you just proved my point for once and I agree with most of it if you can believe that.

    Unforunately I only have a couple client with requirements that require I use VS for prior to being forced to. In the past yeah with C++ I could build what was necessary to tie into a VB application to provide functionality.

    But my gripe and who I’m being an advocate for is not enterprise based clients it is Joe’s print shop in nowhere idaho with 30 employees and 500k records in their database. They need a small little application to manage their business, tie into peachtree and gen some reports or franks plumbing supply who cares less about the bells and whistles they want a crud application to track barcoded inventory and send data in batch to and from their handheld scannning devices.

    How about the VB vertical market company selling a niche market POS system that resides on a LAN where their customers are mainly mom and pop shops and have a variety of legacy hardware in the field. Worse yet they only have 2 programmers on staff both of which are trained in VB. Boy VS is a lovely solution for this guy!

    These application are not that much more difficult to write then the small sample I proposed to you. But guess what the amount of code in VS is double if not more to build them. Then add in the sql licensing and hardware upgrades the cost exceeds their budgets if I don’t eat it – More importantly WPF-WINFORMS provides ZERO benefit for these types of application over VB!

    This is the niche where I used to make my bread and butter and now lose thousands on every project with Visual Studio compared to VFP and VB. You lose that much money and see how frustrated you would be!

    These are the clients a VFP/VB application fit the niche and VS doesn’t – Therefore by your resistance to my small sample application and inability to even compete with writing it (which I was more then aware of) you proved my point – VS is NOT the right solution which I been saying all along!

    So what, we just kick mom and pop shops to the curb  or tell them to save their money until they can afford a VS solution after all Bill and Steve really need the money so Micrsooft decided to issue an end of life for their VB or VFP applications to protect their windows monopoly.

    This is all such nonsense what is occuring and all the cheerleaders blog about are the cool enterprise applications. Unforunately they are three steps removed from reality that small and medium size businesses deal with in the field.

  23. Sam says:

    @Mark Gordon: Let me start by saying that I don’t have any interest in checking out your VFP code and to write a toy application in VS.NET. Try the seven applications that I listed in my earlier post in VFP or VB if you want to or if you can! My point is that for a given scenario or requirement or situation, you have to use different tools to accomplish a task.

    In your most recent post, you tend to agree with what I just said above. I never said that full-blown Visual Studio is an ideal tool for any and all situations/applications in the world. For the small companies that you mention, you could try using Express editions that come for free. Since you are talking about 2 developers, I’m pretty sure you can use Express edition comfortably. Otherwise, you can even program in other free tools available online. Who is forcing you to pick Visual Studio?

    I need Visual Studio for applications I develop and maintain daily. For me, its one of the best things Microsoft has come up with. It is perfect tool for me. This may not be the case for your situation. This does not mean you go about cursing Microsoft or Visual Studio. Instead look for alternative solutions or ask Microsoft if they can help you. If they can’t help you – you need to help yourself first. Microsoft is not obligated to make sure each and every situation in the world is taken care of by its products – although they try to.

    Lastly, I urge you not to rant hatred or negativism on these blogs. It’s already affecting USA and the world badly. Put your points politely to Microsoft, they listen and make changes. Be patient. If they can’t make changes that you want, make your own product(s) to help those you feel need help!

    By the way, I’m no technology super geek or god gifted talent. Some of the applications I mentioned above took me months to develop and some had a good team of which I was part of. This is fairly acceptable time given the complex nature of the applications mentioned above. Rome wasn’t built in a day!

    I hope Microsoft keeps improving Visual Studio. Crashing and slow responsiveness are some of the issues that need to be ironed out immediately.

  24. Sam says:

    @Mark Gordon: I missed out on an amusing part of your rhetoric. Bill and Steve didn’t have to make the decision regarding VFP and VB. The community and the industry made the case pretty loud and clear. You need to realize that and move on or get left behind!

  25. Mark Gordon says:

    @Sam,

    Thanks for engaging in this discussion. This is very long winded reply but you brought up a lot of points that need covered.

    This toy application as you call it, contains a very real world scenario, pull data from a database in tiers, display the data and export it to a Microsoft file format. I can not think of very many data applications that don’t perform these basic tasks a multiple of times over. While it might be small it is very relevant.

    Given this applications required 8 minutes in FoxPro to write using just 26 lines of code, I’m not sure why someone would not want to show off Visual Studio and it’s capabilities. What developer doesn’t have 35 minutes to spare given VS should be at least able to do what legacy technologies can do that is called progress – If it the new technologies can’t it is called going backwards!

    Since you have no interest in doing this not even for money perhaps Microsoft or any VS cheerleader will generate this small irrelevant application for us. See if I post my C# code (which I’m going to do at some point regardless) people will accuse me of taking a long way to make VS look bad but having a third party write this application especially someone who have a vested interest in making VS "develop at light speed" as claimed by Microsoft, will eliminate this argument.

    Perhaps Soma can have a programmer with 8-35 minutes to spend do it to humor us? Since Sam doesn’t want to Soma go ahead and quote it for me and I will cut you a check! Given part of my argument is the cost to develop VS applications compared to legacy technologies it shouldn’t be that expensive. Unless my argument is correct?

    You said “In your most recent post, you tend to agree with what I just said above. I never said that full-blown Visual Studio is an ideal tool for any and all situations/applications in the world.” My question back to you given VB and VFP doesn’t exist in any real sense not playing with semantics or spin, there is not a Microsoft alternative to VS which is exactly the point I been making!.Thank you for finally supporting my argument. The VB/VFP void is alive and well and VS doesn’t fit into the black hole the end of life left!.  

    With regards to your comment about the company with 2 developers: how much time and effort will it take to migrate an VB application to Visual Studio when I can not even get someone to write a small simple “toy” program plus the retraining cost of not only of the developers but the sales staff and call center. That requires an enormous amount of capital!

    How do my rants against Visual Studio affect the world? Do you really think the 250 or so people that read my blog has any real impact? Perhaps instead of silencing criticism maybe Microsoft should solve the problem that “it created” that will work a whole lot better.

    Microsoft doesn’t listen, 100,000+ developers politely protested the decision to end of life VB and VFP with their respectful websites and petition drive which was started by MVPS I might add and nothing changed. Gu’s blog who I leaves comments on as well won’t even post them and they are much more technical criticism of EDM and MVC specific to what he does not ramblings so how is that listening? I will give Soma credit for at least allowing this discussion to occur even thou he stays out of the fray which I understand. Only one manager in a group at Microsoft and I withhold his name not to get him in trouble, engaged me and his reply to my N-TIER complaints around Feb of 2008 basically stated “Visual Studio was not N-TIER ready” I was shocked. Perhaps in your world Microsoft listens the reality is they don’t!  

    I’m not sure how willing your are to share your knowledge I asked for your website/blog link and for you to code a simple application which I will post the code and perhaps myself or others may learn from it since I requested both Windows and a WPF version. I even offered to pay you for your time! While I appreciate your offer to educate me further with all due respect I question the sincerity… The problem is if you did write this application in the end you will totally support my arguments about the amount of code required for a VS application compared to legacy technologies.

    You wrote “However, you [meaning myself] seem to have a constant fix for everything – VFP/VB and RAD approach. Shows your maturity and dwelling on the past.”. I’m not dwelling on the past, I’m merely criticizing the more expensive new technologies that increase my workload by requiring more coding and development time to produce the same LAN based database applications that I could product with older technologies which are “required” by my clients.

    To clarify the RAD part of your statement, I’m 100% against wizard based programming so don’t think that is what I meant by RAD…. I’m a strong advocate for N-TIER development almost to being a purist which is why I dislike Visual Studio for black box N-TIER development calling objects should not be required to close objects they don’t create!

    I support RAD tools such as a class browser that actually works as implemented in VFP over the flashier but completely useless class browser found in VS. The class browser should be the work horse of any N-TIER application. Fixing the broken intellisense in C++ … Lack of separation in webforms and to a lesser extent winforms. More importantly MVC still doesn’t have this correct. along with implementing a data access strategy that works and a true data centric language. It is absurd with every release of Visual Studio Microsoft has to redesign data access – etc … I could go on and on with this one but enough for now. …

    I didn’t want to go into this but I will go through your list since you brought it up a couple of times.

    1) Visual FoxPro and Visual Basic are not internet or windows mobile tools for that matter. Visual Studio  was designed for internet development so why not use it. Therefore attempting to bring VB or VFP into that arena is not a fair comparison due to the fact other tools existed designed specifically for that purpose.

    Having said that bringing VS in the desktop lan debate definitely is legit since VS is supposed to the replacement for VFP/VB and VFP/VB were given their end of life as a result.

    In light of that FoxPro toe stepped into the internet arena and for the most part Microsoft stopped enhancing that part of VFP. However there are websites which are FoxPro based and very high volume. Rick Strahl, I believe his name is has done some really cool stuff using FoxPro as a foundation for web development westwind is the name of his company check out his older blogs.

    I personally never used VFP for web applications other then in the middle tier. I always used a mix of html, ajax. java and asp.

    2) I have written very graphic intensive UI’S using the directx SDK / C++ for real time scenarios long before WPF that is why I’m not impressed with WPF as you are. This is not a new concept. VFP also got into GDI+ which could produce very impressive UI natively this is very similar to the system.drawing namespace in .NET

    Side tracking here a bit there is a phd professor and on his blog he wrote an interesting piece and I’m paraphrasing here, he was making the argument that WPF broke from all of Microsoft’s UI paradigms and creates a significant learning curve with XMAL which will be it’s demise as he predicted. This was done by Microsoft not to provide developer benefit or for technical reasons but to exploit a loophole in the EU anti-trust case. If I find the link I will post it and it was a very interesting read.

    3) Multi-Threading is capable in VFP and works well. Calvin Hsia from Microsoft on his blog goes into this in depth.

    4) In VB or VFP in a lan situation accesses SQL Server how is that less secure then using VS, especially if you use an encrpytion API when sending and receiving data back and forth.

    5) Error handling in VB and VFP equals Visual Studio there is no benefit one way or another.

    6) Performance: VFP can actually out perform a SQL Server/VS application up to certain data thresholds and is capable on running on older hardware. There are numerous blogs about this also that covers it in depth with performance metrics. Les Pinter I think covered it.

    7) Developer Usability VFP and VB wins just looks at this small application I asked you to write.

    8) Testing this is an interesting debate, you can build com objects and write scripts for these legacy technologies as we did this a long time ago. However I’m not a big fan of automated testing it only is as good as the scripts and doesn’t address end user experience and other implementation issues. .

    Given I gave numerous web locations where to find code that address most of what you stated above I think I full filled your request…

  26. Wibble says:

    I’m following the Sam vs Mark drama does anyone know if Mark Gordon’s code is correct on his website? It’s impressive what he did. If valid code Soma please explain why something that clean doesn’t exist in Visual Studio to make our jobs easier.

  27. Sam says:

    @Mark Gordon: VFP and VB cannot be used to develop applications that I pointed out in my previous postings. Those are the real world applications of today (and the list is longer). We were not debating about C++. So leave that out.

    XAML is based on ideas of XML and HTML. XAML is a very simplistic way of representing powerful commands/syntax. Can be understood by most beginngers as well. Wonder why comprehending XAML so hard for you?! Perhaps the scripting of VB is creating a high resistance barrier for you? Anything represented using an XML approach is going to be lengthy. The point is: do the positives out-weigh the negatives? In my opinion they do. Remember, Silverlight and WPF are techniques used by both designers and developers. Designers can do everything visually using Blend – they do not need to worry about XAML.

    For any new technology, there are early adopters, the skeptics and the ignorant dooms-day predictors. You searched online for people that fall in either the skeptics or the third category. Why don’t you read what the evangelists and the early adopters are saying as well? Get a proper prespective.

    Security is not merely encryption. Are your applications secure by design? Do they support proper authentication, authorization, roles? Does VB/VFP provide support for security for wireless devices, hell you can’t even develop mobile applications using those. Visual Studio and .NET gives you that capability.

    What sort of Caching mechanisms does VFP support? Can they serve the purpose of today’s requirements? Searching on the web about 3rd party products providing caching support is not the answer. Every 3rd party product comes with its own risks.

    HERE IS CLASSICAL MARK GORDON:

    "5) Error handling in VB and VFP equals Visual Studio there is no benefit one way or another"

    Take lessons 101 on this from various architecture books on .NET available online.

    "6) Performance: VFP can actually out perform a SQL Server/VS application up to certain data thresholds and is capable on running on older hardware."

    Not only do you write code in ancient technology, you also use ancient hardware. You can’t blame others for your troubles. And what thresholds might that be? Please tell me any high volume/traffic websites employing FoxPro instead of using SQL Server?

    "7) Developer Usability VFP and VB wins just looks at this small application I asked you to write"

    Looks like you cannot understand a simple concept. Why use a computer when all you want to do is something that can be done with a calculator? Anyways, I was talking about Usability with regards to UI. When you get out of your toy application addiction, and start developing real applications, then you will see "developer usability" in Visual Studio. Write 30-300 line applications in either VB or C++ or C# does not show benefit of one over the other.

    8) IT IS NOT DEBATABLE. IT IS A PAIN IN THE BACK testinf and debugging VB. Period. No sane person can agree with you on this.

  28. Sam says:

    Mark, here is an example of what Silverlight/XAML can do. This is also a toy application. Hopefully will be easy enough for you to comprehend!

    1. Start visual studio and create a new silverlight project.

    2. Add a sample video file called Test.wmv into your project. Set it as a Resource.

    3. In page.xaml, add this 1 tag/line OF XAML CODE:

    <MediaElement x:Name="mediaPlayer" Source="Test.wmv" AutoPlay="true" Height="360" Width="480" Stretch="Fill" />

    4. Run the application

    We have a media player that plays a video file in any of the top browsers – IE, Firefox, etc. How long did it take me to code this application? Probably a minute. Please try to replicate this with C++. No Visual Studio (since you detest it). Assume that you don’t need to show any play, pause, stop controls. Also assume you only need to support 1 video format: .wmv or .mpg – whatever you want to choose.

    Let me add that, after your done with the above, lets try adding some controls like play button, etc. using some sophisticated filling/shading (linear or radial gradients) and adding functionality to start and stop the video. It will take me another 2 minutes to do this. How are you doing?

    Btw, using Live Mesh, changes to this toy application cane be made available instantly on my mobile phone, other PCs, and may be on the cloud. All possible using just 1 tool – VS.NET (and 1 service – Mesh).

    Having coded applications using C#, C++, VB, Flash, and even to some extent in FoxPro, I’m sure you’ll find this experience very amusing.

    Want to try something more involved than this? How about building a calculator that does add, subtract, multiple and divide. You can choose any platform and programming language of your liking except Visual Studio and .NET. It should have a UI – at least 3 textboxes and buttons to perform operations. My estimate is roughly 10-12 mins using Silverlight/WPF and C#.

    Oh, not good enough huh? How about providing a Excel form that takes input from users within Excel, does validation and displays output in the form cells, charts and provides export facility from Excel to PDF? How fast can you build this interactive application using VFP (no VS.NET or third party components)?

    Certainly, the world is not what you have in mind!

  29. Mark Gordon says:

    @Sam, Not in a very good mood tonight.

    Interesting I have to leave c++ out of my arguments even though that is a great way to extend legacy technology but you keep deflecting away from line of business desktop business applications and only bring up web and mobile devices.

    But nonetheless here we go again!

    Performance and High Volume Website:

    Most would consider a website with the following traffic real world high volume. 250,000 Server hits/100,000 Visits – 3 Million total pages served a day with 3 dedicated T1 lines…Was this site written using VS 2008 and Sql Server sure sounds like it would be guess again FoxPro 6.0 handled this workload even using native Foxpro DBF files yes it did handle secure credit card transactions and authentication.  The case study is on west-wind.

    WPF:

    You Stated in part: “XAML is based on ideas of XML and HTML. XAML is a very simplistic way of representing powerful commands/syntax. Can be understood by most beginngers as well….Wonder why comprehending XAML so hard for you”

    Now did I ever say WPF was hard for me? No – did I berate the technology since it was based on largely on directx which I have used – Yes. I also question the need for it in LOB applications amongst other things …( Which I don really get how you can be  pro-n-tier seperate ui layers and wpf at the same time this is interesting since wpf controls are recommended not to be subclassed). Furthermore I paraphrased the steep learning curve in a much greater context. However since you mentioned learning curve and seem to apply it doesn’t exist in any significant fashion unless I misunderstood then you told me to read with the chearleaders had to say.

    So let’s do that.

    By the way, if you haven’t guessed by now I’m not a big fan of the cheerleading squad (or as you call them evangelist) most of which are in bed with Microsoft and financially tied to them one way or another – so they tend to have a bias but nonetheless.

    Did you ever hear of someone named Bill Hollis WPF programmer that actually know what he is talking about? He tend to disagree with you regarding the WPF learning curve just watch one of his interviews I would recommend the one on DNRTV. It is a great introduction to this technology.

    Furthermore I went to my bookshelf and in between my programming for dummies and teach yourself C# in 24 hours. I have a copy of WPF recipes in C # 2008 By Allen Jones and to quote:

    “WPF offers amazing new opportunities to .NET programmers in terms of the user interfaces they can deliver to their customers. But this significant technological advance comes with a steep learning curve, requiring the programmer to learn new classes, new syntax, and an entirely new approach to UI development”

    In case you missed it the key word is “STEEP”. While I don’t advocate for new technologies do you really think I would enter into a debate without having my facts straight?

    Error Handling:

    Trust me on this one you really did not want to go there. Given the WPF error handler capabilities are bad at best some may even consider then worse then DOS development tools! Do you really want me to post code and embarrass you again! Perhaps I will start with threading.DispatchUnhandledExceptionEventHandler one my fav Microsoft creations.

    What are you thinking try catch and global error handling doesn’t exist in legacy applications wait it really doesn’t in WPF does it?

    Sample Application:

    Simple concept are great especially when they are relevant, if this is so simple why not code it out should be easy for you and a great way to show off  Visual Studio, Development at light speed. Then after doing so we can move on to more advanced applications. I offered to pay you even, what more do you want. It is real easy to mock an application on a blog isn’t it with shallow promises of gradeur but it a bit more difficult to prove it! Especially when I’m still trying to figure how what type of work you even do or where your website/blog is. I only been given verbiage and cheerleading from you to date…

    Debugging:

    This is another area I can not believe your pressed me on. Perhaps you can educate us on using snoop to debug WPF or better yet how about data binding errors in XAML. Debugging VB is a dream compared to XAML.

  30. Sam says:

    @Mark Gordon: Too much rhetoric and no substance and time and again you go to the 1 odd example of skeptics and dooms-day predictors. My debugging and testing was in reference to .NET vs. VB and VFP. Not WPF.

    XAML is breeze to write and understand. There is NO STEEP LEARNING CURVE with Silverlight or WPF if you have been a .NET developer. Figures why you think it has steep learning curve. You have to be dedicated and enthusiastic about anything you do. Then you will be successful. I guess I just get it better than you. You just research what bad others have to say about XAML instead of trying it yourself.

    Microsoft errors/messages are something I agree with you without a doubt. However, error messages in C/C++ were no better. VB is no good either.

    A decent start for doing LOB applications with Silverlight can be found here:

    http://www.silverlightshow.net/items/Building-a-Framework-for-Silverlight-Line-Of-Business-Applications.aspx

    One FoxPro example – that too dubious. Now look up SQL Server 2008.

    Can understand why you are in that mood… Over-dose of VB or VFP is not good for anyone… 🙂

    Since you are so eager to find out – Read the 7-8 applications I listed out in an earlier reply, it will give you a sense of what I do.

  31. Sam says:

    @Mark Gordon: ANOTHER GORDON CLASSIC:

    "What are you thinking try catch and global error handling doesn’t exist in legacy applications wait it really doesn’t in WPF does it?"

    WPF is technology or way of programming applications using XAML. WPF is not a programming language. Concept of Try-Catch/exception handling very well exists in C# or VB.NET that can be used to write WPF applications in combination with XAML.

    You don’t even know what WPF is, stop commenting on things you don’t understand.

  32. Mark Gordon says:

    Sam,

    Please read what I write ok!

    When talking about web development I specifically said I use Visual Studio there is no argument there! I’m not debating that point. I been using it since 6.0 … I use AJAX, ASP, JAVA, HTML. Yes even JQUERY, MVC and EDM to some extent. I have not used silver light nor have I ever mentioned anything bad about the product, I use other development tools for media web development since I have no reason to change they do the job and I know how to use them. Can silver light do things better who knows… It is worth my time to learn silver light. No as the need for me to change platforms is not there, more importantly Microsoft can not just pull the plug and force me to use silver light!  

    So here are my complaints once again!

    1) There is a huge void for small and medium size businesses where VS is the WRONG solution and a higher cost of ownership exists for these simpler non-enterprise based applications. I even thought you agreed with me on this? This need has been opened up by discontining VB and VFP. This is in the small and mid size LAN-BASED DATABASE LOB APPLICATION ARENA! VB/VFP filled this void VS does not! VS and .NET requires a lot more work to provide the "same" benefit these legacy technologies where able to provide.

    I’m not even all that interested in WPF perhaps if I was producing commercial applications I maybe but for internal applications I don’t find the need for a flashy ui is there nor are customer willing to pay for it. The DIRECTX SDK fills the need when I need some unique form with vectoring for example.

    2) VFP did a real nice job as a middle tier data access technology due in large part to it’s data centric language for VS applications. That option is no longer available. Moreover the data access technologies we are given today by Microsoft are not as good overall especially for N-TIER development and require in most case a much greater amount of code.

    3) I dislike the lack of attention C++ is getting from microsoft as a development platform.

    Losing a significant protion of my profit due to Microsoft discontinuing VFP and VB and creating this one size fits all world of VS directly impacts my business. So that is it in a nutshell! It is really simple why we are getting side tracked on all this other stuff and you are posting internet code is beyond me that is not where my frustration is at!

  33. Mark Gordon says:

    @Sam

    You said "XAML is breeze to write and understand. There is NO STEEP LEARNING CURVE"

    Look Sam, I quoted experts in the field, Microsoft Evanglists, how can you disagree with them regarding the WPF learning curve?

    Dont you get it that is not my point of view.

    When you start arguing against comments made by the individuals I referenced and disagree with them continuing to debate anything further with you is a loss cause!

    Soma – Thanks for posting these comments.

    Mark

  34. Sam says:

    @Mark Gordon: I am an expert in WPF. So, its just his word against mine. Why don’t you try things out before jumping to conclusions based on what others say?

    No one is forcing you to use anything. You are free to choose whatever you want to. If Foxpro is gone, learn to adapt with .NET or find other open source equivalents or build your own. If your toy application is 15 mins more work for you in .NET, its NO BIG DEAL. Just wondering why you had to read the dummies book though?! You don’t know how to write code in C# or in OOP paradigm?

    And FYI, read the title of this blog post. You are the one who side-tracked by talking about VFP and VB in a Silverlight posting.

    Once again regarding your complaints:

    1) Get/use Express edition or else go open source. There are plenty of mid-sized businesses using VS.NET happily. The cost benefits come with easily available .NET developers, better OOP programming, security and maintainability.

    2) Your N-TIER concern should not bother you – since you are talking about really small businesses, not enterprize class applications. Nevertheless, even if you want to do it, it is possible to do so using data access methodologies we have today.

    3) C++ is slowly getting limited to just systems and low-level programming. Languages like C#, Java, PHP, etc. have taken over. Get over with it. Besides, using C++ in your smallish business settings provides you with what benefits?

  35. Mark Gordon says:

    Sam I really want to end this this debate but your statements are begging for a response.

    The comment with regards to the dummies book and teach yourself c# in 24 hours was SARCASM!

    Let me get this straight, you advocate Microsoft Evanglist when/if they agree with you, is that what you are saying – Therefore billy hollis doesn’t know what he is talking about on this topic ? So everyone reading this blog should take your opinion over his? I don’t want to beat you up on this anymore but look you won’t even write a small application in Winforms or WPF and with all due respect I don’t buy any of your arguments for not doing so !

    1) Sam please talk specifics with respect cost benefits. I’m a bit confused.. Are you suggesting as the size of a CRUD application goes up, so does the cost when using legacy technologies and drops in VS apps somehow? Please don’t list subsystems or internet techologies we been over that talk in specifics.

    Given VFP and C++ has complete oop models. Please name a few OOP benefits in VS over legacy technologies if you don’t mind for desktop development?

    2) My n-tier concern are valid, do you think frameworks are just used for enterprise based applications? Moreover do you really think an application should be started from scratch everytime? My framework is completely generic and is a foundation for each application I write. It handles all the plumbing and implements all the basic features .NET lacks then implements a business layer for data validation (i.e. unique data checks, mandatory checks etc), error handling, subclass shells for business rules, security, data access, form management etc…That is a huge time saver plus the code has already been used and tested.

    3) Do I really need to spell out why C++ is being phased out?

    I will get on my soapbox for a minute.. . . You know when Microsoft went from DOS to Windows 3.11 then Windows 95. There was a huge interest everyone wanted a Windows app coupled with huge timesaving OOP development provided despite the initial learning curve we all jumped on the 6.0 bandwagon! That is what made the 6.0 era tools so great Microsoft established a demand first and the tools followed. More over a true time savings existed with those tools, technology made programmer more productive.

    This time around Microsoft wants a paradigm shift but they are starting with no real excitement at the OS level and their emphasis for dev tools is on flashy UI not developer productivity. Tools like office and the windows drive what customers want their applications to look and feel like. I’m yet to hear from a client make my business app look like vista. That is what is backwards about what is transpiring today compared to the 6.0 era.

    The web is a different model all together please don’t confuse the two!

  36. Giops says:

    Mark Gordon, nicely stated. In addition technology overload makes deciding on a pattern or technology difficult. There isn’t developer consensus.

  37. Sam says:

    @Mark Gordon: I don’t need to write any app for you to prove anything. Neither do I need money from you. It’s still my word against his regarding WPF. At least he and I have opinions based on personal experiences, you on the other hand are one of those who will jump into a well just because others say so. As I remember, last time you needed someone to bail you out during discussions with me.

    About Vista, all I can say is, Windows 7 is Vista improved. And look at all the good reviews around it already. You are dwelling in the past and always talking about Foxpro or VB and recently about Windows 95 and DOS. Who is looking backward now and who are you kidding? Foxpro is dead. You keep exhuming it. Sands of time are running out for you.

    WPF/Silverlight/WCF/.NET is the path ahead.

    And this is a Silverlight blog post, kindly respect the topic before you post.

  38. Sam says:

    @Mark Gordon: Here are some of Billy Hollis’s links that you need to see too:

    http://www.dotnetmasters.com/

    http://www.dnrtv.com/default.aspx?showNum=115

    Funny how you didn’t come across these!

    It’s all in what path you choose in life, you choose the old, legacy technologies, I am happy with the latest and greatest! Looking forward to more new exciting technologies from Microsoft and others!

  39. Mark Gordon says:

    Sam, This debate can go on forever. I will close on this note I wrote the application and it’s available so people can draw their own conclusions like you suggested. Furthermore I may post the WPF version as well based on your comments so they can experience that also, surprisingly a lot of people seem to be interested.

    The technology path I select is determined on what techology works for my clients. It must fit their needs and budget. The reality is more code equals a higher price tag plain and simple,

  40. Sam says:

    @Mark Gordon: The notion of more code equals higher price tag is not true. XML and XML-based technology is certainly more lines of code to represent data and syntax, however it is easier to read and understand. Communication between different systems and platforms are supported using XML-based techniques. Why is the industry pushing towards this technique – when we clearly know its lengthy and slower? Standardization and easy representation? Easily understood by machines (by code written to parse and read and write these)?

    Similarly, XAML is mostly generated by tools that are used by designers. Developers don’t need to hand-code it, but they certainly can if they want to. It’s used to bridge the gap between developers and designers. If you just examine this from "more code" perspective, you are not understanding the real benefits of this technology.

    Every technology has its positives and drawbacks. So, while: "The technology path I select is determined on what techology works for my clients. It must fit their needs and budget." is good, this part: "The reality is more code equals a higher price tag plain and simple" is a wrong assumption.

  41. Sam says:

    @Mark Gordon: I missed to point out 1 more highlight regarding your concern on lines of code. Did you read an earlier post by me on creating a video player with just 1 line of code in XAML? Can you do that using VFP or C++?

    To close, I would like to add that when I decide to come out and start my own blog, I will post goodies for Silverlight, WPF, C#, .NET, etc. Until then, goodbye.

    @Soma: Thanks for allowing the discussion. Keep improving VS.NET!