Silicon

Languages and libraries

web framework

SHOW HN2015

140points
37comments
#152of 2,565 in 2015
Top 6%of 2015 by points

How HN took it

MixedNo clear lean

7 positive, 8 neutral or asking, 1 mixed, 5 critical, out of 21 comments about the project. Thread score 0.00.

Idea: 3 for, 2 againstPerformance: 2 for, 1 againstDesign: 0 for, 2 againstDocs: 1 for, 0 againstExecution: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Performance potential of a lightweight C++ web framework

    From 2 comments
    • I like the concepts behind this framework, even if the '@' symbol is debatable. I think, combined with something like CodeSynthesis' ODB ORM (which apparently supports migrations…
      sighype on HN
    • the point of this kind of thing is that it can allow super fast performance for critical endpoints: Suppose your app consumes a JSON api and it turns out that one or two…
      grandalf on HN
  • Modern C++ reduces verbosity, making it practical for web APIs

    From 2 comments
    • New features like auto and lambdas reduce C++'s verbosity to manageable levels. In many cases it's less verbose than Java.
      api on HN
    • I like the concepts behind this framework, even if the '@' symbol is debatable. I think, combined with something like CodeSynthesis' ODB ORM (which apparently supports migrations…
      sighype on HN
  • Useful sqlite and ORM middleware and CRUD support

    From 1 comment
    • I'll write more about it later, but silicon actually has a nice way to deal with databases. It currently only support sqlite, but it has: - a sqlite middleware: See the example…
      matt42 on HN

Objections

  • The @ preprocessor syntax is confusing and hard to maintain

    From 3 comments
    • The @ definition is insane, something which would never fly in large scale projects. And who names a library function D? If the authors feels typing full meaningful function…
      tttt123 on HN
    • the requirement for pre-processing makes me a bit suspicious, it's going to be a pain to interact with other parts of the toolchain, so i would hope there's a very good reason…
      vitriol83 on HN
    • I really enjoy the C++ language but am incredibly rusty since I haven't had a job in a very long time that requires the knowledge of use of the language. I was actually thinking…
      BinaryIdiot on HN
  • Requiring a preprocessor complicates the toolchain

    From 1 comment
    • the requirement for pre-processing makes me a bit suspicious, it's going to be a pain to interact with other parts of the toolchain, so i would hope there's a very good reason…
      vitriol83 on HN
  • C++14 requirement is not clearly justified

    From 1 comment
    • the requirement for pre-processing makes me a bit suspicious, it's going to be a pain to interact with other parts of the toolchain, so i would hope there's a very good reason…
      vitriol83 on HN
  • No benchmarks and no latency numbers yet

    From 2 comments
    • Where are the benchmarks? Seriously, I'd expect this thing to fly.
      erglkjahlkh on HN
    • > I was able to serve 280k req/second Please don't forget to measure latency - both averages and percentiles :)
      hello_there on HN

Requests

  • Add PostgreSQL support

    From 2 comments
    • That is pretty awesome! Something for postgresql would be great. My stack heavily relies on pg and the other ORMs performance have been disappointing, I need to use something…
      Yadi on HN
    • you actually answered on my question on another reply. I want to make a postgres adapter and use this to retrieve the data, since my current API is written in ruby and it's a bit…
      Yadi on HN
  • Add a benchmark with latency measurements

    From 2 comments
    • > I was able to serve 280k req/second Please don't forget to measure latency - both averages and percentiles :)
      hello_there on HN
    • Where are the benchmarks? Seriously, I'd expect this thing to fly.
      erglkjahlkh on HN
  • Add a comparison with Facebook proxygen

    From 1 comment
    • If the author has seen Facebook proxygen[1] (another C++ http framework), a comparison to it would be helpful. At first glance, it looks like the Silicon dependency microhttpd is…
      jasode on HN
  • Publish on biicode package manager

    From 1 comment
    • Pretty interesting Matt, would you consider uploading to biicode (a C++ deps manager) so that C++ programmers reuse it in there projects?
      MordodeMaru on HN
  • More documentation beyond the README

    From 1 comment
    • This is so exciting! I wanna test it out right now and I have so many questions. are there any more docs than the description on Github readme? I know this sounds very n00b of…
      Yadi on HN

Questions

  • What does the @ symbol do

    From 1 comment
    • I have to admit, I have no idea what the @ symbol does. Can anyone clarify? It can't be a macro, so I assume it's a C++14 feature I'm not aware of.
      TillE on HN
  • Can it be done with a plain macro instead of a preprocessor

    From 1 comment
    • Could it not have been expressed with just a macro? EDIT: Down votes? lol
      acron0 on HN
  • Can it serve raw data as an API layer

    From 1 comment
    • This is so exciting! I wanna test it out right now and I have so many questions. are there any more docs than the description on Github readme? I know this sounds very n00b of…
      Yadi on HN

Alternatives named

  • Facebook proxygen

    From 1 comment
    • If the author has seen Facebook proxygen[1] (another C++ http framework), a comparison to it would be helpful. At first glance, it looks like the Silicon dependency microhttpd is…
      jasode on HN
  • Tree frog framework

    From 1 comment
    • This is so exciting! I wanna test it out right now and I have so many questions. are there any more docs than the description on Github readme? I know this sounds very n00b of…
      Yadi on HN
  • ZLang preprocessor library

    From 1 comment
    • Actually using [ZLang](https://github.com/pfultz2/ZLang), you could define them like this: ``` #define IOD_DEFINE_SYMBOL(name) iod_define_symbol(name, _##name) #define…
      pfultz2 on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/8911217)