relpipe-data/faq.xml
author František Kučera <franta-hg@frantovo.cz>
Sun, 02 Dec 2018 02:18:23 +0100
branchv_0
changeset 173 d248aa5da038
parent 164 56eb59640688
child 177 a64671d5f997
permissions -rw-r--r--
macro for escaping XML using sed in scripts
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    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
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    12
			<strong>When the stable version will be released?</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    13
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    14
			We don't know – there is no exact date.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    15
			<m:name/> are something that should be released about twenty years ago. But real work started in 2018.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    16
			So it is not a big difference whether it will be released this month or the next one.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    17
			We understand the <em>release early, release often</em> rule.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    18
			But it fits better to application software than to standards and APIs.
151
5697a01db388 roadmap
František Kučera <franta-hg@frantovo.cz>
parents: 149
diff changeset
    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
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    20
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    21
		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    22
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    23
			<strong>How can I help you?</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    24
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    25
			...
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    26
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    27
		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    28
		<p>
164
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    29
			<strong>Why do you speak about <em>relations</em> instead of <em>tables</em>?</strong>
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    30
			<br/>
152
f876683324c2 roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents: 151
diff changeset
    31
			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
    32
			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
    33
			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
    34
			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
    35
			And tables (consisting of rows and columns) are only one of many possible options.
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    36
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    37
		
164
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    38
		<m:tabulka>
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    39
			Relational	SQL	alternative terms
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    40
			relation	table
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    41
			attribute	column	field
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    42
			record	row	tuple
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    43
		</m:tabulka>
56eb59640688 faq: relation vs. table
František Kučera <franta-hg@frantovo.cz>
parents: 163
diff changeset
    44
		
152
f876683324c2 roadmap: more formats
František Kučera <franta-hg@frantovo.cz>
parents: 151
diff changeset
    45
		<!--
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    46
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    47
			<strong>?</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    48
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    49
			...
87
25dec6931f18 Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents: 23
diff changeset
    50
		</p>
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    51
		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    52
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    53
			<strong>Why don't build on XML? It is a standard since 1998 and there are many tools and libraries for it.</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    54
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    55
			XML is a great and mature (meta)format and its ecosystem is respectable and inspiring.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    56
			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.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    57
			XML is also not concise. 
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    58
			And the implementation of the XML parser in various environments would be <em>a bit more complex</em>.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    59
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    60
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    61
			We prefer XML as an input and output format and look forward to cooperation with XML ecosystem (XSD, XPath, XSLT, XQuery etc.).
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    62
			Such steps might be at the beginning, at the end, or even in the middle of the relational pipeline.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    63
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    64
		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    65
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    66
			<strong>?</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    67
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    68
			...
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    69
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    70
		-->
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    71
		
163
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    72
		<p>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    73
			<strong>Why C++?</strong>		
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    74
			<br/>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    75
			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
    76
			This specification is totally language- and platform- independent.
163
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    77
		</p>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    78
		<p>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    79
			The ideal/perfect language does not exist and our implementations will be written in various languages.
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    80
			We started our prototype and first real implementations in C++ from several reasons:
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    81
		</p>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    82
		<ul>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    83
			<li>It is mature and widespread: GCC runs almost everywhere and other compilers/toolchains are also available.</li>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    84
			<li>Programs written in C++ starts immediately: very important for CLI tools.</li>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    85
			<li>Can be seamlessly mixed with C and its libraries. Is good for interaction with the operating system.</li>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    86
			<li>Modern C++ is a quite good language.</li>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    87
			<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>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    88
		</ul>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    89
		
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    90
		<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>
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
    91
		
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    92
		<p>			
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    93
			<strong>Have you seen <a href="https://xkcd.com/927/">XKCD 927</a>?</strong>		
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    94
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    95
			Yes. And we liked it so much that we followed their instructions and created <m:name/>.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    96
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    97
			
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    98
		<p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
    99
			<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>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   100
			<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   101
			Go @#$%&amp; yourself. We are pretty old school hackers and we enjoy our green screen terminals!<br/>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   102
			Of course, you can use <m:name/> anywhere if it makes sense for you.
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   103
			<m:name/> are designed to be generic enough – i.e. not specific to any industry (banking, telecommunications, embedded etc.) nor platform.
163
580c0e195817 faq: why c++
František Kučera <franta-hg@frantovo.cz>
parents: 152
diff changeset
   104
			Data in this format are very concise, so can be used even in very small devices.
149
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   105
			Its native data structure is a relation (table) but it can also handle tree-structured data (i.e. any data).
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   106
			It is designed rather for streaming than for storage (but under some circumstances it is also meaningful to use it for storage).
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   107
		</p>
František Kučera <franta-hg@frantovo.cz>
parents: 147
diff changeset
   108
		
87
25dec6931f18 Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents: 23
diff changeset
   109
	</text>
4
1bb39595a51c genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents: 2
diff changeset
   110
1
a05c6f3cbc3e základ, první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
   111
</stránka>