Making disorganised structures
Yes.
It is possible to code tools for generating all kinds of geometry with Python and Blender's Python API.
You can simply script it in the text editor as you go something like that:
import bpy, random
from math import radians
from mathutils import Vector

amount = 20

for i in range(amount):
    l = Vector()
    r = Vector()
    d = Vector()
    for xyz in l:
        l.xyz = random.random()
    l.x +=i*1.5   
    d = random.uniform(2,5)
    for xyz in r:
        r.xyz = radians(random.random()*360)
    bpy.ops.mesh.primitive_cylinder_add(vertices=32,
                                        radius=1,
                                        depth=d,
                                        location=l,
                                        rotation=r,
                                        )

and then run the script:

Obviously, what exactly you do with objects(or you could also work with geometry) and how you manipulate them is up to you and this example is a very random choice of mine since you did not specify what exactly you are after. Possibilities here are pretty much infinite.