author | František Kučera <franta-hg@frantovo.cz> |
Tue, 04 Dec 2018 22:34:19 +0100 | |
branch | v_0 |
changeset 181 | 72cc1a9dbfca |
parent 177 | a64671d5f997 |
child 182 | 17caf5443ff7 |
permissions | -rw-r--r-- |
23
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
1 |
<stránka |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
2 |
xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
3 |
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
4 |
|
147
c004a45502b3
new pages: principles, roadmap, faq
František Kučera <franta-hg@frantovo.cz>
parents:
139
diff
changeset
|
5 |
<nadpis>FAQ</nadpis> |
c004a45502b3
new pages: principles, roadmap, faq
František Kučera <franta-hg@frantovo.cz>
parents:
139
diff
changeset
|
6 |
<perex>Frequently asked questions</perex> |
c004a45502b3
new pages: principles, roadmap, faq
František Kučera <franta-hg@frantovo.cz>
parents:
139
diff
changeset
|
7 |
<pořadí>16</pořadí> |
4
1bb39595a51c
genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents:
2
diff
changeset
|
8 |
|
2
ab9099ff88fa
vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents:
1
diff
changeset
|
9 |
<text xmlns="http://www.w3.org/1999/xhtml"> |
149 | 10 |
|
2
ab9099ff88fa
vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents:
1
diff
changeset
|
11 |
<p> |
149 | 12 |
<strong>When the stable version will be released?</strong> |
13 |
<br/> |
|
14 |
We don't know – there is no exact date. |
|
15 |
<m:name/> are something that should be released about twenty years ago. But real work started in 2018. |
|
16 |
So it is not a big difference whether it will be released this month or the next one. |
|
17 |
We understand the <em>release early, release often</em> rule. |
|
18 |
But it fits better to application software than to standards and APIs. |
|
151 | 19 |
Of course, we expect some evolution after the v1.0.0 release, but we need to stabilize and verify many things before the release in order to be able to maintain backward compatibility in future. |
149 | 20 |
</p> |
21 |
||
22 |
<p> |
|
23 |
<strong>How can I help you?</strong> |
|
24 |
<br/> |
|
177 | 25 |
<ul> |
26 |
<li>Suggest more examples how <m:name/> can be used; especially how YOU would like to use it.</li> |
|
27 |
<li>We are looking for illustrations that would supplement our documentation and website.</li> |
|
28 |
<li> |
|
29 |
As an author of a program that generates or consumes some data, you could add relational input and output to your program. |
|
30 |
But please mention that we do not have v1.0 yet, so these features should be marked as experimental. |
|
31 |
The API might/will change. |
|
32 |
Other (and maybe better for now) option is to add input/output of values separated by null byte (<code>\0</code>). |
|
33 |
This "API" will be supported for sure and data are simply the attribute values. There are no record separators (we know the number of attributes, so they are not needed). |
|
34 |
Disadvantage of this approach is that the stream can contain only a single relation; and that the metadata are not embedded in the stream and must be passed separately. |
|
35 |
</li> |
|
36 |
<li>Review our source code and suggest improvements and fixes. Constructive criticism is always welcome. This is one of reasons why we publish our programs as free software.</li> |
|
37 |
<li>Native speakers could suggest improvements and corrections of our English texts.</li> |
|
38 |
</ul> |
|
149 | 39 |
</p> |
40 |
||
41 |
<p> |
|
164
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
42 |
<strong>Why do you speak about <em>relations</em> instead of <em>tables</em>?</strong> |
149 | 43 |
<br/> |
152
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
44 |
It might be uncommon terminology for someone, but <em>relations</em> and <em>attributes</em> symbolizes |
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
45 |
that we focus on substance of the data. Pure data are conveyed through the pipelines |
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
46 |
and the presentation of such data is only the last step. |
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
47 |
The data might be presented/visualized in many various forms. |
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
48 |
And tables (consisting of rows and columns) are only one of many possible options. |
149 | 49 |
</p> |
50 |
||
164
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
51 |
<m:tabulka> |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
52 |
Relational SQL alternative terms |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
53 |
relation table |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
54 |
attribute column field |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
55 |
record row tuple |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
56 |
</m:tabulka> |
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
57 |
|
152
f876683324c2
roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents:
151
diff
changeset
|
58 |
<!-- |
149 | 59 |
<p> |
60 |
<strong>?</strong> |
|
61 |
<br/> |
|
62 |
... |
|
87
25dec6931f18
Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents:
23
diff
changeset
|
63 |
</p> |
149 | 64 |
|
65 |
<p> |
|
66 |
<strong>Why don't build on XML? It is a standard since 1998 and there are many tools and libraries for it.</strong> |
|
67 |
<br/> |
|
68 |
XML is a great and mature (meta)format and its ecosystem is respectable and inspiring. |
|
69 |
But the XML does not conform to our <m:a href="principles">principles</m:a>, especially the ability to concatenate multiple files/streams and to append new records to an already existing relation. |
|
70 |
XML is also not concise. |
|
71 |
And the implementation of the XML parser in various environments would be <em>a bit more complex</em>. |
|
72 |
</p> |
|
73 |
<p> |
|
74 |
We prefer XML as an input and output format and look forward to cooperation with XML ecosystem (XSD, XPath, XSLT, XQuery etc.). |
|
75 |
Such steps might be at the beginning, at the end, or even in the middle of the relational pipeline. |
|
76 |
</p> |
|
77 |
||
78 |
<p> |
|
79 |
<strong>?</strong> |
|
80 |
<br/> |
|
81 |
... |
|
82 |
</p> |
|
83 |
--> |
|
84 |
||
163 | 85 |
<p> |
86 |
<strong>Why C++?</strong> |
|
87 |
<br/> |
|
88 |
Firstly, <m:name/> are a specification of a data format and as such are not bound to any programming language. |
|
164
56eb59640688
faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents:
163
diff
changeset
|
89 |
This specification is totally language- and platform- independent. |
163 | 90 |
</p> |
91 |
<p> |
|
92 |
The ideal/perfect language does not exist and our implementations will be written in various languages. |
|
93 |
We started our prototype and first real implementations in C++ from several reasons: |
|
94 |
</p> |
|
95 |
<ul> |
|
96 |
<li>It is mature and widespread: GCC runs almost everywhere and other compilers/toolchains are also available.</li> |
|
97 |
<li>Programs written in C++ starts immediately: very important for CLI tools.</li> |
|
98 |
<li>Can be seamlessly mixed with C and its libraries. Is good for interaction with the operating system.</li> |
|
99 |
<li>Modern C++ is a quite good language.</li> |
|
100 |
<li>We are not C++ gurus and C++ is not our first-choice language i.e. the fact that we are able to do implementation in C++ proves that the specification is simple enough to be reasonably implemented by an average software engineer in any other language :-)</li> |
|
101 |
</ul> |
|
102 |
||
103 |
<p>Implementation in other languages will follow. Java is the next one. Then probably Perl, Python, Rust, Go, PHP etc. (depends on community involvement).</p> |
|
104 |
||
149 | 105 |
<p> |
106 |
<strong>Have you seen <a href="https://xkcd.com/927/">XKCD 927</a>?</strong> |
|
107 |
<br/> |
|
108 |
Yes. And we liked it so much that we followed their instructions and created <m:name/>. |
|
109 |
</p> |
|
110 |
||
111 |
<p> |
|
112 |
<strong>Are <m:name/> compatible with cloud, IoT, SPA/PWA, AI, blockchain and mobile-first? Should our DevOps use it in our serverless hipster fintech app with strong focus on SEO, UX and machine learning?</strong> |
|
113 |
<br/> |
|
114 |
Go @#$%& yourself. We are pretty old school hackers and we enjoy our green screen terminals!<br/> |
|
115 |
Of course, you can use <m:name/> anywhere if it makes sense for you. |
|
116 |
<m:name/> are designed to be generic enough – i.e. not specific to any industry (banking, telecommunications, embedded etc.) nor platform. |
|
163 | 117 |
Data in this format are very concise, so can be used even in very small devices. |
149 | 118 |
Its native data structure is a relation (table) but it can also handle tree-structured data (i.e. any data). |
119 |
It is designed rather for streaming than for storage (but under some circumstances it is also meaningful to use it for storage). |
|
120 |
</p> |
|
121 |
||
87
25dec6931f18
Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents:
23
diff
changeset
|
122 |
</text> |
4
1bb39595a51c
genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents:
2
diff
changeset
|
123 |
|
1 | 124 |
</stránka> |