看看一个叫 RemChrome 的小公司对 Pascal 都做了些什么吧,Borland 在干什么,躺在炕上等死吗???
官方网站:http://www.chromesville.com/language/
Feature | Chrome Command Line Edition | Chrome for Visual Studio | |
---|---|---|---|
Major Language Features | |||
Generic Types Use Generics to implement strongly typed containers and parameterized types |
|||
Generic Methods Use Generics to implement strongly typed methods with and parameterized types |
New in Chrome 1.5! | ||
Class Contracts Chrome is the first mainstream .NET language to provide native support for Design By Contract like constructs, with preconditions, postconditions and invariants. |
|||
First Class Namespace Support Namespaces are one of the great basic concepts of the .NET framework that most developers take for granted. Chrome provides three basic features that allow developers to work with namespaces. |
|||
Iterators Easily implement collections and enumerable classes using iterators |
New in Chrome 1.5! | ||
Nullable Types Avoid boxing by using new nullable value types |
New in Chrome 1.5! | ||
Enhanced Events Support Chrome introduces a new syntax for defining and working with events to the Object Pascal language. |
|||
Virtual Properties Virtual Properties and Events allow you to more easily define abstract classes and interfaces, or overwrite existing framework interfaces that contain properties. |
|||
Flexible property getter/setter visibilities Define properties with different visibility levels for getter and setter. |
New in Chrome 1.5! | ||
Asynchronous Methods Easily write multi-threaded applications using Chromes' async keyword and asynchronous methods. |
|||
Thread Synchronization Support Use the locked and locking keywords to write thread-safe applications. |
|||
Extended Constructor Calls Create objects and initialize properties in a single statement. |
New in Chrome 1.5! | ||
Nested Types Define and implement nested types using Chrome's new and intuitive nested in syntax. |
New in Chrome 1.5! | ||
Partial classes The only .NET compiler to provide partial classes support for .NET 1.1. |
|||
Class References & Virtual Constructors Easily implement the Factory Pattern or dynamically create object instances using Chrome's Class References (Meta Classes). |
|||
Operator Overloading Make your custom classes intuitive to use by providing custom operator overloads for common operations such as addition or subtraction. |
|||
Extensive Set Support Define and work with Set types and expose them in a way that is usable from C# and other .NET languages. |
|||
Support for "unsafe" code Make use of pointers and other so-called "unsafe" code elements within your managed applications. |
|||
Fixed Size Buffers Use Fixed Size Buffers to declare efficient inlien arrays inside your records, in "unsafe" code. |
New in Chrome 1.5! | ||
Language Improvements over classic Object Pascal | |||
Enhanced "Block" blocks Keep with blocks safe with inline variable declaration support. |
|||
Inline variables in "for" loops Chrome introduces a new syntax for defining and working with events to the Object Pascal language. |
|||
Inline variables initializers Assign default values to variables, fields and properties right where you declare them. |
|||
Inline variable declarations Declare new variables inside your method bodies to keep them with the code that uses them. |
|||
Type Inference Avoid retyping type names and let Chrome infer new variable types from the assigned value. |
New in Chrome 1.5! | ||
Inline property readers Use inline code to implement simple property readers, such as property Foo: String read 'Bar'; |
|||
Enhanced "case" statement Write case statements using strings or other non-ordinal types. |
|||
New "case type of" statement Use the new case type of statement to execute different cases depending of an object's type. |
|||
Enhanced "try/finally/except" statement Combine finally and except to create more concise exception handling code. |
|||
Exception Filters Previously only available in Visual Basic .NET, Exception Filters provide extended flexibility for catching exceptions over common try/except blocks. |
|||
Boolean Double Comparisons Easily compare values against boundaries with statements such as "0 <= x < Count". |
|||
Read-only fields Define fields that can be initialized during construction, but not modified during the life-cycle of your objects. |
|||
"loop" loops Use Chrome's new loop language construct for advanced loops with variable exit points, without reporting to repeat until false idiosyncrasies. |
|||
Empty methods Quickly define class interfaces to flesh out later or empty methods to be opverriden in descendant classes. |
|||
Final methods and sealed classes Mark controlled endpoints for the extension of tour class hierarchy by sealing classes or marking methods as final. |
|||
Static classes Implement static classes that cannot be instantiated at runtime, but provide static functionality to your project. |
Enhanced in Chrome 1.5! | ||
Enhanced "exit" statement Use the improved exit statement to terminate methods and set a return value in a single step. |
|||
Enhanced "is not" statement Use the new is not operator to write more readable type check statements. |
|||
Enhanced "not in" statement Use the new not in operator to write more readable set handling code statements. |
New in Chrome 1.5! | ||
Compiler Features | |||
ASP.NET Scripting support Use Chrome Language in inline scripting tags in your ASP.NET 1.1, and ASP.NET 2.0 and Mono XSP websites. |
|||
Full Mono Support Chrome is the only Object Pascal compiler for .NET to allow reliable compiling for Mono. |
|||
Tentative Support for Portable.NET Cross-Link™ your applications against the Portable.NET/DotGNU implementation of the Common Language Runtime. |
|||
full Support for 64-bit .NET 2.0 Link against 64bit versions of the .NET runtime and develop applications that are 100% 64-bit ready. |
Enhanced in Chrome 1.5! | ||
Cross Platform Compiler Run the Chrome compiler under Linux, using the Mono Framework |
|||
Cross Linking™ Build applications for .NET, the Compact Framework, Mono and Portable.NET, regardless of the platform you are developing on. |
|||
New Warnings for signed/unsigned comparisons Let the compiler warn you about potentially unsafe comparisons between signed and unsigned integer types |
New in Chrome 1.5! | ||
Full support for XML Comments Document your code for future reference and for other developers using the standard XML Comments syntax. |
Enhanced in Chrome 1.5! | ||
Support for MDB Mono Debug Symbols Emit MDB debug symbol files to debug your applications under Mono. |
|||
Option to individual Hints and Warnings Let the compiler ignore specific "expected" ints or warnings in your code. |
New in Chrome 1.5! | ||
Flow Control Analysis New Flow Control Analysis provides optional hints and warnings about unnecessary code or unused variables. |
New in Chrome 1.5! | ||
IDE Features | |||
Visual Studio IDE Integration Full Integration into Visual Studio .NET 2003 and Visual Studio 2005, the leading development environments for .NET |
|||
Visual Studio 2005 Support Full and official support for Visual Studio 2005, the new state of the art development IDE from Microsoft. |
New in Chrome 1.5! | ||
Windows Form Designer Design the user interface for your Windows applications using the standard Windows Form Designer, fully integrated with the Chrome language |
|||
Code Editor with Intellisense The Chrome code editor provides the latest in Intellisense support, Syntax Highlighting, Code Folding, Code Completion dropdowns, Method Hints, Class Completion, Navigation Bar and more. |
|||
Class Navigation for Properties Smart Editing: Use keyboard shortcuts to navigate from proerty declaration to the matching getter/setter declarations and implementations. |
New in Chrome 1.5! | ||
Smart Editing Smart Editing features such as Auto Property Completion ease recurring coding and typing tasks. |
|||
Sync Rename Smart Editing: Use Sync Rename to easily change the name of classes and methods on the fly |
New in Chrome 1.5! | ||
Field and Method Declaration Smart Editing: Use convenient keyboard shortcuts to declare new fields or methods as you write code that uses them. |
New in Chrome 1.5! | ||
Enhanced "Go To Definition" Smart Editing: Use Smart Markers to track back your jumps after doing "Go To Definition". |
New in Chrome 1.5! | ||
Auto Property Completion Smart Editing: Automatically define getters and setters for your property as you type the declaration. |
New in Chrome 1.5! | ||
ASP.NET Designers Chrome provides the complete development experience for the ASP.NET 1.1 and ASP.NET 2.0 frameworks, including support for the ASP.NET WebForm designers. |
|||
ASP.NET Debugging Support Integrated ASP.NET debugging using IIS or Cassini |
|||
Enhanced ASP.NET 2.0 Improved ASP.NET 2.0 development experience including Chrome syntax highlighting inside .aspx files |
New in Chrome 1.5! | ||
Extensive Project Templates Chrome provides a variety of project templates for Windows, Mono and Web applications, to help get you started with your projects. |
|||
Enhanced Reference Dialog The improved Add Reference dialog gives more flexibility and ease of use when adding assembly references then available with C# and Visual Basic. |
New in Chrome 1.5! | ||
Combo Project/Assembly References Use Combo References to have the convenience of Project References when working in a multi-project full solution, while not losing the ability to build your project standalone. |