Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1089749
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T23:16:15+00:00 2026-05-16T23:16:15+00:00

I recently read Eric Steven Raymond’s article How To Become A Hacker and I

  • 0

I recently read Eric Steven Raymond’s article “How To Become A Hacker” and I like his suggestion of learning 5 key languages (he suggests Python, C/C++, Lisp, Java, and Perl) as a way of covering the main programming paradigms in use today.

His advice is that it’s not so important which specific languages a programmer knows. It’s more important to know different approaches to programming, for two reasons.

The first reason is that it makes it trivial to pick up a new language, once you know the general approach to the way it solves problems.

The second reason is that there is no one best language – they all have trade-offs. It would be best to know what type of language to pick given a specific type of problem. This is what I’m most interested in, but I’m having a problem really distinguishing between the 5 languages he suggests. There seems to be a lot of overlap.

So my specific question is, given these 5 languages, what is their intended programming paradigm, and give one example of the type of problem it would be best suited for.

An example answer (and I’m not sure this answer is correct):

Perl
- mainly a functional language
- great for quick text substitutions in multiple files from the command line.

I found a few other similar questions posted, but I’d like to know about these 5 languages in particular. I’m just looking for a starting point, nothing too detailed. Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T23:16:15+00:00Added an answer on May 16, 2026 at 11:16 pm

    I think you’re approaching it wrong. As esr himself says, it’s not the language that matters, it’s the paradigm. So when you say that

    1. Perl is a functional language
    2. It’s great for quick text substitutions in multiple files from the command line

    you are missing one of the main points of a functional language which is that they are great for building large systems using a bottom up approach: solve a bunch of (well chosen) small problems with well designed functions until we have a complete system. We cut down on code duplication by identifying what algorithms that we are using have in common and using higher order functions to encapsulate their commonality. We minimize (overt) branching behavior by using higher order functions to cook up just the function that we need for a given situation.

    Likewise, I could say that

    1. Java is mainly an OOP language
    2. It’s good for writing large, robust systems,

    but that misses the point that OOP languages are about modeling concepts from the problem domain in code so that we are left with a clear way to imperatively solve the problem at hand. We cut down on code duplication by identifying what the relevant concepts have in common and encapsulating the code that deals with those commonalities in a class that describes it. We minimize (overt) branching behavior by providing different subclasses of an abstraction with appropriately different behavior.

    On the whole, the basic point of programming languages and their associated paradigms is

    • to allow you to not think about anything that doesn’t affect the quality of the resulting program. If that wasn’t a (largely) desirable thing, then we would all be writing machine code.

    • This is accomplished by (among other things) providing a set of tools for building abstractions.

    Shop around and pick one that you like and get good at. Just make sure that you learn when the other ones allow for a better solution (this will probably mean getting good at them eventually too ;). I think that you can mainly take “good solution” to mean, “clear mapping of code to ideas“. (modulo concerns about efficiency that would force you (provide an excuse?) to write in a language like C)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is anyone using the techniques from Domain Driven Design? I've recently read the Eric
I recently read an article about password hashing . How are MD5 or SHA1
I recently read an article about c#-5 and new & nice asynchronous programming features
Recently read in a article on dotnetpearls.com here saying that static ctors take a
I recently read top ten jquery techniques in Web designer mag and like the
I recently read an article talking about the Java annotations, and on this latter
I recently read an article on Wikipedia about Design Pattern So far I've done
I recently read a discussion regarding whether managed languages are slower (or faster) than
I recently read this article . Which uses the Silverlight Bing maps control to
I've recently read an article http://www.ravelrumba.com/blog/static-cookieless-domain/ about Serving Static Content from a Cookieless Domain

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.