4 ms·
Seed7 – Extensible Programming Language
- emmelaich 1y agohttps://en.wikipedia.org/wiki/Seed7 https://en.wikipedia.org/wiki/Seed7
- helix278 1y agoAlthough I'm more of a functional programmer and ADT addict, I still find this language appealing. Reading the manual, it feels like a lot of correct design decision have been made, contrary to languages like C++. Most notably for me: 1) Memory allocation and reference is restricted, leading to less problems with memory management. 2) Syntax is more flexible, allowing for higher levels of abstraction.
- johnisgood 1y agoLooks interesting.
- pepoluan 1y ago"Hello World" really needs to be retired, and "99 Bottles of Beer" should really be a mandatory example program.
- codr7 1y agoI hereby cast my vote for naive recursive Fibonacci. https://github.com/codr7/shi#language https://github.com/codr7/shi#language
- Someone 1y agoWhy? I would try to find a short program that’s somewhat similar to typical real-world code. I wouldn’t know what my #1 choice for that would be, but naive recursive Fibonacci, it would not be. https://www.swift.org/ https://www.swift.org/ has better examples: simple web apps, CLI tools, and embedded code.
- codr7 1y agoBecause the implementation should be familiar to most devs, which makes it easier to see what kind of language you're dealing with. Binary sort would be another candidate for me, but people get it wrong in subtle ways and not every language does array updates. Your examples don't make much sense to me. A web app using what framework? What does that say about the language? CLI apps could work if you could find one that people recognize and that's small enough for an example.
- OtomotO 1y agoThe creator is an incredibly nice and bright person. I love to talk to them at various meetups and one can feel their love for the language and the intricate design of it. It's a bit sad it's such a niche of a niche language.
- codr7 1y agoToo much syntax for me, adding filler words to make it read more like English is a programming language design dead end imo.
- msie 1y agoI’ve never liked the idea of the syntax where functions are declared and then assigned to variables. I guess it’s supposed to be elegant?
- hyperbrainer 1y agoIf functions are first class, then they must be stored as variables. I mean, consider any FP Language.
- msie 1y agoThey can still be first class without declaring them in this manner.
- TurboHaskal 1y agoSure. But if they are first class and you have a mechanism to assign them to variables then there is no need for syntax sugar.
- HappMacDonald 1y agoI am a huge protester to the "constantly abbreviating words" habit in coding. It may have had a place when source code space had drastic limitations, but today "func, proc, writeln, strcpy" are anathema to me. Also I get that a lot of these in Seed7 examples were lifted unchanged from Pascal, but that just means that I dislike those aspects of Pascal as well. I am of the camp "use full English words", and "if the identifier is too long then spend the time needed to find a more concise way to say what you mean in fewer or shorter full English words". Incidentally AI can be pretty good at brainstorming that, which is lovely.
- Jtsummers 1y ago`func` and `proc` are types in this language, so you could define `procedure` and `function` if you want. The other uses of `func` should be changeable with the flexible syntax extensions the language offers, but I haven't dug into that.
- inkyoto 1y ago… yet you have contracted «artificial intelligence» to «AI», have not you? The case for abbreviated keywords will always exist as some will prefer contractions whereas some will have a preference for fully spelled out words. At the opposite side of the spectrum there C / C++ that use neither for functions and procedures but «printf» and «strcpy» – as you have rightfully pointed out which ADA, COBOL and Objective C contrast with ADA: «Is_Valid_User_Access_Level_For_Requested_Operation», «Convert_String_To_Standardised_Date_Format» COBOL: «PERFORM Calculate-Totals VARYING Index FROM 1 BY 1 UNTIL Index > Max-Index» Objective C: «URLSession: dataTask: didReceiveResponse: completionHandler:» I do not think that a universal agreement on the matter is even possible.
- HappMacDonald 1y agoWell the threshold I would like to use is "abbreviations that are easily understood outside of coding jargon are acceptable". You don't have to be a specialist in any specific language to understand "AI" in the wild, or "NASA" or even the names of languagues such as COBOL. But if outside of the context of coding you just say "strcpy" or "writeln" at somebody they're not going to immediately understand. As a result, even coders with tired brains or who are switching between languages a lot will also get hung up at inconvenient times.
- dang 1y agoDiscussed (just barely) in the past. Other threads? Seed7 programming language - https://news.ycombinator.com/item?id=10544046 https://news.ycombinator.com/item?id=10544046 - Nov 2015 (3 comments) Seed7 programming language - https://news.ycombinator.com/item?id=637224 https://news.ycombinator.com/item?id=637224 - June 2009 (2 comments)