However, my /aim/ is for my language to be self-contained, and not to
talk to external software except via DLLs.
* Blazing fast compilation speed, can run direct from source
Again, that is implementation (some language features may slow
down compilation, as you know C allow fast comilation).
C also requires that the same header (say windows.h or gtk.h) used in 50 modules needs to be processed 50 times for a full build.
My M language processes it just once for a normal build (further, such
APIs are typically condensed into a single import module, not 100s of
nested headers). Some of it is by design!
* Module scheme with tidy 'one-time' declaration of each module
* Function reflection (access all functions within the program)
* 64-bit default data types (ie. 'int' is 64 bits, 123 is 64 bits)
* No build system needed
That really depends on needs of your program. Some are complex
and need build system, some are simple and in principle could
be compiled with "no" build system. I still use Makefiles for
simple programs for two reasons:
- typing 'make' is almost as easy as it can get
Ostensibly simple, yes. But it rarely works for me. And internally, it
is complex. Look at what a typical makefile contains with one of a
program headers, which looks like a shopping list - you can't get simpler!
- I want to have record of compiler used/compiler options/
libraries
So do I, but I want to incorporate that into the language. So if a
program uses OpenGL, when it sees this:
importdll opengl =
(followed by imported entities) that tells it it will need opengl.dll.
In more complex cases (mapping of import library to DLL file(s) is not straightforward), it's more explicit:
linkdll opengl # next to module info
This stuff no longer needs to be submitted via command line; that is
old-hat.
Or are used to buying ready-meals from supermarkets.
Meals are different thing than programming languages. If you want
to say that _you_ enjoy yor language(s), then I got this. My point
was that you are trying to present your _subjective_ preferences
as something universal.
Yes, and I think I'm right. For example, English breakfast choices are
simple (cereal, toast, eggs, sausages), everybody likes them, kids and adults. But then in the evening you go to a posh restaurant and things
are very different.
I think the same basics exist in programming languages.
I like programming and important part
is that my programs work. So I like featurs that help me to get
working program and dislike ones that cause troubles. IME, the
following cause troubles:
- case insensitivity
I believe this would only cause problems if you already have a
dependence on case-sensitivity, so it's a self-fulfilling problem!
Create a new language with it, and those problems become minor ones that occur on FFI boundaries, and then not that often.
- dependence on poorly specified defauls
- out of order definitions
I don't believe this. In C, not having this feature means:
* Requiring function prototypes, sometimes
* Causing problems in self-referential structs (needs struct tags)
* Causing problems with circular references in structs (S includes
a pointer to T, and T includes a pointer to S)
- infexible tools that for example insist on creating executable
without option on making linkable object file
Concerning 1-based indexing, IME in more cases it causes trouble
than helps, but usually this is minor issue.
In my compiler sources, about 30% of arrays are zero-based (with the
0-term usually associated with some error or non-set/non-valid index).
I use a lot
line oriented syntax. I can say that it works, simple examples
are easy, but there are unintuitive situations and sometimes troubles.
For example cut and paste works better for traditional syntax.
If there are problems, then beginers may be confused. As one
guy put it: trouble with white space is that one can not see it.
White space (spaces and tabs) is nothing to do with line-oriented.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (0 / 16) |
Uptime: | 119:06:54 |
Calls: | 6,704 |
Calls today: | 4 |
Files: | 12,235 |
Messages: | 5,349,468 |