GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Embed Notice

HTML Code

Corresponding Notice

  1. Embed this notice
    pistolero :thispersondoesnotexist: (p@freespeechextremist.com)'s status on Friday, 10-Nov-2023 01:17:20 JSTpistolero :thispersondoesnotexist:pistolero :thispersondoesnotexist:
    in reply to
    • 
    • PC-9801 Enjoyer
    • Pleroma-tan
    • ≠ Brett Stevens ≠
    @amerika @Pawlicker @kirby @mint "Consistent" is not on the list of adjectives that spring to mind when I think of Perl. Perl's like the C++ of scripting languages: a massive agglomeration of everything the designer had ever heard of. You don't have to take my word for it, you can take Larry's: https://www.perl.com/pub/1999/03/pm.html/ .

    (This is also why Perl's best feature is Larry Wall. :larrypowers:)

    Putting everything into a single language is not necessarily desirable: you have pipes and allowing two different programs to communicate turns out to be more useful than any single language feature. The second Ken put pipes into Unix, every other system's fate was sealed. And here we are on the internet: just to get from where I am to where you are, there're at least eight languages¹ in use, and Pleroma has a pretty simple stack.

    As a trivial example, it's hard to touch sed for concision if you are editing strings and it's equally hard to touch dc or k for calculations. All three of those languages are brutally concise (single-character identifiers and operations are about as concise as you can get) but very expressive and convenient, and the implementations can be really simple. If you have a reference card, you can probably clone 90% of sed or dc in a day, but making a single language that satisfies both sed users and dc users is nearly intractable, to say nothing of trying to satisfy both sed and k users or dc and k users. (Add something that would make SQL users happy too and we're way off in theoretical territory.) Same reason "λ" will mean different things if the context is physics versus computer science, or "θ" will mean several things just in different branches of math.

    So just have both: give these languages a means to toss data back and forth between each other and you've solved the problem without complicating them. This is what makes Common Lisp feel crusty: no pipes, everything was monolithic back then.



    ¹ There's a bunch of C/assembly for all the OSs, there's this (terrible) browser that uses C++ [1] and JavaScript [2], then the page uses JavaScript, and it hits bloatfe (Go [3]), which then talks to nginx (C) and then Pleroma (Elixir [4] and some Erlang [5] on a VM written in C [6]), which talks to Postgres (C), and all of this on a box that is managed by a mess of bash[7]/awk[8]/etc. that I wrote. The uploads/avatars/etc. were served for most of FSE's life through a chunk of software I wrote in Ruby that spoke HTTP on one end and then consulted Redis (C) to figure out what arguments to pass to the venti (C) client programs but are now served by some Go software I wrote that is itself managed by rc and bash scripts.
    In conversationFriday, 10-Nov-2023 01:17:20 JST from freespeechextremist.compermalink

    Attachments

    1. Domain not in remote thumbnail source whitelist: www.perl.com
      Perl, the first postmodern computer language
      Perl, the first postmodern computer language The following is the text of Larry Wall's talk at Linux World on Wednesday, March 3. He explains why Perl is a fitting language for the postmodern era. As a member of the audience...
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.