Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Arc

54
37
+ 1
0
Perl

3.5K
934
+ 1
575
Add tool

Arc vs Perl: What are the differences?

Developers describe Arc as "A dialect of the Lisp programming language developed by Paul Graham and Robert Morris". Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software. On the other hand, Perl is detailed as "Highly capable, feature-rich programming language with over 26 years of development". Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.

Arc and Perl can be primarily classified as "Languages" tools.

Perl is an open source tool with 435 GitHub stars and 152 GitHub forks. Here's a link to Perl's open source repository on GitHub.

According to the StackShare community, Perl has a broader approval, being mentioned in 133 company stacks & 64 developers stacks; compared to Arc, which is listed in 7 company stacks and 6 developer stacks.

Advice on Arc and Perl
Needs advice
on
GolangGolangPerlPerl
and
RustRust

I intend to use a programming language which I'll use as AWS runtime and write a script that will comb through tons of files in a directory and its subdirectories and search for simple text regular expressions and process and write the matches in a file as output. I have heard that Perl is good for regex based search but I also want the performance to be good as it will have to go through tons of files for IO. In this post: https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1, I see that Rust works well as AWS Lambda runtime with very good performance. Which one should I choose as my AWS lambda runtime for this problem? Golang is also an option as it is fast as per the above link.

See more
Replies (1)
Recommends

I used to work in a Perl shop and must admit that the language is very simple for tasks like these, but as you mentioned it's not fast at execution time. I'm now a Go programmer professionally but I taught myself the language while in college purely out of interest and eventually found my way to the job, not the other way around. I've recently been learning a little rust because of how much that language comes up in conversations around Go. I find the concept of the borrow checker nice but I have to admit I feel lost like I am in most flavors of new fancy framework js. That's not to say Rust is really anything like js, but the learning appears the same to me as someone who's convinced they could learn just about any programming language if it was necessary (over time I've seen procedural, OOP, declarative and functional stuff but never programming logic outside of the prolog code I wrote in school).

Go isn't made for your specific task at hand but it's a very easy language to pick up and it has good directory traversal standard library code and good regex (even though with time perl's has been optimized to be faster and I think it's written in C++) but more than anything Go is "cloud native" programming in that an awful lot of new microservice tech stacks are centered around it, docker and kubernetes are written in it, and there's a thriving community whose focus is generally web-first and performance-oriented. This means for your use case there might already be a large cohort of gophers that have asked the stackoverflow questions for you

I personally would push you towards the NYT Profiler for Perl before I would towards Rest, but that's because I know you wouldn't waste any time being able to get to the task at hand and then make it go faster, and I expect all but a few rustaceans would be able to do so with the same speed.

Whatever you pick I wish you the very best of luck!

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Arc
Pros of Perl
    Be the first to leave a pro
    • 72
      Lots of libraries
    • 66
      Open source
    • 61
      Text processing
    • 54
      Powerful
    • 49
      Unix-style
    • 47
      Regex
    • 37
      Stable
    • 32
      Concise syntax
    • 29
      Hackerish
    • 22
      Easy to use
    • 16
      Swiss army chainsaw
    • 13
      Code Less Do More
    • 12
      CPAN
    • 9
      Freedom
    • 8
      All purpose
    • 5
      Readability
    • 5
      Familiar
    • 5
      Many ways to do it
    • 5
      Community
    • 4
      Object-Oriented
    • 4
      Modular
    • 4
      Smart (does alot for you)
    • 3
      Postmodern
    • 3
      It's the best one-off task language
    • 2
      For a man
    • 2
      Good man pages
    • 1
      Auto case variables
    • 1
      Single Source Library (CPAN)
    • 1
      Multi-threaded support
    • 1
      Multiparadigm
    • 1
      C-style
    • 1
      Hashes

    Sign up to add or upvote prosMake informed product decisions

    Cons of Arc
    Cons of Perl
      Be the first to leave a con
      • 4
        Messy $/@/% syntax
      • 3
        No exception handling
      • 2
        Bad OO support
      • 2
        "1;"
      • 2
        No OS threads
      • 1
        Variables are global by default
      • 1
        Copy-on-create for interpreter-based threads
      • 1
        Barewords
      • 1
        Errors/warnings are ignored by default

      Sign up to add or upvote consMake informed product decisions

      733
      443
      1.5K
      2.2K
      13.4K
      68.1K
      - No public GitHub repository available -

      What is Arc?

      Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software.

      What is Perl?

      Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Arc?
      What companies use Perl?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Arc?
      What tools integrate with Perl?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      What are some alternatives to Arc and Perl?
      Akutan
      A distributed knowledge graph store. Knowledge graphs are suitable for modeling data that is highly interconnected by many types of relationships, like encyclopedic information about the world.
      JavaScript
      JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
      Python
      Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
      Node.js
      Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
      HTML5
      HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
      See all alternatives