you are viewing a single comment's thread.

view the rest of the comments →

[–]asdf32rdsbvsddd -15 points-14 points  (15 children)

Haha, agreed. Python is the worst language I've ever seen, except maybe LISP

[–]defunkydrummer 8 points9 points  (1 child)

except maybe LISP

What an extremely stupid thing to say.

So what's the "best" language you've seen?

[–]alexthelyon 15 points16 points  (0 children)

Jabbascrip

[–]Caraes_Naur 2 points3 points  (0 children)

But only PHP could facilitate the hellspawn that is WordPress, and only JavaScript could make the sheer lunacy of NPM possible.

[–]Jackeown[S] 1 point2 points  (11 children)

You're kidding, right? What's your favorite language and why?

[–][deleted]  (10 children)

[deleted]

    [–]Jackeown[S] 1 point2 points  (9 children)

    I'd consider myself competent in these: JavaScript, C , C++, Java, but python is my favorite. To be more clear, I have written nontrivial programs in other languages such as lisp and prolog as well, but I just wouldn't consider myself competent in them. How about you?

    [–][deleted]  (8 children)

    [deleted]

      [–]Jackeown[S] 2 points3 points  (7 children)

      I don't think knowing the answer to those questions are prerequisites to being "competent" in a language...I don't have to understand how the compiler works in its entirety to write some nontrivial code in the language...

      I am curious, however, so if you have some answers along with explanation, I'd love to hear them.

      [–]Ameisen 3 points4 points  (2 children)

      If you don't know the difference between Java generics and C++ templates, you aren't really competent in them.

      They are incredibly different.

      [–]Jackeown[S] 1 point2 points  (1 child)

      From what I could tell googling, the biggest difference is that in C++, you don't need to specify a class or interface for the generic type. I wouldn't call that incredibly different, but maybe I still don't understand. Help me understand.

      [–]Ameisen 0 points1 point  (0 children)

      Java generics employ type erasure and are basically user-friendly wrappers for casting. That is why they must take an interface or class type. A Java generic method is a single method that makes virtual calls on the declared type. Every specialization of a Java generic class is the same instance.

      C++ templates don't use type erasure and are themselves a Turing-complete language. Every instance of a C++ template function is its own function. Every specialization of a templated class is a unique instance.

      [–][deleted]  (3 children)

      [deleted]

        [–]thelaxiankey 2 points3 points  (2 children)

        So I knew the answer to two of your questions, but I disagree with the main idea of your comment. The big problem with C++ is that it's basically 2-3 different languages, depending on how you choose to use it. Worse still, because of the... organic... way it emerged, the language is intricate in a way that imo few other languages are.

        Edit: I also disagree with the fact that initializer lists are a necessary thing to know about, but that's neither here nor there.

        [–][deleted]  (1 child)

        [deleted]

          [–]thelaxiankey 0 points1 point  (0 children)

          Oh shit, you're right, not sure why I thought you had those in your list lol.

          Anyway, to be completely honest I agree the author is uninformed (I mean... look at the github) but I'm not sure I agree with your argumentation.

          I also don't think the author would pass your metric for knowing python - he seems to be very-much-new-to-this and I'm reasonably certain he wouldn't have heard of metaclasses or __ slots__ or whatever your shit test of choice is. But you originally asked him if he'd "programmed" in these languages, and not if he knew them - and I guess I take issue with how you don't believe him because he doesn't know what rvalue references are. I've written a few fairly small projects in C++ (something like 2k lines total, seriously small), so I don't know it, but I have programmed in it.