I built the same Web Server in 5 languages. Here’s what I found…

<p>I created the same File Share Server in Rust ( Actix Web ), C++ ( Crow ) , Python ( Django ) and Nodejs ( Express ).&nbsp;<strong>The results will probably surprise you</strong>. I should note that I come from a Nodejs ( Express ) environment and I am going to be&nbsp;<strong>biased</strong>&nbsp;to Express-like frameworks.&nbsp;<a href="https://medium.com/@chriskaykos/create-a-public-file-sharing-server-with-nodejs-reactjs-and-port-forwarding-7e470c787615" rel="noopener">This is the file share application I built and hosted with Port Forwarding</a></p> <p><strong>Edit: I made a follow up, you can&nbsp;</strong><a href="https://medium.com/@chriskaykos/the-complex-dynamics-of-how-expressjs-may-be-faster-than-actix-web-rust-in-some-cases-6eeaed56ddfe" rel="noopener"><strong>view it here</strong></a><strong>.</strong></p> <p><img alt="" src="https://miro.medium.com/v2/resize:fit:630/1*LDHJ4Yqzt4RAeBI_ss_kMA.png" style="height:478px; width:700px" /></p> <h1>The languages and frameworks</h1> <h1>1. Rust ( Actix Web )</h1> <p>Rust is a low-level all purposed language, it is blazingly fast with a TON of features, so many features actually that only&nbsp;<strong>~10%&nbsp;</strong>of coders<strong>&nbsp;</strong>know rust. I chose Actix Web for this although I could have chosen Rocket.rs or Warp but from what I read there is no big difference between all of them. Actix follows is inspired by the Expressjs API.</p> <h1><strong>2. C++ ( Crow )</strong></h1> <p>C++ a 45 year old low-level object-oriented programming language that lurks in almost every electronic device today yet only&nbsp;<strong>22.55%&nbsp;</strong>of programmers know it. There weren&rsquo;t many options to choose from for building this project, in fact I had 2 options: Design a library myself or use Crow. I chose Crow however one tricky thing is that are 2 versions of crow the deprecated and the maintained one, be careful to install the maintained one. Crow is actually a micro web framework, it is just a single file you import. I also used the nlohmann json library for json encoding as it came with more features.</p> <p><a href="https://medium.com/@chriskaykos/i-built-the-same-web-server-in-5-languages-heres-what-i-found-86e546433d3f">Visit Now</a></p>
Tags: C++ web