• (cs) in reply to ZeoS
    Anonymous:
    RevMike:

    Seriously, though.  Say you had a CS grad and an EE grad both coming in just out of school.  The CS grad did well in school.  The EE grad did well in his course of study and brings in a small portfolio of programming projects which he did over several years in his spare time, all of which seem to be of good quality.  Who do you pick?


    Just take a 30 minutes exam as a part of the interview!


    Actually, a major part of my job is to give tech interviews to prospective candidates.  I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.
  • ZeoS (unregistered)
    Alex Papadimoulis:

    Miguel is not so easily discouraged. "It's not just PHP. It's for everything," he pressed on despite receiving a blank stare, "Boolean logic? You know, the way to find truth."

    He gave up when Rene Descartes Jr. replied, "Truth is how you define it."



    he might have read Chaitin's Work on randomness in maths....
  • (cs) in reply to mjan

    Anonymous:
    Anonymous:
    Come again? You are saying there is zero correlation? So a group of 50 year old truck drivers is just as likely to program as effectively as a group of 25 year old CS majors?


    Well, given that a group of 50 year old truck drivers will probably not be convinced that they know everything right off the bat like your average CS grad, yes.

    That would suggest a negative correlation, not a zero correlation.

     

  • (cs) in reply to RevMike
    RevMike:
    Anonymous:
    RevMike:

    Seriously, though.  Say you had a CS grad and an EE grad both coming in just out of school.  The CS grad did well in school.  The EE grad did well in his course of study and brings in a small portfolio of programming projects which he did over several years in his spare time, all of which seem to be of good quality.  Who do you pick?


    Just take a 30 minutes exam as a part of the interview!


    Actually, a major part of my job is to give tech interviews to prospective candidates.  I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.

    Would you care to share these?

  • (cs) in reply to Volmarias

    And would someone please tell me how I use quote correctly, as the forum software apparently breaks easy?

  • (cs) in reply to RevMike
    RevMike:
    Anonymous:
    RevMike:

    Seriously, though.  Say you had a CS grad and an EE grad both coming in just out of school.  The CS grad did well in school.  The EE grad did well in his course of study and brings in a small portfolio of programming projects which he did over several years in his spare time, all of which seem to be of good quality.  Who do you pick?


    Just take a 30 minutes exam as a part of the interview!


    Actually, a major part of my job is to give tech interviews to prospective candidates.  I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.


    Do you have a degree?

    Sincerely,

    Richard Nixon
  • bw (unregistered) in reply to OneFactor

    Actually I've had bad experiances from both sides.

    The non-CS guy response was hashtables are dumb arrays are always better

    CS guy - global variables are great, I'm a CS major so whatever I say is gospel (arrays are always better).

     

  • Bob (unregistered)

    There may be all sorts of good reasons why this isn't a WTF, but the sentence "truth is how you define it." raises this from "beginner being careful" to a true WTF.   Maybe not the worst ever, but that definately says the author of this thing has some very odd ideas about boolean logic.

  • (cs) in reply to DrJames
    DrJames:
    I agree that we've all probably written some crappy code not understanding the fundamentals at some point, but I think the WTF here is not necessarily the code (as it could be a JR dev)

    I knew that was a stupid way to code at age 12. There's no excuse for this kind of lame programming.

    Sure it's not the worst WTF in history (probably not even the worst we'll see this week) but the rationalization shows deep, deep flaws and gaps in the programmer's understanding of how stuff works. This person should be downsized immediately.

  • (cs) in reply to JohnO
    JohnO:

    I would pick the EE grad in that scenario but all that says is experience trumps education, especially when coupled with a rigorous degree such as EE.  Don't get me wrong, I have nothing against non-C.S. grads.  I started out as one.  But a good grad from a good C.S. program actually will have learned something valuable while they were there.



    And there is my point.  Experience trumps all, and until they've actually had some experience you have no idea whether you have a "good grad" or a dud.

    There are several problems with CS majors as programmers.  First, at some schools people can play the system and skate by without being really challenged.  The hard sciences and many engineering disciplines have a whole host of higher math courses that wash out the "unworthy "very quickly.  But more important, CS curricula are usually not designed to produce good programmers.  They're designed to produce people that know lots of theory, but little practical.  In other words, CS professors teach students to be CS professors.

    The good grads are generally those that have supplemented their academic work with practical experience through co-op, summer employment, or even work for Gnu or Apache.
  • (cs) in reply to DrJames
    DrJames:

    I agree that we've all probably written some crappy code not understanding the fundamentals at some point, but I think the WTF here is not necessarily the code (as it could be a JR dev) but that when approached the dev did not listen to a more senior dev's suggestion.  He should have been more interested in what the senior dev had to say, maybe go home and read up on it a bit more and thereby increase his understanding and efficiency as a dev.  Just firing back with a stupid retort is a sign that this dev will never become a good dev.



    I knew someone that refused to listen to his senior devs.  His reason was that they were not his seniors.  Even though they had many years experience and had worked for the company for several years, he made it known that he felt he should be their supervisor because he had a CS degree and 1 year or so experience, and they only had experience.  In his mind, experience meant nothing if it wasn't backed by a degree.  Needless to say, he didn't last very long.

  • (cs) in reply to Richard Nixon
    Richard Nixon:
    RevMike:
    Anonymous:
    RevMike:

    Seriously, though.  Say you had a CS grad and an EE grad both coming in just out of school.  The CS grad did well in school.  The EE grad did well in his course of study and brings in a small portfolio of programming projects which he did over several years in his spare time, all of which seem to be of good quality.  Who do you pick?


    Just take a 30 minutes exam as a part of the interview!


    Actually, a major part of my job is to give tech interviews to prospective candidates.  I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.


    Do you have a degree?

    Sincerely,

    Richard Nixon


    Guess.
  • Demetrio (unregistered)

    The guy doesnt want to rely on logical operators because someone may oveload them in the future. Operator overloading is one of the CS experts must-know.

    And ... "The real WTF is PHP", someone? Please.

     

  • (cs) in reply to Volmarias
    Volmarias:
    RevMike:
    I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.

    Would you care to share these?



    Absolutely not.  If I did, someone would study answers for just those questions and beat me on an interview.  Then I'd have to fire them 3 months later.

  • (cs) in reply to JohnO
    JohnO:
    RevMike:
    Alex Papadimoulis:

    Miguel Arguelles' company recently hired a fresh graduate with a fairly good resume and high academic marks.



    Please tell us what his major was!  I'd really like to restart the "CS degree is (invaluable|worthless)" flamewar from the "guy who doesn't know hex" topic!

    Even if he wasn't a CS major, I'll start off the war anyway...

    There is no correlation, positive or negative, between having a CS degree and being able to program effectively.

    I disagree.  If you had two people with 0 coding experience (aside from their degree-related work), one with a C.S. degree the other w/o, all other things being equal, I'll take the C.S. grad every time.

     

    What leads you to believe a CS graduate has had any real programming experience - or better yet that someone well-versed in MATLAB/Maple/whatever should be excluded from possibly being a better programmer out of the box because they aren't CS? I've met a lot of math & science types who never had any schooling in programming, who develop far better code "out of the box" than some pretty typical CS grads.

    In my experience, CS allows you to talk the talk, but the proof is in the pudding so to speak. I have the degree because I know it would be suicide not to in 10 years. I do not, however, think that the degree automatically qualifies me, or anyone else for a development position simply by virtue of holding it. I don't think one can make such a blanket statement with a clear conscience.

  • (cs) in reply to mjan

    Anonymous:
    Anonymous:
    Come again? You are saying there is zero correlation? So a group of 50 year old truck drivers is just as likely to program as effectively as a group of 25 year old CS majors?


    Well, given that a group of 50 year old truck drivers will probably not be convinced that they know everything right off the bat like your average CS grad, yes.

     

    Considering, too, that the truck drivers probably average 10-15 years of CS experience ...

  • (cs) in reply to RevMike
    RevMike:
    JohnO:
    RevMike:
    Alex Papadimoulis:

    Miguel Arguelles' company recently hired a fresh graduate with a fairly good resume and high academic marks.



    Please tell us what his major was!  I'd really like to restart the "CS degree is (invaluable|worthless)" flamewar from the "guy who doesn't know hex" topic!

    Even if he wasn't a CS major, I'll start off the war anyway...

    There is no correlation, positive or negative, between having a CS degree and being able to program effectively.

    I disagree.  If you had two people with 0 coding experience (aside from their degree-related work), one with a C.S. degree the other w/o, all other things being equal, I'll take the C.S. grad every time.



    That is part of the problem - a CS grad with zero coding experience.  Back in the previous flamewar, someone mentioned working with a CS grad who couldn't program.  The non-coding CS grad explained that they did all their coding projects in teams, and he always elected to do the documentation.

    Seriously, though.  Say you had a CS grad and an EE grad both coming in just out of school.  The CS grad did well in school.  The EE grad did well in his course of study and brings in a small portfolio of programming projects which he did over several years in his spare time, all of which seem to be of good quality.  Who do you pick?

     

    If the CS grad has nothing to show for his/her time in school, and is unable to show me that the ability is clearly there, then the EE hands down.

  • (cs) in reply to rhino-x
    rhino-x:
    JohnO:
    RevMike:
    Alex Papadimoulis:

    Miguel Arguelles' company recently hired a fresh graduate with a fairly good resume and high academic marks.



    Please tell us what his major was!  I'd really like to restart the "CS degree is (invaluable|worthless)" flamewar from the "guy who doesn't know hex" topic!

    Even if he wasn't a CS major, I'll start off the war anyway...

    There is no correlation, positive or negative, between having a CS degree and being able to program effectively.

    I disagree.  If you had two people with 0 coding experience (aside from their degree-related work), one with a C.S. degree the other w/o, all other things being equal, I'll take the C.S. grad every time.

     

    What leads you to believe a CS graduate has had any real programming experience - or better yet that someone well-versed in MATLAB/Maple/whatever should be excluded from possibly being a better programmer out of the box because they aren't CS? I've met a lot of math & science types who never had any schooling in programming, who develop far better code "out of the box" than some pretty typical CS grads.

    In my experience, CS allows you to talk the talk, but the proof is in the pudding so to speak. I have the degree because I know it would be suicide not to in 10 years. I do not, however, think that the degree automatically qualifies me, or anyone else for a development position simply by virtue of holding it. I don't think one can make such a blanket statement with a clear conscience.

    May I recommend reading as your next course?  If you hadn't quoted me, I wouldn't think that you even read what I wrote.

  • Arachnid (unregistered) in reply to RevMike
    RevMike:
    Volmarias:
    RevMike:
    I have about 20 questions that tell me everything I need to know about your skills with respect to Sql, Java, and Unix.  No degree or certificate is more important than being able to answer those questions appropriately.

    Would you care to share these?



    Absolutely not.  If I did, someone would study answers for just those questions and beat me on an interview.  Then I'd have to fire them 3 months later.


    Only if they know who you are. Anyone that studies all the lists of interview questions they see on the Internet is going to have to spend all their time doing that, and that isn't likely to make them a good interviewee.

  • (cs) in reply to Xepol
    Xepol:

    Seriously, however, this looks the work of a true beginner.  He has thought his way through the logic, and seems to have it all mapped out so it works.  He does not, however, seem to have a grasp on the finesse we have all developed over the years.  The only WTF I can see is why this is here?  Deriding an beginner's CORRECT, albeit in-efficent, logic is a little tacky to say the least.

    I disagree. Not about the beginner part, but about the thinking through the logic.

    From this piece of code, I think I can reconstruct the design doc almost to the letter. Because this code looks as if the coder didn't read the full doc, think through the logic, then code - no, he read one line at a time, translated that to code, then went on to the next.

    Xepol:

    Everyone has to start somewhere, and let's face it.  The code works, it just doesn't work elegantly.  I doubt anyone here can claim that their last project had the polish of their current project, and I would lay serious money that everyone's first projects would be an embaressment to them now.

    Skills and polish develop over time from a solid foundation.  This guy obviously has a solid basis for his logic, so wtf are we trying to hold him up to ridicule?  Just because he hasn't developed polish yet?

    I don't think the WTF is about this programmer and his code. I think the WTF is about two other thing. First, the incredibly cocky reply by the programmer when someone commented on his code (as already pointed out by others). And second, and I don't think anybody else brought that up yet - the WTF is that there is apparently some college somewhere that allows students to leave their premises with a shiny certificate in their hands without ever writing one single line of programming code.

    Xepol:

    Sad.  Everyone go back and look at your first few projects and then rethink running down this code.

    Oh, they were bad. They were very bad.

     

    But not THIS bad... [;)]

    Best, Hugo

  • (cs) in reply to Arachnid

    I'm not going to bother trying to quote, it'll die.

    Instead of giving the specific questions, I was hoping you would share them somewhat generally. Is your SQL question "Given X,Y in Table A and Y in Table B, Select all X in Table A where Y exists in Table B?" Is your C question "Write strcpy"?

  • (cs) in reply to DrJames
    DrJames:

    I agree that we've all probably written some crappy code not understanding the fundamentals at some point, but I think the WTF here is not necessarily the code (as it could be a JR dev) but that when approached the dev did not listen to a more senior dev's suggestion.  He should have been more interested in what the senior dev had to say, maybe go home and read up on it a bit more and thereby increase his understanding and efficiency as a dev.  Just firing back with a stupid retort is a sign that this dev will never become a good dev.

    Actually, that's not a wtf either.  Considering that programming is more art that science, programmers are more artist than anything else.  Beginning programmers are overly proud of their work, not having had their rough edges worn off yet.  It does not surprise me in the slightest that ego got involved and stupid things were said.

    Again, I think we can ALL see our past here, anyone who claims otherwise is either lying or in denial.  Yes,  we would all like to think we were programming gods from day one, and that we all listened to our elders, but the reality is something else.  Unfortunately, that god complex is what predicates the mouth in foot syndrome.  The good programmers, embaressed by their own stupidity and verbal stupidity may not be willing to own up to their mistakes WILL go and look things up later.  The bad programmers just go on refusing to learn hex...

  • (cs) in reply to RevMike
    RevMike:
    JohnO:

    I would pick the EE grad in that scenario but all that says is experience trumps education, especially when coupled with a rigorous degree such as EE.  Don't get me wrong, I have nothing against non-C.S. grads.  I started out as one.  But a good grad from a good C.S. program actually will have learned something valuable while they were there.



    And there is my point.  Experience trumps all, and until they've actually had some experience you have no idea whether you have a "good grad" or a dud.

    There are several problems with CS majors as programmers.  First, at some schools people can play the system and skate by without being really challenged.  The hard sciences and many engineering disciplines have a whole host of higher math courses that wash out the "unworthy "very quickly.  But more important, CS curricula are usually not designed to produce good programmers.  They're designed to produce people that know lots of theory, but little practical.  In other words, CS professors teach students to be CS professors.

    The good grads are generally those that have supplemented their academic work with practical experience through co-op, summer employment, or even work for Gnu or Apache.

    Where to start?

     I don't know where you went to school, but there was a 50% failure rate in each of the first two CS classes where I went.  Just to clarify, that meant only 1 out of every 4 people made it through the first year.  Not to mention that you had to take real calculus (read engineering calculus) and an additional 15 hours of upper division math to get the degree.  We also had 6 hours of formal logic and a 3 hour class on finite automata.

    As far as "skating by" or "theory verusus practice," those arguments are applicable to any degree, not just to CS so I don't see how it's relevant to the CS vs non-CS all else being equal argument.

    I would guess that you don't have a CS degree or you went to a school with a really bad CS program.

  • (cs) in reply to Hugo
    Hugo:

    I don't think the WTF is about this programmer and his code. I think the WTF is about two other thing. First, the incredibly cocky reply by the programmer when someone commented on his code (as already pointed out by others). And second, and I don't think anybody else brought that up yet - the WTF is that there is apparently some college somewhere that allows students to leave their premises with a shiny certificate in their hands without ever writing one single line of programming code.

    Xepol:

    Sad.  Everyone go back and look at your first few projects and then rethink running down this code.

    Oh, they were bad. They were very bad.

     

    But not THIS bad... [;)]

    Best, Hugo

    Apparently, you forget the EGO young programmers tend to have when they first start using their skills.  Foot in mouth is a VERY common problem, and hardly a wtf.  This is nothing like claiming that he didn't need to learn hex because it was useless, no it looks like a weak attempt to be witty. 

    As for not this bad, well, I'm betting yer in denial <grin> I remember some of MY early projects... Elegance is a tool for the wise.  Some times, if you just barely grasp the follow, it is best to code as he did, and then learn to compress it.  Heck, there are times that I STILL break some of my logic like this (into blocks), simply because it can more clearly communicate the process (and it really is not THAT much more inefficent unless you are in a 3 deep loop) of a complicated bit of logic (ok, this logic was easy for most of us, but hey, I've been programming for 22 years now, I KNOW for a fact that concepts I take for granted now would have baffled me as a beginner, and I also know that the same holds true for everyone.

    Making fun of the beginners for being beginners with weak witty replies isn't really good form no matter how you look at it.  Now the guy who didn't want hex explained to him because he could not be bothered to learn useless things, now there was real wtf material.

  • (cs) in reply to Volmarias
    Volmarias:
    I'm not going to bother trying to quote, it'll die.

    Instead of giving the specific questions, I was hoping you would share them somewhat generally. Is your SQL question "Given X,Y in Table A and Y in Table B, Select all X in Table A where Y exists in Table B?" Is your C question "Write strcpy"?



    Nope.  I dig a little deeper than that.  I have about 4 or 5 questions in each category.  Here are examples.

    For SQL...
    You have a query that seems to be running slower than you expect.  How do you evaluate it?

    For Java...
    Describe the use of the wait and notify methods, as well as the synchronized keyword.

    For Unix/Linux...
    What is the traditional way that Unix passwords were validated?  What is the the flaw in that system and what typical method is used to fux this flaw?

    For JDBC...
    What is the difference between a PreparedStatement and a CallableStatement?

    I've used this test fir about 20 interviews now and I've only ever had one candidate who aced my test.

  • Blah (unregistered) in reply to boohiss

    No... What he's saying is that a group of 50 year old truck drivers with CS degrees is just as likely to program effectively as a group of 50 year old truck drivers without CS degrees.  He never mentioned whether there was a correlation between truck drivers and programming, nor between age and programming.

  • (cs) in reply to RevMike

    thats great. so your 20 questions are the only ones in the universe of coding that meet your criteria? come on! you know  you can come up with better questions and new angles. languages and platforms evolve, so while your questions may address fundamental aspects, dont think for a second that you couldnt come up with 20 or 200 more...

     

    what about the relevant issues you face in coding everyday? something relevant to the actual work can show a level of knowledge as well as potentially give you the chance for new insight to a problem you're facing.

  • (cs) in reply to pbounaix
    pbounaix:

    thats great. so your 20 questions are the only ones in the universe of coding that meet your criteria? come on! you know  you can come up with better questions and new angles. languages and platforms evolve, so while your questions may address fundamental aspects, dont think for a second that you couldnt come up with 20 or 200 more...

     

    what about the relevant issues you face in coding everyday? something relevant to the actual work can show a level of knowledge as well as potentially give you the chance for new insight to a problem you're facing.



    My 20 questions tell me very much about the technical skills of a candidate with respect tp the jobs I am hiring for.  That 20 would be very different for other job descriptions.  I'm not interviewing for those jobs.
  • (cs) in reply to JohnO

    I quoted the wrong message, but thanks for being an asshole about it. Where would the world be without pricks pointing out everyone else's deficencies? It definately adds to the topic of the conversation.

     

     

  • (cs) in reply to RevMike

    RevMike:
    Volmarias:
    I'm not going to bother trying to quote, it'll die. Instead of giving the specific questions, I was hoping you would share them somewhat generally. Is your SQL question "Given X,Y in Table A and Y in Table B, Select all X in Table A where Y exists in Table B?" Is your C question "Write strcpy"?


    Nope.  I dig a little deeper than that.  I have about 4 or 5 questions in each category.  Here are examples.

    For SQL...
    You have a query that seems to be running slower than you expect.  How do you evaluate it?

    For Java...
    Describe the use of the wait and notify methods, as well as the synchronized keyword.

    For Unix/Linux...
    What is the traditional way that Unix passwords were validated?  What is the the flaw in that system and what typical method is used to fux this flaw?

    For JDBC...
    What is the difference between a PreparedStatement and a CallableStatement?

    I've used this test fir about 20 interviews now and I've only ever had one candidate who aced my test.

     

    For .NET two good ones are (in order of difficulty):

    What is a delegate?    *you would be surprised how many people don't understand "callback"

    Can you explain the difference between using an "event" and maintaining/calling your own list of subscribed delegates.   *if you're interested in making someone very junior cry

     

     

  • (cs) in reply to JohnO
    JohnO:
    RevMike:
    JohnO:

    I would pick the EE grad in that scenario but all that says is experience trumps education, especially when coupled with a rigorous degree such as EE.  Don't get me wrong, I have nothing against non-C.S. grads.  I started out as one.  But a good grad from a good C.S. program actually will have learned something valuable while they were there.



    And there is my point.  Experience trumps all, and until they've actually had some experience you have no idea whether you have a "good grad" or a dud.

    There are several problems with CS majors as programmers.  First, at some schools people can play the system and skate by without being really challenged.  The hard sciences and many engineering disciplines have a whole host of higher math courses that wash out the "unworthy "very quickly.  But more important, CS curricula are usually not designed to produce good programmers.  They're designed to produce people that know lots of theory, but little practical.  In other words, CS professors teach students to be CS professors.

    The good grads are generally those that have supplemented their academic work with practical experience through co-op, summer employment, or even work for Gnu or Apache.

    Where to start?

     I don't know where you went to school, but there was a 50% failure rate in each of the first two CS classes where I went.  Just to clarify, that meant only 1 out of every 4 people made it through the first year.  Not to mention that you had to take real calculus (read engineering calculus) and an additional 15 hours of upper division math to get the degree.  We also had 6 hours of formal logic and a 3 hour class on finite automata.

    As far as "skating by" or "theory verusus practice," those arguments are applicable to any degree, not just to CS so I don't see how it's relevant to the CS vs non-CS all else being equal argument.

    I would guess that you don't have a CS degree or you went to a school with a really bad CS program.



    Where I graduated about 1.5 years ago, CS was in the college of engineering.. meaning if you were a CS grad, you were technically an engineer (whereas at some schools CS is in Math, Business, or Science degree programs).  We had to take most of the same courses our first two years as people in degrees ending in the word "Engineering": Calc 1, 2, and 3, Linear Algebra, and Engineering Stastics, Physics 1 and 2, and Chem 1.  We did get out of Differential Equations, which I've heard was a bitch.

    That being said, there were a lot of people in group projects my last two years that should never have made it through all those classes the first two years.  I'm convinced that it's possible to "skate by" in just about any degree...  I mean, how else could George W. Bush have completed an Ivy League degree?
  • (cs) in reply to giannis
    Anonymous:
    Something's wrong with the design editor, it messed up my pre code, and where's the preview button? and why that captcha doesn't work right? wtf did the developers of this forum were smoking when they wrote it?

    Welcome to The Daily WTF. It looks like you'll fit in fine here....

  • c++ &gt;&gt; vb (unregistered) in reply to Free

    Some languages short-circuit (hooray sane languages)  boolean operators and some don't (damned VB). 

  • phx (unregistered) in reply to limelight
    limelight:
    Alex Papadimoulis:

    <FONT color=#000099>if</FONT> ($canProcess)
    {
      <FONT color=#000099>if</FONT> ($avaiableCredit >= $ticketAmount)
        $canProcess = <FONT color=#000099>true</FONT>;
      <FONT color=#000099>else</FONT>
        ...
    }

    I love this part. We already know that $canProcess is true, but lets waste a clock cycle by setting it again.

    "a" clock cycle? This is PHP... interpreted.., so probably a few hundred clock cycles ;) 

  • mol (unregistered) in reply to Brent Seidel

    It was already mentioned by Anonymoose.

    But this is PHP so it isn't true, because
    if (undefined_variable)
    will always evaluate false (printing notification about undefined variable if they are allowed)

  • (cs)
    Alex Papadimoulis:

    He gave up when Rene Descartes Jr. replied, "Truth is how you define it."

    Valid point, if this were C, where

    <FONT face="Courier New">(ticketAmount < 1000  &&  availableCredit >= ticketAmount)  ||  hasOverride</FONT>

    might be true, but not TRUTH.

    <FONT face="Courier New">#define TRUTH 42</FONT>

    --Rank

  • (cs) in reply to l
    Anonymous:
    Well, PHP has it's way of DWIM-ing whatever you do into the Wrong Thing, so I can half understand the guy.

    More often, PHP has a habit of seeming to do what you mean but in reality doing something very different but superficially similar, often at 1/10 the speed, such that it breaks down constantly and since the owner doesn't have a damned clue how the language works it just gets worse and worse.

    RevMike, did you forget statistics? ;) No correlation does mean any given group of valley girls has the same coding skills as any given group of CS grads, the way you phrased it.

    I think what you were driving at is that there's no correlation of programming skill between computer enthusiasts with CS degrees and those without. Which actually does make a lot of sense.
  • (cs) in reply to Anonymoose

    Anonymoose:

    Clearly, the programmer does not depend on setting $canProcess to true or false... it is uninitialized!

    Anonymous:
    One thing that hasn't been mentioned yet (I think) is that $canProcess is uninitialised of $ticketAmount >= 1000. It could be true, false, or fileNotFound.

    Anonymous:
    It was already mentioned by Anonymoose.
    But this is PHP so it isn't true, because
    if (undefined_variable)
    will always evaluate false (printing notification about undefined variable if they are allowed)

    It's quite possible that the variable $canProcess was initialized prior to the code snippet presented.

  • (cs)

    Being new is still no excuse for this mangling of Boolean logic -- I'm new, and I know better than this.

    Even if he skated through uni, I would hope that he still learned the basics of Booleans, or would at least listen to a senior dev.  Even factoring in ego ... I was pretty confident in my programming skills after just the intro C++ year -- then I got a job.  I learned more in my first two months at work than in the first year in school.  And keep in mind this is a school where the first intro class has 100+ people and the last has around 25.  Acing the school programming assignments -- individual, not group -- does not mean you are FULLY prepared for an actual job.  I would hope anyone who can get as CS degree would realize this around day one or so of work.

    Then again, I could just have more faith in the people in the field than than there is compentant people.  My delusions of always working with good developers have yet to be crushed.

  • (cs) in reply to Xepol
    Xepol:

    Everyone has to start somewhere, and let's face it.  The code works, it just doesn't work elegantly.  I doubt anyone here can claim that their last project had the polish of their current project, and I would lay serious money that everyone's first projects would be an embaressment to them now.

    Skills and polish develop over time from a solid foundation.  This guy obviously has a solid basis for his logic, so wtf are we trying to hold him up to ridicule?  Just because he hasn't developed polish yet?

    Sad.  Everyone go back and look at your first few projects and then rethink running down this code.



    Looking at my very old code, the oldest I can find, it's full of extremely short variable names - mostly one or two letters; it contains hardly any comments, but lots of hardcoded magic values, and it's all stuffed into one big source file. But that has been written just for fun, and it does contain AND and OR. Someone who fails to know and/or (no pun intended) understand boolean operators should not work as a programmer.
  • (cs) in reply to Jeff S
    Jeff S:

    Perhaps, he meant he didn't want to know the PHP spec on operator precedence -- you know, which is evaluated first, the AND or the OR.  Some languages do it different than others, I believe -- I don't know that there is  universal rule like * comes before +. 



    You scare me. In which language is OR evaluated before AND?
  • Thom Porter (unregistered) in reply to ferrengi

    lol...

    define('true', 0);
    define('false', rand(0,50));

     

  • (cs) in reply to Thom Porter
    Anonymous:

    lol...

    define('true', 0);
    define('false', rand(0,50));
     



    Not quite correct, but in general the idea of Unix program return codes.

  • (cs) in reply to rhino-x
    rhino-x:

    Where would the world be without pricks pointing out everyone else's deficencies?

    On some other website... [:)]

  • (cs) in reply to rhino-x
    rhino-x:

    I quoted the wrong message, but thanks for being an asshole about it. Where would the world be without pricks pointing out everyone else's deficencies? It definately adds to the topic of the conversation.


    WELL YOU SHOULD KNOW HOW TO SPELL "DEFINITELY" AND "DEFICIENCIES" MMMKAY??

    </badjoke>

  • (cs) in reply to foxyshadis
    foxyshadis:

    RevMike, did you forget statistics? ;) No correlation does mean any given group of valley girls has the same coding skills as any given group of CS grads, the way you phrased it.

    I think what you were driving at is that there's no correlation of programming skill between computer enthusiasts with CS degrees and those without. Which actually does make a lot of sense.


    No, I didn't make any statement about a correlation between valley girlness and programming skill.  If that is a negative correlation then CS degree holders would be more likely to have good programming skills.

    You second statement is accurate, however.  If I were to nail it down more precisely....

    A CS degree holder is no more likely to skillfully perform a senior programming job than any other person working in programming.  An engineer, a music major, a mathmatician, an economist, someone that holds a vocational certificate, or someone completely without formal schooling in CS are just as likely to advance to senior positions.
  • (cs) in reply to RevMike

    RevMike:
    Volmarias:
    I'm not going to bother trying to quote, it'll die. Instead of giving the specific questions, I was hoping you would share them somewhat generally. Is your SQL question "Given X,Y in Table A and Y in Table B, Select all X in Table A where Y exists in Table B?" Is your C question "Write strcpy"?


    Nope.  I dig a little deeper than that.  I have about 4 or 5 questions in each category.  Here are examples.

    For SQL...
    You have a query that seems to be running slower than you expect.  How do you evaluate it?

    For Java...
    Describe the use of the wait and notify methods, as well as the synchronized keyword.

    For Unix/Linux...
    What is the traditional way that Unix passwords were validated?  What is the the flaw in that system and what typical method is used to fux this flaw?

    For JDBC...
    What is the difference between a PreparedStatement and a CallableStatement?

    I've used this test fir about 20 interviews now and I've only ever had one candidate who aced my test.

    SQL, look at the explain plan and find out which parts are slow.If it were Oracle and I didn't have explain plan, I'd find a tool that did the equivalent. Joins and where clauses are usual suspects which can also be found by commenting out various parts.

    Java: synchronize defines an object which can be locked/shared between threads. wait and notify are used within a synchronized block to communicate with other threads sharing the same object. Going into more detail could take hours or days - the other questions sound like one sentance answers.

    Unix/Linux: Hash, vulnerable to dictionary attack, salted-hash

    JDBC: CallableStatement extends PreparedStatement. Callable supports output parameters.

  • AC (unregistered) in reply to RevMike
    RevMike:
    christoofar:

    I worked with an ex-stripper in Texas who could code very well, she only had a BBA and a lot of years as a bookkeeper.

    She knew Boolean logic [AND] lap dances!


    I would guess that talented bookkeeper or accountant  would have a decent chance at being able to program.  They already have some understanding about how to build a process that transforms information by some set of rules, aka an alogrithm.  So the key is to teach them our methods of expressing that process.

    I'm not saying it would be a trivial transition, but I'd bet it is very doable.


    Sounds like she was.
  • (cs) in reply to RevMike

    RevMike:
    foxyshadis:

    RevMike, did you forget statistics? ;) No correlation does mean any given group of valley girls has the same coding skills as any given group of CS grads, the way you phrased it.

    I think what you were driving at is that there's no correlation of programming skill between computer enthusiasts with CS degrees and those without. Which actually does make a lot of sense.


    No, I didn't make any statement about a correlation between valley girlness and programming skill.  If that is a negative correlation then CS degree holders would be more likely to have good programming skills.

    You second statement is accurate, however.  If I were to nail it down more precisely....

    A CS degree holder is no more likely to skillfully perform a senior programming job than any other person working in programming.  An engineer, a music major, a mathmatician, an economist, someone that holds a vocational certificate, or someone completely without formal schooling in CS are just as likely to advance to senior positions.

    How many EE grads actually end up doing EE?  Not many.

    How many music majors end up doing music?  Not many.

    How many math majors end up doing pure math?  Not many.

    How many CS majors are there?  Not many.

    How many CS jobs are there?  Lots.  While you're observation may be correct, I do not think it supports the assertion that CS majors are no better at doing CS jobs than non-CS majors.

  • ByteJuggler (unregistered) in reply to JohnO

    Have to agree...  Also had various forms of math (calculus, linear algebra etc.) and (in my case) physics.  As for the computer science... well there was several rather difficult modules, one of which was compiler construction, where you wrote your own compiler.  You didn't pass the course if your compiler didn't work, and they were very careful to avoid plagiarism...  Another notable module was the concurrent programming module, which likewise had a heavy emphasis on demonstrable working projects... And of course there was predicate logic (relevant to the current discussion methinks...)

Leave a comment on “Truth Is How You Define It”

Log In or post as a guest

Replying to comment #:

« Return to Article