IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Human dynamics have no precise answers
Depending on the task at hand, either approach may or may not work well. I know that there are plenty of successful Perl projects maintained by experienced small teams with 50,000-150,000 lines of code. (Should you count the CPAN modules that also got installed in lines of code?) Using the estimate that Perl code is 6x as dense as C, that's similar to 300,000 to 900,000 line C projects, only done in less time by fewer people. (OK, it runs more slowly and it takes more memory.) Conversely if something would take more than a million lines of C, Perl is likely not the right language to choose.


This leave me wondering, does this imply if something takes more than 150,000 lines of code in Perl, then perl is likely not the right choice. If yes why?

Yes. Here's why. To handle a large amount of code, eventually you need a large number of people. The question then becomes how well that team will coordinate their efforts.
And does this imply if something is taking more than 900,000 lines of C, I should start looking for a different language, but not Perl.

If you're already using Perl at that point, you probably don't want to switch and rewrite. But if you're planning ahead, I might not choose Perl for this situation. (Others may disagree.)
I personally think, the answer to the lines of code can be a lot more structured, for example, if you have more then N lines of code use namespace, or package (Tcl vocabulary) or consider using an object system

I submit that you're thinking that because you're thinking of this as a technical issue.

It is not.

It has to do with how well a group of people functions together. And this depends on a lot of "soft" criteria, such as the structure of your organization and the mix of personalities that you have.

Technical features interact with human dynamics. Sometimes in complex ways. Checking off a list of features does not give you a good guide to figuring out how things will work out in reality.
If c doesn't have those, then c fails. If perl does, then perl will succeed.

If life was so simple then many discussions could be avoided or greatly streamlined. If only.
Of course I can imagine, other language features can affect the choice when faced with the problem that too much code is being written

But "too much code is being written" is not the problem to solve. Nor does dding language features necessarily make you better at handling large problems.

The real problem to solve is getting humans to accomplish the desired task. The challenge is how to coordinate those humans into a successful group. And language features do not have a simple relationship with this problem.

One strategy is to say that we know that small groups are easier to coordinate than large ones. So make small groups as effective as possible. Perl lends itself well to this strategy.

Another strategy is to say that large groups can accomplish more, and there are things we can do to make large groups work together smoothly. Java is far better than Perl at the latter strategy.

Why is Perl better at the first strategy than the last? One reason is an excess of features. Perl has every feature you named and more. This allows people to pick very efficient solutions. However when 20 people each does things how they think best, that group will be impossible to coordinate as a team. Restricting people's choices is good for teamwork.
But I believe this porblem is very structured, and can be answered very specifically, and languages performance and ability to face this problem can be determined more precisely.

No need for estimates here, we don't have to guess.

What do you base this belief on? More to the point, does your thinking take into account the fact that this is really a problem of human dynamics, not language capabilities?
About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead. -- Edsger W. Dijkstra
New What do you base this belief on?
C'mon Ben, wheres your memory?
Go read some previous posts from this guy.
All academic, mostly technical, zero real world experience.

Sound very good for about 30 seconds and then the bullshit meter goes to red.
New My memory is fine
Ask Scott or Mike.

Furthermore I didn't even need to look at past posts to see this. His lack of experience is indicated by the fact that he missed that I was talking about team dynamics, and those do not admit to precise answers.

However people can learn from others what most wind up learning by experience. And I've never minded being a little patient from time to time. So I decided to put some energy out clarifying my thoughts.

Cheers,
Ben
About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead. -- Edsger W. Dijkstra
New He needs real world experience
He is pure ivory tower, and that tower is pure tech.
I wonder if he's read "Death March".
New No disagreement
About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead. -- Edsger W. Dijkstra
     Some corrections, notes, etc on Code Complete 2 - (ben_tilly) - (15)
         EMACScript? - (pwhysall)
         Two additional typos. - (Another Scott) - (2)
             Thanks to both of you - (ben_tilly) - (1)
                 I know a little about that. It's 2 Two too typos in one! :) -NT - (Another Scott)
         Pathologically Eclectic Rubbish Lister? - (Simon_Jester)
         Small Ruby correction ... - (JimWeirich) - (3)
             D'oh - (ben_tilly) - (2)
                 Perhaps you were thinking of 'next' - (JimWeirich) - (1)
                     No, I just thought that Ruby was more similar than it is - (ben_tilly)
         Re: Some corrections, notes, etc on Code Complete 2 - (systems) - (5)
             Human dynamics have no precise answers - (ben_tilly) - (4)
                 What do you base this belief on? - (broomberg) - (3)
                     My memory is fine - (ben_tilly) - (2)
                         He needs real world experience - (broomberg) - (1)
                             No disagreement -NT - (ben_tilly)

Spiderman! Spiderman! Does whatever a spider can!
110 ms