October 05, 2003 HELLO D Fans ! | ||||
---|---|---|---|---|
| ||||
Attachments:
| A Big Hello to all D Fans, I work at Kyocera Wireless India , Bangalore..and from the time I started to work here..I felt a need for language that is better that C and not as complicated as C++. So I started to think about a languge called C+ (between C and C++). I have designed half of it and when I came across D I was pleasantly surprised to see that there is a great deal of similarity between D and C+. Since C+ is not going to come through here..(Its strategically unimportant to use a new language) , thought I will give the D community some of the ideas I had for C+. Some of the ideas are based on the need in the Mobile Software World. But still a good deal of new ideas can be reused. D is really good but has not got the recognition due to it. Why it so, we need to analyse and see what can be done about it. I think I will give the ideas in installments..so as not to overwhelm the news server with replies...:) Design of the C+ Programming Language ======================================= The design of C+ is based on the philosophy that a language must enable the programmer to program at the highest level of abstraction suitable for the system. It uses C as a base language and adds constructs that enable design at an abstract level. C is a low-level programming language and is not suitable for all types of systems. Indeed the lack of important features in C is considered it strength. But in reality programmers always tend to unconsciously program at the level of the problem domain. We see in the use of typedefs , naming convention, abstract data types , static and function pointers for data hiding and inheritance , libraries for concurrency , code reuse and so on. It is best that a language provides these features rather that allowing the programmers to build them in a hundred unrelated ways. This least common denominator approach to language design may seem to take away the freedom of the programmer, but it is not. Indeed it gives a higher freedom of thinking at an abstract level rather than worrying about the details of storage and representation. C+ is a dialect of C with extensions for building large fault-tolerant systems.The low level features of C are retained in C+.This is necessary for the most demanding system programming tasks. C+ is new programming language with language support for persistence and concurrency. It has a mixed heritage : 1) Abstract data type concept from Alef. 2) Operator overloading from C++. 3) Reference types from Java. 4) Concurrency concepts from Alef 5) Exception handling from C++ and Alef and CLU. 6) boolean data types from Java. 7) generic types from C++. 8) Construction and Destruction from C++. 9) Expression syntax from C. 10) Persistence from Java. C+ = C + abstraction + concurrency + exceptions + persistence + safety; The first thing to do is to introduce a boolean type : Java's ease of reading is mainly due to it..We should eliminate the use of typedefs in whichever case its uncecessary. I think a new boolean data type must be introduced..to D boolean , true and false; these are taken from Java. boolean data types from Java. Regards Ravishankar |
Copyright © 1999-2021 by the D Language Foundation