Online session: What does the compiler do ?

Coming Thursday (December 9th) we will have an online session in which we will try to explain what X# compiler does with your code. We will discuss several topics, such as

  • Strong Typed versus weakly typed functions / methods
  • Different calling conventions (Clipper - Strict - Pascal - Thiscall)
  • Function / method overloading
  • Values types versus reference types
  • Parameters by value and parameters by reference
  • Early bound code versus late bound code
  • Virtual instance methods versus non virtual methods

The session will mostly use code from the XSharp Runtime as example and will look at that code from the Xbase side but will also look at the produced IL code using the ILSpy decompiler. We will also discuss 'ease of use' versus 'best performance'.

Update We have re-recorded the session. Is is now available in our youtube channel

The example can be downloaded here:

{rsfiles path="Presentations/WhatDoesTheCompilerDo.zip"}


8 comments

  • Juan pablo, yes sessions are always being recorded and later posted here: https://www.youtube.com/channel/UCFqLBMKPPxlN24xRxFGLiVA
  • Robert, thank you. It helps to get back to the basics because, for me at least, it cleared up some misconceptions I had from the start.Γö¼├í I thought objects were always passed by reference but apparently not.
  • Very unfortunate that this session was not recorded, I was extremely interested in this one and had planned to view it at a later time.

  • Very unfortunate that this session was not recorded, I was extremely interested in this one and had planned to view it at a later time.

    Kees,


    We are re-recording the session. Give us a few days for that.

    Robert
  • once again a very informative session !

    It seems the topics shown in the Start():

    // TestSequence()
    // TestVoStyleErrorHandling()

    arenΓö¼Γöñt mentioned in the session. Will they be discussed in one of the next meetings ?

    Karl-Heinz



  • // TestSequence()

    // TestVoStyleErrorHandling()


    These topics were not part of the scheduled session, but were pieces of code that I discussed before the conference call.
    I have removed these examples from the example solution that I'll upload later today.
    These examples make no sense without extra explanation.

    Robert