update news/2020-01-13.diet.md

Thu, 14 Jan 2021 08:57:48 +0100

author
David Demelier <markand@malikania.fr>
date
Thu, 14 Jan 2021 08:57:48 +0100
changeset 36
a0634dddff43
parent 35
a584aa4fa8f4
child 37
4f601ea0b6cf

update news/2020-01-13.diet.md

news/2020-01-13.diet.md file | annotate | diff | comparison | revisions
--- a/news/2020-01-13.diet.md	Wed Jan 13 22:12:21 2021 +0100
+++ b/news/2020-01-13.diet.md	Thu Jan 14 08:57:48 2021 +0100
@@ -102,6 +102,9 @@
 	MESSAGE freenode #botwar oh hi!
 	TOPIC freenode #botwar this is my new topic.
 
+Error messages will be written in human format and no longer provide specific
+error code either.
+
 ### Windows support will be forwarded to second class citizen
 
 Windows isn't a platform I personally like because Microsoft is a company that
@@ -118,6 +121,10 @@
 C++ one. This is because I think exposed API must only be related to irccd and
 internal stuff must be kept as that.
 
+Also, the documentation of the exposed C API will be provided in manual pages
+only as doxygen has a poor interface. As always, manual pages will be available
+online as well too.
+
 ### Unix transport only
 
 For simplicity reasons, the only transport supported will be based on UNIX
@@ -126,6 +133,12 @@
 
 This also reduce the code complexity a lot.
 
+### Build system
+
+Even though I was a lover of CMake, I'm pretty upset about the quantity of code
+is required to write non trivial stuff. For this new version and since I want to
+be able to provide compile time option it will use GNU make.
+
 What will be kept
 -----------------
 
@@ -139,6 +152,22 @@
 
 All `irccdctl` commands will be kept as-is without any modification.
 
+Questions and answers
+=====================
+
+Q: Why a bot in C? There are already ones!
+A: Yes, but no one uses Javascript as extending language and no one supports
+   rules and templates like irccd.
+
+Q: Is it a rewrite from scratch?
+A: No. Lot of code was simply converted from C++ to C by adapting some code
+   logic. The javascript being based on the C Duktape library did not need lots
+   of modifications. From scratch code is mostly: new transports, logs and irccd
+   main object.
+
+Q: Which C standard will it be written?
+A: Mostly C99 with few bits from C11 like atomics and noreturn.
+
 Estimated time of arrival
 =========================
 

mercurial