<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>tibleiz.net</title>
  <subtitle>Browse aymeric&#39;s, an independent, searchable archive of readable snapshots from followed feeds, preserved in Git with aggr.</subtitle>
  <id>https://aggr.aymericbeaumet.com/sources/tibleiz.net/</id>
  <link rel="alternate" type="text/html" href="https://aggr.aymericbeaumet.com/sources/tibleiz.net/"/>
  <link rel="self" type="application/atom+xml" href="https://aggr.aymericbeaumet.com/sources/tibleiz.net/atom.xml"/>
  <updated>2026-10-30T19:09:33+00:00</updated>
  <author>
    <name>aymeric&#39;s</name>
  </author>
  <generator version="2.0.0" uri="https://github.com/aymericbeaumet/aggr">aggr</generator>
  <entry>
    <id>urn:aggr:item:643999bce5890ac0f61b8f85900bd1ad9e72b1fb</id>
    <title type="text">Copper – A minimal low-level programming language with OOP and generics</title>
    <link rel="alternate" type="text/html" href="https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-30-copper-a-minimal-low-level-programming-language-with-oop/"/>
    <link rel="via" type="text/html" href="https://tibleiz.net/copper/"/>
    <published>2026-10-30T19:09:33+00:00</published>
    <updated>2026-10-30T19:09:33+00:00</updated>
    <author>
      <name>bogdanoff_2</name>
    </author>
    <category term="news"/>
    <source>
      <title>Hacker News: Front Page</title>
    </source>
    <summary type="text">Copper is a programming language that I use as a replacement to C. The main differences are: Minimalism is the most important feature, the language is intended to be simple so that someone with limited brain power such as me could fully…</summary>
    <content type="html">&lt;p&gt;Copper is a programming language that I use as a replacement to C. The main differences are:&lt;/p&gt;
&lt;p&gt;Minimalism is the most important feature, the language is intended to be simple so that someone with limited brain power such as me could fully understand it. The syntax is simple, almost everything is explicit and most constructs are common.&lt;/p&gt;
&lt;p&gt;A simple example beyond the pointless &amp;quot;hello world&amp;quot;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;span class=&quot;code-snippet&quot; data-language=&quot;Ruby&quot;&gt;&lt;span class=&quot;syntax-source syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-meta syntax-class syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-keyword syntax-control syntax-class syntax-ruby&quot;&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-class syntax-ruby&quot;&gt; &lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-class syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-entity syntax-name syntax-class syntax-ruby&quot;&gt;Point&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-class syntax-ruby&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;syntax-keyword syntax-other syntax-special-method syntax-ruby&quot;&gt;attr&lt;/span&gt; &lt;span class=&quot;syntax-constant syntax-other syntax-symbol syntax-ruby&quot;&gt;x&lt;span class=&quot;syntax-punctuation syntax-definition syntax-constant syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;
    &lt;span class=&quot;syntax-keyword syntax-other syntax-special-method syntax-ruby&quot;&gt;attr&lt;/span&gt; &lt;span class=&quot;syntax-constant syntax-other syntax-symbol syntax-ruby&quot;&gt;y&lt;span class=&quot;syntax-punctuation syntax-definition syntax-constant syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;

    &lt;span class=&quot;syntax-meta syntax-function syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-keyword syntax-control syntax-def syntax-ruby&quot;&gt;def&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-entity syntax-name syntax-function syntax-ruby&quot;&gt;init&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-begin syntax-ruby&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-ruby&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-parameter syntax-ruby&quot;&gt;y&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-end syntax-ruby&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;syntax-variable syntax-language syntax-ruby&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-ruby&quot;&gt;=&lt;/span&gt; x
        &lt;span class=&quot;syntax-variable syntax-language syntax-ruby&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-ruby&quot;&gt;=&lt;/span&gt; y
    &lt;span class=&quot;syntax-keyword syntax-control syntax-ruby&quot;&gt;end&lt;/span&gt;

    &lt;span class=&quot;syntax-meta syntax-function syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-keyword syntax-control syntax-def syntax-ruby&quot;&gt;def&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-entity syntax-name syntax-function syntax-ruby&quot;&gt;translate&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-begin syntax-ruby&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-variable syntax-parameter syntax-ruby&quot;&gt;dx&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-parameter syntax-ruby&quot;&gt;dy&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-default-value syntax-ruby&quot;&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-meta syntax-function syntax-parameters syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-end syntax-ruby&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;syntax-variable syntax-language syntax-ruby&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;x &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-augmented syntax-ruby&quot;&gt;+=&lt;/span&gt; dx
        &lt;span class=&quot;syntax-variable syntax-language syntax-ruby&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;y &lt;span class=&quot;syntax-keyword syntax-operator syntax-assignment syntax-augmented syntax-ruby&quot;&gt;+=&lt;/span&gt; dy
    &lt;span class=&quot;syntax-keyword syntax-control syntax-ruby&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;syntax-keyword syntax-control syntax-ruby&quot;&gt;end&lt;/span&gt;

func &lt;span class=&quot;syntax-constant syntax-other syntax-symbol syntax-ruby&quot;&gt;main&lt;span class=&quot;syntax-punctuation syntax-definition syntax-constant syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Int&lt;/span&gt;
    var &lt;span class=&quot;syntax-constant syntax-other syntax-symbol syntax-ruby&quot;&gt;pt&lt;span class=&quot;syntax-punctuation syntax-definition syntax-constant syntax-ruby&quot;&gt;:&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;syntax-variable syntax-other syntax-constant syntax-ruby&quot;&gt;Point&lt;/span&gt;&lt;span class=&quot;syntax-keyword syntax-operator syntax-logical syntax-ruby&quot;&gt;!&lt;/span&gt;
    pt&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;init&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-begin syntax-ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;syntax-constant syntax-numeric syntax-ruby&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;syntax-constant syntax-numeric syntax-ruby&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-end syntax-ruby&quot;&gt;)&lt;/span&gt;
    pt&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;translate&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-begin syntax-ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;syntax-constant syntax-numeric syntax-ruby&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;syntax-constant syntax-numeric syntax-ruby&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-end syntax-ruby&quot;&gt;)&lt;/span&gt;
    println&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-begin syntax-ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;syntax-string syntax-quoted syntax-double syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-begin syntax-ruby&quot;&gt;&amp;quot;&lt;/span&gt;x = &lt;span class=&quot;syntax-constant syntax-character syntax-escape syntax-ruby&quot;&gt;\a&lt;/span&gt;, y = &lt;span class=&quot;syntax-constant syntax-character syntax-escape syntax-ruby&quot;&gt;\a&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-end syntax-ruby&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; pt&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;x&lt;span class=&quot;syntax-punctuation syntax-separator syntax-ruby&quot;&gt;,&lt;/span&gt; pt&lt;span class=&quot;syntax-punctuation syntax-accessor syntax-ruby&quot;&gt;.&lt;/span&gt;y&lt;span class=&quot;syntax-punctuation syntax-definition syntax-group syntax-end syntax-ruby&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;syntax-keyword syntax-control syntax-pseudo-method syntax-ruby&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;syntax-constant syntax-numeric syntax-ruby&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;syntax-keyword syntax-control syntax-ruby&quot;&gt;end&lt;/span&gt;

import &lt;span class=&quot;syntax-string syntax-quoted syntax-double syntax-ruby&quot;&gt;&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-begin syntax-ruby&quot;&gt;&amp;quot;&lt;/span&gt;std&lt;span class=&quot;syntax-punctuation syntax-definition syntax-string syntax-end syntax-ruby&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Copper is released under the BSD license.&lt;/p&gt;
</content>
  </entry>
</feed>
