|
Oh, just a passing thought, but had your guy had a good grounding in Symbolic Logic in his coursework? That was one of the bigger advantages of a Philo. vs. some of the other fields, as few of them dealt in Boolean or other discrete mathematics and had no familiarity with De Morgan's Rule and the other shortcuts.
|
|
|
|
|
On you mean "The negation of a disjunction is the conjunction of the negations." This kind of trap produces compound conditions that should be totally outlawed in software development!
|
|
|
|
|
Frank Towle wrote:
On you mean "The negation of a disjunction is the
conjunction of the negations." This kind of trap produces compound conditions
that should be totally outlawed in software development!
Um, it also allows compound logical statements to be broken up in to a series of pure conjunctive clauses (i.e. Horn clauses) which allows one to search a set of Horn clauses for those that are true for a particular set of facts. This is the essence and basis of the Prolog programming language.
Properly used, the De Morgan transformation and other logical transformations allow logical statements to be reorganized into whatever best fits the computing environment you must use. It's like the C language: don't throw it out just because some idiot can overwrite the operating system in DOS.
|
|
|
|
|
Interesting - I recall being able to define the 'probability' of something being a fact, think we called it 'fuzzy logic' but I didn't find the specifics. Is some of your last reply related to this? I don't have the time to look up the stuff you mention.
|
|
|
|
|
Major sense of humour failure itt
|
|
|
|
|
Frank Towle wrote: A programmer working with me many years ago either had a short attention span or
leaned on his professors’ admonition that everything in the world is gray… He
would never reuse a snippet that worked and because we were asked to comment our
code (this was back in cryptic Assembler/Fortran land) he would liberally
sprinkle ‘THIS MIGHT WORK’ anywhere there was questionable logic.
Not sure I understand that...the logic was "questionable" yet you are still asserting that it would work absolutely 100% of the time?
Or you just didn't like that the person noted that there was in fact some question as to exactly what might happen?
Frank Towle wrote: Lesson: Don’t hire Philosophy Majors for Dev projects!
Are you referring to a senior developer who has years of experience and fails to match the culture of the group? Or who is just incompetent? Obviously then there is a failure in the interview process in that it didn't weed them out in the first place. Or alternatively didn't proactively review their product once they started and get rid of them when they failed to meet expectations.
Or are you talking about a novice with no experience? Any company that hires beginning programmers and does not provide extensive long term mentoring deserves whatever happens. Those cases certainly have nothing to do with the employee.
|
|
|
|
|
Hi J, Ph.M. was 'inherited' with the project. And no, much of his logic would have to be rewritten, before the days of formal code reviews... 'If it ain't broke don't fix it' approach. This was in a package that was sold throughout the 1970's and 80's for $200K+ each copy - We relegated Ph.M. to writing report programs (report writers didn't exist) that we could quickly verify and did not let him near any LOB processing.
'Culture of the group'? We never heard of such a thing then! You just worked with who you were given, but yes, frustrating at times - one of our crew, I'm sorry TEAM, punched his hand through a plastered wall he got so mad at something, probably ME telling him he had to do something over... Training programmers was very expensive, we would have several years salary invested in someone who had never SEEN a computer let alone program one. You would have to agree today is very different! We eventually re-wrote this same package for three different platforms using basically the same design, although you couldn't say the environments were anywhere near the same. I was then asked to head up a NEW Quality Assurance department to get our lack of same under control; the first task was to quantify almost TEN THOUSAND bug reports across the now FOUR platforms - we were still selling product - 'Outstanding in our Field'
There would be value in formal 'Computing History' courses to provide perspective about just how far (or not) this industry has progressed in 50 years.
|
|
|
|
|
I happen to have 2 undergraduate majors: pilosophy and mathematics (numerical analysis). I have been programming in the robotics industry for 20 years and am quite sucessful and proficient in a domain which is very demanding.
I have seen many programmers come in/out of this industry and I can tell you that education is not really what makes a quality developer. We have all worked with many CS graduates that were ineffective and helpless. It is more about the person then the degree.
I thought this issue was well understood. Perhaps not by all.
|
|
|
|
|
Agree totally with your conclusion. It's LOGIC, LOGIC, LOGIC.
Still think several extended courses in Computer History would be invaluable to these young whipersnappers who start their career at .NET and never look back. That's how the 'Wheel' gets reinvented over and over!
|
|
|
|
|
Recently my group was asked to troubleshoot an embedded program written by our overseas sister company, which was "never coming up" and their engineers(?) couldn't figure out why. A few seconds of perusing revealed the following in the middle of the program's initialization code:
for (long i = 0; i < 99999L; i++) dlytsk(cur_task, DLY_SECS, 9999);
The dlytsk function causes the calling task to sleep for the specified number of seconds. So the effect of this snippet was to sleep for around 32 years before allowing initialization to complete. One has to wonder what the original intent was (both of the programmer and the manager who hired him!).
|
|
|
|
|
Well, what were they thinking? Something like this, maybe:
"Yeah, this program is so hot, it will hit them the face... right after it surprisingly started, which will not happen in the next 3 centuries. My, that _will_ be a surprise..."
"Oh my dear! The Hardware is not yet warmed up, I need a pause before the final initialization. Let's just copy-paste some example over!"
"Heehehe, hohohooho, muhahahaha!"
"Braaaaaains!"
That seems to be a PEBKAC problem, Sir. Why don't you go and fetch a coffee while I handle the operation?
|
|
|
|
|
Perhaps the code afterward launched nuclear missiles, and the programmers were pacifists?
|
|
|
|
|
this is obviously to omit problems with the power up settling time because a 100000uF cap was placed instead of a 100nF cap...... DAMN HARDWARE GUYS MAN!!!
|
|
|
|
|
An engineer who was about to leave that company wrote that line for he knew that the other "engineers" there would not be able to find it out.
|
|
|
|
|
The way I see the engineer who wrote it was a genius and all other engineers in the company are morons who can't find such an obvious fault. The engineer might have gone on to bigger better things for sure. Damn with the company that hired the other engineers, fire them and re-hire this guy.
|
|
|
|
|
They were really proud of their Splash Screen!
|
|
|
|
|
"Dude, We should give *Enough* time for people to evacuate the building before the application launches!"
"Just read about a funny thing called FOR loop.. Let me see how long I can make it run"
"Here's a hilarious tweak on the program... don't worry, I'll be deleting it before deploying"
"Dude, what's the longest number you can think of????"
-
Just that something can be done, doesn't mean it should be done. Respect developers and their efforts!
Jk
|
|
|
|
|
|
|
Yeah, I found it very hard to keep a straight face while answering OP. I don't do C#, but I figured any language has to have a descendant of the grey-beard strtol(). Google had the answer before I'd finished typing the question.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
You're right. There's a .ToString() missing. I.e. :
string sayii = textBox1.Text.Substring(0, textBox1.Text.Length).ToString();
|
|
|
|
|
Probably a ToUpper as well, to protect against lower-case binary digits.
|
|
|
|
|
round two[^]
Haven't got the heart to take the original thread any further.
Peter
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
Dropped my jaw when I read that message.
Excuse me for my improper grammar and typos.
It's because English is my primary language, not my first language.
My first languages are C# and Java.
VB, ASP, JS, PHP and SQL are my second language.
Indonesian came as my third language.
My fourth language? I'm still creating it, I'll let you know when it's done!
|
|
|
|
|
No Excel Application, days before I notice
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154
|
|
|
|