<story><title>Kore: a fast web server for writing web apps in C</title><url>https://kore.io</url></story><parent_chain><item><author>byuu</author><text>I&amp;#x27;ve been building an HTTP&amp;#x2F;1.1 server in C++11. Along with a C++ wrapper around SQLite, I&amp;#x27;ve been having a lot of fun putting some lightweight forum software together. I definitely enjoy the code structure and compile-time safety over PHP.&lt;p&gt;Using a threaded model with tiny stacks, and std::lock_guard for atomic operations.&lt;p&gt;The biggest downside is you have to run the same OS your server uses on your dev box (which is what I do); or you have to upload the source and compile the binaries on your server directly. (or have fun with cross-compilation, I guess.)&lt;p&gt;To answer the inevitable &amp;quot;why?&amp;quot; -- for fun and learning. Kind of cool to have a fully LAMPless website+forum in 50KB of code. Not planning to displace nginx and vBulletin at a Fortune 500 company or anything.&lt;p&gt;Still wishing I could do HTTPS without requiring a complex third-party library.</text></item><item><author>randomfool</author><text>I&amp;#x27;m curious- why C? Strings, scoped objects and C++11 move operators seems much safer and clearer from an API perspective.&lt;p&gt;The complaints about C++ seem to mostly be around the ability to abuse the language, not specific issues that C solves. Something like &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;proxygen&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;proxygen&lt;/a&gt; seems like a better API.&lt;p&gt;And I don&amp;#x27;t quite buy portability- if it&amp;#x27;s not a modern compiler with decent security checks then I&amp;#x27;m note sure it should be building web-facing code.</text></item></parent_chain><comment><author>giovannibajo1</author><text>Go would solve the problems you mentioned (cross compilation and HTTPS support), and would also offer first-level support to many web concepts and protocols that you need to implement from scratch in C++ as the ecosystem is not there. Of course if it&amp;#x27;s just for fun, then anything goes :)</text></comment>
<story><title>Kore: a fast web server for writing web apps in C</title><url>https://kore.io</url></story><parent_chain><item><author>byuu</author><text>I&amp;#x27;ve been building an HTTP&amp;#x2F;1.1 server in C++11. Along with a C++ wrapper around SQLite, I&amp;#x27;ve been having a lot of fun putting some lightweight forum software together. I definitely enjoy the code structure and compile-time safety over PHP.&lt;p&gt;Using a threaded model with tiny stacks, and std::lock_guard for atomic operations.&lt;p&gt;The biggest downside is you have to run the same OS your server uses on your dev box (which is what I do); or you have to upload the source and compile the binaries on your server directly. (or have fun with cross-compilation, I guess.)&lt;p&gt;To answer the inevitable &amp;quot;why?&amp;quot; -- for fun and learning. Kind of cool to have a fully LAMPless website+forum in 50KB of code. Not planning to displace nginx and vBulletin at a Fortune 500 company or anything.&lt;p&gt;Still wishing I could do HTTPS without requiring a complex third-party library.</text></item><item><author>randomfool</author><text>I&amp;#x27;m curious- why C? Strings, scoped objects and C++11 move operators seems much safer and clearer from an API perspective.&lt;p&gt;The complaints about C++ seem to mostly be around the ability to abuse the language, not specific issues that C solves. Something like &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;proxygen&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;facebook&amp;#x2F;proxygen&lt;/a&gt; seems like a better API.&lt;p&gt;And I don&amp;#x27;t quite buy portability- if it&amp;#x27;s not a modern compiler with decent security checks then I&amp;#x27;m note sure it should be building web-facing code.</text></item></parent_chain><comment><author>Canada</author><text>I find this so much more pleasant to use than the alternatives. There&amp;#x27;s a portable distribution of it which you can put in your project and statically link.&lt;p&gt;&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.openbsd.org&amp;#x2F;cgi-bin&amp;#x2F;man.cgi&amp;#x2F;OpenBSD-current&amp;#x2F;man3&amp;#x2F;tls_accept_fds.3?query=tls_init&amp;amp;sec=3&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.openbsd.org&amp;#x2F;cgi-bin&amp;#x2F;man.cgi&amp;#x2F;OpenBSD-current&amp;#x2F;man3&amp;#x2F;...&lt;/a&gt;</text></comment>