it's better to use a pre-designed model that works, that way you avoid great deals of useless dead ends.
this is useless for small projects where you do not have a put a great amount of work designing the software architecture itself. there a good IDE is really all you need.
but you are completely fucked if you are a project coordinator with 10+ people all doing their own thing in their own IDE's. because they dont need anything else and are so f*k good at it. how to organize the chaos and make distributed programming really work?
problems arise as soon as you do not work in groups with less than 3 people anymore. There it already starts making sense to use diagramms of whatever type. Unified Modelling Language just happens to be standard.
in informatics it is the trick to make good systems which are easily understandable for everybody else in the team.
visualized through models which are to be implemented afterwards by the programming staff with good code.
just the programmers get the interface definitions in the end.
lets take another approach. the design team always exchanges a bunch of plaintext-interface definitions... for what? they dont need to program anything at all.
for example: goal specification happens in europe, implementation happens afterwards in asia because it is cheaper. only the asians have the need for the plaintext itself.
system design, software construction done engineer-wise in particular, is something which is done simply easier through UML (or comparatives), no matter if you in particular need it or not. others do.
it is simply quicker to understand compared to having all interfaces as plaintext.
digression:
lets abstract another layer...
system design per se needs models: what if you want to model i.e. a business system, like a sales company?
something you need no programming at all for in the first place? try this with some interfaces then....
even though meta-models suck, they are still the things all specifications derive from in the respectively used model.
models which can simply be used in program design, too...
@natirips:
svarox pointed out to this two posts before... sure you got the hint? as always you claim you perfectly know all this. even though you studied physics and not informatics.
you also really know what
this is?
first order logic is not pseudo code. it happends to be found not just in informatics.
still it is useful for proofing two algorithms to be equal on a mathematical base. Similar things you show through inductive proofs for recursive functions.
Pseudo code is your try to implement what you found out, before actually writing it the specified programming language.
p.s.
talk about off-topic