Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

So after a month of research into "agile languages", I must conclude there is no such thing. Barbarian coders are constantly looking to increase their speed to build the next new thing. Java developers are frustrated with their language's bureaucracy. Students entering the workforce are disappointed when a programming career is less fun than they imagined. None of these things relate to agile development. I'm not convinced a language could be built that would be a significant advantage to agile development. Software development methods are mainly concerned with people, while programming is about crafting code. They are really two separate problem domains. Anyone claiming a language is agile is trying to deceive you with hype.

-- What is an Agile Language? by Ken O. Burtch

You gave one fairly general example of where you are coming from:

The more logic one puts into a single statement the harder that becomes. For me SQL is the obvious case in point. But the same may also be true for Perl code. Perl code development could be impeded by excessive compacting of code.

To give us a clearer understanding of where you are coming from, please give us specific examples of how "excessive compacting of code" impeded Agile development or of SDLC problems that could be solved by the programming language becoming more agile.

BTW, I laid down what I consider important in programming in On Coding Standards and Code Reviews, for example:

  • Correctness, simplicity and clarity come first. Avoid unnecessary cleverness.
  • Establish a rational error handling policy and follow it strictly.
  • Plan to evolve the code over time.
  • Don't optimize prematurely. Benchmark before you optimize. Comment why you are optimizing.
  • Write the test cases before the code. When refactoring old code (with no unit tests), write unit tests before you refactor.

and many more. I went through these just now, but struggled when trying to decide which of these were more "agile" (update: they seem to be more aligned with Software Craftsmanship than Agile Software Development; see also Readability vs Maintainability).

What is an Agile Programming Language?

The agile manifesto defines agile development:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

To be anti-agile therefore, a programming language needs to:

  • Inhibit interaction between individuals and demand business process
  • Prevent working software while forcing the writing of unhelpful docs
  • Block collaboration with customers and refuse to function without a legal contract
  • Make code changes impossible without compliance to a project manager's plan

It's hard to imagine such a language.

Updated Jan 7 2021: Added "What is an Agile Programming Language?" section.


In reply to Re^4: Have SQL standards gone too far? by eyepopslikeamosquito
in thread [OT] Reflecting on SQL. Meditating on Perl. Do languages meet requirements of Agile? by betmatt

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2021-09-17 14:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?