November 14, 2016 – “Fireball” – a CLR/.NET language

Kevin DiVincenzo

Kevin DiVincenzo

Abstract:

“Fireball” (https://github.com/antagonist112358/fireball) is a programming language project that aims to create a modern hybrid OOP/FP language targeting the CLR VM. Started as a side-project to enhance an existing (but obscure) .NET language called ‘Nemerle’, the project has grown into its own distinct language.

While many of the topics involved in creating a programming language could easily comprise their own talks (language design, compilers, code generation, lexing/parsing, ASTs, etc.), the focus of this talk will be on the “Fireball” programming language, and collecting feedback from a community of potential/(hopefully) future users.

Topics covered will include (not ordered):

  • Programming Languages
    • Modern languages
    • Why do we need / want another language?
    • Functional Programming
      • Benefits of Functional Programming
      • Benefits of hybrid approach (OOP + FP)
      • Meta-programming (beyond T4 templates and “System.Reflection.Emit”)
      • The ‘Fireball’ language
        • Project overview
        • Current features
        • Planned features
        • Possible features / future ideas
        • Scrap your boilerplate/patterns
        • Tools/Toolchain
        • How you can get involved
        • Feedback/QA

This will be the first public talk/demonstration of the project, and while there is still quite a bit of work to be done before any “0.1” release, the bootstrapping compiler is (almost) complete, and anyone interested is encouraged to experiment with the compiler.

About Kevin

Kevin Di Vincenzo is a self-taught software engineer, consultant, and technology enthusiast. He first started learning about writing code in the 7th grade with ‘QuickBasic’ and ‘C’. Although his formal education was in Physics and Applied Mathematics, he has dabbled in many facets of information technology – from databases, NoSQL/BigData, and dev-ops to message/event based systems, distributed computing, and language design. His “go-to” languages are ‘C#’ and ‘Scala’.

He is Functional Programming advocate, an Agile proponent (specifically ‘Extreme Programming’), and follows Erik Meijer and Marc Gravell (among others). He has worked for companies such as Samsung Electronics, General Electric, and Kent State University.

When he is not working on the ‘Fireball’ programming language or consulting, Kevin enjoys learning new technologies, reading science fiction, traveling, Unity3D, video games, and contemplating going back to school for his Ph.D. in Plasma Physics.

LinkedIn: https://www.linkedin.com/in/kevindivincenzo

The talk will take place at Microsoft Austin office from 5:30 p.m. to 8:00 p.m. on 11/14/2016.