SlideShare a Scribd company logo
 
Cω is a strongly typed, data oriented programming language that bridges the gap between semi-structured hierarchical data (XML), relational data (SQL), and the .NET Common Type System (CTS).
Concurrency  is going mainstream: rise of  multi-core  and  asynchronous web applications. “ Great! Pity they’re tied to an outdated research compiler…”  C ω   extended C# 1.0 with high-level, asynchronous concurrency abstractions - join patterns  - based on the  join calculus.  (variant of Polyphonic C#, related to JoCaml).
Cω’s features have been used in the creation of the  LINQ   extension in C#. The concurrency constructs have also been released in a slightly modified form as library, named  Joins Concurrency Library ,  for C#, some prototype extensions for VB and other .NET languages by Microsoft Research.
Concurrency XSD SQL CTR C ω
Direct support  of Asynchronous concurrency and processing of relational and semi-structured data. Stronger compile-time guarantees Freedom to choose different implementation strategies for compiler. More natural syntax.  Better support from other tools such as editors and debuggers.
 
No Reinvention of wheel.  Extend an already-popular language. The aim is to take  models and lessons learnt  from the design of more academic, special purpose languages and try to incorporate them within the mainstream object-oriented framework Example: Concurrency – from - join calculus  and JoCaml.
 
Provide an  integration  of the object, relational and semi-structured data models. Generalization , rather than  specializations XSD SQL CTR C ω
Ordered  homogeneous collections  of zero or more values. Closely related to C#’s  IEnumerable<> Generated using iterators, which are blocks that contain  yield  statements. They are always  flattened ; there are  no nested streams  of streams Apply-to-all  expression variable  it
 
Ordered collections of  heterogeneous  values. Allows repeated occurrences of the same member name within an anonymous struct type, even at different types
 
Discriminated  Union  type Provides a  test, e is T  on choice values to test the value's type.
choice{int;Button;} x = 3;  choice{int;Button;} y = new Button();
A normal class that has a  single  unlabelled   type that describes the content of that class
 
Cω offers some XPath-like expressivity: Filters allows a filter to be passed over a stream.  Example:  friends[ it.age < 18] Queries by type
 
 
 
 
The projection list results in the select expression returning a stream of &quot; tuple types &quot;, namely  struct{SqlInt32 ProductId; SqlMoney Total; }*  The  from  clause   specifies the data source being queried. This can be either an object in a SQL database, or any in-memory object.  Cω  select  statement supports various forms of  joins , which are essential to any real database application.  Cω also supports  order by  and  group by  clauses.  The  where  clause can specify any valid Cω Boolean predicate for filtering the selection.
 
Methods can be defined as either  synchronous  or  asynchronous When a synchronous method is called, the caller is blocked until the method returns When an asynchronous method is called, there is no result and the caller proceeds immediately without being blocked
A body may be associated with a  set  of methods. Such a definition is called  chord. A particular method may appear in the header of several chords. The body of a chord can only execute once  all  the methods in its header have been called.  Thus, when a method is called there may be zero, one, or more chords which are enabled:
If no chord is enabled then the method invocation is queued up. If the method is asynchronous, then this simply involves adding the arguments (the contents of the message) to a queue. If the method is synchronous, then the calling thread is blocked.  If there is a single enabled chord, then the arguments of the calls involved in the match are de-queued, any blocked thread involved in the match is awakened, and the body runs.
When a chord which involves only asynchronous methods runs, then it does so in a new thread.  If there are several chords which are enabled then an unspecified one of them is chosen to run.  Similarly, if there are multiple calls to a particular method queued up, we do not specify which call will be de-queued when there is a match.
 
Cω contains elegant primitives for asynchronous communication, and offers a strongly-typed integration of the object, relational and semi-structured data models.  It makes easier to write the data-intensive distributed applications being written today
http://www.google.co.in/ http://research.microsoft.com/comega/ http://bartdesmet.net/blogs/bart/archive/tags/Comega/default.aspx http://msdn.microsoft.com/en-us/library/ms974195.aspx http://channel9.msdn.com/
Thank You

More Related Content

PPTX
Basic Data Types in C++
DOCX
Smali语法
PPTX
Class data outputstream
PPTX
Collections - Sorting, Comparing Basics
PPTX
Structures in c language
PPTX
Data types in c++
PPTX
Structure in c language
Basic Data Types in C++
Smali语法
Class data outputstream
Collections - Sorting, Comparing Basics
Structures in c language
Data types in c++
Structure in c language

What's hot (19)

PDF
Functional Domain Modeling
PPT
1212 regular meeting
PPTX
What is Data Types and Functions?
PPTX
Data Types
PPTX
Data Types | CS8251- Programming in c | Learn Hub
PPTX
Computer data type and Terminologies
PPTX
Introduction to C++ Programming
PPTX
8. java script
PPT
cs8251 unit 1 ppt
PPTX
Datatype in c++ unit 3 -topic 2
PPTX
Concept of c data types
PPT
C++ data types
PPT
Structure in C
PPTX
Data types
PPT
Structure in c
PPTX
Polymorphism
 
PPT
Javaio
Functional Domain Modeling
1212 regular meeting
What is Data Types and Functions?
Data Types
Data Types | CS8251- Programming in c | Learn Hub
Computer data type and Terminologies
Introduction to C++ Programming
8. java script
cs8251 unit 1 ppt
Datatype in c++ unit 3 -topic 2
Concept of c data types
C++ data types
Structure in C
Data types
Structure in c
Polymorphism
 
Javaio
Ad

Similar to C Omega (20)

PPT
Introduction to c_sharp
PPTX
2. overview of c#
PPT
IntroToCSharpcode.ppt
PPTX
PERTEMUAN 1 - MENGENAL ENVIRONTMENT PROGRAM VISUAL C#.pptx
PPT
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
PPT
Introduction-to-Csharp.ppt
PPT
Introduction-to-Csharp programacion orientada a objetos
PPT
Introduction-to-Csharp.ppt
PPT
Introduction to-csharp
DOCX
New microsoft office word document
DOCX
New microsoft office word document
DOCX
New microsoft office word document
PDF
C sharp chap1
PPT
Linq To The Enterprise
PDF
A tour of C# - Overview _ Microsoft Learn.pdf
PPT
Oo Design And Patterns
PDF
Object oriented-programming-in-c-sharp
PDF
Introduction to c#
PDF
Introduction To Csharp
PDF
event driven programing course for all.pdf
Introduction to c_sharp
2. overview of c#
IntroToCSharpcode.ppt
PERTEMUAN 1 - MENGENAL ENVIRONTMENT PROGRAM VISUAL C#.pptx
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
Introduction-to-Csharp.ppt
Introduction-to-Csharp programacion orientada a objetos
Introduction-to-Csharp.ppt
Introduction to-csharp
New microsoft office word document
New microsoft office word document
New microsoft office word document
C sharp chap1
Linq To The Enterprise
A tour of C# - Overview _ Microsoft Learn.pdf
Oo Design And Patterns
Object oriented-programming-in-c-sharp
Introduction to c#
Introduction To Csharp
event driven programing course for all.pdf
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Electronic commerce courselecture one. Pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MIND Revenue Release Quarter 2 2025 Press Release
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Machine learning based COVID-19 study performance prediction
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

C Omega

  • 1.  
  • 2. Cω is a strongly typed, data oriented programming language that bridges the gap between semi-structured hierarchical data (XML), relational data (SQL), and the .NET Common Type System (CTS).
  • 3. Concurrency is going mainstream: rise of multi-core and asynchronous web applications. “ Great! Pity they’re tied to an outdated research compiler…” C ω extended C# 1.0 with high-level, asynchronous concurrency abstractions - join patterns - based on the join calculus. (variant of Polyphonic C#, related to JoCaml).
  • 4. Cω’s features have been used in the creation of the LINQ extension in C#. The concurrency constructs have also been released in a slightly modified form as library, named Joins Concurrency Library , for C#, some prototype extensions for VB and other .NET languages by Microsoft Research.
  • 6. Direct support of Asynchronous concurrency and processing of relational and semi-structured data. Stronger compile-time guarantees Freedom to choose different implementation strategies for compiler. More natural syntax. Better support from other tools such as editors and debuggers.
  • 7.  
  • 8. No Reinvention of wheel. Extend an already-popular language. The aim is to take models and lessons learnt from the design of more academic, special purpose languages and try to incorporate them within the mainstream object-oriented framework Example: Concurrency – from - join calculus and JoCaml.
  • 9.  
  • 10. Provide an integration of the object, relational and semi-structured data models. Generalization , rather than specializations XSD SQL CTR C ω
  • 11. Ordered homogeneous collections of zero or more values. Closely related to C#’s IEnumerable<> Generated using iterators, which are blocks that contain yield statements. They are always flattened ; there are no nested streams of streams Apply-to-all expression variable it
  • 12.  
  • 13. Ordered collections of heterogeneous values. Allows repeated occurrences of the same member name within an anonymous struct type, even at different types
  • 14.  
  • 15. Discriminated Union type Provides a test, e is T on choice values to test the value's type.
  • 16. choice{int;Button;} x = 3; choice{int;Button;} y = new Button();
  • 17. A normal class that has a single unlabelled type that describes the content of that class
  • 18.  
  • 19. Cω offers some XPath-like expressivity: Filters allows a filter to be passed over a stream. Example: friends[ it.age < 18] Queries by type
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24. The projection list results in the select expression returning a stream of &quot; tuple types &quot;, namely struct{SqlInt32 ProductId; SqlMoney Total; }* The from clause specifies the data source being queried. This can be either an object in a SQL database, or any in-memory object. Cω select statement supports various forms of joins , which are essential to any real database application. Cω also supports order by and group by clauses. The where clause can specify any valid Cω Boolean predicate for filtering the selection.
  • 25.  
  • 26. Methods can be defined as either synchronous or asynchronous When a synchronous method is called, the caller is blocked until the method returns When an asynchronous method is called, there is no result and the caller proceeds immediately without being blocked
  • 27. A body may be associated with a set of methods. Such a definition is called chord. A particular method may appear in the header of several chords. The body of a chord can only execute once all the methods in its header have been called. Thus, when a method is called there may be zero, one, or more chords which are enabled:
  • 28. If no chord is enabled then the method invocation is queued up. If the method is asynchronous, then this simply involves adding the arguments (the contents of the message) to a queue. If the method is synchronous, then the calling thread is blocked. If there is a single enabled chord, then the arguments of the calls involved in the match are de-queued, any blocked thread involved in the match is awakened, and the body runs.
  • 29. When a chord which involves only asynchronous methods runs, then it does so in a new thread. If there are several chords which are enabled then an unspecified one of them is chosen to run. Similarly, if there are multiple calls to a particular method queued up, we do not specify which call will be de-queued when there is a match.
  • 30.  
  • 31. Cω contains elegant primitives for asynchronous communication, and offers a strongly-typed integration of the object, relational and semi-structured data models. It makes easier to write the data-intensive distributed applications being written today