4 ms·
The following comment could apply to hundreds of similar submissions to HN in recent years. Many people -- many of them young people I suspect -- have invested
by __b__ 10y ago
The following comment could apply to hundreds of similar submissions to HN in recent years.
Many people -- many of them young people I suspect -- have invested a lot of time learning Javascript. It has become a very popular language.
But it remains to be seen whether Javascript will be as long lasting as the UNIX shell and standard utilties. Historically speaking, computer languages have been known to fall into and out of popular usage.
For people who invested a lot of time learning the shell and ubiquitous utilties such as AWK, it appears the investment has paid off. I'm not too worried about the terminal disappearing any time soon.
How long until the next submission that aims to abtract away the need to learn how to use a UNIX terminal -- directly.
There are probably hundreds more on Github alone. What if we conslidated them all in one place: 1001 attempts to abstract away the need to learn UNIX.
By no means am I suggesting these attempts have not been successful.
What I'm suggesting is that the need for them will not abate. It could be that UNIX terminals, and programs like AWK, are not just a fad.
- sdegutis 10y agoThey're going to continue to pop up, just like JavaScript frameworks will. Because they're not popping up due to any necessity, but because someone (1) learned JavaScript, (2) learned some shell commands, (3) had the epiphany that they could abstract shell commands away using JavaScript, and (4) isn't aware of the previous thousand attempts by others to do the same thing.
- Klathmon 10y agoThat's incredibly dismissive. AWK isn't perfect (nothing is). So that means that there are still improvements that can be made to it. One of the improvements to AWK (or something awk-like) would be to make it have a more familiar syntax to those who don't already know awk. I'll admit, the only thing I use awk for currently is to pull out columns of the output to pass on to the next tool. I know it can do more, but I don't have time to really learn and understand the langauge. While I don't like many things about this project, I really like some of the ideas that it's suggesting. I'd love a "awk but with javascript" where you can use a subset of javascript to work like awk where you can pipe in data and have it output "regular" lines that can be passed to the next tool on the command line. letting me use familiar javascript functions and syntax to map/reduce/filter over lines of input and output plaintext would be amazing. This doesn't quite do that in the way I want, but it's a cool thing nonetheless.
- Aneurysm9_ 10y agoJust gonna leave this here. https://github.com/synacor/dtk https://github.com/synacor/dtk Its filter functions are Perl, but you could do something similar with JS if you were a masochist. No need to build a new shell, though.
- lhnz 10y agoPerhaps there are features from other programming languages that should exist in shell programming? For example, I've always felt that the fact that almost everything in shell programming is a gigantic string is really bad. It would be much nicer if all commands had type signatures, and therefore piping commands into each other could throw type errors if it does not make sense. This would also allow much better feedback when stringing together commands, since the shell IDE would be able to recommend commands that act upon a particular type. For example, if a command produces output that could be considered to be N > 1 lines long then `wc -l` would be available, however if this isn't the case it does not make much sense for it to be recommend to the user.
- dottedmag 10y agoLike in PowerShell?
- deleted 10y ago[deleted]
- lhnz 10y agoI've not used it before and I presume it is Microsoft Windows only.
- Aneurysm9_ 10y agoI'd suggest reading http://www.catb.org/esr/writings/taoup/html/ http://www.catb.org/esr/writings/taoup/html/ to better understand why UNIX is the way that it is.
- lhnz 10y agoI've read it before. So I know that: > Write programs to handle text streams, because that is a universal interface But I also think that: > To build it out of simple parts connected by well-defined interfaces. Many text representations are vastly different, and neither simple or well-defined.
- 10y ago
- patates 10y agoWell, I think, trying to abstract something away does not mean it's a fad, but totally the opposite: It means it's something people think they'll have to deal with a lot, but for whatever reason find it too much of a burden to deal with it directly. It's like the ORMs. None of them mean SQL is a fad, it's just that some people seem to dislike SQL in a programming context.
- __b__ 10y agoYou missed the point. The comment suggests the opposite of what you think it suggests. I guess I need to work on my communication skills.
- oblio 10y agoWhat mainstream languages, especially if standardized or open sourced, have you seen be completely abandoned? Even Cobol, Fortran and Lisp are still active. Javascript as this moment probably has the highest number of programmers using it. It is standardized and has several competing state-of-the-art OSS implementations. It's going go be with us, at least as legacy code, for decades :)
- __b__ 10y agoAgree. Legacy code.