Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ilyash
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
ilyash
5y ago
Here is a bit of history which might shed some light on the decision. First and very partial implementation - JavaScript. It was a prototype which I knew I will be throwing away... and I did. Second attempt, also very partial - Lisp. I used
62.
▲
by
ilyash
5y ago
Hi! Author here. > This seems to be more a simple programming language than a shell. Currently it's only a programming language. The interactive part will be implemented in the NGS language itself. > simple programming language S
63.
▲
by
ilyash
5y ago
Hello! Author here. AMA here or in Discord - https://discord.gg/6VqgcpM
64.
▲
by
ilyash
5y ago
Comparing shamelessly to my own Next Generation Shell, puting aside the completely insane syntax matters that nobody today would do or accept (such as $x expanding to zero or more arguments). cleaning up temp files Use TmpFile. It is auto
65.
▲
by
ilyash
5y ago
Welcome to (shameless plug) Next Generation Shell. It's a modern programming language for DevOps. It is both concise for running external programs (uses small subset of bash syntax) and it is a "real" programming language wit
66.
▲
by
ilyash
5y ago
It's always the same trajectory with declarative programming. It starts with "it's just configuration, we need something simple". Then users come with use cases which are more complex. Then you have programming language
67.
▲
by
ilyash
5y ago
> successful As in not throwing exception or as in evaluates to true? > exit code is > 0 You refused to get into specific exit codes for specific programs citing potentially surprising behavior (which I agree will sometimes be an i
68.
▲
by
ilyash
5y ago
> there isn't really an entry point in murex scripts I have a nice trick in NGS for that. Under the idea that "small scripts should not suffer", script is running top to bottom without "entry point". However, if
69.
▲
by
ilyash
5y ago
Somehow I noticed more footguns in bash than in utilities.
70.
▲
by
ilyash
5y ago
> the mystery behind function overloading In NGS the common case for multiple dispatch would be to define your own type and then add methods to existing multimethod to handle that type; additionally I've simplified the dispatch algo
71.
▲
by
ilyash
5y ago
Wow, that's a bunch of reading to do :) > I've not heard of the term "multiple dispatch" https://en.wikipedia.org/wiki/Multiple_dispatch (includes example from NGS too) In NGS, multiple dispatch
72.
▲
by
ilyash
5y ago
> being programmer-first is not always a desirable feature. programming-language-first allows convenient scripting. I could not think of a way to make anything shell-first be convenient for scripting (anything beyond tiny scale). > hi
73.
▲
by
ilyash
5y ago
NGS is programming-language-first while other modern shells are typically shell-first. Multiple dispatch would probably be the most prominent manifestation of this approach in NGS.
74.
▲
by
ilyash
5y ago
Sorry. "elegant" here triggered. https://ilya-sher.org/2021/03/19/running-elegant-bash-on-sim...
75.
▲
by
ilyash
5y ago
> writing shell scripts in Python to be cumbersome because whatever flavor of os.system() I end up using just doesn't work well syntactically. This is exactly how I felt. Bash can't handle structured data well. Python (being ge
76.
▲
Failed Stealing from Python
(ilya-sher.org)
1 points
by
ilyash
5y ago
|
0 comments
77.
▲
by
ilyash
5y ago
> Not all thoughts are concise and straightforward. That's not a problem that can be solved. My observation is that inexperienced programmers have this kind of mess in their head. No programming language can help with that. Hard to
78.
▲
by
ilyash
5y ago
I see what you mean. I am more focused on personal perspective (all languages suck). It's good to be more aware about the perspective. I'll also try to look from the suggested perspective too. Thanks!
79.
▲
by
ilyash
5y ago
Resonates. I typically say that my programming language should just suck less than others for intended use cases .
80.
▲
by
ilyash
5y ago
> specific way in which it sucks. This I don't have objective data but it seems that I'm reaching the "they did what?" pretty quickly when I read about yet another language. Don't need to start using it even.
81.
▲
by
ilyash
5y ago
I'm working on my own programming language since 2013 so I am thinking about programming quite a bit. So here is the summary of those years: * All programming languages suck. We are not there yet as humanity. I can not think outside of
82.
▲
by
ilyash
5y ago
Shameless plug follows. I think shells are horrible not only from (today's) programming perspective but also from UI/UX perspective. In response to commands, shells dump text to your screen: from stdout, from stderr, from differen
83.
▲
by
ilyash
5y ago
Looks pretty close :) What happens in ABS if curl fails in this example? Or JSON parsing fails? In NGS, it's an exception with a stack trace. > fun part NGS is mostly use-cases oriented - https://github.com/ngs-lang&
84.
▲
by
ilyash
5y ago
> cumbersome writing commands In NGS, there are two syntaxes: "commands" and "expressions". Commands is bash-like. It's for running external programs. Need some fancy stuff? Switch to expressions and pay the pric
85.
▲
by
ilyash
5y ago
> A little collaboration is fine, .... Bezos structured Amazon so that teams were as independent as possible. Maybe too much independent? It looks like AWS had roughly zero collaboration between teams. I wonder how they even get IAM to w
86.
▲
by
ilyash
5y ago
Hello. Author of Next Generation Shell [1] here. I've skimmed ABS documentation and was surprised by the amount of similarities in thinking and reasoning between ABS and Next Generation Shell. Differences that popped into my head in li
87.
▲
by
ilyash
5y ago
Before there are 10 people with "there is a library for that in Python" (because they are not and can not be ergonomic enough): Next Generation Shell is a "real" programming language. It also has syntax for calling ext
88.
▲
by
ilyash
5y ago
My rant about “elegant” and “bash” in the same sentence: https://ilya-sher.org/2021/03/19/running-elegant-bash-on-sim...
89.
▲
by
ilyash
5y ago
This is how you "integrate" `jc` with Next Generation Shell ( https://github.com/ngs-lang/ngs ): data = ``jc PROGRAM ARGS ...`` The double-backtick syntax runs the external program, `jc` in our case,
90.
▲
by
ilyash
5y ago
Opinion: Today's shells should have structured data; `jq` is a symptom of a shell that can't handle structured data. https://ilya-sher.org/2018/09/10/jq-is-a-symptom/ My bias: I'm the auth
More ›