Rocksolid Light

News from da outaworlds

mail  files  register  groups  login

Message-ID:  

You will step on the night soil of many countries.


comp / comp.misc / Re: AWK As A Major Systems Programming Language

SubjectAuthor
* AWK As A Major Systems Programming LanguageBen Collver
+* Re: AWK As A Major Systems Programming LanguageStefan Ram
|+* Re: AWK As A Major Systems Programming LanguageComputer Nerd Kev
||`* Re: AWK As A Major Systems Programming LanguageRichard Kettlewell
|| `* Re: AWK As A Major Systems Programming LanguageStefan Ram
||  +* Re: AWK As A Major Systems Programming LanguageStefan Ram
||  |+- Re: AWK As A Major Systems Programming LanguageRichard Kettlewell
||  |`- Re: AWK As A Major Systems Programming LanguageComputer Nerd Kev
||  `- Re: AWK As A Major Systems Programming LanguageD
|`* Re: AWK As A Major Systems Programming LanguageAnton Shepelev
| `- Re: AWK As A Major Systems Programming LanguageLawrence D'Oliveiro
`* Re: AWK As A Major Systems Programming LanguageLawrence D'Oliveiro
 `* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
  +- Re: AWK As A Major Systems Programming Languageyeti
  +* Re: AWK As A Major Systems Programming LanguageLawrence D'Oliveiro
  |`- Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
  `* Re: AWK As A Major Systems Programming LanguageD
   +- Re: AWK As A Major Systems Programming LanguageAnton Shepelev
   `* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
    `* Re: AWK As A Major Systems Programming LanguageD
     +* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
     |`* Re: AWK As A Major Systems Programming LanguageD
     | `* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
     |  +- Re: AWK As A Major Systems Programming LanguageLawrence D'Oliveiro
     |  `* Re: AWK As A Major Systems Programming LanguageD
     |   `* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
     |    `* Re: AWK As A Major Systems Programming LanguageD
     |     `* Re: AWK As A Major Systems Programming LanguageJohanne Fairchild
     |      +* Re: AWK As A Major Systems Programming LanguageStefan Ram
     |      |`- Re: AWK As A Major Systems Programming LanguageD
     |      +- Re: AWK As A Major Systems Programming LanguageD
     |      `- Re: AWK As A Major Systems Programming Languageyeti
     `* Re: AWK As A Major Systems Programming Languagecandycanearter07
      +* Re: AWK As A Major Systems Programming LanguageLawrence D'Oliveiro
      |+- Re: AWK As A Major Systems Programming Languagecandycanearter07
      |`- Re: AWK As A Major Systems Programming Languagecandycanearter07
      `- Re: AWK As A Major Systems Programming LanguageD

Pages:12
Subject: AWK As A Major Systems Programming Language
From: Ben Collver
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 00:28 UTC
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: bencollver@tilde.pink (Ben Collver)
Newsgroups: comp.misc
Subject: AWK As A Major Systems Programming Language
Date: Sun, 18 Aug 2024 00:28:21 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 950
Message-ID: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 18 Aug 2024 02:28:22 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="02c906ba14bf81adcb4a1af24528889e";
logging-data="2213869"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19K/R4/EfgVV5JBxIkX8Q7yRFmOxUU1QjA="
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:ofk20QCExB49ghDAmCmtIxSnGwI=
View all headers

AWK As A Major Systems Programming Language
===========================================
by Arnold Robbins, June, 2024

Preface
=======
I started this paper in 2013, and in 2015 sent it out for review to
the people listed later on. After incorporating comments, I sent it
to Rik Farrow, the editor of the USENIX magazine ;login: to see if he
would publish it. He declined to do so, for reasonably good reasons.

The paper languished, forgotten, until early 2018 when I came across
it and decided to polish it off, put it up on GitHub, and make it
available from my home page in HTML.

In 2024, I took a fresh look at it, and decided to polish it a little
bit more.

If you are interested in language design and evolution in general,
and in Awk in particular, I hope you will enjoy reading this paper.
If not, then why are you bothering looking at it now?

Arnold Robbins
Nof Ayalon, ISRAEL
June, 2024

1 Introduction
==============
At the March 1991 USENIX conference, Henry Spencer presented a paper
entitled AWK As A Major Systems Programming Language. In it, he
described his experiences using the original version of awk to write
two significant "systems" programs--a clone for a reasonable subset
of the nroff formatter [1], and a simple parser generator.

He described what awk did well, as well as what it didn't, and
presented a list of things that awk would need to acquire in order to
take the position of a reasonable alternative to C for systems
programming tasks on Unix systems.

In particular, awk lies about in the middle of the spectrum between
C, which is "close to the metal," and the shell, which is quite
high-level. A language at this level that is useful for doing systems
programming is very desirable.

This paper reviews Henry's wish list, and describes some of the
events that have occurred in the Unix/Linux world since 1991. It
presents a case that gawk--GNU Awk--fills most of the major needs
Henry listed way back in 1991, and then describes the author's
opinion as to why other languages have successfully filled the
systems programming role which awk did not. It discusses how the
current version of gawk may finally be able to join the ranks of
other popular, powerful, scripting languages in common use today, and
ends off with some counter-arguments and the author's responses to
them.

Acknowledgements
----------------
Thanks to Andrew Schorr, Henry Spencer, Nelson H.F. Beebe, and Brian
Kernighan for reviewing an earlier draft of this paper.

2 That Was Then ...
===================
In this section we review the state of the Unix world in 1991, as
well as the state of awk, and then list what Henry Spencer saw as
missing for awk.

* The Unix World in 1991
* What Awk Lacked In 1991

2.1 The Unix World in 1991
==========================
Undoubtedly, many readers of this paper were not using computers in
1991, so this section provides the context in which Henry's paper was
written. In March of 1991:

* Commercial Unix systems were the norm, with offerings from AT&T,
Digital Equipment Corporation, Hewlett Packard, IBM, Sun
Microsystems, and many others, all vying for market share.
Microsoft Windows existed, but was primarily a layer on top of
MS-DOS and was not taken seriously.
* Very few sites still ran the original Bell Labs or direct-from-UCB
variants of Unix; those did not keep up with the available hardware
and AT&T was itself trying to succeed in the Unix hardware market.
* GNU/Linux did not exist! Some unencumbered BSD variants were
available, but they were still under the cloud of the AT&T/UCB law
suit. [2]
* So-called "new" awk was about 2.5 years old. The book by Aho,
Weinberger and Kernighan was published in October of 1987, so most
people knew about new awk, but they just couldn't get it.

Who could? New awk was available to educational institutions from
the Bell Labs research group, and to those who had Unix source
licenses for System V Releases 3.1, 3.2, and 4. By this time,
source licensees were an extremely rare breed, since the cost for
commercial licenses had skyrocketed, and even for educational
licensees it had increased greatly. [3] If I recall correctly, an
educational license cost around US $1,000, considerably more than
the earlier Unix licenses.

* PERL [4] existed and was starting to gain in popularity. In 1991,
"PERL" most likely meant PERL 3 or a very early version of PERL 4.
The World Wide Web, which was one of the major reasons for PERL's
growth in popularity, had not yet really taken off.
* Other implementations of new awk were available:
+ MKS Awk for PC systems (MS-DOS).
+ GNU Awk was available and relatively stable, but could not be
called "solid."

The problem with the first of these is that source code was not
available. And the latter came with (to quote Henry) "troublesome
licenses." (Actually, Henry no longer remembers whether his
statement about "troublesome licenses" referred to the GPL, or to
the Bell Labs source licenses.)

* Michael Brennan's mawk (also GPL'ed) was not yet available. Version
1.0 was accepted for posting in comp.sources.reviewed on September
30, 1991, half a year after Henry's paper was published.

2.2 What Awk Lacked In 1991
===========================
Here is a summary of what was wrong with the awk picture in 1991.
These are in the same order as presented Henry's paper. We qualify
each issue in order to later discuss how it has been addressed over
time.

* New awk was not widely available. Most Unix vendors still shipped
only old awk. (Here is where he mentions that "the
independently-available implementations either cost substantial
amounts of money or come with troublesome [sic] licenses.") His
point then was that for portability, awk programs had to be
restricted to old awk.

This could be considered a quality of implementation issue,
although it's really a "lack of available implementation"
issue.

* There is no way to tell awk to start matching all its patterns over
again against the existing $0. This is a language design issue.
* There is no array assignment. (Language design issue.)
* Getting an error message out to standard error is difficult.
(Implementation issue.)
* There is no precise language specification for awk. This leads to
gratuitous portability problems. This too is thus a quality of
implementation issue, in that without a specification, it's
difficult to produce uniform, high quality implementations.
* The existing widely available implementation is slow; a much faster
implementation is needed and the best thing of all would be an
optimizing compiler. (Implementation issue.)
* There is no awk-level debugger. (Support tool or quality of
implementation issue.)
* There is no awk-level profiler. (Support tool or quality of
implementation issue.)

In private email, Henry added the following items, saying "there are
a couple more things I'd add now, in hindsight." These are direct
quotes:

* [I can't believe I didn't discuss this in the paper, because I was
certainly aware of it then!] Lack of any convenient mechanism for
adding libraries. When awk is being invoked from a shell file, the
shell file can do substitutions or use multiple -f options, but
those are mechanisms outside the language, and not very convenient
ones. What's really wanted is something like you get in Python
etc., where one little statement up near the top says "arrange for
this program to have the xyz library available when it runs."
* I think it was Rob Pike who later said (roughly): "It says
something bad about Awk that in a language with integrated regular
expressions, you end up using substr() so often." My paper did
allude to the difficulty of finding out where something matched in
old-awk programs, but even in new awk, what you get is a number
that you then have to feed to substr(). The language could really
use some more convenient way of dissecting a string using regexp
matching. [Caveat: I have not looked lately at Gawk to see if it
has one.]

The first of these is somewhere between a language design and a
language implementation issue. The latter is a language design issue.

3 ... And This Is Now
=====================
Fast forward to 2024. Where do things stand?

* What Awk Has Today
* And What GNU Awk Has Today
* So Where Does Awk Stand?

3.1 What Awk Has Today
======================
The state of the awk world is much better now. In the same order:

* New awk is the standard version of awk today on GNU/Linux, BSD, and
commercial Unix systems. The one notable exception is Solaris,
where /usr/bin/awk is still the old one; on all other systems,
plain awk is some version of new awk.
* There remains no way to tell awk to start matching all its patterns
over again against the existing $0. Furthermore, this is a feature
that has not been called for by the awk community, except in
Henry's paper. (We do acknowledge that this might be a useful
feature.)
* There continues to be no array assignment. However, this function
in gawk, which has arrays of arrays, can do the trick nicely. It is
also efficient, since gawk uses reference counted strings
internally:


Click here to read the complete article
Subject: Re: AWK As A Major Systems Programming Language
From: Stefan Ram
Newsgroups: comp.misc
Organization: Stefan Ram
Date: Sun, 18 Aug 2024 11:07 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: 18 Aug 2024 11:07:50 GMT
Organization: Stefan Ram
Lines: 150
Expires: 1 Jul 2025 11:59:58 GMT
Message-ID: <awk-20240818120618@ram.dialup.fu-berlin.de>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de S4GbjtD4tK9JfGVegxdOaAdV6fZ9E5EDUjuEawOyiCIQdo
Cancel-Lock: sha1:ZUEyygIcayv6ExGeWiQ3CII2wkA= sha256:3y4aqSfEZCz0yVLa+I2zT1HR/NfKUiNptO6OVscJ5ZY=
X-Copyright: (C) Copyright 2024 Stefan Ram. All rights reserved.
Distribution through any means other than regular usenet
channels is forbidden. It is forbidden to publish this
article in the Web, to change URIs of this article into links,
and to transfer the body without this notice, but quotations
of parts in other Usenet posts are allowed.
X-No-Archive: Yes
Archive: no
X-No-Archive-Readme: "X-No-Archive" is set, because this prevents some
services to mirror the article in the web. But the article may
be kept on a Usenet archive server with only NNTP access.
X-No-Html: yes
Content-Language: en-US
View all headers

Ben Collver <bencollver@tilde.pink> wrote or quoted:
>AWK As A Major Systems Programming Language

A systems programming language, in my book, is one you can
crank out device drivers in and tap into the platform ABI.

>In retrospect, it seems clear (at least to us!) that there are two
>major reasons that all of the previously mentioned languages have
>enjoyed significant popularity. The first is their extensibility. The
>second is namespace management.

That totally makes me think of the "Zen of Python":

|The Zen of Python, by Tim Peters
| |Beautiful is better than ugly.
|Explicit is better than implicit.
|Simple is better than complex.
|Complex is better than complicated.
|Flat is better than nested.
|Sparse is better than dense.
|Readability counts.
|Special cases aren't special enough to break the rules.
|Although practicality beats purity.
|Errors should never pass silently.
|Unless explicitly silenced.
|In the face of ambiguity, refuse the temptation to guess.
|There should be one-- and preferably only one --obvious way to do it.
|Although that way may not be obvious at first unless you're Dutch.
|Now is better than never.
|Although never is often better than *right* now.
|If the implementation is hard to explain, it's a bad idea.
|If the implementation is easy to explain, it may be a good idea.
|Namespaces are one honking great idea -- let's do more of those!
..

>I have worked for several years in Python. For string manipulation
>and processing records, you still have to write all the manual stuff:
>open the file, read lines in a loop, split them, etc. Awk does all
>this stuff for me.

On the flip side, you can peep it like this: Python's got a solid
set of statement types you can use for everything, making the code
hella readable. Meanwhile, awk's got its bag of tricks for special
cases like file and string processing. Just compare [1] with [2].

[1]

#!/usr/bin/awk -f

# This AWK script analyzes a simple CSV file containing book information:
# Title,Author,Year,Price

BEGIN {
FS = ","
print "Book Analysis Report"
print "===================="
}

{
if (NR > 1) { # Skip header row
total_price += $4
if ($3 < min_year || min_year == 0) min_year = $3
if ($3 > max_year) max_year = $3

author_count[$2]++
year_count[$3]++
}
}

END {
print "\nTotal number of books:", NR - 1
print "Average book price: $" sprintf("%.2f", total_price / (NR - 1))
print "Year range:", min_year, "to", max_year

print "\nBooks per author:"
for (author in author_count)
print author ":", author_count[author]

print "\nBooks per year:"
for (year in year_count)
print year ":", year_count[year]
}

[2]

#!/usr/bin/env python3

import csv
from dataclasses import dataclass
from collections import Counter
from typing import List, Dict, Tuple

@dataclass
class Book:
title: str
author: str
year: int
price: float

class BookAnalyzer:
def __init__(self, books: List[Book]):
self.books = books

def total_books(self) -> int:
return len(self.books)

def average_price(self) -> float:
return sum(book.price for book in self.books) / len(self.books)

def year_range(self) -> Tuple[int, int]:
years = [book.year for book in self.books]
return min(years), max(years)

def books_per_author(self) -> Dict[str, int]:
return Counter(book.author for book in self.books)

def books_per_year(self) -> Dict[int, int]:
return Counter(book.year for book in self.books)

def read_csv(filename: str) -> List[Book]:
with open(filename, 'r') as f:
reader = csv.reader(f)
next(reader) # Skip header row
return [Book(title, author, int(year), float(price))
for title, author, year, price in reader]

def print_report(analyzer: BookAnalyzer) -> None:
print("Book Analysis Report")
print("====================")
print(f"\nTotal number of books: {analyzer.total_books()}")
print(f"Average book price: ${analyzer.average_price():.2f}")
min_year, max_year = analyzer.year_range()
print(f"Year range: {min_year} to {max_year}")

print("\nBooks per author:")
for author, count in analyzer.books_per_author().items():
print(f"{author}: {count}")

print("\nBooks per year:")
for year, count in analyzer.books_per_year().items():
print(f"{year}: {count}")

def main() -> None:
books = read_csv("books.csv")
analyzer = BookAnalyzer(books)
print_report(analyzer)

if __name__ == "__main__":
main()

Subject: Re: AWK As A Major Systems Programming Language
From: Computer Nerd Kev
Newsgroups: comp.misc
Organization: Ausics - https://newsgroups.ausics.net
Date: Sun, 18 Aug 2024 22:04 UTC
References: 1 2
Message-ID: <66c26fda@news.ausics.net>
From: not@telling.you.invalid (Computer Nerd Kev)
Subject: Re: AWK As A Major Systems Programming Language
Newsgroups: comp.misc
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <awk-20240818120618@ram.dialup.fu-berlin.de>
User-Agent: tin/2.0.1-20111224 ("Achenvoir") (UNIX) (Linux/2.4.31 (i586))
NNTP-Posting-Host: news.ausics.net
Date: 19 Aug 2024 08:04:11 +1000
Organization: Ausics - https://newsgroups.ausics.net
Lines: 22
X-Complaints: abuse@ausics.net
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.bbs.nz!news.ausics.net!not-for-mail
View all headers

Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>>I have worked for several years in Python. For string manipulation
>>and processing records, you still have to write all the manual stuff:
>>open the file, read lines in a loop, split them, etc. Awk does all
>>this stuff for me.
>
> On the flip side, you can peep it like this: Python's got a solid
> set of statement types you can use for everything, making the code
> hella readable. Meanwhile, awk's got its bag of tricks for special
> cases like file and string processing. Just compare [1] with [2].
>
> [1]
[snip]

Weird, as someone who doesn't use much of Python or AWK, I look at
your examples as clearly demonstrating that the AWK version is much
easier to read. I wonder if the Python version is more complicated
than it needs to be actually.

--
__ __
#_ < |\| |< _#

Subject: Re: AWK As A Major Systems Programming Language
From: Lawrence D'Oliv
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Sun, 18 Aug 2024 23:36 UTC
References: 1
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Sun, 18 Aug 2024 23:36:28 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <v9u0hr$2iahp$7@dont-email.me>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 19 Aug 2024 01:36:28 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="ef7435e5787fcab0adf5f487629d6274";
logging-data="2697785"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18bqR2TBPnuTWa/uaVgZ7DE"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:Q9gkYjD6j7MHaOkly0NeQg4WP2E=
View all headers

On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:

> He described what awk did well, as well as what it didn't, and presented
> a list of things that awk would need to acquire in order to take the
> position of a reasonable alternative to C for systems programming tasks
> on Unix systems.

It was soon obsoleted by Perl, which did everything Awk did, just as
concisely, and more besides.

Subject: Re: AWK As A Major Systems Programming Language
From: Richard Kettlewell
Newsgroups: comp.misc
Organization: terraraq NNTP server
Date: Mon, 19 Aug 2024 07:40 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.gegeweb.eu!gegeweb.org!nntp.terraraq.uk!.POSTED.tunnel.sfere.anjou.terraraq.org.uk!not-for-mail
From: invalid@invalid.invalid (Richard Kettlewell)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Mon, 19 Aug 2024 08:40:11 +0100
Organization: terraraq NNTP server
Message-ID: <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<awk-20240818120618@ram.dialup.fu-berlin.de>
<66c26fda@news.ausics.net>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: innmantic.terraraq.uk; posting-host="tunnel.sfere.anjou.terraraq.org.uk:172.17.207.6";
logging-data="8245"; mail-complaints-to="usenet@innmantic.terraraq.uk"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:8omSPxCjN0jKaCwILkzTwM8TECI=
X-Face: h[Hh-7npe<<b4/eW[]sat,I3O`t8A`(ej.H!F4\8|;ih)`7{@:A~/j1}gTt4e7-n*F?.Rl^
F<\{jehn7.KrO{!7=:(@J~]<.[{>v9!1<qZY,{EJxg6?Er4Y7Ng2\Ft>Z&W?r\c.!4DXH5PWpga"ha
+r0NzP?vnz:e/knOY)PI-
X-Boydie: NO
View all headers

not@telling.you.invalid (Computer Nerd Kev) writes:
> Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>> On the flip side, you can peep it like this: Python's got a solid set
>> of statement types you can use for everything, making the code hella
>> readable. Meanwhile, awk's got its bag of tricks for special cases
>> like file and string processing. Just compare [1] with [2].
>>
>> [1]
> [snip]
>
> Weird, as someone who doesn't use much of Python or AWK, I look at
> your examples as clearly demonstrating that the AWK version is much
> easier to read. I wonder if the Python version is more complicated
> than it needs to be actually.

Yes, you could do a direct translation from the Awk and end up with
something that looked quite similar, apart from the differences in
syntax.

--
https://www.greenend.org.uk/rjk/

Subject: Re: AWK As A Major Systems Programming Language
From: Stefan Ram
Newsgroups: comp.misc
Organization: Stefan Ram
Date: Mon, 19 Aug 2024 11:55 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: 19 Aug 2024 11:55:16 GMT
Organization: Stefan Ram
Lines: 94
Expires: 1 Jul 2025 11:59:58 GMT
Message-ID: <awk-20240819124716@ram.dialup.fu-berlin.de>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <awk-20240818120618@ram.dialup.fu-berlin.de> <66c26fda@news.ausics.net> <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de /9ZV6TBUUBaQRl2D/68IngOXFaJ4au+NM14ibrQBts/fxn
Cancel-Lock: sha1:snIXfUVs488fyMfd5XO71JqC0Bk= sha256:wjB12JWhyzqqmJHirysMKJ81WYG5NAHtGR0eRSuQaXk=
X-Copyright: (C) Copyright 2024 Stefan Ram. All rights reserved.
Distribution through any means other than regular usenet
channels is forbidden. It is forbidden to publish this
article in the Web, to change URIs of this article into links,
and to transfer the body without this notice, but quotations
of parts in other Usenet posts are allowed.
X-No-Archive: Yes
Archive: no
X-No-Archive-Readme: "X-No-Archive" is set, because this prevents some
services to mirror the article in the web. But the article may
be kept on a Usenet archive server with only NNTP access.
X-No-Html: yes
Content-Language: en-US
View all headers

Richard Kettlewell <invalid@invalid.invalid> wrote or quoted:
>Yes, you could do a direct translation from the Awk and end up with
>something that looked quite similar, apart from the differences in
>syntax.

Trying to make that Python script more user-friendly for folks
who dig awk, then rolling out a sleeker version . . .

#!/usr/bin/env python3

import sys
import csv

# Initialize variables
total_price = 0
min_year = 0
max_year = 0
author_count = {}
year_count = {}

# Print the header of the report
print("Book Analysis Report")
print("====================")

# Read CSV data from standard input
reader = csv.reader(sys.stdin)
next(reader) # Skip the header row

# Process each row in the CSV
for row in reader:
title, author, year, price = row
year = int(year)
price = float(price)

# Accumulate total price
total_price += price

# Determine min and max year
if min_year == 0 or year < min_year:
min_year = year
if year > max_year:
max_year = year

# Count books per author
if author in author_count:
author_count[author] += 1
else:
author_count[author] = 1

# Count books per year
if year in year_count:
year_count[year] += 1
else:
year_count[year] = 1

# Calculate total number of books
total_books = sum(author_count.values())

# Print the report
print("\nTotal number of books:", total_books)
print("Average book price: $%.2f" % (total_price / total_books))
print("Year range:", min_year, "to", max_year)

print("\nBooks per author:")
for author, count in author_count.items():
print(author + ":", count)

print("\nBooks per year:")
for year, count in year_count.items():
print(str(year) + ":", count)

No need to make it such a big production, though . . .

import csv, sys
from collections import Counter

with open(sys.argv[1]) as f:
data = list(csv.reader(f))[1:]
prices = [float(row[3]) for row in data]
years = [int(row[2]) for row in data]
authors = [row[1] for row in data]

print("Book Analysis Report\n====================")
print(f"\nTotal number of books: {len(data)}")
print(f"Average book price: ${sum(prices) / len(prices):.2f}")
print(f"Year range: {min(years)} to {max(years)}")

print("\nBooks per author:")
for author, count in Counter(authors).items():
print(f"{author}: {count}")

print("\nBooks per year:")
for year, count in Counter(years).items():
print(f"{year}: {count}")

Subject: Re: AWK As A Major Systems Programming Language
From: Stefan Ram
Newsgroups: comp.misc
Organization: Stefan Ram
Date: Mon, 19 Aug 2024 12:26 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: 19 Aug 2024 12:26:12 GMT
Organization: Stefan Ram
Lines: 9
Expires: 1 Jul 2025 11:59:58 GMT
Message-ID: <class-20240819132530@ram.dialup.fu-berlin.de>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <awk-20240818120618@ram.dialup.fu-berlin.de> <66c26fda@news.ausics.net> <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk> <awk-20240819124716@ram.dialup.fu-berlin.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de sxASN3FNq6L9AqlSWc5MNANUu88hy7uSKj3bdnQJ8sfjao
Cancel-Lock: sha1:CnnLnpvtG/wAxnxyB7yEHKg8fnM= sha256:xK6hkNH4dWG17DP7bpKyRn8xf4O5NlERkDnTokD9O8Q=
X-Copyright: (C) Copyright 2024 Stefan Ram. All rights reserved.
Distribution through any means other than regular usenet
channels is forbidden. It is forbidden to publish this
article in the Web, to change URIs of this article into links,
and to transfer the body without this notice, but quotations
of parts in other Usenet posts are allowed.
X-No-Archive: Yes
Archive: no
X-No-Archive-Readme: "X-No-Archive" is set, because this prevents some
services to mirror the article in the web. But the article may
be kept on a Usenet archive server with only NNTP access.
X-No-Html: yes
Content-Language: en-US
View all headers

ram@zedat.fu-berlin.de (Stefan Ram) wrote or quoted:
>Trying to make that Python script more user-friendly for folks
>who dig awk, then rolling out a sleeker version . . .

The setup with a class and a bunch of named functions had some perks,
though: The class and function names are like a cheat sheet, spilling
the beans on what the coder was up to. They keep things chill by
breaking up the work, each one zeroing in on just one part of the gig.
Plus, they give you a solid jumping-off point for unit tests.

Subject: Re: AWK As A Major Systems Programming Language
From: Richard Kettlewell
Newsgroups: comp.misc
Organization: terraraq NNTP server
Date: Mon, 19 Aug 2024 17:24 UTC
References: 1 2 3 4 5 6
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.gegeweb.eu!gegeweb.org!nntp.terraraq.uk!.POSTED.tunnel.sfere.anjou.terraraq.org.uk!not-for-mail
From: invalid@invalid.invalid (Richard Kettlewell)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Mon, 19 Aug 2024 18:24:04 +0100
Organization: terraraq NNTP server
Message-ID: <wwvikvwa0jv.fsf@LkoBDZeT.terraraq.uk>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<awk-20240818120618@ram.dialup.fu-berlin.de>
<66c26fda@news.ausics.net> <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk>
<awk-20240819124716@ram.dialup.fu-berlin.de>
<class-20240819132530@ram.dialup.fu-berlin.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: innmantic.terraraq.uk; posting-host="tunnel.sfere.anjou.terraraq.org.uk:172.17.207.6";
logging-data="16190"; mail-complaints-to="usenet@innmantic.terraraq.uk"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:00LMY+tpbOOr/k+ZYUct/es2MSI=
X-Face: h[Hh-7npe<<b4/eW[]sat,I3O`t8A`(ej.H!F4\8|;ih)`7{@:A~/j1}gTt4e7-n*F?.Rl^
F<\{jehn7.KrO{!7=:(@J~]<.[{>v9!1<qZY,{EJxg6?Er4Y7Ng2\Ft>Z&W?r\c.!4DXH5PWpga"ha
+r0NzP?vnz:e/knOY)PI-
X-Boydie: NO
View all headers

ram@zedat.fu-berlin.de (Stefan Ram) writes:
> ram@zedat.fu-berlin.de (Stefan Ram) wrote or quoted:
>>Trying to make that Python script more user-friendly for folks
>>who dig awk, then rolling out a sleeker version . . .
>
> The setup with a class and a bunch of named functions had some perks,
> though: The class and function names are like a cheat sheet, spilling
> the beans on what the coder was up to. They keep things chill by
> breaking up the work, each one zeroing in on just one part of the gig.
> Plus, they give you a solid jumping-off point for unit tests.

Yes, it’s not that it was a bad design as such, but if you’re trying to
do some kind of conciseness comparison with Awk, it wasn’t really
comparing like with like.

--
https://www.greenend.org.uk/rjk/

Subject: Re: AWK As A Major Systems Programming Language
From: D
Newsgroups: comp.misc
Organization: i2pn2 (i2pn.org)
Date: Mon, 19 Aug 2024 17:42 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: nospam@example.net (D)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Mon, 19 Aug 2024 19:42:10 +0200
Organization: i2pn2 (i2pn.org)
Message-ID: <d3b29f68-3b98-7e9d-394b-d0aa81440d25@example.net>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <awk-20240818120618@ram.dialup.fu-berlin.de> <66c26fda@news.ausics.net> <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk> <awk-20240819124716@ram.dialup.fu-berlin.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
Injection-Info: i2pn2.org;
logging-data="3142207"; mail-complaints-to="usenet@i2pn2.org";
posting-account="w/4CleFT0XZ6XfSuRJzIySLIA6ECskkHxKUAYDZM66M";
In-Reply-To: <awk-20240819124716@ram.dialup.fu-berlin.de>
X-Spam-Checker-Version: SpamAssassin 4.0.0
View all headers

On Mon, 19 Aug 2024, Stefan Ram wrote:

> Richard Kettlewell <invalid@invalid.invalid> wrote or quoted:
>> Yes, you could do a direct translation from the Awk and end up with
>> something that looked quite similar, apart from the differences in
>> syntax.
>
> Trying to make that Python script more user-friendly for folks
> who dig awk, then rolling out a sleeker version . . .

Looks pretty neat and understandable to me. =)

> #!/usr/bin/env python3
>
> import sys
> import csv
>
> # Initialize variables
> total_price = 0
> min_year = 0
> max_year = 0
> author_count = {}
> year_count = {}
>
> # Print the header of the report
> print("Book Analysis Report")
> print("====================")
>
> # Read CSV data from standard input
> reader = csv.reader(sys.stdin)
> next(reader) # Skip the header row
>
> # Process each row in the CSV
> for row in reader:
> title, author, year, price = row
> year = int(year)
> price = float(price)
>
> # Accumulate total price
> total_price += price
>
> # Determine min and max year
> if min_year == 0 or year < min_year:
> min_year = year
> if year > max_year:
> max_year = year
>
> # Count books per author
> if author in author_count:
> author_count[author] += 1
> else:
> author_count[author] = 1
>
> # Count books per year
> if year in year_count:
> year_count[year] += 1
> else:
> year_count[year] = 1
>
> # Calculate total number of books
> total_books = sum(author_count.values())
>
> # Print the report
> print("\nTotal number of books:", total_books)
> print("Average book price: $%.2f" % (total_price / total_books))
> print("Year range:", min_year, "to", max_year)
>
> print("\nBooks per author:")
> for author, count in author_count.items():
> print(author + ":", count)
>
> print("\nBooks per year:")
> for year, count in year_count.items():
> print(str(year) + ":", count)
>
> No need to make it such a big production, though . . .
>
> import csv, sys
> from collections import Counter
>
> with open(sys.argv[1]) as f:
> data = list(csv.reader(f))[1:]
> prices = [float(row[3]) for row in data]
> years = [int(row[2]) for row in data]
> authors = [row[1] for row in data]
>
> print("Book Analysis Report\n====================")
> print(f"\nTotal number of books: {len(data)}")
> print(f"Average book price: ${sum(prices) / len(prices):.2f}")
> print(f"Year range: {min(years)} to {max(years)}")
>
> print("\nBooks per author:")
> for author, count in Counter(authors).items():
> print(f"{author}: {count}")
>
> print("\nBooks per year:")
> for year, count in Counter(years).items():
> print(f"{year}: {count}")
>

Subject: Re: AWK As A Major Systems Programming Language
From: Computer Nerd Kev
Newsgroups: comp.misc
Organization: Ausics - https://newsgroups.ausics.net
Date: Mon, 19 Aug 2024 21:43 UTC
References: 1 2 3 4 5 6
Message-ID: <66c3bc6f@news.ausics.net>
From: not@telling.you.invalid (Computer Nerd Kev)
Subject: Re: AWK As A Major Systems Programming Language
Newsgroups: comp.misc
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <awk-20240818120618@ram.dialup.fu-berlin.de> <66c26fda@news.ausics.net> <wwvr0alyn8k.fsf@LkoBDZeT.terraraq.uk> <awk-20240819124716@ram.dialup.fu-berlin.de> <class-20240819132530@ram.dialup.fu-berlin.de>
User-Agent: tin/2.0.1-20111224 ("Achenvoir") (UNIX) (Linux/2.4.31 (i586))
NNTP-Posting-Host: news.ausics.net
Date: 20 Aug 2024 07:43:11 +1000
Organization: Ausics - https://newsgroups.ausics.net
Lines: 20
X-Complaints: abuse@ausics.net
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!news.bbs.nz!news.ausics.net!not-for-mail
View all headers

Stefan Ram <ram@zedat.fu-berlin.de> wrote:
> ram@zedat.fu-berlin.de (Stefan Ram) wrote or quoted:
>>Trying to make that Python script more user-friendly for folks
>>who dig awk, then rolling out a sleeker version . . .
>
> The setup with a class and a bunch of named functions had some perks,
> though: The class and function names are like a cheat sheet, spilling
> the beans on what the coder was up to. They keep things chill by
> breaking up the work, each one zeroing in on just one part of the gig.
> Plus, they give you a solid jumping-off point for unit tests.

I see your point. Depends on what you're trying to read too really
- what the script's author is trying to achieve, or what exactly
the script does. To achieve the latter there's more to parse in the
first version in order to see what's actually happening, and that's
what I was comparing to the AWK version.

--
__ __
#_ < |\| |< _#

Subject: Re: AWK As A Major Systems Programming Language
From: Anton Shepelev
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Wed, 21 Aug 2024 16:18 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton.txt@g{oogle}mail.com (Anton Shepelev)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Wed, 21 Aug 2024 19:18:08 +0300
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <20240821191808.78c03c4e394d9ac7ce6fe4c6@g{oogle}mail.com>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<awk-20240818120618@ram.dialup.fu-berlin.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 21 Aug 2024 18:18:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="73b0a64a8b02fa359e6adaf296c5188f";
logging-data="4133464"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/mURYLhvOSVBP4QMYKKtzxVcG7Xstsvjg="
Cancel-Lock: sha1:t8QXiLmxokZx/nfkzWNFl0marXA=
X-Newsreader: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
View all headers

Stefan Ram:

> |The Zen of Python, by Tim Peters
> |[...]
> |Flat is better than nested.
> [...]

Then why does Python lack the ultimate code flattener, the
`goto' operator, and mandates structural indentation?

--
() ascii ribbon campaign -- against html e-mail
/\ www.asciiribbon.org -- against proprietary attachments

Subject: Re: AWK As A Major Systems Programming Language
From: Lawrence D'Oliv
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Wed, 21 Aug 2024 23:59 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Wed, 21 Aug 2024 23:59:08 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <va5v0b$21r6$1@dont-email.me>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<awk-20240818120618@ram.dialup.fu-berlin.de>
<20240821191808.78c03c4e394d9ac7ce6fe4c6@g{oogle}mail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 22 Aug 2024 01:59:08 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="121cecafcfd9e311c6d841fd8b3330b2";
logging-data="67430"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1//H+6lDBzlFpP5HMpolNU6"
User-Agent: Pan/0.159 (Vovchansk; )
Cancel-Lock: sha1:zhUrTZrnB+jKSEKZeocKOR3TNAY=
View all headers

On Wed, 21 Aug 2024 19:18:08 +0300, Anton Shepelev wrote:

> Stefan Ram:
>
>> |The Zen of Python, by Tim Peters |[...]
>> |Flat is better than nested. [...]
>
> Then why does Python lack the ultimate code flattener, the `goto'
> operator, and mandates structural indentation?

I never took that “flat is better than nested” nonsense seriously, anyway.
If I need to nest in my Python code, I nest: statement nesting, function
nesting, class nesting, whatever makes sense.

Subject: Re: AWK As A Major Systems Programming Language
From: Johanne Fairchild
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Tue, 27 Aug 2024 22:43 UTC
References: 1 2
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jfairchild@tudado.org (Johanne Fairchild)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Tue, 27 Aug 2024 19:43:28 -0300
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <87ikvlpoxb.fsf@tudado.org>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Wed, 28 Aug 2024 00:43:34 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="cd3b3d6a730a2c93171b914ad0da6cc4";
logging-data="3326853"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18WHHn/HA5Butk0MYBG1ACLaBwt4EddC64="
Cancel-Lock: sha1:ticbgKQEcZmaZxs74XARSTag3iE=
sha1:ypCWzbskMWcUlXWmEKwD2E6SJ0M=
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>
>> He described what awk did well, as well as what it didn't, and presented
>> a list of things that awk would need to acquire in order to take the
>> position of a reasonable alternative to C for systems programming tasks
>> on Unix systems.
>
> It was soon obsoleted by Perl, which did everything Awk did, just as
> concisely, and more besides.

Funny---I gave up on Perl as soon as I discovered the existence of AWK.

Subject: Re: AWK As A Major Systems Programming Language
From: yeti
Newsgroups: comp.misc
Organization: Democratic Order of Pirates International (DOPI)
Date: Tue, 27 Aug 2024 23:08 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: yeti@tilde.institute (yeti)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Tue, 27 Aug 2024 23:50:59 +0042
Organization: Democratic Order of Pirates International (DOPI)
Lines: 8
Message-ID: <8734mpa7hw.fsf@tilde.institute>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Wed, 28 Aug 2024 01:08:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="660fd4f6a70cfd3b0a9006506e7a5ed3";
logging-data="3330386"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/G3DCbLfnfbfEFUne0xLIX"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:jm/jlhI6OU6or/VcOuDnMXhn/lk=
sha1:mlEqqPdno+56kMepmtT65FCGQKY=
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAAiklEQVQY02NgoCUQOASmOJwPAElGjuQfIIrH8A9IsK3wJ0jFMcPHDUAVxywPNzCw8Dy3bD7AwMzy+Q/7AQbGvuq57QsYGI+brz+fwMDw+9re/x8YGLPcFP8/YGBccaTg4QcG5o4WBeYGBnaBngTDBJBFDvUHQBY5/G8AWXHgH9j65h9gitmBgfYAAJOqKugnjqEOAAAAAElFTkSuQmCC
X-Face: "-Nh[_Q`f/iywEEk*gL\V>5N1AB*"sDJ8;EUV=C-0Y@WB9ePs{Cw>dh=u?}LO}?T(5_L2HX
`mj:w>@KY3N6`v6Y!/<)"&OTwwj<}i=2g^/|Mp#95.z4HsbUizxbZ*4X085{X||BvThEN9wD=Q1o7"
5d3u_b|SUTt
View all headers

Johanne Fairchild <jfairchild@tudado.org> writes:

> Funny---I gave up on Perl as soon as I discovered the existence of AWK.

\o/

--
I do not bite, I just want to play.

Subject: Re: AWK As A Major Systems Programming Language
From: Lawrence D'Oliv
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Tue, 27 Aug 2024 23:36 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Tue, 27 Aug 2024 23:36:29 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <valntt$35rt8$5@dont-email.me>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 28 Aug 2024 01:36:30 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="52d1e1001450c2fe7f8121ab25cdb228";
logging-data="3338152"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18KxmXkS/9h4bq4a1M76GTf"
User-Agent: Pan/0.160 (Toresk; )
Cancel-Lock: sha1:nd+3d/GrvBUMoQqCyMVu3aLloWE=
View all headers

On Tue, 27 Aug 2024 19:43:28 -0300, Johanne Fairchild wrote:

> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>
>> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>>
>>> He described what awk did well, as well as what it didn't, and
>>> presented a list of things that awk would need to acquire in order to
>>> take the position of a reasonable alternative to C for systems
>>> programming tasks on Unix systems.
>>
>> It was soon obsoleted by Perl, which did everything Awk did, just as
>> concisely, and more besides.
>
> Funny---I gave up on Perl as soon as I discovered the existence of AWK.

Have you given up motor-cars in favour of horse-drawn transport as well?

Subject: Re: AWK As A Major Systems Programming Language
From: Johanne Fairchild
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Wed, 28 Aug 2024 00:05 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jfairchild@tudado.org (Johanne Fairchild)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Tue, 27 Aug 2024 21:05:23 -0300
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <87y14hmrzw.fsf@tudado.org>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
<valntt$35rt8$5@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Wed, 28 Aug 2024 02:05:29 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="cd3b3d6a730a2c93171b914ad0da6cc4";
logging-data="3346207"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ePaONsJJO/xHgQVuA8oak2hMkQjqXREk="
Cancel-Lock: sha1:R/wpQhOOLKaVfgEHVziXU3ZQdrc=
sha1:41G9oyL3St6PQ9AjW2SDO2GSE+I=
View all headers

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Tue, 27 Aug 2024 19:43:28 -0300, Johanne Fairchild wrote:
>
>> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>>
>>> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>>>
>>>> He described what awk did well, as well as what it didn't, and
>>>> presented a list of things that awk would need to acquire in order to
>>>> take the position of a reasonable alternative to C for systems
>>>> programming tasks on Unix systems.
>>>
>>> It was soon obsoleted by Perl, which did everything Awk did, just as
>>> concisely, and more besides.
>>
>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>
> Have you given up motor-cars in favour of horse-drawn transport as well?

I'm sure there are places where motor-cars are totally useless and a
horse is a blessing.

Subject: Re: AWK As A Major Systems Programming Language
From: D
Newsgroups: comp.misc
Organization: i2pn2 (i2pn.org)
Date: Wed, 28 Aug 2024 14:25 UTC
References: 1 2 3
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: nospam@example.net (D)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Wed, 28 Aug 2024 16:25:49 +0200
Organization: i2pn2 (i2pn.org)
Message-ID: <5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
Injection-Info: i2pn2.org;
logging-data="33596"; mail-complaints-to="usenet@i2pn2.org";
posting-account="w/4CleFT0XZ6XfSuRJzIySLIA6ECskkHxKUAYDZM66M";
In-Reply-To: <87ikvlpoxb.fsf@tudado.org>
X-Spam-Checker-Version: SpamAssassin 4.0.0
View all headers

On Tue, 27 Aug 2024, Johanne Fairchild wrote:

> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>
>> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>>
>>> He described what awk did well, as well as what it didn't, and presented
>>> a list of things that awk would need to acquire in order to take the
>>> position of a reasonable alternative to C for systems programming tasks
>>> on Unix systems.
>>
>> It was soon obsoleted by Perl, which did everything Awk did, just as
>> concisely, and more besides.
>
> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>

Sometimes less is more. It's aesthetics for sure, but for me personally, I
do not like massive languages that try to do, and be, everything. For fun
I thought about to have a look at Lua, or possibly, go.

Subject: Re: AWK As A Major Systems Programming Language
From: Anton Shepelev
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Wed, 28 Aug 2024 15:37 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton.txt@g{oogle}mail.com (Anton Shepelev)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Wed, 28 Aug 2024 18:37:45 +0300
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <20240828183745.9ae9fd84d1a6853885514df6@g{oogle}mail.com>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me>
<87ikvlpoxb.fsf@tudado.org>
<5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 28 Aug 2024 17:37:46 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="9673e6c90546c6167cc534a0ceec9218";
logging-data="3715227"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18wGpxmL4nxvskd9PIzjsILfwNGuH2FmKo="
Cancel-Lock: sha1:r7IEcS3Vot7AUL39oq1mDDCpOiU=
X-Newsreader: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
View all headers

D:

> Sometimes less is more. It's aesthetics for sure, but for
> me personally, I do not like massive languages that try to
> do, and be, everything. For fun I thought about to have a
> look at Lua, or possibly, go.

Also, Hare: <https://harelang.org/> .

--
() ascii ribbon campaign -- against html e-mail
/\ www.asciiribbon.org -- against proprietary attachments

Subject: Re: AWK As A Major Systems Programming Language
From: Johanne Fairchild
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Fri, 30 Aug 2024 21:56 UTC
References: 1 2 3 4
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jfairchild@tudado.org (Johanne Fairchild)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Fri, 30 Aug 2024 18:56:47 -0300
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <871q25d68w.fsf@tudado.org>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
<5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Fri, 30 Aug 2024 23:56:54 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="91e72c2036d4e7f9604a568ef45ac400";
logging-data="703572"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/rGbK9mtuv+c/DgNNniiuN6LQQ3t1iR6E="
Cancel-Lock: sha1:YriTZ+Qc4f6syBLFQVupi23fRQ4=
sha1:OV8Cc6vVailHy1HthJyBtxda5eU=
View all headers

D <nospam@example.net> writes:

> On Tue, 27 Aug 2024, Johanne Fairchild wrote:
>
>> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>>
>>> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>>>
>>>> He described what awk did well, as well as what it didn't, and presented
>>>> a list of things that awk would need to acquire in order to take the
>>>> position of a reasonable alternative to C for systems programming tasks
>>>> on Unix systems.
>>>
>>> It was soon obsoleted by Perl, which did everything Awk did, just as
>>> concisely, and more besides.
>>
>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.

Actually it was after I read ``The AWK Programming Language''.

> Sometimes less is more. It's aesthetics for sure, but for me
> personally, I do not like massive languages that try to do, and be,
> everything. For fun I thought about to have a look at Lua, or
> possibly, go.

Lua is a nice language, but it's really small.

Subject: Re: AWK As A Major Systems Programming Language
From: D
Newsgroups: comp.misc
Organization: i2pn2 (i2pn.org)
Date: Sat, 31 Aug 2024 09:56 UTC
References: 1 2 3 4 5
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: nospam@example.net (D)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Sat, 31 Aug 2024 11:56:55 +0200
Organization: i2pn2 (i2pn.org)
Message-ID: <6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org> <5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net> <871q25d68w.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
Injection-Info: i2pn2.org;
logging-data="344878"; mail-complaints-to="usenet@i2pn2.org";
posting-account="w/4CleFT0XZ6XfSuRJzIySLIA6ECskkHxKUAYDZM66M";
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <871q25d68w.fsf@tudado.org>
View all headers

On Fri, 30 Aug 2024, Johanne Fairchild wrote:

> D <nospam@example.net> writes:
>
>> On Tue, 27 Aug 2024, Johanne Fairchild wrote:
>>
>>> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>>>
>>>> On Sun, 18 Aug 2024 00:28:21 -0000 (UTC), Ben Collver wrote:
>>>>
>>>>> He described what awk did well, as well as what it didn't, and presented
>>>>> a list of things that awk would need to acquire in order to take the
>>>>> position of a reasonable alternative to C for systems programming tasks
>>>>> on Unix systems.
>>>>
>>>> It was soon obsoleted by Perl, which did everything Awk did, just as
>>>> concisely, and more besides.
>>>
>>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>
> Actually it was after I read ``The AWK Programming Language''.
>
>> Sometimes less is more. It's aesthetics for sure, but for me
>> personally, I do not like massive languages that try to do, and be,
>> everything. For fun I thought about to have a look at Lua, or
>> possibly, go.
>
> Lua is a nice language, but it's really small.
>

Ah! So maybe Lua would be my next hobby language to learn. =)

Subject: Re: AWK As A Major Systems Programming Language
From: Johanne Fairchild
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Sat, 31 Aug 2024 15:28 UTC
References: 1 2 3 4 5 6
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jfairchild@tudado.org (Johanne Fairchild)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Sat, 31 Aug 2024 12:28:57 -0300
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <87jzfwbtja.fsf@tudado.org>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
<5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
<871q25d68w.fsf@tudado.org>
<6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Sat, 31 Aug 2024 17:29:04 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e122a7f26efe2ba9210605e21885f7b9";
logging-data="1124307"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19NLp3voGk+AtpME/zT1UdzA75MSxD7RPo="
Cancel-Lock: sha1:MpbssodYWFxXxZi7Dc4gwlkLc2A=
sha1:9MoVPaXRnlOeGdaTqYYYhZIK3uY=
View all headers

D <nospam@example.net> writes:

[...]

>>>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>>
>> Actually it was after I read ``The AWK Programming Language''.
>>
>>> Sometimes less is more. It's aesthetics for sure, but for me
>>> personally, I do not like massive languages that try to do, and be,
>>> everything. For fun I thought about to have a look at Lua, or
>>> possibly, go.
>>
>> Lua is a nice language, but it's really small.
>>
>
> Ah! So maybe Lua would be my next hobby language to learn. =)

I don't know why people enjoy such small things so much. Sure, it feels
good to master something, but it's also good to have tools that can do a
lot for us. I used to be very minimalist, but following my heart
instead of my brain I found Common Lisp to be the nicest of them all.
But, sure, if I'm going to embed a language in my executable, Lua is a
candidate, though I'd probably go for a small Lisp.

Subject: Re: AWK As A Major Systems Programming Language
From: D
Newsgroups: comp.misc
Organization: i2pn2 (i2pn.org)
Date: Sat, 31 Aug 2024 20:34 UTC
References: 1 2 3 4 5 6 7
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: nospam@example.net (D)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Sat, 31 Aug 2024 22:34:55 +0200
Organization: i2pn2 (i2pn.org)
Message-ID: <714217ec-f259-51cb-3328-9994fdcfb3f9@example.net>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org> <5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net> <871q25d68w.fsf@tudado.org> <6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
<87jzfwbtja.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
Injection-Info: i2pn2.org;
logging-data="398882"; mail-complaints-to="usenet@i2pn2.org";
posting-account="w/4CleFT0XZ6XfSuRJzIySLIA6ECskkHxKUAYDZM66M";
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <87jzfwbtja.fsf@tudado.org>
View all headers

On Sat, 31 Aug 2024, Johanne Fairchild wrote:

> D <nospam@example.net> writes:
>
> [...]
>
>>>>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>>>
>>> Actually it was after I read ``The AWK Programming Language''.
>>>
>>>> Sometimes less is more. It's aesthetics for sure, but for me
>>>> personally, I do not like massive languages that try to do, and be,
>>>> everything. For fun I thought about to have a look at Lua, or
>>>> possibly, go.
>>>
>>> Lua is a nice language, but it's really small.
>>>
>>
>> Ah! So maybe Lua would be my next hobby language to learn. =)
>
> I don't know why people enjoy such small things so much. Sure, it feels
> good to master something, but it's also good to have tools that can do a
> lot for us. I used to be very minimalist, but following my heart
> instead of my brain I found Common Lisp to be the nicest of them all.
> But, sure, if I'm going to embed a language in my executable, Lua is a
> candidate, though I'd probably go for a small Lisp.
>

In my case, it is because I am not working as a programmer, so I have not
requirements to be productive or to be able to generate any income of
programming.

That means, I can just have a go at what I find interesting and beautiful.
It also means that if I get bored, I can just stop, and have a look at any
other languange that catches my interest. =)

Subject: Re: AWK As A Major Systems Programming Language
From: Johanne Fairchild
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Mon, 2 Sep 2024 01:52 UTC
References: 1 2 3 4 5 6 7 8
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jfairchild@tudado.org (Johanne Fairchild)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Sun, 01 Sep 2024 22:52:10 -0300
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <87cylm3jqt.fsf@tudado.org>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
<5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
<871q25d68w.fsf@tudado.org>
<6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
<87jzfwbtja.fsf@tudado.org>
<714217ec-f259-51cb-3328-9994fdcfb3f9@example.net>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Mon, 02 Sep 2024 03:52:19 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="dd30994fce8e7dd2c2bf747127272c36";
logging-data="1913102"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19wUYLBPdZxYTv20xiJmJcox7kBl1vuhCQ="
Cancel-Lock: sha1:jDC09AJcOaExas6C7z+NB6iFIJQ=
sha1:OG4uuXJb66BFhIpkstQy4yGnS48=
View all headers

D <nospam@example.net> writes:

> On Sat, 31 Aug 2024, Johanne Fairchild wrote:
>
>> D <nospam@example.net> writes:
>>
>> [...]
>>
>>>>>> Funny---I gave up on Perl as soon as I discovered the existence of AWK.
>>>>
>>>> Actually it was after I read ``The AWK Programming Language''.
>>>>
>>>>> Sometimes less is more. It's aesthetics for sure, but for me
>>>>> personally, I do not like massive languages that try to do, and be,
>>>>> everything. For fun I thought about to have a look at Lua, or
>>>>> possibly, go.
>>>>
>>>> Lua is a nice language, but it's really small.
>>>>
>>>
>>> Ah! So maybe Lua would be my next hobby language to learn. =)
>>
>> I don't know why people enjoy such small things so much. Sure, it feels
>> good to master something, but it's also good to have tools that can do a
>> lot for us. I used to be very minimalist, but following my heart
>> instead of my brain I found Common Lisp to be the nicest of them all.
>> But, sure, if I'm going to embed a language in my executable, Lua is a
>> candidate, though I'd probably go for a small Lisp.
>>
>
> In my case, it is because I am not working as a programmer, so I have
> not requirements to be productive or to be able to generate any income
> of programming.

I am not programming for profit any longer. Thank God. I program for
beauty now. This change has been the hardest thing I had to do and it's
been so worth it.

> That means, I can just have a go at what I find interesting and
> beautiful. It also means that if I get bored, I can just stop, and
> have a look at any other languange that catches my interest. =)

:-)

When I felt comfortable with C, I decided to choose a higher-level
language that could be my main medium of expression. I choose Lisp.
It's been taking me lots and lots of years, but it's also been so worth
it. I came up with the Lisp idea observing Barry Margolin here on
USENET many years ago. It was his discussions on Lisp that brought the
language to my attention. I had no idea it existed and I felt it was
really strange that inteligent people would care so much about such an
old thing. Newbies.

Subject: Re: AWK As A Major Systems Programming Language
From: Lawrence D'Oliv
Newsgroups: comp.misc
Organization: A noiseless patient Spider
Date: Mon, 2 Sep 2024 03:36 UTC
References: 1 2 3 4 5 6 7 8 9
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Mon, 2 Sep 2024 03:36:47 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <vb3bsf$1r1t9$7@dont-email.me>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain>
<v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org>
<5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net>
<871q25d68w.fsf@tudado.org>
<6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
<87jzfwbtja.fsf@tudado.org>
<714217ec-f259-51cb-3328-9994fdcfb3f9@example.net>
<87cylm3jqt.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 02 Sep 2024 05:36:47 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0461de2c4cabc231a24885f70066d9c2";
logging-data="1935273"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188OMGb/Fq7VSmkBWzTMX2J"
User-Agent: Pan/0.160 (Toresk; )
Cancel-Lock: sha1:a2XABkIcsj5sAFtyFqdO3WoA+64=
View all headers

On Sun, 01 Sep 2024 22:52:10 -0300, Johanne Fairchild wrote:

> I had no idea [Lisp] existed and I felt it was
> really strange that inteligent people would care so much about such an
> old thing.

It is a language that still looks advanced compared to the state of the
art today. Trouble is, there is no currently workable Lisp “standard” as
such: first of all there is the “Lisp-1” (e.g. Scheme) versus “Lisp-2”
(e.g. Common Lisp, Elisp) schism; secondly the closest thing to a Lisp
“standard” was Common Lisp, and that is really old and full of baggage
from the time when non-Posix-like operating systems were common. Even
Scheme seems to have become fragmented.

Subject: Re: AWK As A Major Systems Programming Language
From: D
Newsgroups: comp.misc
Organization: i2pn2 (i2pn.org)
Date: Mon, 2 Sep 2024 07:45 UTC
References: 1 2 3 4 5 6 7 8 9
Path: eternal-september.org!news.eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: nospam@example.net (D)
Newsgroups: comp.misc
Subject: Re: AWK As A Major Systems Programming Language
Date: Mon, 2 Sep 2024 09:45:10 +0200
Organization: i2pn2 (i2pn.org)
Message-ID: <e7eede47-b660-a858-b60b-d10b157935fc@example.net>
References: <slrnvc2fsg.gg1.bencollver@svadhyaya.localdomain> <v9u0hr$2iahp$7@dont-email.me> <87ikvlpoxb.fsf@tudado.org> <5fa11677-a6c6-33e3-195b-6a24194eee0c@example.net> <871q25d68w.fsf@tudado.org> <6207141d-f3e6-97e0-7f63-80ddec5fb008@example.net>
<87jzfwbtja.fsf@tudado.org> <714217ec-f259-51cb-3328-9994fdcfb3f9@example.net> <87cylm3jqt.fsf@tudado.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
Injection-Info: i2pn2.org;
logging-data="566872"; mail-complaints-to="usenet@i2pn2.org";
posting-account="w/4CleFT0XZ6XfSuRJzIySLIA6ECskkHxKUAYDZM66M";
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <87cylm3jqt.fsf@tudado.org>
View all headers

On Sun, 1 Sep 2024, Johanne Fairchild wrote:

>> In my case, it is because I am not working as a programmer, so I have
>> not requirements to be productive or to be able to generate any income
>> of programming.
>
> I am not programming for profit any longer. Thank God. I program for
> beauty now. This change has been the hardest thing I had to do and it's
> been so worth it.

Why? How was it to work as a programmer and what was it that you
didn't like about it? When I graduated from university, I wanted to
become a programmer, but at that time, only 10+ years of experience was
wanted on the job market, so life decided that I should work in
infrastructure/system administration instead.

Pages:12

rocksolid light 0.9.8
clearnet tor