Live data from Hacker News

Buzz: A lightweight statically typed scripting language

buzz-lang.dev

71–80 of 91 posts

Re: Buzz: A lightweight statically typed scripting language

#71
post #62

Earlier quoted context omitted.

If you don't want to run awkward searches through your main Google account, DuckDuckGo provides decent results.

I didn't know DuckDuckGo could find me results about a particular person's preferences. Yes you can Google pretty much anything that you can have a conversation about and never speak to anyone. What is your point?

Not really sure he has one. I was confused too.

Re: Buzz: A lightweight statically typed scripting language

#72
post #31

Yes! We're finally challenging the notion that scripting languages must inheritly be dynamically typed. Some say that types are too much of an overhead for small programs but I find it impossible to reason about the design of software without types. I even opt for TS over JS for throwaways...

There are no such things as "scripting language" -- any language is a scripting language if you write a script (i.e. a program that automates another program) in it. All languages are both statically typed and dynamically typed. Or, if you want to be precise: statically checked and dynamically checked. Static vs dynamic refers to whether a check is performed before the program is run or when the program is run. It's…

[deleted]

Re: Buzz: A lightweight statically typed scripting language

#73
post #31

Yes! We're finally challenging the notion that scripting languages must inheritly be dynamically typed. Some say that types are too much of an overhead for small programs but I find it impossible to reason about the design of software without types. I even opt for TS over JS for throwaways...

There are no such things as "scripting language" -- any language is a scripting language if you write a script (i.e. a program that automates another program) in it. All languages are both statically typed and dynamically typed. Or, if you want to be precise: statically checked and dynamically checked. Static vs dynamic refers to whether a check is performed before the program is run or when the program is run. It's…

There are no such things as “serving spoons” — any spoon is a serving spoon if you serve something with it.

There are no such things as “desert spoons” — any spoon is a desert spoon if you eat desert with it.

Don’t get me started on whether or not teaspoons exist.

This is such a pointless observation given the world has really come down heavily on the side of sanity, which is to say yes clearly any language can be used for scripting but “scripting languages” are those languages for which writing scripts is the primary purpose. Just like, while you can serve food with any spoon in a pinch, if you really want a spoon that is specialised for serving, a serving spoon is what you are crying out for.

If everyone understands exactly what they mean when they say “scripting language” or “statically typed” and these terms are frequently used to bootstrap understanding of other languages, are they really wrong to use those terms? This isn’t “nonsense taxonomy”, it’s using language in the normal way for the purposes of communicating with human beings, which is something most people try to do.

Re: Buzz: A lightweight statically typed scripting language

#74
We don’t need any more computer languages. Still, you will run right off and invent another one. Let me guess, your amazing new language uses IEEE-754 math and fixed-precision integers. Your amazing new language is broken.

https://www.quora.com/What-are-some-things-that-only-someone...

Re: Buzz: A lightweight statically typed scripting language

#76
post #68

Earlier quoted context omitted.

I love me some F#, but F# isn't a scripting, and it's compile times were pretty terrible the last time I used it on Linux. It's been a while, though, so maybe things have improved.

Why do you say it's not a scripting language? You can write .fsx files and run them as scripts, and there's a nice REPL. Using Polyglot Notebooks, you can even combine several languages, including F# and PowerShell, and documentation and run the notebooks as scripts. Were you running F# with modern .NET, i.e., .NET5+?

F# is a compiled language

Re: Buzz: A lightweight statically typed scripting language

#77

What makes a language a "scripting" one?

I think it’s the ease of doing common operations and writing common programs. Maybe it’s easier to classify what isn’t a scripting language.

I like Go, but to me it isn’t a scripting language like Python and Ruby because it has less ergonomic APIs for common operations (especially for strings and slices). Rather, Go prefers a literal representation of what’s going on in memory. For instance, there’s no “str1[1:5] + str2[1]” api, or you append to a slice with “s2 = append(s1, newElement)”. You can’t just “s1 + newElement”. I think Go’s reasoning is that it likes to avoid less literal features like operator overloading, and append() hints that a heap allocation might occur. But in a scripting language, you shouldn’t care that a heap allocation occurs and instead should choose a more concise and ergonomic api.

Java isn’t a scripting language because it’s so wordy.

Rust isn’t a scripting language because its type system and borrow checker are a bit too much.

Haskell isn’t a scripting language because monads and lazy execution are a bit much.

When I think of scripting languages like Python and Ruby, they focus on making common scripting type tasks easy, which often involves giving the programming less control over the machine. But at the same time, they don’t introduce any opinionated language abstractions like monads, a borrow checker, and actor threading model, etc. It also just shouldn’t be that wordy or type-heavy in a way that would slow down prototyping.

Traditional scripting languages have been dynamically types. But I think they can still be statically typed (like this language is trying to do). There isn’t a hard boundary, but once you are “too far into the weeds”, you notice that you are too far into weeds and not in scripting language territory anymore.

Re: Buzz: A lightweight statically typed scripting language

#79

Earlier quoted context omitted.

For me it's when it's useful for writing adhoc utility tools distributed as source, and directly runnable from source code in the terminal and without requiring a manual compilation step (but maybe requiring installing a runtime). E.g. Python, JS/TS with node.js/deno, Lua, Bash, Powershell qualify as scripting language, but C, C++, Rust are not. Of course there's a grey area of compilers which allow compiling and run…

Sorry, but I strongly disagree with your explanation. It seems to categorize languages on the basis of what tools are available or widely used. That's not a property of languages. A language can be designed once and then interpreters and compilers (and transpilers) can be made available for it. Python is a classic example: it's most commonly interpreted, but can be compiled when performance matters. C is usually comp…

Slight correction: TCC is not interpreting the source file - it compiles and links the program and then runs it.

Re: Buzz: A lightweight statically typed scripting language

#80

Earlier quoted context omitted.

There are no such things as "scripting language" -- any language is a scripting language if you write a script (i.e. a program that automates another program) in it. All languages are both statically typed and dynamically typed. Or, if you want to be precise: statically checked and dynamically checked. Static vs dynamic refers to whether a check is performed before the program is run or when the program is run. It's…

There are no such things as “serving spoons” — any spoon is a serving spoon if you serve something with it. There are no such things as “desert spoons” — any spoon is a desert spoon if you eat desert with it. Don’t get me started on whether or not teaspoons exist. This is such a pointless observation given the world has really come down heavily on the side of sanity, which is to say yes clearly any language can be us…

It seems like the term "scripting language" has become a pejorative; denigrating a programming language as somehow less worthy for "serious" programs than non-scripting languages. To me, when I hear someone describe a language as a scripting language, it says more about how they think about programming than the functionality and applicability of a language for solving different classes of problems.

I'm coming to think different programing languages are more like a patois or creole. an expression of ideas shaped by the speaker's thoughts and experience in the world. Sometimes the patois de jour taps into a common experience (e.g. python) or not (e.g. forth).

Post reply on HN