понедельник, 12 августа 2019 г., 15:49:45 UTC+3 пользователь Robby Findler 
написал:
>
>
> As for adopting-new-syntax vs backwards-compatibility, does it help if 
> I were to tell you that anything new will always be "opt in", in the 
> sense that existing programs will continue to work completely 
> unchanged with no special annotations or anything else like that 
> required? 
>


I see this common idea that technical means(opt in changes for example) can 
resolve such king of issues, but they cant.

Because this is conceptual plane, political if you wish. The is no tool 
that can return my time, right?


So only solution can be conceptual as well. In the plane of ideas, of 
project goals.


For example, main site states : "Mature, stable".

This doesn't seems as true if major syntax changes is planned?


Another statement from main site:

*"Racket is a general-purpose programming language as well as the world’s 
first ecosystem for language-oriented programming.*"


This sounds good, but what about research platform? I hear sometimes that 
Racket is a academic research platform for language-oriented programming.

Being *"mature and stable general-purpose programming language"* is 
something not really good in mixing with academic research effort.

And I see a lots of positioning as educational platform, and this is whole 
another field.


So I can identify three poorly compatible areas:


1. General-purpose programming language with language-oriented programming 
futures.

This involves industrial professional approach to handle all sorts of 
things from documentation and tooling to syntax changes.
More responsible changes, more restrained and incremental, more support for 
infrastructure.


2. Language-oriented programming research effort.

This involves rapid changes that break all sorts of things, limited support 
of any kind besides actual research efforts.

This also implies all sorts of weird and wonderful syntax changes.


3. Teaching platform.

This implies simplicity of all kinds.

But also consistency and a strong theoretical foundation.

Documentation tools, performance measuring tools, OpenCL libraries, is what 
unnecessary 
here.

Performance measuring tools for example in no need here as well.



There must be conceptual solution that resolves conflict. Idea that 
describes how this contradictions can coexists.

Prioritization of goals.
Conflict resolution descriptions.

Etc etc.


And then technical solutions can be developed.

For example:
1. Decide that Racket must be industrial tool. When research and teaching 
activities must be provided on this platform as product of 
language-oriented programming possibilities of it.
2. Decide that Racket is mostly research project not ready for production, 
but perhaps in future, when research effort shows good results it will be 
stabilized and turned to industrial tool.

3. Some form of symbiosis of two approaches where it stays production grade 
instrument but also provide research facilities it the way that benefits 
business and science.
4. To reduce such a volume of work research and infrastructure to an 
educational utility, in my opinion, is cruel.

5. Make 3 separate projects with different goals.

6. Etc etc etc.


When solution is found it must be clearly stated in front project page, and 
in all levels of documentation and guidance.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/407446dd-ddc6-4e41-933a-9669f0c3a5c4%40googlegroups.com.

Reply via email to