Hacker News new | past | comments | ask | show | jobs | submit login

The submission is about a non-standard dialect of Awk. There is zero chance you'll have that on any random system you might want to use. If it's between that and Pyp, why not use Pyp?

And also, in the technology business, you are supposed to make progress happen. Sometimes, that involves making older technology obsolete. Making things obsolete is sometimes good, especially if the older thing has major problems.




> The submission is about a non-standard dialect of Awk

True, but the comment I responded to also has this:

> You won't need to learn Awk

Regardless, let's accept the claim that it's only about non-standard frawk.

> If it's between that and Pyp, why not use Pyp?

Because, as the instructions[0] point out

> Run pip install pypyp (note the extra "yp"!)

> pyp requires Python 3.6 or above.

It's necessary to install pip and Python at least to do so, I expect that I can produce a binary for frawk and drop it in far more easily. I'm not even sure what advantage Pyp has over using a Python REPL (or Ruby or perl etc).

> And also, in the technology business, you are supposed to make progress happen.

I do that by writing good code and improving processes.

As I've pointed out, I fail to see how needing to include the Python ecosystem is "progress" over a binary that is tiny, fast, and works. Calling things obsolete because they're "old" is the argument of a teenager. I apologise if that sounds rude, but I don't know how else to put it, that's what it is.

[0] https://github.com/hauntsaninja/pyp


> As I've pointed out, I fail to see how needing to include the Python ecosystem is "progress" over a binary that is tiny, fast, and works. Calling things obsolete because they're "old" is the argument of a teenager. I apologise if that sounds rude, but I don't know how else to put it, that's what it is.

That is indeed rude. And it's not what I said. I'm talking about the proliferation of DSLs like Awk in the world of Unix. I think this makes Unix harder to learn. I also think that each DSL has random limitations. I think installing Python libraries is much simpler, and you get more complete tooling, and a gentler learning curve. If each Unix DSL becomes its own Python library, then it's easier to use them together nicely.

Python can be substituted with another Turing-complete language. Why not just use libraries and abbreviate them for command line use?


> I'm talking about the proliferation of DSLs like Awk in the world of Unix

I get that there is a learning curve for Unix. However, a complaint about a "proliferation" in the context of a tool which is decades old seems a bit off. The response here of "just install Python" doesn't work for $random_unix for a variety of reasons. Such reasons include lack of root access or business rules which prevent modification (such as for a production system where you do have root access).

> Python can be substituted with another Turing-complete language. Why not just use libraries and abbreviate them for command line use?

This suggests that we take a tool such as awk which is decades old, stable and efficient and replace it with an equivalent implementation based on an interpreted language. This process would take years to complete and then would end up with a tool which consumes more resources and is slower than the original. I don't see the payoff here.


> That is indeed rude. And it's not what I said.

This is what you wrote.

> And also, in the technology business, you are supposed to make progress happen. Sometimes, that involves making older technology obsolete. Making things obsolete is sometimes good, especially if the older thing has major problems.

Awk does not have "major problems" and I fail to see how I misrepresented you.

Aside from that, Python is newer than perl and Awk and anyone who can write perl can write Awk without too much trouble. If we apply the proliferation principle then what good does having more general purpose languages like Python do?

> I think installing Python libraries is much simpler

Than a single binary? I'm interested, how is it done?

> Why not just use libraries and abbreviate them for command line use?

Chesterton's fence comes to mind. Because they're reliable, quick, are usually preinstalled or easily installed if not, lightweight, well known, and don't require learning a particular programming language nor the install of its comparably giant ecosystem.


Since AWK is DSL for text processing it can be (and usually is) much more elegant and efficient for (surprise!) text processing tasks, than general purpose languages like Python.

Not long ago I was really fascinated by this example I came across: https://pmitev.github.io/to-awk-or-not/Python_vs_awk/.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: