Quantcast
Channel: Comment Feed for Channel 9 - Future directions for C# and Visual Basic
Viewing all articles
Browse latest Browse all 130

Re: Future directions for C# and Visual Basic

$
0
0

Here is a comparison of iOS/Objective C and .NET in terms of what Objective-C supports that .NET does not that makes it work for Apple -> in the primary dev language role -- the role that .NET has largely been a failure for at Microsoft.

Interoperability with C           ObjC/Yes    .NET/PInvoke

Interoperability with C++       ObjC/Yes    .NET/No(very difficult)

Interoperability with C/C++ headers      ObjC/Yes     .NET/No

Cost of call to native code                 ObjC/None     .NET/Thunk

Optimized Code Generation   ObjC/Yes   .NET/No

CPU Vector Instructions          ObjC/Yes      .NET/No

CPU Auto Vectorization     ObjC/Yes     .NET/No

Management of large/complex Memory/Heap Objects          ObjC/Yes       .NET/No

GC, ref counting, and manual mm.        ObjC/Yes      .NET/GC only.

Direct marshalling of Memory Bufs to Heap Objects        ObjC/Yes     .NET/No  (Ever wonder why it takes so long for game levels to load in .NET?)

Control of memory alignment             ObjC/Yes         .NET/No

Support for numeric generics            ObjC/Yes(C++)     .NET/No

Macro/practical metaprogramming       ObjC/Yes(C preprocessor)      .NET/No

Large working set sizes                 ObjC/No                   .NET/Yes

Slow startup time                           ObjC/No                  .NET/Yes

-------------

This is a very long list of very important missing features in .NET vs. Objective-C.  This doesn't mean that .NET isn't useful as a high level application platform (like Java), but it does mean that it simply can't fill the role that Objective-C fills for OSX/iOS as the primary dev platform for Windows 8  or Win Mobile.  This is the reason for the resurgence of C++ at Microsoft for WinRT and mobile.

 

posted by bcooley


Viewing all articles
Browse latest Browse all 130

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>