Cyber is a new language for fast, efficient, and concurrent scripting
cyberscript.dev
cyberscript.dev
- slicing with index or with index+length ? Well, both apparently!
- len() is a method
- ranges and slices have the same syntax
- you can use | to avoid the indentation hell that comes with '''
- true, false and none don't have an upper case first letter
- the lambda design allow for multi lines, despite the language being heavily biased toward statements. And it's using "=>".
- circular imports do not cause errors
- explicit export, although i'd prefer it to be opt in
- lua style ffi
- mapping on dict key/values is the simple case
- CYON is quite interesting
- and of course concurrency and perf from the start
But some of them will cause big troubles:
"errors are values and do not propogate up the call stack by default. Users are not forced to handle errors unless the error value is passed to a typed destination."
Yeah, silent errors in bash scripting taught me I really don't want that.
"The shorthand method for calling functions omits parentheses and commas"
The reason I still can't parse Ruby after 15 years.
Google search is user hostile. Or to drag out that overused cliche, on Google search, the advertisers are the customers, while the attention of people searching the web is the product.
The other reason would be that writing a language takes time, measured in years and decades. Usually you would pick a well-supported language so that you can be assured it won’t disappear before you’ve finished yours.
I’m only just looking through the project now, but would be interested in finding the author’s rationale for writing this in Zig. Seems like with Zig you wouldn’t get any of this, so I’m wondering why go this direction.
Either way, that’s still pretty new as far as languages go these days, and the bus factor still seems to be 1 or at best 3. There has to be some compelling reason that Zig was the choice here and I’m curious.
[1] https://link.springer.com/book/10.1007/978-3-319-63588-0
It could be worse: grandmas could still be using AOL on Windows 95 getting to know a lovely Nigerian prince.
Apropos: ProgressBar95. Where Clippy attacks.
[1] https://link.springer.com/book/10.1007/978-3-319-63588-0
[0]: http://www.megalomaniac.com/%7Eandrew/funny/bloodcyber.html
[1]: https://knowyourmeme.com/memes/i-put-on-my-robe-and-wizard-h...
I put the blame on William Gibson for any other connotation.
What I really want to know when looking at a scripting language is: how easy is it really to embed? Does it have a good debugger? Does it make too many assumptions about how your program works? Can it scale for a larger project? Does it have any interesting features like apis for reflection?
> https://github.com/fubark/cyber/blob/master/docs/docs.md#hel...
> 1 == 2 -- Evaluates to `true`
Is that an error in the doc because I am not sure why this would the case then:
> 1 != 2 -- Evaluates to `true`
Seems very Javascripty to me if it isn’t a typo.
The circular reference handling is neat and something I've never thought of before.
The docs comment about 1==2 and 1!=2 was unrelated. But if the doc was not in error, then it was Javascripty.
Although for my own scripting language, I use Rust. The functional bits make writing compiler programs really fun.
ChatGPT: "ZenScript" "FluxScript" "EchoScript" "QuantumScript" "NimbleScript"
Q: Suggest five more names, but pick names that do not end in "script"
A: "ZenCode" "FluxLang" "EchoCode" "QuantumLang" "NimbleCode"
Q: Can you suggest 5 more names that are not based on existing words?
A: "Krynn" "Nymbl" "Zephyr" "Glimmr" "Vynce"
Kinda cheating to reply to this with s/Script/Lang/ from the previous answer, since those were not 5 more names. I blame it using the same seed for its random number generator : - D
I have news for chatgpt
It's better to use predictable code in production and this language hasn't even been battle-tested yet.
However, as others have observed to you, it's not a good idea to replace your current functional Ansible menagerie with a new unstable language + no framework.
It's probably the set of three words most likely to send me into a corner, crying.
Anyways, if the network is a problem I strongly recommend to have a look to "Ansible pull".
Find a good use case that justifies using an unstable language. This is typically internal developer tooling or testing systems.
Personally I would love a language with better type+test system than python for shuffling json around and math stuff. Python's dict functionality feels like a big fat hack (recusive merging, splitting json, detection of subdict etc) and likewise the xml stuff (there is no guide what xml tooling to use and what is broken in what python version and a third party package is better than libstd).
You can also try it online: https://cyberscript.dev/play.html
Since this is seemingly a byte code or threaded code based VM, your code execution probably also contributes to cache exhaustion.
closures / text or int data ranges and filters(comprehensions)?
databases / sqlite related data processing tools?
"std"-like shim/ boiler plate commands for popular tooling to launch ml / cv tasks, or any tasks that require a bunch of standartized steps?