• Charles Boyung (unregistered) in reply to Mason Wheeler
    Mason Wheeler:
    What unit testing is is something that a lot of people don't understand.

    A lot of people think unit testing came from the Java ecosystem, but Java actually got it from Smalltalk. It was invented there because it was necessary: Smalltalk doesn't have a static type system, so you can't get the compiler to do correctness checking for you, so you end up having to write the correctness checks yourself if you don't want your code blowing up in production.

    And you are clearly one of those people that don't understand what unit testing is. Unit testing was not "invented by Smalltalk". The concept of unit testing has been around as long as there has been software.

  • (cs) in reply to Mason Wheeler
    Mason Wheeler:
    geoffrey:
    Unit testing is nothing more than an excuse for a programmer to take three times as long as it should to code a simple feature.

    What unit testing is is something that a lot of people don't understand.

    A lot of people think unit testing came from the Java ecosystem, but Java actually got it from Smalltalk. It was invented there because it was necessary: Smalltalk doesn't have a static type system, so you can't get the compiler to do correctness checking for you, so you end up having to write the correctness checks yourself if you don't want your code blowing up in production.

    Anyone using it in a language with a proper type system is just plain silly.

    ...can't tell if trolling or being trolled...(also can't be bothered to look up Fry image)

  • a guy (unregistered)

    Define "productive".

    Because I don't see Java and productive going together.

  • Travers (unregistered) in reply to Matteo
    Matteo:
    With modern ORMs (like EF 4.2/4.3), an amazing web framework (Asp.Net MVC with Razor, mind you, not that piece of crap of webforms), the synatx power of C# (lambda expressions, linq, dynamic, etc), the awesome package manager nuGet, etc, you really don't have anything to envy to the Java community, I'd say it's the other way around.

    Linq... .Net MVC... EF... Um, yeah. As a .Net developer and Java developer, I'm going to have to say I like Java a whole lot more. And while you are crowing about Lambda expressions, which .Net didn't originally have until very recently, Java has anonymous objects which suffices until the JSR 335 is implemented in Java 8.

    For me, stuff just works in Java. Libraries are logically designed with the programmer-at-work in mind, and most of the Java frameworks and libraries I work with are very stable across versions. I can't say the same for .Net.

  • Dont call me Ash (unregistered) in reply to fbomb
    fbomb:
    Good... Bad... I'm the guy with the gun.

    Hail to the king, baby!

  • LANMind (unregistered)

    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

  • Mainframe Web Dev (unregistered) in reply to LANMind
    LANMind:
    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

    We have a guy who insists on using REXX for this web services and DHTML generation. You want an editor, try the 3270 green screen!

  • radarbob (unregistered) in reply to Peter
    Peter:
    Tom:
    I had a coworker do that to me. But when I reported it, I got fired for "not being a team player".

    Isn't it funny how bad employment choices seem to take care of themselves? Some teams, you just don't want to be on...

    I'll never forget this line from a seminar: "sometimes the worst thing that happens is that you don't get fired."

    And reflecting on the organization from which I was fired saved I realized that flourishing incompetence is a sure sign of a successful management in-breeding program and absense of leadership.

  • radarbob (unregistered) in reply to LANMind
    LANMind:
    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

    What? You haven't seen .NET Windows development lately? Back to the future, baby!

  • iWantToKeepAnon (unregistered) in reply to EmperorOfCanada
    EmperorOfCanada:
    2012-03-07 09:37 • by EmperorOfCanada (unregistered)

    Are we really supposed to believe you are the Emperor of Canada? Especially when you are unregistered? I think not.

    captcha: decet ... "This verb is only used in 3rd-person forms"

    Wow, maybe he is the Emperor ... cue eerie twilight zone music.

  • (cs) in reply to Travers
    Travers:
    And while you are crowing about Lambda expressions, which .Net didn't originally have until very recently, Java has anonymous objects which suffices until the JSR 335 is implemented in Java 8.
    C# has had anonymous delegates and closures available since version 2 of the language, which was first made available with Microsoft's implementation in .NET 2.0 in 2005. It took until C# 3 and its type interference and shorthand lambda notation for it to become more noticed and enter wide use. That was in 2007.

    Over half a decade ago isn't quite 'very recently', wouldn't you say?

    Travers:
    For me, stuff just works in Java. Libraries are logically designed with the programmer-at-work in mind, and most of the Java frameworks and libraries I work with are very stable across versions. I can't say the same for .Net.
    Then you're working with the wrong libraries, because 'stuff just works' in .NET as well. (It 'just works' a hell of a lot sooner as well, with all the scaffolding you get through both Visual Studio tools as well as package install scripts from the NuGet package manager!)

    Are you honestly claiming that libraries like ASP.NET MVC, Entity Framework, (P)LINQ, Task Parallel Library, etc. are not logically designed and (where applicable) backwards compatible? Puh-lease!

  • LANMind (unregistered) in reply to radarbob
    radarbob:
    LANMind:
    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

    What? You haven't seen .NET Windows development lately? Back to the future, baby!

    I've heard/seen rumors, but my strategy is to stick my fingers in my ears, yell at the top of my lungs, and pray that whoever ends up setting the new, latest and greatest way of doing things will be less of a moron.

  • (cs)

    some of this argument completely meaningless. remember the person who pay money doesn't care if it is java / .net / php or quickbasic. he wants to make his life easy and so he is paying for your services.

  • (cs)

    C# is a more powerful and elegant language than Java, this is true, but the mentality of many C# "developers" still seems to be one of hacks and quick fixes and relying on the IDE while the average Java developer understands MVC (you kind of have to in Java even if it's something primitive like Struts), would never use raw JDBC and ResultSets but use Hibernate, probably applies design patterns (maybe too many design patterns), and has probably heard of unit testing.

    I'd take that in a heartbeat and be more verbose by having to do customerFactory.getCustomer().getOrders().getOrderLines() than have to deal with the mentality of relying on raw DataSets and churning out spaghetti code garbage to get things done fast.

  • (cs) in reply to ObiWayneKenobi

    The guy above me is trolling so hard, it is laffable.

  • LANMind (unregistered) in reply to Nagesh
    Nagesh:
    The guy above me is trolling so hard, it is laffable.

    You get an A+ for putting together a whole and coherent sentence. You go buddy!

  • (cs) in reply to rrc
    rrc:
    Why call our PHP hero, Randy? Why not just call him Well Hung Horny PHP Dude Who Likes To Sabotage Java Projects In His Spare Time?

    I taught myself JAVA in 2000 in about 2 weeks . Easy for anyone who comes from a C/C++ background. Java is easier than C++ and PHP is even easier.

    You can write really great code in PHP and really shit code in Java. Whether a language is strongly typed or is Object Oriented is not what produces good code. Good Programmers write Good Code.

    Shit Programmers will write Shit Code, no matter what language they use.

    I develop in PHP and MySQL today. It works.

    And no, I don't feel the need to sabotage a project that is written in Java or Visual Basic. I think VB is evil. Basic is not a language one should use in the modern age of computing.

    +1 Fucking A.

  • LANMind (unregistered) in reply to rrc

    Just fine:

    rrc:
    You can write really great code in PHP and really shit code in Java. Whether a language is strongly typed or is Object Oriented is not what produces good code. Good Programmers write Good Code.

    Shit Programmers will write Shit Code, no matter what language they use.

    But this:

    rrc:
    And no, I don't feel the need to sabotage a project that is written in Java or Visual Basic. I think VB is evil. Basic is not a language one should use in the modern age of computing.

    to which I say: http://www.youtube.com/watch?v=eNydBMu1VfI

    Also, not spam.

  • (cs) in reply to LANMind
    LANMind:
    Nagesh:
    The guy above me is trolling so hard, it is laffable.
    You get an A+ for putting together a whole and coherent sentence. You go buddy!
    Now we just need to work on his laughable spelling.
  • JavaSkeptic (unregistered) in reply to ObiWayneKenobi

    [quote]...THAT is what I envy about Java; the embracing of design patterns and the SOLID principles and MVC and ORMs...[quote]

    LOL. There are plenty of terrible Java shops too. Even if most Java programmers know what MVC stands for, that doesn't mean they know what it means. And it's a tossup between WinForms and Struts for the most ridiculous web development framework.

  • persto (unregistered) in reply to Jack Foluney
    Jack Foluney:
    Reminds of a guy I work with who insists that oracle is evil because he can't write a SQL statement to save his life.

    So he's right twice: No SQL statements are going to save your life, and Oracle is evil. Sounds like a bright guy.

  • Jack (unregistered) in reply to persto
    persto:
    No SQL statements are going to save your life
    SELECT * FROM LIFELOG OUTPUT TO 'savefile';

    Or did you mean?

    NoSQL statements are going to save your life

  • (cs) in reply to Anketam
    Anketam:
    LANMind:
    Nagesh:
    The guy above me is trolling so hard, it is laffable.
    You get an A+ for putting together a whole and coherent sentence. You go buddy!
    Now we just need to work on his laughable spelling.
    I'm pretty sure he likes his laughable spelling.
  • trtrwtf (unregistered) in reply to persto
    persto:
    Jack Foluney:
    Reminds of a guy I work with who insists that oracle is evil because he can't write a SQL statement to save his life.

    So he's right twice: No SQL statements are going to save your life, and Oracle is evil. Sounds like a bright guy.

    And wrong once: the two facts are not causally related.

    There is no way to cut a man's head off with a cucumber, and clowns are funny, but one did not cause the other.

    (I know, I know, he didn't say either that he couldn't write an SQL statement or that this was the reason for Oracle being evil - these were asserted by Jack. So Jack's former colleague was right once: Oracle is evil)

  • Travers (unregistered) in reply to radarbob
    radarbob:
    LANMind:
    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

    What? You haven't seen .NET Windows development lately? Back to the future, baby!

    Yeah. XAML is soooo advanced. :-)

  • LANMind (unregistered) in reply to Travers
    Travers:
    radarbob:
    LANMind:
    I'm a .Net guy, but I laff at that whole Java/.Net thing. Still, I also laff at forms development in Java/Eclipse. Your toolset is so primitive, it amazes me. Fucking around in XML isn't how a design element should be created.

    What? You haven't seen .NET Windows development lately? Back to the future, baby!

    Yeah. XAML is soooo advanced. :-)

    I laff at those WPF/Expressions guys too :O

  • Earp (unregistered) in reply to dr memals

    I believe its from Evil Dead 3: Army of Darkness.

    Great movie.

  • AN AMAZING CODER (unregistered) in reply to Matteo
    Matteo:
    Well, no offense, but it looks like you are a "poor" .Net guy, because you can have all that shiny stuff in .Net and even better than java.

    With modern ORMs (like EF 4.2/4.3), an amazing web framework (Asp.Net MVC with Razor, mind you, not that piece of crap of webforms), the synatx power of C# (lambda expressions, linq, dynamic, etc), the awesome package manager nuGet, etc, you really don't have anything to envy to the Java community, I'd say it's the other way around.

    GTFO:

    http://groovy.codehaus.org/ http://grails.org/ http://gradle.org/

    All superior.

  • Cap'n Spanky (unregistered) in reply to LANMind
    LANMind:
    DCRoss:
    dr memals:
    what is S-MART ? americanism ?
    Bruce Campbell. "Army of Darkness". I thought that movie was required viewing before starting a career in IT.
    You can always tell the PHP developers.

    Yeah...you just have to tell them with small words.

  • Nitpicker (unregistered) in reply to cheap shot

    100+ comments and no one spots the obvious? This won't even compile because of "if (val = password)".

  • Jim Lard (unregistered)
    By the end of the day, Bob's team was one member smaller, but twice as productive.

    This means they fired Bob and rewrote everything in PHP, right?

  • Yawn (unregistered) in reply to emurphy
    emurphy:
    Code Slave:
    And Bob's first reaction was to cobble the project back together from what was on developer's workstations instead of calling Jim up in systems and saying "Jim, could you restore Operation Blue Light's svn repository from backups, to what we had there on Thursday? Oh, and could you ask Tammy to restore the development database to the same time as well please? ... Come on, I know she's sitting right beside you."

    WTF.

    TRWTF is you didn't follow this up with some Jim/Tammy fanfic. Know your audience, dude!

    Mate, if you knew Tammy, (or Jim for that matter), you probably wouldn't be asking for that.
  • (cs) in reply to cheap shot
    cheap shot:
    surely in java you can't assign a string to a ResultSet.

    that's why nowhere in the snippet it was attempting to do that. read it a few more times, but now think with objects

    p.s. not sure if stupid or trolling, i'm going for stupid because it's more fun than shooting down trolls

  • (cs)

    If Randy had spent half the time learning Java that he did on a non-productive language war (hint, hint) he might have discovered that Java is productive when you know how to use it well.

    Of course, now he's fired, in jail, and, when he gets out, unemployable as a computer programmer (and darn near anything else above dishwasher).

    What's your encore, Randy? Gonna try for a Darwin Award?

  • Dave (unregistered) in reply to Remy Porter
    Remy Porter:
    I have to wonder what kind of person looks at a code snippet where a variable is obviously declared outside of said snippet, and then marvels when that snippet won't compile.

    You marvelled at my power! You marvelled, I saw you marvelling at my snippet that doesn't compile. He distinctly marvelled!

  • (cs) in reply to Dave
    Dave:
    Remy Porter:
    I have to wonder what kind of person looks at a code snippet where a variable is obviously declared outside of said snippet, and then marvels when that snippet won't compile.

    You marvelled at my power! You marvelled, I saw you marvelling at my snippet that doesn't compile. He distinctly marvelled!

    Stop all this snippet marvelling at once. Snippets are not to be marvelled at, lest a snippet marvells at you. Every workday I come to this site, expecting to learn from the mistakes of others, yet all I see is snippet marvelling.

  • hardy (unregistered)

    TRWTF is that php programmer assigned for Java job?

  • ThomasX (unregistered) in reply to rrc
    rrc:

    I develop in PHP and MySQL today. It works. ... I think VB is evil. Basic is not a language one should use in the modern age of computing.

    Oh the irony! A PHP-apologist talking of the modern age of computing. Hahaha.

  • A Database Guy (unregistered)

    TRWTF is ORMs.

  • (cs)

    I am an unapologetic open-source apologist. For PHP to have made such headway in the marketplace as it has is remarkable, given the monied opposition. Sure, it is not a perfect language, but such a beast will never exist. It is not the only weakly typed language. It is a tool like any other, and IMO, well suited to it's stated purpose. The same goes for VB: it is easy to write a mess full of

    On Error Resume Next
    and so on, but even VBA is a powerful tool capable of remarkable utility. To me, these language/OS/browser/editor/DBMS/whatever wars are TRWTF.

  • Kasper (unregistered) in reply to Anon
    Anon:
    Nothing in the code prevents the password column from the database and the password variable from both being hashes of the password, instead of plaintext passwords.
    Maybe not, but they should have been salted. With a salted password, you certainly have to get the salt from the database before you hash. It could still theoretically fetch the salt from the database in some other part of the code, that would be a real WTF, though not as big a WTF as that of iterating over all the different passwords of a user.

    Captcha: minim (day of the palindrome captchas).

  • (cs) in reply to Kasper
    Kasper:
    Maybe not, but they should have been salted. With a salted password, you certainly have to get the salt from the database before you hash.
    The purpose of a salt is to make rainbow tables impractical. In principle a hash of a site-wide secret, the username, and the password gives the same benefit. Of course, it loses on the "don't do anything unexpected or you'll confuse the maintenance programmer" side of things.
  • Jesper (unregistered) in reply to Anon
    Anon:
    Java or PHP? Talk about being stuck between a rock and a hard place!
    Are you Randy's brother?
  • Hans (unregistered) in reply to Shagen
    Shagen:
    I am an unapologetic open-source apologist. For PHP to have made such headway in the marketplace as it has is remarkable, given the monied opposition. Sure, it is not a perfect language, but such a beast will never exist. It is not the only weakly typed language. It is a tool like any other, and IMO, well suited to it's stated purpose. The same goes for VB: it is easy to write a mess full of
    On Error Resume Next
    and so on, but even VBA is a powerful tool capable of remarkable utility. To me, these language/OS/browser/editor/DBMS/whatever wars are TRWTF.

    It is possible to make a mess in any language, not only software (see flame wars on English usage on this site) What counts is how much help you get from compiler/interpreter/tests catching potential problems before they blow up a production system. Same reasons computer languages evolved from assembler to 3 and 4 GL languages: Writing more functionality in less time with fewer errors. Goto's are considered harmful by some, but might make code faster and more readable if used right. Any tool can be used wrong or right. Given a chainsaw most cut trees, some make art, few kills

    Captcha: haero = Hairy Hero

  • SeySayux (unregistered)

    Obviously, TRWTF is not using Git.

  • meh (unregistered) in reply to Remy Porter
    Remy Porter:
    C# and VB.NET are, as of Framework 4, feature-compatible. There is no practical difference between C# and VB.NET.

    False.

    C# lacks anything like the syntactic sugar VB.Net has in Xml literals. That's actually so convenient that I would prefer VB over C# for xml generation. (C# for everything else, due to C style syntax). If only it was easy to mix C# and VB classes within a project.

  • (cs)

    I kind of marvel at Randy's reasoning there:

    • Darn, the project is getting better and merely displaying a bad attitude isn't going to suffice.
    • I know, I'll make sure the demos to management fail, that should get it back off-track.
    • wait, that won't be enough to derail actual development, I need to screw up config files as well to inconvenience everyody
    • oh no, if nightly builds run I won't be able to claim plausible deniability for these problems above, I need to make sure those don't run either
    • Argh! All these activities are getting harder and harder to conceal, I need to… delete the version control repository itself!

    I mean, this is the kind of plan of which a jäger would say (approximate, can't access webcomics like Girl Genius from work) "Wait, this starts sounding like one of those plans. You know, the kind of plan that ends with you losing your hat. And any plan where you lose your hat is…" "A bad plan."

  • (cs) in reply to Kasper
    Kasper:
    not as big a WTF as that of iterating over all the different passwords of a user.
    Don't worry; the code returns the result of checking against the first password returned (while leaving the result set open…)
  • just me (unregistered) in reply to Shagen
    Shagen:
    [...] PHP [...] is a tool like any other, and IMO, well suited to it's stated purpose.

    I completely agree; PHP is perfectly well suited for Personal Home Pages

  • Mathew (unregistered)

    The rwtf is remy porter

Leave a comment on “The Strong Type”

Log In or post as a guest

Replying to comment #:

« Return to Article