Live data from Hacker News

Show HN: Alumina Programming Language

github.com

31–40 of 90 posts

Re: Show HN: Alumina Programming Language

#31
post #18

Earlier quoted context omitted.

That's a strange take. Do you mean that you would rather call external binaries directly, like Bash does, or that you would rather re-implement all functionality you need, however complex?

To me, there is value in the process and craft. It started as a one year challenge to use only stdlib in all projects, for work and personal code, and became a way of life. Though it may not work for everyone, or all languages, or all skillsets, it was a revealing experience. In retrospect, it made sense given that in my community we make our own furniture, instruments, tools, foods from whole items. Code seemed like…

I too suffer from obessively overcoming challenges. I will say this, in a snarky and friendly way. I hope you understand.

If developing with high level abstractions wasn't challenging enough, your vision was too small. Surely you can think of a problem to solve that even Copilot would be of little use.

Imagine what you could build if you got a little more help from third party libs and a little more ambition?

Re: Show HN: Alumina Programming Language

#33
post #31
post #18

Earlier quoted context omitted.

To me, there is value in the process and craft. It started as a one year challenge to use only stdlib in all projects, for work and personal code, and became a way of life. Though it may not work for everyone, or all languages, or all skillsets, it was a revealing experience. In retrospect, it made sense given that in my community we make our own furniture, instruments, tools, foods from whole items. Code seemed like…

I too suffer from obessively overcoming challenges. I will say this, in a snarky and friendly way. I hope you understand. If developing with high level abstractions wasn't challenging enough, your vision was too small. Surely you can think of a problem to solve that even Copilot would be of little use. Imagine what you could build if you got a little more help from third party libs and a little more ambition?

I appreciate you for relating your experience. It's not ambition or challenge that is lacking, we are what's commonly called 'Amish'. This is just how we do things.

https://en.wikipedia.org/wiki/Simple_living

https://en.wikipedia.org/wiki/Nonconformity_to_the_world

I'm sure this creates more questions than it answers, however, I hope it lends some context as to how we've both arrived at our own respective happy milieus.

Re: Show HN: Alumina Programming Language

#34
post #21
post #17

I really don’t like the cognitive load of having to remember to use defer. We already have the scope defined, why add something extra? IMHO the way it’s used in Go is a workaround, of luck of destructors, not a feature. Edit: not a criticism on your language OP, which is better than what I could have ever built. Just a comment in the “defer” trend.

Scoped destruction is awesome in general, and I agree that it is superior to defer. I think one case where defer might be nicer is for things that are not strictly memory, e.g. inserting some element into a container and removing it after the function finishes (or setting a flag and restoring it). This can be done with a guard object in RAII languages, but it's a bit unintuitive. Defer makes it very clear what is goi…

> This can be done with a guard object in RAII languages, but it's a bit unintuitive

Some syntactic sugar, like Python’s “with” should help with that, shouldn’t it?

Re: Show HN: Alumina Programming Language

#35
post #34
post #21

Earlier quoted context omitted.

Scoped destruction is awesome in general, and I agree that it is superior to defer. I think one case where defer might be nicer is for things that are not strictly memory, e.g. inserting some element into a container and removing it after the function finishes (or setting a flag and restoring it). This can be done with a guard object in RAII languages, but it's a bit unintuitive. Defer makes it very clear what is goi…

> This can be done with a guard object in RAII languages, but it's a bit unintuitive Some syntactic sugar, like Python’s “with” should help with that, shouldn’t it?

Python context managers are actually very similar to guard objects in C++ and Rust.

What I meant was something like this (could also be done with `contextlib`, but it's also verbose)

    seen_names = {}

    class EnsureUnique:
        def __init__(self, name: str):
            self.name = name
        
        def __enter__(self):
            if self.name in seen_names:
                raise ValueError(f"Duplicate name: {self.name}")
            seen_names.add(self.name)

        def __exit__(self, exc_type, exc_value, traceback):
            seen_names.remove(self.name)


    def bar():
        with EnsureUnique("foo"):
            do_something()
            ...
With defer this could be simplified to

    static seen_names: HashSet = HashSet::new();

    fn bar() {
        if !seen_names.insert("foo") {
            panic!("Duplicate name: foo")
        }
        defer seen_names.remove("foo");

        do_something();
    }

Re: Show HN: Alumina Programming Language

#36
post #7

I get that this is mostly for fun, but this is as good a place as any to bring up an issue I rarely see discussed with any post about a new language. Well-established languages have tons of widely used, highly vetted libraries implementing functionality that doesn’t exist in the new language and would be totally impractical for an individual to implement themselves. For example, if I’m doing scientific computing, I n…

Libraries are a farce. Stdlib or die. I 100% mean this and live this.

Would that include things like encryption? No exceptions for your rule?

Re: Show HN: Alumina Programming Language

#37

Quoted post unavailable.

What an odd comment when the post contains this: > It is mostly for fun and exercise in language design, I don't have any grand aspirations for it.

> What an odd comment when the post contains this "It is mostly for fun and exercise in language design, I don't have any grand aspirations for it."

You are being quite generous in calling the comment "odd".

Here are five words to summarize that comment: disparaging, out of context, cruel, speculative, and pessimistic. pipeline_peak can do better. The HN guidelines are a good start.

>> pipeline_peak : Another Rust lookalike to reinvent the wheel, I wonder what’s gonna happen to it in 10 years.

Re: Show HN: Alumina Programming Language

#38
post #27

New language posts have to stop. There are tons of other CS topics to talk about but instead LIPSs ()()()()((((())))) and random langs taka the spotlight on HN.

Well we'll always need language designers and compiler developers, and new ones have got to learn somehow. Creating a toy language seems like a pretty decent way to go about it.

Re: Show HN: Alumina Programming Language

#39

Quoted post unavailable.

Please try to offer some kindness. Or at least accept that people have various motivations and goals. Languages are regularly remixed. Also, "language designer" is not an elite term -- it can be a hobby, a way to learn, and even a way to inspire others.

Perhaps I could invent a spoken language where disparaging remarks are possible but extremely lengthy, thereby discouraging negativity from people in bad moods.

Post reply on HN