|
Serious question: Would you describe the .NET platform and its libraries as creative? Why (not)?
|
|
|
|
|
Totally. A messed up mangled labyrinth which incorporates both the dll hell and the jar hell with namespaces split in a idiotic number of packages, with no clear documentation (no, telling what the members are and what parameters they do accept is not documentation, it is code. What the members are supposed to DO with my inputs? What output should I expect? What meaning have those properties do?) and duplicate functionalities under different namespaces with incompatible data objects.
That's as creative as "modern art" goes, because it is not an engineered structure for sure.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
If a coffee bean is between the Earth and the Sun, is it a Java Eclipse? -- Sascha Lefèvre
/xml>
|
|
|
|
|
Not now, it has become engineering, refinement and kludge. The initial concepts and putting it together took imagination and creativity sure. I've seen the framework USED creatively but the framework itself, not any more.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Mycroft Holmes wrote: The initial concepts and putting it together took imagination and creativity sure That's where we think different.
Someone had a (maybe somewhat creative) idea, let's create a new programming language that gets compiled to IL which can then, in theory, run on any platform our very own Java.
And from that point of view people started designing, according to a set of rules, and coding, according to specs.
People probably didn't follow all design guides and made some exceptions to common rules, but that's not yet creative.
Making the decision whether a value is passed as a parameter to a constructor, a method, or set as a property, is not creative. It's simply making a choice between a few well known alternatives. And that's how programming usually goes. At least the programming I've seen so far.
The creative part is WHAT to make, not HOW to make it.
And the WHAT isn't decided by programmers, developers, architects, or whatever you call them, it's decided by individuals, CEO's and managers and customers (and of course a programmer once in a while too).
At least that's how I see it.
|
|
|
|
|
Sander Rossel wrote: The creative part is WHAT to make, not HOW to make it. Hmm you may be right, I have always had a problem with what! The best I can manage is getting creative about how, but then you and peejay would call that craft. I will happily work with someone who can supply the what and be a bloody good craftsman
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Mycroft Holmes wrote: you and peejay would call that craft Exactly
I must admit it's hard to say what creativity is and isn't.
Take a writer, like a programmer a writer has a set of rules (the HOW) that are probably even stricter than that of a programmer, rules of syntax, spelling, grammar, lexicology...
Unlike a programmer a writer is creative because he's making up the WHAT to write.
A (fiction) book, contrary to an application, never solves a problem so the mind can roam free on the WHAT which makes it creative.
So now you understand when I say code should (almost) never be creative, it obscures the WHAT it's supposed to solve by introducing a new, temporary WHAT
|
|
|
|
|
Mycroft Holmes wrote: And that is the difference between a programmer and a developer.
I'm not so sure. I'm a lead developer and I design systems from the bottom up so I certainly wouldn't label myself as a programmer. I'd consider myself to be a creative person in general terms (I write, I make music, I cook and all the rest of it) but I see my professional role as being primarily that of an artisan rather than an artist.
Perhaps this perception is coloured by what I do - I've always worked on business systems and I'm back-end biased. If I'm designing a database, I'm generally working to a specified level of normalisation. If I'm writing a DAL, the requirement is very much for a robust and flexible DAL not something that will boldly go where no DAL has gone before. If I'm working on business logic, the prime directive is to adhere to the real-world business logic - there is no room at all for creativity in that, people can end-up going to jail for being creative with their accountancy. When I do work at the UI end of things, my customers expect a standard Microsoft look and feel.
In other areas of development (digital marketing springs to mind), creativity obviously has a bit more of a place and maybe that's where we should draw the distinction.
|
|
|
|
|
I have difficulty differentiating between a developer and an architect, I do both, and let me tell you creativity is a definite requirement when interpreting some user requirements. Writing a DAL, not in the last 15 years, I write the code generator that writes my DAL.
The database and the UI are where you need creativity.
PeejayAdams wrote: I'm generally working to a specified level of normalisation You mean you get a spec, how weird, the only spec I can remember are the one I have had to write - AFTER the app goes to production.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Mycroft Holmes wrote: You mean you get a spec, how weird,
I should be so lucky! Probably a lot more than fifteen years since I was given one of those ...
No, I mean either the level specified by the coding standards or designated by myself for the project in question (I too, live somewhere in the murky world between architect and developer). The point is, writing a database (whether it be 3NF or 5NF) is an exercise that revolves far more around good practice and comprehension of RDBMS than it does around creative inspiration. You don't need to be a Pablo Picasso or a Miles Davis to write a good database, you need to be a good database engineer (all too rare a thing, unfortunately). There might well be a great little concept or two at the core of a database but it's still essentially about craft rather than art and the most innovative idea in the world is no good unless the more prosaic elements around it are done properly. I can't help but come back to the 99:1 perspiration to inspiration ratio.
|
|
|
|
|
I can't agree with this. Best practices promote rather than limit creativity. Writing only to a framework is a sure fire way to have high coupling with a given framework. When the framework goes, so does all the crap you wrote on top. Curiosity needs focus, you can't be curious if you lack focus on what you want to learn.
|
|
|
|
|