Sucksβ

That's βeta!
On that stage we collecting information from any sources and trying to structure it into friendly, readable format. If you interested - feel free to help us with infromation contributions or donate on patreon.

Your Language Sucks → read what good page must contain and then add new page or update existing page

What does good page must contain

Here is list of basic “chapters” of good article with title “Why <language> sucks”. They are not mandatory - you may add your own or replace existing items, but we encourage you to cover all aspects of language at least with following parts:

  1. Syntax - if language’s syntax is fucked.
  2. Types - if language’s type system is fucked.
  3. Missing features - if language miss any mandatory features.
  4. Perfomance - especially for scripting languages is the most problematic part.
  5. Toolchain - if tooling around language is fucked.
  6. Community - if language’s maintainers/contributors are ignore community, rejects proposals or community do something weird.

But strict “1. Reason, 2. Reason, 3. Reason” without any explanation, code examples, links to benchmarks or other related resources is not very usable, especially for newcomers. So, try to add som good references (for you website/blog/git too, if it’s good for topic).

How to add new language page

---
layout: language
title: <Language Name>
author: <your name>
---

Example:

---
title: PHP
layout: language
date: 2017
author: theory.org
---
# Syntax

* Reason 1 - description `some code example`
* Reason 2 - yet again, description and `some code example`
* ...

echo("code listings with examples are good idea!\n");

# Types

* Reason 1 - description `some code example`
* Reason 2 - yet again, description and `some code example`
* ...

# Missing features

* Feature 1 - description
* Feature 2 - description
* ...

# Toolchain

* Reason 1 - description `some code example`
* Reason 2 - yet again, description and `some code example`
* ...

# Community

* Reason 1 - description
* Reason 2 - yet again, description
* ...

Example (result on website):

* `'0'`, `0`, and `0.0` are false, but `'0.0'` is true
* Because it's [a fractal of a bad design](https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/) and it [makes me sad](http://phpsadness.com/).
* The documentation is not versioned. There is a single version of the docs that you are supposed to use for php4.x, php5, php5.1...
* There is no general concept of an identifier. Some identifiers (like variable names) are case sensitive, others case insensitive (like function calls):

 $x = Array();
 $y = array();
 $x == $y; # is true
 $x = 1;
 $X = 1;
 $x == $X; # is true

aaaand create a Pull Request. Your submission will be reviewed and merged to website ASAP.

How to update existing page