back to article Microsoft's .NET Core 3 is almost here, which means time to move on from .NET Framework

With weeks to spare, Microsoft has emitted preview versions of Visual Studio 2019 for Mac and PC as well as its open-sourced .NET Core 3.0. Visual Studio 2019 Preview for PC and Mac It's all about collaboration and getting things done faster in the latest PC incarnation of Visual Studio, which was unleashed in preview form at …

  1. bombastic bob Silver badge
    Facepalm

    "it is .NET Core 3.0 which will get devs excited." really?

    you sure about that?

    I strongly suspect it is all more lipstick on the boar, and on the non-oinky end. again. wheeeeee.

    when ".Net" was first conceived, back in the early noughties, it was for an IIS web back end. Its overall design looks more like what "they" (the object-oriented evangelists) want EVERYTHING to look like. At least, that's my perception of it.

    Then MS tried to shove this down the throat of EVERY developer, in EVERY version of DevStudio, by requiring you to JUMP THROUGH HOOPS to EXCLUDE it from your C/C++ build. I mean, WHO wants that monolithic do-nothing "you must have the latest" '.Net runtime' thing installed along with your application?

    Granted, the DevStudio hoops aren't THAT difficult, but it requires some specific targeted "un-tick the box" settings changes in the project, and a careful test at the end to see if it's STILL hauling in ".Not" as a dependency. It's the fact that you HAVE to do them in the FIRST place that bugs me.

    To think that non-windows developers might actually USE this is laughable. Ok maybe one or two. But still...

    Remember how much *hate* there was when Gnome added 'tomboy' as a dependency, which THEN caused all of the mono stuff to install along with Gnome? I do. In particular, one of the Debian packages did this. I'm not 100% sure it was all gnome desktops, in case it wasn't. But that was enough for me. I went out of my way to make sure tomboy and all of that ".Not"/mono garbage was OFF of the system!

    Well maybe devs WILL get 'excited'. But perhaps that word does not mean what you THINK it means...

    icon because 'facepalm'

    The news I'd lke to see: a C language toolkit that wraps Win32 API calls and runs on X11-based systems with unmodified Win32 API code. You know, like 'Wine' except sanctioned by MS.

    1. spunkypete

      Re: "it is .NET Core 3.0 which will get devs excited." really?

      Why do non-developers seem to be the most vociferous ignoramuses out there?

  2. Anonymous Coward
    Anonymous Coward

    .Net core - sounds cool..it's supported for how long?

    I suspect the framework will be here for many moons to come. With a support lifecycle the same as the OS (as opposed to cores 2 or maybe 3 years) people won't jump ship - because they can't. With many applications\services in enterprise supported by leveraged teams (Pizza sized teams - we can only dream. Pizza slice if you are lucky) an enforced recompile,test, deploy for apps (that often don't need any change after 5+ years) isn't going to fly. It feels that for a long time Microsoft has forgotten that a large chunk of its market doesn't want constant new - it wants stable and supported. If it could do .core and provide the same lifecycle as framework that I could make the argument to move towards core but until then I can't.

  3. Someone Else Silver badge

    It's time...

    Microsoft's .NET Core 3 is almost here, which means time to move on from .NET Framework

    And on to Qt!

    /me ducks and runs for cover....

    1. bazza Silver badge

      Re: It's time...

      I don't see any particular need to duck and cover...

      I've occasionally had to worry about cross-platform desktop apps and Qt is a good choice. It even works on BB10... However I actually quite like WPF, simply because of the data binding you can do in xaml. Get that right and it's a highly satisfactory way of doing things. The fact that .Net core 3 has got this is fantastic news IMHO.

      It'll be interesting to see just how much of MS's software uses .Net and could now become cross platform, just like that. MS might have succeeded where Java failed so spectacularly for desktop software.

      1. Anonymous Coward
        Anonymous Coward

        Re: It's time...

        "It'll be interesting to see just how much of MS's software uses .Net and could now become cross platform, just like that."

        IIRC, a lot of MS's stuff has used .NET Framework for years. I know SQL Server has for a while ...

        I don't think that the WPF component works outside of Windows, though - I seem to remember reading on a MS blog post that that was the case, due to dependencies on DirectX.

        1. bazza Silver badge

          Re: It's time...

          @AC,

          I don't think that the WPF component works outside of Windows, though - I seem to remember reading on a MS blog post that that was the case, due to dependencies on DirectX.

          You're quite right :( I did a bit more digging, seems that those components haven't made it across. It is DirectX calls that are indeed the problem.

          I wish that they would do a WPF implementation on another platform. It doesn't have to recreate all the fancy shadow / transparency effects, etc, it just needs to function.

  4. AndrueC Silver badge
    Flame

    To be honest all I want from the next version of VS is a stable and reliable IDE. The current version even has problems tracking open files. The same thing happened this time last year and they've tried twice to fix it so far this year. And Gawd help anyone playing around in the mobile arena. You never know if a debug session is going to start when you want, crash the IDE or just do nothing at all.

    Ffs, stop extending VS. Fix the damn bugs first :(

    1. DropBear

      I'm not particularly familiar with VS specifically but we live in a post-fixing-bugs world, don't you know. The current MO is to just move fast and when (not if) you break things just keep adding enough new bugs until the old one gets superseded naturally all on it own. And if in spite of your best efforts the code ever shows signs of stabilizing just declare it obsolete, abandon it, and rewrite everything using the latest even more bug-ridden tech, from scratch. Repeat as many times as needed, but long before you reach anywhere near feature parity with the old version. We live in a world of continuously improving software, where "better" is defined as "never mind the loss of features and stability, feel that Nightly goodness!".

    2. Michael Wojcik Silver badge

      I have always disliked Venomous Studio, since I started using it (occasionally) for developing one product that requires it1 a decade ago. I've never much liked IDEs anyway - they're never as capable as a good shell (on Windows I use Cygwin bash) plus a wide range of the tools I prefer.

      But VS2017 is particularly execrable. Crashes all the time. Microsoft keeps publishing huge updates for it (which of course mostly end up requiring a reboot - why? it's a fucking IDE) which fix some things and break others. Debugging is woeful, with all sorts of random failures.

      And why, why, why can I not tell VS to start a process and attach the debugger without trying to rebuild every goddamned thing? Usually I launch the appropriate process(es) manually and then attach the VS debugger, to save time and aggravation, but sometimes you have to debug startup. A million options and they miss out on the useful ones - that is, the "stop doing things automatically, you stupid piece of shit" ones.

      1Because there aren't any other decent debuggers for CLR code, as far as I know. That, and adding projects to solution files, is essentially all I use VS for.

    3. TopCat62

      OMG This ^^. So much this.

  5. This post has been deleted by its author

    1. bazza Silver badge

      They're referring to applications developed in Visual Studio against frameworks like Winforms and WPF. Probably just like the ones you're writing right now, assuming you're using C#.

      WPF on platforms other than Windows would be good news, which is presumably what we're getting with .NET core 3. WPF is actually pretty slick. Given the choice of that and bolting something together using GTK, I know which one I'd choose.

      1. AndrueC Silver badge
        Meh

        WPF on platforms other than Windows would be good news

        Well there's already Xamarin.Forms. Sorta. If you're a masochist :-/

        Although Xamarin.Forms+Syncfusion is looking like a reasonable solution for us.

      2. Anonymous Coward
        Anonymous Coward

        WPF on platforms other than Windows would be good news

        Why? Some of us have never seen any real benefit to using WTF over WInforms.

        1. AndrueC Silver badge
          Meh

          WPF is much better if you're targeting screens with high or variable DPI. It's also (when you've built up the experience) a better way of implementing complex forms. WPF stylability it also very nice making it easier to customise controls if your bosses give the marketing department too much creative flexibility. However WPF is not a panacea and comes with a steep learning curve. As the saying goes 'WPF makes easy things hard and hard things easy'.

          If you're just knocking out simple forms for simple applications the overhead of WPF is a disadvantage and will slow development. However for larger projects with complex forms the power of WPF will probably allow an experienced WPF developer to complete the project faster.

          Some more thoughts here.

          NB: I'm not an advocate of either particularly. I've used both and will continue using Winforms for our legacy projects. But as/when new projects are started we go with WPF now. We have the experience and toolbox of useful classes and WPF seems to offer a more powerful experience. We supplement both with DevExpress controls.

          1. bazza Silver badge

            BTW, I was mistaken about WPF being available on platforms other than Windows. It isn't (at least, not yet, not in .NET Core 3). Pity, that.

  6. HmmmYes

    See, the thing is, I *like* ANSI C/C99.

    Specced in 1988. Minor update in 2000 - ooh 64bit!

    30 years ago.

    30 years of being able to assume what available on a C platform. OK, its limited but thets not a problem.

    I do the value add, he bells whistlses, and Ive got a reliable , proven, as a good as bug free SDK youll ever find in software.

    Yes, its not perfect but it works.

    WHat the fuck do I get with .net?

    Well, for one, we are at major version3, after just 10 years of exitense.

    Is the new stuff usefull, add vlaue, something Ill ever use? Probably not.

    Is it bug free. No.

    Can I rely on it to be around in 30 years time. Can I fuck.

    Does the new stuff break the old stuff? Probably.

    1. Michael Wojcik Silver badge

      See, the thing is, I *like* ANSI C/C99.

      Specced in 1988. Minor update in 2000 - ooh 64bit!

      After C90, C is really ANSI + ISO C, with the specification initially published by ISO, as ISO 9899. At least for C94 and C99, there were both ANSI and ISO working groups (I don't offhand remember if this was still true for C11) - INCITS J11 and SC22 WG14, respectively - so calling it "ANSI C" is inaccurate.

      It was updated in 1994,1 1999, and 2011. The '94 update was minor; I wouldn't call C99 a minor update, though it went to considerable length to avoid breaking backward compatibility, so many people didn't notice. But if you read through, say, the C99 Rationale, you'll see that the changes are substantial and the deliberations behind them even more so. Many new types. The restrict type-qualifier. Unicode character escapes. Declarations can appear anywhere in a block. The __func__ predefined identifier. Compound literals and designated initializers. Tighter rules for declarations. Variadic macros. A bunch of subtle changes regarding blocks and scopes. And so on.

      WHat the fuck do I get with .net?Well, for one, we are at major version3, after just 10 years of exitense.

      Major version 3 of .NET Core. The .NET Framework is at 4.7. CLR is at version 4. Your argument might be a bit more persuasive had you taken a minute to learn something about your subject.

      Someone else might point out that different problem domains might be best addressed with different tools, but I have a feeling in your case that observation would fall on deaf ears.

      1Or 1995, depending on whom you ask. This version of C is often called "C94", but the C99 Rationale calls it "C95". And it actually wasn't a single update - there were two Technical Corrigenda and an Amendment. They were bundled up with C90 into the C94 / C95 standard.

      1. HmmmYes

        Youve just confirmed my gripes.

        ANSI->C99 - is about 2 sides of changes. It would take about 1 day to go thru and understand each update.

        'Major version 3 of .NET Core. The .NET Framework is at 4.7. CLR is at version 4. '

        Some, the basic platform bundle is at 3. The larger framework 4, the CLR at 4

        You have 3 differently evolving packages. Then there's the combinations you might find out in the wild.

        There's not static linking, everything will be dynamically linked.

        Theres too many interconnections and changes for me to think that .net is a stable, long term platform.

    2. Rob Gr

      "WHat the fuck do I get with .net?"

      Memory safety for one. And don't try to tell me that you're one of the C developers who don't make memory errors - they're like Unicorns.

  7. arctic_haze

    Depending on MS plaftorms is always a mistake

    Where is ActiveX now? Where is Silverlight? Where are Gadgets? if they do not abandon it, they make it obsolete with a new non-compatible version.

    1. Marco van de Voort

      Re: Depending on MS plaftorms is always a mistake

      Heaped together with GTK1?

      1. Michael Wojcik Silver badge

        Re: Depending on MS plaftorms is always a mistake

        Heaped together with GTK1?

        And Apache Struts 1, and Dojo, and Java IFC, and DBase II, and SYSTEM 2000, and so forth.

        Some technologies have very long lifespans. Some have shorter ones. For some applications, it's a good idea to try to make an informed guess about how long the technologies you're considering will stick around; for others, not so much. Estimated longevity shouldn't be the only criterion. (If it is, shouldn't you be developing in Fortran?)

  8. chucklepie

    The thing is, a lot of the nice features of Visual Studio only work with framework and not core (for example the whole visual element of entity framework, database first EF, etc) and a lot of functionality is missing from core (for example sticking with EF, and maybe it's in 3.0 I don't know, lack of lazy loading).

  9. Michael Wojcik Silver badge

    Core is a long way from replacing Framework

    There's still no sign of server-side WCF in Core, for example, and indeed some opinion that there never will be any. That makes Core a non-starter for the .NET product I work on (which, admittedly, is not the typical .NET product). We could certainly rearchitect away from WCF, but there's no compelling advantage to using Core for us.

  10. pkissel

    Blazor Moves Forward

    After being an experimental project, Microsoft plans to ship the server-side Blazor model as Razor Components in .NET Core 3.0 for the first time. The march towards a WebAssembly solution moves another step forward. Thoughts anyone?

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like