this post was submitted on 05 Jan 2026
6 points (71.4% liked)

Programming

24386 readers
345 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
6
Meeting Seed7 (genodians.org)
submitted 1 week ago* (last edited 1 week ago) by strlcpy@lemmy.sdf.org to c/programming@programming.dev
 

A strongly typed programming language. Interpreted and compiled. Performance in the ballpark of C. Memory-safe since decades. I feel embarrased to admit that I had been totally unaware of Seed7 until mere two months ago.

you are viewing a single comment's thread
view the rest of the comments
[–] anton@lemmy.blahaj.zone 4 points 1 week ago

Memory-safe since decades.

It's just reference counting with some common sense optimisations. From the website I can't quite make out wether they disallow cyclic data structures or just leek them, but I'm guessing it's the latter.

Also the only thing worse than one-indexed arrays (the default) is allowing user defined array start.

I feel embarrased to admit that I had been totally unaware of Seed7 until mere two months ago.

Don't be, there are so many out there, no need to be embarrassed for not knowing a language that prides itself on lot having fortran style line length limit.
After slogging through vhdl, I personally will not voluntarily use a language that forces me to write out stuff like

      end if;
    end for;
  end func;

when three } would work just as well.
Similar deal with

const proc: main is func
  local
    # local variables go here 
  begin
    # finally, the actual code can begin

where proc means func void so essentially const func void main is func begin. Just default to const, remove the redundant funcs and allow locals to go where they are used, not all up front, even when they are only used in one branch.