|
The author has a point in that standard code formatting makes things harder for diff/merge tools. Where they go off the rails is in deciding that the solution is to change how everyone's editor of choice works to make things easier for existing line based diff/merge tools; rather than to make a new diff/merge tool that has a greater awareness of the structure of the code it's examining.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
Shouldn't a diff/merge tool work on the token level? Pass each candidate file through a tokenizer and compare the token streams.
You could optionally include a parser, recognizing e.g. statements, for reporting multiple (/consecutive) token edits/moves by the next higher unit (statement, at the basic level, but if all tokens within a statement are affected, the same logic may be applied at higher levels).
|
|
|
|
|
As a standard text representation, I suggest the universal language of all non-quantum computers, 1's and 0's!
|
|
|
|
|
You forgot analog computers.
I wonder if analog computers are still in use anywhere. You programmed them by hooking together "lego bricks" on a plugboard, each brick being a summer, and integrator, a delay, ... The solution was usually something more or less like a physical rendition of a complex (set of) differential equations. Input was given through potentiometers, output on a curve plotter or an oscilloscope-like screen.
When I started my studies (1978), one professor was still keeping alive his computer model of cod farming in the Sognefjord, showing how the school would react if it was fed so-and-so much, by cranking up this pot, or how a huge winter snowfall would affect it in spring when the melting water reduced the water temperature, by turning down that pot. At that time, programming analog computers was no longer part of the basic curriculum, but I believe a course was available to junior/senior students.
I never programmed an analog computer myself. I didn't have access to one, and never really made friends with differential equations.
|
|
|
|
|
So Ctrl-K Ctrl-D isn't sufficient for Visual Studio developers. Other IDEs have similar keyboard shortcuts. This is a solution in search of a problem.
|
|
|
|
|
What are the implications for step-debugging? Would the debugger need to be aware of the formatting rules in order to break on the correct displayed line? Stack traces would also be out-of-whack, I'd think. I take comfort in the fact that what I see is the same thing that my colleagues see (let alone the compiler), so I'm not really sold on this idea.
|
|
|
|
|
Today, the compiled code / debug information flags the source line numbers. It shouldn't be that difficult to rather flag them by statement numbers. You need of course a well defined way to count statements, but that is a matter of definition and standardization, not a technical difficulty.
The editor could easily display the statement numbers in the left hand column, the way it displays line numbers today. And the IDE should be capable of taking a stack dump and let you click yourself to the right source code location, even with statement number display turned off.
|
|
|
|
|
Microsoft was able to identify new wiper malware (dubbed "FoxBlade") and provided both mitigation strategies and updated Microsoft Defender definitions to the Ukrainian government "within three hours" of discovering it. They can do more than icons when needed
|
|
|
|
|
Measuring developer outputs can be detrimental because there are not enough data points to understand if the unproductiveness was caused by the developer himself, or by his surroundings/company. kLoC, of course
That's why I format my code with one keyword per line.
|
|
|
|
|
Kent Sharkey wrote: That's why I format my code with one keyword per line.
You and the author of the above article.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
I think it might be easier to measure developer non-productivity. Let's call it FART.
F - Fear of making changes
A - Architecture, death by
R - Refactoring because the code base is hell
T - Technical obsolescence - you want me to code in what???
|
|
|
|
|
I think I found the source of all the anti-productivity problems, all of the
Bloated
Useless
Lousy
Leaderpship
Shoving
Horrible
Ideas (from)
Tradeshows
being rammed down our throats from on high.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
|
|
|
|
|
You can't effectively measure a programmer's productivity:
0) if you hold programmers to a schedule
1) if you impose artificial and arbitrary security restrictions
2) if you won't provide sufficient tools (hardware and software) that allow them to do their jobs
3) if you have a number of programmers with various skill levels because there's no "baseline" value to compare against.
4) if you have a number of programmers with various skill levels working on a large code base of varying complexity.
5) if the sky is blue one day, and overcast the next.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
The idea behind this "interaction language" is that the machines around us could be more intuitive and perceptive of our desire to interact with them by better understanding our nonverbal cues. Sorry, did you say something?
|
|
|
|
|
I go on the computer to get away from the wife, I don't need my PC yelling at me when I'm not paying attention too.
|
|
|
|
|
You know, it might end up as a new process concept!
(Youngsters may not be aware of it: The Unix process concept was developed by K&R for their space invasion game, so that the invading spaceships would continue to get closer while you were scratching your head for what to do next. Being slow on the draw might cause your death. This mechanism for letting spaceships sneak in on you if you didn't pay attention became the Unix process. And the space invasion command processor became the shell.)
|
|
|
|
|
Did they get jealous of MoviePass? (That you mentioned here a while ago?)
|
|
|
|
|
Was it the Chinese Government to ask for such a thing?
Party members have to spend some amount per day with the thoughts of their Great Leader. Now, the party can even check if those party members really pay attention...
Welcome to the World of Tomorrow!
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
Is there any doubt about the reason that Google wants this technology?
So that they can charge more for ads that people are paying attention to! And so that they can study what makes us pay attention, of course.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
|
When he retired with stuff left on his to-do list, he expected fixes would flow. They haven't What if we put up some paneling, and maybe a throw rug or two?
That would really tie this place together.
|
|
|
|
|
|
I agree with him. There is zero security baked into the underlying protocols, which I find absolutely amazing since is was the DoD, via DARPA, that paid for the basic development of the IP protocol family.
|
|
|
|
|
Remember that IP wasn't intended as a host-to-host protocol, but as an internet protocol, for gatewaying from one network to another network, and security was the responsibility of the two networks connected through the IP gateway.
But (in contrast to the competing OSI Internet Protocol) Internet IP didn't really provide any help whatsoever to make different networks talk together. So by and by, hosts took over the IMP functionality, bypassing the network on their side of the gateway. Then of course they should have taken the full responsibility for network functions such as network security. They did not.
Doing so would have increased the complexity to a level that couldn't be handled by a University freshman student as a home exercise. That could have had negative effects on the spreading of IP as The Ruling Network Technology.
|
|
|
|
|
There's more to coding than coding. Showing the hiring manager your puppy-eyes expression isn't very helpful
...I've heard.
|
|
|
|