|
Is it better to start late and catch up, or start early and be caught?
|
|
|
|
|
There is no difference, as long as you finish what you have started...
"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid." ― Albert Einstein
|
|
|
|
|
Starting late is my preference. Planning more, seeing which direction others go, etc.
If you start early, haring off in some direction, and everyone else chooses a different path, you may have to backtrack to catch up to them.
Just yesterday, I had this sort of thing in mind again. I saw some Subaru Outbacks on the road and thought again about how popular they are and how unpopular the AMC Eagle was when it was released. AMC started too early, the market wasn't ready for an AWD sedan/hatchback thingy yet. While Subaru was able to see the AMC Eagle as a case study and learn from its failure.
All too often we see a company having some idea for a product and saying "we need to be first to market" -- that tactic fails more often than it succeeds. The product is often poorly designed/implemented and obviously rushed. Whereas the competitors will see how the market reacts and can make a wiser, more reasoned plan.
modified 3-Oct-22 10:18am.
|
|
|
|
|
Good thing your preference is not followed by everyone. Otherwise we'd still be pushing square wheels while everyone waits to see if the market is ripe for round ones.
Mircea
|
|
|
|
|
A story from many moons ago... think mainframes, IBM and the seven dwarves...
A manager from one of the dwarves, speaking about the introduction of new technology.
Whoever introduces it first gets the glory. Whoever comes third gets it right.
Why do we always come second?
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Never start, don't be caught.
|
|
|
|
|
For marathon running, I use the first approach.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
IOW, is it better to request permission or to request forgiveness?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
I usually find requesting forgiveness best. Especially when it is my wife!
|
|
|
|
|
It is easier to request forgiveness, not better.
"It is often easier to ask for forgiveness than to ask for permission." -- Grace Hopper
|
|
|
|
|
Sometimes, it can be better to ask for forgiveness.
When entering a new job many years ago, I was given the task to write a GUI for a distributed debugger - extremely fancy for its time, but strictly command line oriented. The company had no experience whatsoever with GUIs (some eccentrics were using emacs for editing source code, but that was the limit of GUIs for them). So I was hired to create a Windows-like UI of mice and men(ues), updating the display immediately when something happened etc. etc. The major problem was that I was given nothing but the existing command line interface to interact with the debugger core, no API. The CLI was a conventional command-output one: You ask for the value of some entity, and it is printed on the console.
To keep updated e.g. the state display of all treads in all machines in the network, to make it appear as if display updates were event driven, I had to poll all displayed values continuously. I started out with polling/updating visible values only, but customers complained: When they pulled a large table to the front, they had to wait for the update. The table might well contain five thousand threads from a dozen nodes, sorted on the thread state value - that update was nothing like 'immediate'. So I had to change that to continuously polling all values of all data structures on the screen, whether visible or not.
The attitude towards performance was 'Throw in some more iron'. But there was a second problem: Before I was hired, the management had decided that this GUI was to be implemented in Tcl/Tk. They had read that Tcl/Tk is a great tool for making GUIs (but it had never been tried out before in other projects). This decision was carved in stone and could not be argued.
This was before Tck/Tk had any sort of (byte) compiler; if you iterated a tight loop a thousand times, the loop body was parsed from source code a thousand times. Running busy loop polling on several dozen tables, each of hundreds or thousands of entries, having to parse the output from a CLI interface, is not the thing you would do in a language every source line anew every time it was executed. It also follows that even the most obvious syntax errors were detected until you attempted to execute that line, and the system crashed.
I begged for permission to at least partially change the implementation to something else. It was denied.
As Tcl programmers know, you can write functions in C, compile them and link them to your TCL process with a plugin-like mechanism. I was so frustrated with Tcl/Tk that I essentially spent my summer vacation one year to translate the great majority of Tcl functions into C, using Tcl only as a glue language between them, and for interacting with the Tk widget set. By the end of the summer, more than 30% of the code was still Tcl, but the speedup was a factor of 3-5x (and would later increase a lot more). The system was dramatically more stable (in the Tcl to C translation, I had detected a lot of small and large errors that by pure luck or accident had never been executed).
So after my vacation was over, I went to the boss: Sir, I know that I was not permitted to do this in my working hours, so I did it during my vacation. Now we have two identically looking GUIs, identical functionality, but one is 3-5 times as fast and far more stable than the other. Which one of these do you want me to continue working on?
I was forgiven for breaking the strict order to stick with Tcl/Tk throughout.
That debugger GUI was my first Tcl/Tk project, and for 20 years, I have succeeded in keeping it the only one. I have been hating Tcl (and to some degree, Tk) ever since. If you want a language that pushes all the negative aspects of interpreted languages to their extremes, go to Tcl!
|
|
|
|
|
Just make sure to get behind schedule as early as possible. That gives you the most time to catch up.
|
|
|
|
|
Yes.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Doesn't matter. Finish first is good.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
I refuse to answer. This seems like a catch question.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
What we put on kippers. (9)
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Nightwear?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
YAUT!
I guess leftponders would call it sleepwear (and that terminology has infected our retail space.)
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
I suspect leftponders might be confused by "kippers" for "sleeping people". I think "to have a kip" is a UK (and possibly Oz) thing?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
It was also used as a slang way to refer to members of the UK Independence Party. For my part, I just put on a decent sized knob of soft butter.
|
|
|
|
|
Smoke me a kipper, I'll be back for breakfast!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Isn't kipper is smoked by definition?
"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid." ― Albert Einstein
|
|
|
|
|
Whatever happened to him after Red Dwarf?
|
|
|
|
|
Didn't he do something in a leisure centre?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|