Limit of a programmer

13
0
Can a programmer "for example a web developer" understand the code and algorithm of a program which is out of his profession for example an office program stopped working or a menu/function of that office program does not work, can a web developer estimate the problem and fix it or only he can do is report bug to original developer of that office program?
 

anorlunda

Mentor
Insights Author
Gold Member
6,326
3,513
It might not be easy, but the answer is obviously "Yes."

Once, I and many others were consultants helping companies with Y2K remediation. That involved many fields, and many programming languages with which we had no experience. Yet we succeeded so well that on January 1, 2000 almost nothing bad happened anywhere.
 

QuantumQuest

Science Advisor
Insights Author
Gold Member
830
429
Can a programmer "for example a web developer" understand the code and algorithm of a program which is out of his profession for example an office program stopped working or a menu/function of that office program does not work, can a web developer estimate the problem and fix it or only he can do is report bug to original developer of that office program?
The question is very general because it depends on a number of factors, the most important being the knowledge / expertise of the web developer and if being subject to some company or other policy or not. As you don't mention about these, I can't give you a specific answer although I am a web developer.

In general, a good web developer should be familiar with the development / set up of other software applications beyond web apps and have some CS knowledge formal or not, the first being preferable in my opinion. That does not mean that he / she can code anything and everything but on the other hand it really makes no sense in today's world of software development for any web developer to be limited only in web programming. Then, company or other policies under which he / she works, come into play.
 
Last edited:
32,364
4,147
To elaborate on what @QuantumQuest said, if a web developer has little or no formal CS training, and has only written code in a fairly high level scripting language, I think it might be difficult at best for this programming to understand code written in, say, C++, let alone find the problem and fix it.

Both QuantumQuest and anorlunda are assuming some knowledge on the part of the developer that may or may not be present.
 

anorlunda

Mentor
Insights Author
Gold Member
6,326
3,513
Both QuantumQuest and anorlunda are assuming some knowledge on the part of the developer that may or may not be present.
I would phrase it differently. Rather than knowledge, the ability to learn and analyze by observation.

For example, the OP mentioned office programs and problem fixing. It is quite common for office program users to suspect a bug, then to analyze it, confirm it, determine its properties via some experiments, then report it. They don't even know what the language is, nor have they seen source code.
 
32,364
4,147
For example, the OP mentioned office programs and problem fixing. It is quite common for office program users to suspect a bug, then to analyze it, confirm it, determine its properties via some experiments, then report it.
Right, but the OP also asked whether such a user might be able to fix the bug, and that's what I was addressing in my comment.
 

DaveC426913

Gold Member
17,891
1,542
Right, but the OP also asked whether such a user might be able to fix the bug, and that's what I was addressing in my comment.
True. Although it was a compound question, so an equivocal answer is appropriate.

While a web developer may not have the chops to fix the bug in that specific language, generally, they will have the broad skillset of analysis that will allow them to pinpoint the problem. And that's 80% of the battle.
 

jtbell

Mentor
15,287
2,874
an office program
If you mean commercial software like Microsoft Office, in order to fix it, you need access to the source code which is highly unlikely. If you do have access to the source code, it will probably be in some language or combination of languages like C, C++, C# or even assembly language, so you would need some fluency in that language.

In principle, it's possible to "patch" the compiled machine-language code, i.e. replace faulty sections of machine-language code directly with corrected code, but this is a very advanced skill.
 

DaveC426913

Gold Member
17,891
1,542
...an office program..
Oh. I missed that.

Unlikely.

However, that is not to say that a software dev of any sort does not have a host of adjunct skills that will give her a deeper insight into how programs work - and how they stop working - than your average Josephine.
 

Tom.G

Science Advisor
2,511
1,345
Basic Troubleshooting: (works for software, hardware, mechanics, hydraulics, and...)
  • Find out what it is Supposed to do
  • See what it Is doing
  • Find Where in the construct the process is occuring
  • Figure out How it is supposed to do it
  • Follow the operation thru the Where till you find a Difference with the supposed to
  • Conjure up a Change to the How to generate the Supposed to

Cross you fingers, try it. Repeat as needed. (Have a beer.)

Cheers,
Tom
 
1,211
589
This has limits, but the answer is still 'yes'. Most programming languages are made so that they are based on human language/logic, and also: usually, there are comments in the code. So it can be guessed what and how it is doing, where it is stopping working.

But further it is from the 'first language' of the programmer, the higher the chance is that the programmer will just make a fool of himself...
 

FactChecker

Science Advisor
Gold Member
2018 Award
4,730
1,614
For most problems, I think that the person debugging a problem will need to have (or develop) knowledge of the specific language of the program. I would not give a web developer the task of debugging an office program unless he already had that knowledge or was willing to learn it. (The Y2K problem is not a typical example by any means. You could tell someone things to look for ahead of time and he could do the tedious work of finding and fixing all that he found.)
 

anorlunda

Mentor
Insights Author
Gold Member
6,326
3,513
I risk being off-topic, but in the larger sense, it is on topic.

The most amusing Y2K cases I found involved legacy code. Over years, legacy code tends to get wrapped in layers of newer code, like an onion. What we found in some Y2K cases was that the functions and methods of the innermost layers had been completely forgotten. More amusing, we found that the innermost layers could be discarded with no effect because outer layers had assumed 100% of the function. Without Y2K, nobody would have ever noticed because, "if it ain't broke, don't fix it."

That's an example of fixing a vulnerability (not a bug but a problem) without any knowledge of the language.

The most lasting benefit of Y2K was not bugs fixed, but rather the house-cleaning and modernization of countless facilities.
 

FactChecker

Science Advisor
Gold Member
2018 Award
4,730
1,614
One overlooked problem of the Y2K bug was that all the backup data and code tapes had file dates that would make them unusable without modification. My job was to go through all the backups and change the file dates so that they could be identified as having been modified earlier than new versions and retrieved if necessary. Luckily, the task could be automated (except for mounting and unmounting tapes). It still required many nights and weekends of processing.
 
Last edited:

QuantumQuest

Science Advisor
Insights Author
Gold Member
830
429
Both QuantumQuest and anorlunda are assuming some knowledge on the part of the developer that may or may not be present.
I agree. This is something pertaining to the very definition of web development and I think that it is an apt observation. In my view and based on the theoretical and practical education / training I had in order to get certified as a professional, there is no sense of calling someone "web developer" if he / she does not possess certain skills and qualities. Unfortunately, as web development - and software development in general, gradually became something of a more or less mix and match skill, many people got into web development by just learning to use IDEs, libraries, frameworks and tools and leave the burden of how all these really work and are maintained, including an ocean of things and details, to their creators or in general to "other people". This is just another manifestation of the saying "the easy way turns out to be the longest" as sooner or later, all these people, will find themselves in a situation where debugging or modifications will simply be far beyond their reach.

Also, a web developer that is interested in software development at the professional (i.e. mostly technical) level, has to get trained for this, beyond his / her theoretical background / education, as creating a software application start-to-finish is not just a matter of knowing some programming languages, algorithms, data structures etc.- which, no doubt, is absolutely necessary and extremely important in and of itself, but there is a multitude of other things, skills and qualities required. For me, this cost me three more semesters including exams beyond the typical four I had for web development but the key point is that I really wanted to do it.
 
32,364
4,147
From post #1, with emphasis added:
Can a programmer "for example a web developer" understand the code and algorithm of a program which is out of his profession for example an office program stopped working or a menu/function of that office program does not work
I'm going to assume that the above is shorthand for the Microsoft Office suite of applications such as Word, Excel, etc.
This has limits, but the answer is still 'yes'. Most programming languages are made so that they are based on human language/logic, and also: usually, there are comments in the code. So it can be guessed what and how it is doing, where it is stopping working.
As @jtbell pointed out in post #8, Microsoft Office is closed source, so there would be no access to the code (and comments) to anyone outside of Microsoft.
 
1,211
589
I really did not thought that OP is about debugging MS Office itself.
Seemed to be far more realistic that he is about finding a problem in a 'program' written in a macro, script or whatever gizmo-language MS put together for MS Office power userso_O
 

Want to reply to this thread?

"Limit of a programmer" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top