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 668203
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T00:00:51+00:00 2026-05-14T00:00:51+00:00

I am building a multi-language API to query key value stores and I am

  • 0

I am building a multi-language API to query key value stores and I am debating (with myself) about whether to use fixed argument lists or dynamic argument lists using hash tables.

In general I do realise that static type checking is not possible when using hashes, but as long as there are unit tests this is not a problem. But are there any other disadvantages?

For instance, using arguments:

set(Key,Value)

:and using hashes:

set(key: Key, value: Value)

Update:
I have since read this:
There are some instances where keyword communication is inferior to positional. The most obvious is the call to a procedure that is defined having only a single parameter. The keyword is, of course, unnecessary. Generally, keywording without defaults will require more keystrokes; keywording with defaults will require less. For some of today’s machines, the processing of keyword sequences will be somwhat more expensive than the processing of positional sequences. The most disturbing disadvantage may be that an unintantional omission of a parameter on the programmer’s part might lead to a program executing incorrectly, but without noticeable errors, since the default value for the parameter would be used.

  • 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-14T00:00:51+00:00Added an answer on May 14, 2026 at 12:00 am

    Using PHP, you’d have something like those for your function : first, using arguments :

    function my_function($username, $password) {
        // Work with $username and $password
    }
    

    And using “hash values”, you’d use an array :

    function my_function($params) {
        // Work with $params['username'] and $params['password']
    }
    

    (And the idea is the same in other languages — such as Javascript, for instance)

    About hash values, a couple of great things :

    • You can use any number of parameters
    • You can pass them in any order you want

    And at leat one very bad thing :

    • You don’t know what parameters you can pass !
      • Your IDE will not provide any help
      • You will not be able to extract that information from the code

    About named parameters, a couple of great things :

    • Better automated checks : if you don’t pass an expected parameter, you can get a warning, both in your IDE or at compile/execution time
    • Better documentation / hints in your IDE : type the name of the function, and you’ll get the list of expected parameters and their (descriptive) names.

    And for bad things :

    • You have to pass the parameters in a strict order
    • If you want to omit some parameters, you have to pass them a special value, like NULL.

    Now, generally speaking :

    • When I only have a couple of parameters, I use named parameters
      • It makes the function more clear : just look at its definition, and you know how to use it
    • When I have more parameters, but almost all of them are mandatory, I generally use named parameters
    • When I have many parameters, but most of them are optionnal, I generally use hash values.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Building a multi-language application in Java. Getting an error when inserting String value from
We're building a multi-language Drupal stack and one of the concerns we have is
Need just a push in the right direction with this. I'm building a multi-language
I have a specific question, that could use a general answer... When building Multi-Tier
i am building a website with a multi-language feature. it would be hard if
Building on this question , is there a simple solution for having a multi-key
I have a multi-dimensional array that I'd like to use for building an xml
I am building a multi language site I have a descriptions table that hold
I am building a multi-language site using codeigniter I have this language file $lang['prot_home_1']
am building a website that will be in multi language, I was wondering how

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.