relpipe-data/faq.xml
branchv_0
changeset 163 580c0e195817
parent 152 f876683324c2
child 164 56eb59640688
equal deleted inserted replaced
162:f9185bc14b68 163:580c0e195817
    60 			<br/>
    60 			<br/>
    61 			...
    61 			...
    62 		</p>
    62 		</p>
    63 		-->
    63 		-->
    64 		
    64 		
       
    65 		<p>
       
    66 			<strong>Why C++?</strong>		
       
    67 			<br/>
       
    68 			Firstly, <m:name/> are a specification of a data format and as such are not bound to any programming language.
       
    69 			This specification is totally language- and plafform- independent.
       
    70 		</p>
       
    71 		<p>
       
    72 			The ideal/perfect language does not exist and our implementations will be written in various languages.
       
    73 			We started our prototype and first real implementations in C++ from several reasons:
       
    74 		</p>
       
    75 		<ul>
       
    76 			<li>It is mature and widespread: GCC runs almost everywhere and other compilers/toolchains are also available.</li>
       
    77 			<li>Programs written in C++ starts immediately: very important for CLI tools.</li>
       
    78 			<li>Can be seamlessly mixed with C and its libraries. Is good for interaction with the operating system.</li>
       
    79 			<li>Modern C++ is a quite good language.</li>
       
    80 			<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>
       
    81 		</ul>
       
    82 		
       
    83 		<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>
       
    84 		
    65 		<p>			
    85 		<p>			
    66 			<strong>Have you seen <a href="https://xkcd.com/927/">XKCD 927</a>?</strong>		
    86 			<strong>Have you seen <a href="https://xkcd.com/927/">XKCD 927</a>?</strong>		
    67 			<br/>
    87 			<br/>
    68 			Yes. And we liked it so much that we followed their instructions and created <m:name/>.
    88 			Yes. And we liked it so much that we followed their instructions and created <m:name/>.
    69 		</p>
    89 		</p>
    72 			<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>
    92 			<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>
    73 			<br/>
    93 			<br/>
    74 			Go @#$%&amp; yourself. We are pretty old school hackers and we enjoy our green screen terminals!<br/>
    94 			Go @#$%&amp; yourself. We are pretty old school hackers and we enjoy our green screen terminals!<br/>
    75 			Of course, you can use <m:name/> anywhere if it makes sense for you.
    95 			Of course, you can use <m:name/> anywhere if it makes sense for you.
    76 			<m:name/> are designed to be generic enough – i.e. not specific to any industry (banking, telecommunications, embedded etc.) nor platform.
    96 			<m:name/> are designed to be generic enough – i.e. not specific to any industry (banking, telecommunications, embedded etc.) nor platform.
       
    97 			Data in this format are very concise, so can be used even in very small devices.
    77 			Its native data structure is a relation (table) but it can also handle tree-structured data (i.e. any data).
    98 			Its native data structure is a relation (table) but it can also handle tree-structured data (i.e. any data).
    78 			It is designed rather for streaming than for storage (but under some circumstances it is also meaningful to use it for storage).
    99 			It is designed rather for streaming than for storage (but under some circumstances it is also meaningful to use it for storage).
    79 		</p>
   100 		</p>
    80 		
   101 		
    81 	</text>
   102 	</text>