Need advice about which tool to choose?Ask the StackShare community!
C++ vs listmonk: What are the differences?
Developers describe C++ as "Has imperative, object-oriented and generic programming features, while also providing the facilities for low level memory manipulation". C++ compiles directly to a machine's native code, allowing it to be one of the fastest languages in the world, if optimized. On the other hand, listmonk is detailed as "Self-hosted newsletter + mailing list manager". It is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.
C++ belongs to "Languages" category of the tech stack, while listmonk can be primarily classified under "Email Marketing".
listmonk is an open source tool with 2.68K GitHub stars and 90 GitHub forks. Here's a link to listmonk's open source repository on GitHub.
As a personal research project I wanted to add post-quantum crypto KEM (key encapsulation) algorithms and new symmetric crypto session algorithms to openssh. I found the openssh code and its channel/context management extremely complex.
Concurrently, I was learning Go. It occurred to me that Go's excellent standard library, including crypto libraries, plus its much safer memory model and string/buffer handling would be better suited to a secure remote shell solution. So I started from scratch, writing a clean-room Go-based solution, without regard for ssh compatibility. Interactive and token-based login, secure copy and tunnels.
Of course, it needs a proper security audit for side channel attacks, protocol vulnerabilities and so on -- but I was impressed by how much simpler a client-server application with crypto and complex terminal handling was in Go.
$ sloc openssh-portable Languages Files Code Comment Blank Total CodeLns Total 502 112982 14327 15705 143014 100.0% C 389 105938 13349 14416 133703 93.5% Shell 92 6118 937 1129 8184 5.7% Make 16 468 37 131 636 0.4% AWK 1 363 0 7 370 0.3% C++ 3 79 4 18 101 0.1% Conf 1 16 0 4 20 0.0% $ sloc xs Languages Files Code Comment Blank Total CodeLns Total 34 3658 1231 655 5544 100.0% Go 19 3230 1199 507 4936 89.0% Markdown 2 181 0 76 257 4.6% Make 7 148 4 50 202 3.6% YAML 1 39 0 5 44 0.8% Text 1 30 0 7 37 0.7% Modula 1 16 0 2 18 0.3% Shell 3 14 28 8 50 0.9%
Pros of C++
- Performance204
- Control over memory allocation108
- Cross-platform99
- Fast98
- Object oriented85
- Industry standard59
- Smart pointers48
- Templates38
- Gui toolkits17
- Raii17
- Control14
- Flexibility14
- Generic programming14
- Metaprogramming12
- Hardcore10
- Many large libraries5
- Full-fledged containers/collections API5
- Simple5
- Performant multi-paradigm language4
- Large number of Libraries4
- Way too complicated3
- Close to Reality1
- Plenty of useful features1
Pros of listmonk
Sign up to add or upvote prosMake informed product decisions
Cons of C++
- Slow compilation8
- Unsafe8
- Over-complicated6
- Fragile ABI6
- No standard/mainstream dependency management5
- Templates mess with compilation units4
- Too low level for most tasks3
- Compile time features are a mess1
- Template metaprogramming is insane1
- Segfaults1
- Unreal engine1