Anytime I start to feel like this, I remember that there
are probably 1000 other developers that could have come
up with a better, faster, more efficient solution.
Anytime you start feeling like you're "The
Man", just take a step back and eat some humble
pie ;-)
Plus, I hate when people rag on others for trying. Every
exercise, no matter how trivial, is a learning
experience to *someone*.
By your reasoning:
* No one should even write alternative software. Why
even bother with Linux when we already have Windows?
Actually, why bother with Windows when we have Unix? Why
should Toyota make cars when Ford already makes them?
* Of course, there's always only one solution to any
problem; all other solutions are useless, pointless, and
a waste of time and effort.
* You are the god of programming, all bow down before
Roy! For there is no greater god who can write perfect
code every time on the first try! Compile time error
checking? Pffft! Roy the Great doesn't need it for he
never makes syntax errors. Version 2? Pffft! Roy the
Magnificent always gets it right the first time.
Don't get me wrong, I'm the *king* of code reuse and a
great denouncer of the "Not Coded
Here" syndrome. I totally support using tools
already in existence before embarking on building it
yourself, but at the same time, I understand that for
some, the best way to learn is to build it yourself.
And, if what you build doesn't totally suck, hey, you
know, maybe someone else can get some use out of it.
It's like reading a book before seeing the movie. Yeah,
I can just see the movie, pffft! why bother reading a
1000 page book over 2 weeks when I can see the movie in
3 hours? Well, you'll certainly agree that forming the
scenes in your imagination is a fundamentally different
experience then watching someone else's vision and
imagination.
And yes, you did set yourself up for that ;-)
Well Charles, I'm not sure about the movie vs. reading
part, since one if informational and the coding is
"creational" in nature, but here's a
question:
As a team lead, would you recommend your team to always
google for answers if they're not sure of anything?
Again, I'm not saying "using". I'm
saying "looking around".
That was my main point.
Wow...you can write the same thing in 6 lines that I did
in 12 lines. You must be the man! Pretty juvenile.
As I posted, I wrote the macro back in 03. I wrote the
macro explicitly not using CreateObject because I don't
like using hidden global static functions in the
Microsoft.VisualBasic.dll assembly...even in my macros.
Actually I don't like using anything in the
Microsoft.VisualBasic.dll anywhere. And if you look at
Interaction.CreateObject in Reflector you'll see
that...wow...amazing...It calls Type.GetTypeByProdId to
get the type, then calls Activator.CreateInstance(). How
about that?
Then you ding me on the number of lines of code I use.
Please! Lets see...your macro always opens up the the
second tab and you have to go back to the first tab
(unless your still using ODBC as your data provider).
And I actually format the connection string to put
quotes around it to make it a tad easier for the user.
The motivation for my post is that I saw a useful macro.
Then though, "Hey, I've got a macro that people
might find useful". That's what blogging is all
about. Helping others. Not flaming others.
John: Sorry if i hurt you. I realize that this post can
be taken the wrong way if you really try to look into it
this way. But it was not a flame, just another point of
view of doing things.
I'm fully aware of what happens behind the scenes with
MS.VisualBasic and live with it without any problem. I
must have missed the fact that you wrote this in 03 (not
that it really matters, my points was on the difference
in style and readability)
I agree that the community it served when you post this
thing. I also believe the community is served even
better when several points of view on the same subject
(of style and reuse) are posted.
Again, sorry if you've taken this personally. That was
not my intention.