Why C/Side will last another decade… at least…

The move by Microsoft from C/Side to Visual Studio Code is a bit like Brexit. At first everybody thinks it is a great idea, until they realise the consequences. And then there is no way back.

Why? Please let me explain…

With C/Side we have issues, everybody knows that and these issues have to be solved. Issues like integration with source code management and other issues like… well… hmmmm.

Visual Studio Code is the new kid on the block and it’s cool, it’s the most popular source code editor of this moment. However when you combine it with AL code it’s not always an improvement.

Microsoft claims partners have been demanding a more modern coding experience but let’s compare it to PowerBI. Does PowerBI have source code management? PowerBI has a native designer just like C/Side and PowerBI is very popular.

The reason C/Side is going away has nothing to do with partners demanding anything. It has become very hard to maintain C/Side and it’s preventing Microsoft from moving to the cloud.

It’s impossible to compete with the Microsoft Marketing machine. No matter how much feedback the product team is getting they make their own decisions.

I spend my time 50% in C/Side and 50% in Visual Studio Code. I know all the VSCode shortcuts, snippets etc. but going back to C/Side just makes me happy every time I switch.

Programming anything in Business Central involves mostly defining Meta Data. As programmers we write surprisingly little code. Visual Studio Code is horrible at defining Meta Data. Most other programming languages use templates for this.

Have you actually tried to create a report in Visual Studio Code? OMG… please don’t.

It seems like the Business Central teams are not yet at a point where we can easily juggle with Meta Data. We cannot yet create a listpage & cardpage for a table which would be an easy example of this.

Extensions

In our community Visual Studio Code is synonym for Extensions. This is just wrong.

With relatively little effort Microsoft could have made Extensions work in C/Side. It would have meant adding Table Extensions and Page Extensions as object type. Not much more than that.

Many partners, actually the vast majority, have issues moving to Extensions. Not because the concept is wrong, but because the base code is not designed to be extended. The Business Central code base is from the late 1980’s and is not object oriented in any way. Not even close.

The solution that Microsoft is now proposing is that we can make raw source code modifications in Visual Studio Code.

This is horrible!

Visual Studio Code is not optimised for this. Not even closely. C/Side is.

It looks like we are getting into a worst of all options kind of scenario where nobody wins.

At NAVTechDays Microsoft announced that they would rewrite the Business Central code and break it up into extensions. I have not seen any progress on this, not any session at Directions ASIA, no blogs, nothing. Complete silence.

Get comfortable on the Spring release

It looks like the Spring release of Business Central will be the golden release to get comfortable on. Just like NAV 2009R2 was.

We can use the best of both worlds. C/Side for the majority of the work and Visual Studio Code where possible and where it adds value like using JavaScript Add-In’s or making UI changes to the core UI.

As a community we need to make Microsoft understand that this release must be maintained for at least five years, or possibly ten until Business Central is completely rewritten and object oriented.

Until then, for most partners it’s simply not worth the effort. They will burn money and resources getting only disappointing results.

7 Comments

  1. Frédéric Vercaemst says:

    As a community we need to make Microsoft understand that this release must be maintained for at least five years … > If you’re willing to post an ‘Experience Idea’ you’ll get my vote 😉

    Like

  2. davmac1 says:

    I just installed the spring release – still need to look at it. Also going to Directions NA next month. It will be interesting to hear the comments.
    Since Microsoft has to maintain their own code in AL in VS Code, I am hoping they will blow us away with a great solution for managing and maintaining it.
    One posted slide from EMEA about being a good citizen in the cloud was very striking. A customer has the equivalent of an apartment in a complex of 100,000 apartments. How do they handle the bad citizens that kill performance?
    How do other cloud solutions handle this?

    Like

    1. Slawek Guzek says:

      Not everyone wants to live in apartments. Quite a few people prefer homes… And they are prepare to pay more for the privilege. MS apparently does not want this business.

      Also – being a ‘good citizenship’ in a complex of 100,000 apartments of 100.000 apartments is one thing, but another is to make sure that the sewer pipe NEVER breaks or get clogged, as the consequences, especially for those living at the ground level, would be dire…

      Liked by 1 person

  3. Jens Glathe says:

    Who has the money to wait out until Microsoft gets it right? And does Microsoft itself have the patience to see numbers not growing fast enough until they get it right?

    Like

  4. jlong2016 says:

    People once said the same thing about the horse and buggy.

    Like

  5. ajkauffmann says:

    Please allow me to add some information you may have missed in the big pile of social media messages over the last couple of days: there was a session at Directions ASIA around breaking up the base code into extensions. Here are two messages with pictures about this topic. Not very readable, and I couldn’t get my hands on the slides right now. Anyway, it’s not true they are not working on it, actually they are really planning and executing on it:

    Personally, I spend 99% of my time in VS Code and AL and have problems going back to C/SIDE in the rare case it is needed. Funny to see others have different experiences, or quite the opposite.

    By the way, did you see the information about RAD? It allows to partially compile objects in VS Code, instead of doing a full compile. Just like C/SIDE, only compile the changed objects. What about that? With that in mind, there may still be features in C/SIDE that are not available in VS Code. However, there are so many features in VS Code that are not available in C/SIDE, I can live with the few that I don’t have (yet).

    Like

  6. Daniel Göhler says:

    Hi Kamil, maybe you are right, but I’m not sure if that is the case, that we don’t receive any cumulative updates for the Spring ’19 Update after Fall ’19 Update released. Currently Mainstream Support for “Dynamics 365 Business Central on-premises Spring 2019 Update” ends on 2023-10-10. So, in the Dynamics NAV days this means cumulative updates will be released until this date. Dynamics NAV 2015 ends next on 2020-01-14.

    If you are right, I suggest to everyone to test as much as you can and to create a Microsoft Support Case on Bugs, so they get fixed until October 2019. And raise you voice about issue and problems with new development process.

    Like

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.