|
See also Alamagoosa, a short story by Eric Frank Russell.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Oh, and "dogs" plural - we worked in a coach house overlooking the orchard and there could be seven or eight dogs roaming around. Nice, relaxing atmosphere - if you have a coding problem there is nothing like throwing a ball round the orchard for dogs to play with to sort it out in your head!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Close enough. My quote is from the man page for GNU find, as packaged with Ubuntu. They used those last two sentences, but the preceding bit is different.
On a related note, the now-obsolete documentation for part of a VICTAB system, in the glossary of terms, included several derogatory "definitions" relating to brands of motor cars and other unrelated "stuff".
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Good morning, Visual Basic! Hey, this is not a unit test. This is rock and roll. Time to rock it from the delegate to the lambda expression! Is that me, or does that sound like an Elvis Delphi movie? Viva Da Nang. Oh, viva, Da Nang. Da Nang me, Da Nang me. Why don't they get a rope and hang me? Hey, is it a little too early for being that loud? Hey, too late. It's 05:30! What's the "0" stand for? Oh, my God, it's early.
And I'd like to take questions from the audience: You sir, in the C++ tie?
Quote: What the elephant are you doing up this early in the elephanting morning? No idea - Herself was snoring, the cat was walking on my bladder, and the sun was aloft on what looks like another Glorious day in the People's Republic of Cymru (South).
Quote: Can I go back to sleep now? Apparently not.
Quote: Bugger. Say that again, with feeling.
Quote: Bugger! My feelings exactly.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I didn't think that stuff grew in Cymru (South). I thought it needed a dryer, sunnier climate.
Well, who knew!
|
|
|
|
|
It's not called "grass" for nothing; it grows anywhere.
(Maybe not in Antarctica )
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
04:30 here and I'm up for no reason, but I haven't watched a sunrise for a while, so that's what I'm doing.
Currently in the great state of New Hampshire (lakes region).
|
|
|
|
|
Hah 4 1/2 hours ago I was snoozing off a rather pleasant lunch and a very nice bottle of red.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
OriginalGriff wrote: the sun was aloft on what looks like another Glorious day Rolling shutters keep the sun out; it'll feel like night even during the day
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
One of my favorite movies, we'll minus the delegates.
Funny my 2nd tour I was based in Da Nang.
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
Quote: What's the difference between the Army and the Cub Scouts?
Bzzzzzt!
Cub Scouts don't have heavy artillery!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Same thing for Marines.
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
I have recently started rereading Notes on Structured Programming by Edsger W. Dijkstra (published in 1972 when I was a young programmer). I had read this article before (1975). It provided insight that solved a very complex problem in the architecture for a relational database management system. (As an aside, this article is the source for the famous tenet "Program testing can be used to show the presence of bugs, but never to show their absence!")
Early on in his notes, Dijkstra suggests that "experienced and competent programmers" would be irritated by the length of his proof for the correctness of the program part:
d := D;
while non prop ( d ) do d := f ( d )
To which he states
"Personally I am inclined to conclude from this length that programming is more difficult than is commonly assumed; let us be honestly humble and interpret the length of the proof as an urgent advice to restrict ourselves to simple structure whenever possible and to avoid in all intellectually modesty "clever constructions" like the plague."
I revisit Marc Clifton's lament about "dumbing down code so that it can be maintained by junior devs." I suggest that C# syntactic sugar ("LINQ (except for basic things), metadata, reflection, extension methods, and any of the C# 7.0 language features") falls under the domain of clever constructions. And it is here that I suggest that what is being called "dumbing down" is, in reality, a reasonable approach in the production environment.
Recall too that programmers do not usually own the code they produce. Because it is produced as a work for hire, the programmer's employer is the owner. And probably more importantly, the employer is in business to produce the code.
Therefore I suggest that an employer who desires that code be produced that can be maintained by junior developers is well within his rights (as well as within his obligations to his shareholders). Decrying such direction by an employer is intellectual arrogance on the part of the employee.
Gus Gustafson
-- modified 16-Jun-18 15:17pm.
|
|
|
|
|
Why don't you go over to Q&A and tell them the good news. No need to learn anything anymore. The others are now responsible to make everything easy enough for them to handle.
Call me arrogant, but most juniors are idiots, more in the original greek sense of the word. I prefer helping them to overcome this (if you believe the ancient Greeks) natural state of ignorance and gain first experience in some area.
It always was the job of architects and seniors to make the code as complex as needed and as simple as possible. That's only one aspect of maintainability. Maintainability is the real goal, not dumbing down at all cost. If that means herding the juniors into a meeting room and giving them some training, then so be it.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
So CodeWraith got most of it correct. Over engineering is the bane of our industry, it destroys maintainability. I have a mantra - maintenance is the most expensive aspect of software.
gggustafson wrote: that an employer who desires that code be produced that can be maintained by junior developers I agree that this is both the right and the responsibility of the owner. However the "junior developer" must have a reasonable level of competence and are expected to learn and expand their skills so only feeding them the simplest code structures is doing a disservice to them and the employer.
I guess the issue is defining where over engineering begins. I failed to do this with one developer and we now have a project that no one can support as we eventually let the dev go .
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
gggustafson wrote: probably more importantly, the employer is in business to produce the code. Most often: the company is in business to make money, the employer to ensure that happens by managing managers who manage programmers who write code.
Complicated code that utilizes newer language features to achieve excellent results ... speed, less memory use, enables new features ... is going to get used: if the direct (adoption, updating, testing), or indirect (legacy compatibility) costs are tolerable.
The issue of willy-nilly adoption of new syntactic sugar: is a red herring
«... thank the gods that they have made you superior to those events which they have not placed within your own control, rendered you accountable for that only which is within you own control For what, then, have they made you responsible? For that which is alone in your own power—a right use of things as they appear.» Discourses of Epictetus Book I:12
|
|
|
|
|
gggustafson wrote: an employer who desires that code be produced that can be maintained by junior developers is well within his rights It's also your right to desire your house to be built using only Duplo blocks (the big Lego blocks) so toddlers can do renovations.
With a house that's obviously a bad idea, why is this not the case for software?
Unfortunately, writing maintainable code seems to be very difficult for juniors and seniors alike.
No matter your desires, you'll end up with a big ball of mud anyway.
|
|
|
|
|
Now there is a truism! "Big ball of mud"
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
This is a bit subjective.In the matter that someways you save time and write less code , which means less code to maintain by the junior developer once he understands the code. He can later extent or add feature as needed.
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
To be honest I didn't follow and did not clearly grasped the whole argument.
However, when asked to "dumb down the code" it often means don't used this newfangled syntax that I don't (yet) understand, such as "await DoThisAsync()"
The problem for this request are 3 fold:
1. it is often the case that by the time you make the effort to do do it and rewritten what need be written, everybody has moved on and use this previously so called "newfangled syntax"
2. This newfangled syntax is, in fact, supported by lot of compiler infrastructure and language research by C# team and will reduce you program's number of bugs, hence not using it, will increase your bug and development time
3. it is literally painful and extremely confused to be told do not used keyword X, or library Y, one start to wonder how complicated and unintuitive is the result is expected to be. In other word if I ask you to move from A to B, but to not use a straight line and to not use any shortcut, it's a bit confusing what path to follow and one is tempted to, half of spite, half of attempt at pleasing, half of confusion, to go through as many hoops as possible.
|
|
|
|
|
I completely understand restricting what libraries, languages, and other technologies can be used. You don't want a tangled mess of 12 languages and 500 libraries. But when it comes to the code itself, the business should take a step back - you've hired professionals for a reason.
I'm a big proponent of readability. It helps not only in debugging but in maintenance as well. Language constructs are often included to improve this aspect of the language. They also function as abstractions since these simple constructs often obscure carefully constructed code. A great example is lock . This expands in C# (from 4.0+) to:
bool lockTaken = false;
var temp = obj;
try
{
Monitor.Enter(temp, ref lockTaken);
}
finally
{
if (lockTaken)
Monitor.Exit(temp);
}
The lockTaken code was added because of a bug in the 3.0 implementation but most people didn't even notice because they used the language abstraction.
This topic as a whole ties a bit into a pet peeve of mine: The idea that everyone should conform to the lowest common denominator. No. Everyone should work to bring that person or people up to speed. If you keep lowering the bar eventually you're left with people that can't accomplish anything.
|
|
|
|
|
We do not explicitly dumb down the code.
If there is a valid reason, i.e. mostly performance, to use more modern language construct, we will use it.
if there's no reason for it, then you must demonstrate how it will make our life better.
I'd rather be phishing!
|
|
|
|
|
Visited Palermo yesterday and found the Capucin catacombs to be the best place to evade the scorching heat, it is not for the faint hearted though, hundreds of skeletons and mummified remains are staring at you, mostly placed in an upright position and dressed in their original clothes.
The numerous churches of Palermo are nice and cool too.
The Palermians themselves seem to flee from their bustling city in the weekend to the beach of Isola delle Femmine.
Luckily for us, as we even managed to find a free parking place at the Bonnaro marketplace.
Today we will go to the salt lakes of Nubia and stay there for a few days.
|
|
|
|
|
|
|