pancake wrote:
> it is not a superset or a subset, they are similar, but not the same. in
> other way: they are different.

Some examples:

What C# has that Vala doesn't

- operator / method / constructor / indexer overloading
- LINQ
- partial classes
- extension methods
- goto, sealed, params

What Vala has that Vala doesn't

- Named constructors
- Mixin interfaces
- Async Methods / Coroutines
- Design by Contract ('requires', 'ensures')
- Default values for function arguments (at least before C# 4.0)

Other differences
- Checked Exceptions (based on errordomains, 'throws', 'errordomain')
instead of unchecked execeptions based on classes
- signals instead of events
- Interface prerequisites instead of interface inheritance
- different verbatim string syntax. (""" """ vs. @" ")
- Memory management: automatic reference counting vs. garbage collection

But the main difference are the base class libraries (System.* vs.
GLib/GIO/Gee). This is impossible to map 1:1. The only similarities
would be Gtk# and GTK+, apart from different naming conventions
(lower_case vs. CamelCase), but even there are many subtle differences.


Best regards,

Frederik
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to