Stories
Slash Boxes
Comments

SoylentNews is people

posted by mrpg on Sunday November 05 2017, @06:05AM   Printer-friendly
from the in-my-days-it-was-cobol dept.

Submitted via IRC for TheMightyBuzzard

On Stack Overflow Jobs, you can create your own Developer Story to showcase your achievements and advance your career. One option you have when creating a Developer Story is to add tags you would like to work with or would not like to work with:

[...] The most disliked languages, by a fairly large margin, are Perl, Delphi, and VBA. They're followed by PHP, Objective-C, Coffeescript, and Ruby. On our team we're certainly happy to see that R is the least disliked programming language, relative to the number of people who liked it.

[...] Generally there is a relationship between a tag's growth and how often it's disliked. Almost everything disliked by more than 3% of stories mentioning it is shrinking in Stack Overflow traffic (except for the quite polarizing VBA, which is steady or slightly growing). And the least-disliked tags— R, Rust, Typescript and Kotlin— are all among the fast-growing tags (Typescript and Kotlin growing so quickly they had to be truncated in the plot).

Hate away, guys, you just make my skills and willingness to write perl more valuable.

Source: What Are the Most Disliked Programming Languages?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Informative) by Ethanol-fueled on Sunday November 05 2017, @03:27PM (7 children)

    by Ethanol-fueled (2792) on Sunday November 05 2017, @03:27PM (#592530) Homepage

    I used to hate python, then discovered it was pretty rad.

    What isn't rad about it, though, is its hideous class syntax ("__init__" etc) and PEP8's incessant bitching (which can be disabled, but still...); and that Python 2 and Python 3 are not very compatible in places and that "mixing" the two requires a lot of ugly as fuck hacks. Oh, and wrapping Python code into .exe files means that you wait at least 15 seconds even for 6-line programs to execute. Some more complicated bit manipulations are also lacking, I remember having to actually convert bytes to strings to do some non-trivial bit manipulations.

    As far as the whitespace goes, it makes the code taller but you gain a fuckload of speed and productivity not having to type curly-braces or declare every variable before using it.

    Starting Score:    1  point
    Moderation   +2  
       Interesting=1, Informative=1, Total=2
    Extra 'Informative' Modifier   0  

    Total Score:   3  
  • (Score: 3, Insightful) by vux984 on Sunday November 05 2017, @06:35PM (6 children)

    by vux984 (5045) on Sunday November 05 2017, @06:35PM (#592595)

    "As far as the whitespace goes, it makes the code taller but you gain a fuckload of speed and productivity not having to type curly-braces or declare every variable before using it. "

    And then lose it all back in the maintenance phase as an indentation flaws introduced during editing and refactoring break program flow.
    Plus I like being able to just jam in braces and stuff during editing/refactoring, then select and automatically reformat it back to proper indentation.

    And that's assuming you gain any productivity. I don't think you do. I spend 90% of my time coding thinking about logic, edge cases, validation, I spend very very little of my time typing declarations and curcly braces. I don't think removing that from life would result in 'fuckloads of speed and productivity'.

    • (Score: 1) by Ethanol-fueled on Sunday November 05 2017, @06:51PM (4 children)

      by Ethanol-fueled (2792) on Sunday November 05 2017, @06:51PM (#592599) Homepage

      Fair enough, but to be honest the only time I really used it in depth was for rapid prototyping, "quick and dirty," and vs. languages like VB and Javascript that is one application where Python shines. Funny enough, your description of thinking of logic, edge cases, and validation is generally where Python also shines.

      But yeah, when refactoring/auto-formatting breaks the whitespace, it's a bitch to fix...though that's not only a problem with whitespace languages -- I'm sure you've deleted a curly-brace while coding complex, deeply-nested logic and forgot where it goes. Then you have the same problem, having to carefully go though the code line-by-line trying to figure out where the curly-brace goes.

      • (Score: 1, Interesting) by Anonymous Coward on Sunday November 05 2017, @09:17PM (2 children)

        by Anonymous Coward on Sunday November 05 2017, @09:17PM (#592657)

        No, it is an issue specifically with whitespace.
        If you added a couple of new if() or for() in one branch and need to merge/cherry-pick/... it into another branch, you can just use one of the many "ignore whitespace" options of the tools you use.
        With Python (until someone adds specific language support for the merge tools - which I admit would be a good idea) you get to have fun resolving every single one by hand and fixing up the indentation manually.
        And if you have a mixed code-base and used one of those "ignore whitespace" options Python is the one thing that will constantly and often subtily break.
        Python really isn't suitable for any project serious enough that you might need branches.

        • (Score: 1) by Ethanol-fueled on Sunday November 05 2017, @09:30PM (1 child)

          by Ethanol-fueled (2792) on Sunday November 05 2017, @09:30PM (#592660) Homepage

          Can you provide an example in your code miscegnation?

          I get the feeling you're not talking about IronPython.

          • (Score: 1, Informative) by Anonymous Coward on Monday November 06 2017, @05:58PM

            by Anonymous Coward on Monday November 06 2017, @05:58PM (#593199)

            What does IronPython have to do with it?
            The problem is if you have code like:

                    DoSomething1()
                    DoSomething2()
                    DoSomething3()
                    DoSomething4()

            And in one branch you change it to

                    if something:
                            DoSomething1()
                            DoSomething2()
                            DoSomething3()
                            DoSomething4()

            and in another branch you change it to
                    DoSomething1()
                    DoSomething2()
                    DoSomething3()
                    DoSomething4()
                    DoSomething4a()

            If you merge the 2 branches you get either a merge conflict like this:

                    DoSomething1()
                    DoSomething2()
                    DoSomething3()
                    DoSomething4()
                    DoSomething4a()
            ==================
                    if something:
                            DoSomething1()
                            DoSomething2()
                            DoSomething3()
                            DoSomething4()

            and need to manually figure it out/fix it.
            Or if ignoring whitespace you get:

                    if something:
                            DoSomething1()
                            DoSomething2()
                            DoSomething3()
                            DoSomething4()
                    DoSomething4a()

            Which would be perfectly fine if only Python didn't use significant whitespace!
            Since it does, you now have bug, and one that you probably won't even notice until something goes wrong bad enough for someone to investigate that code.

      • (Score: 2) by vux984 on Sunday November 05 2017, @11:08PM

        by vux984 (5045) on Sunday November 05 2017, @11:08PM (#592705)

        "Then you have the same problem, having to carefully go though the code line-by-line trying to figure out where the curly-brace goes. "

        Sure. But it happens a LOT more often with semantic whitespace. I have to accidentally actually delete a visible curlybrace in other languages. Its also easier to quickly fix a curly brace issue with source control and diffing tools, (or even ctrl-z since you deleted something visible so you might even notice that you did it right away; especially if the syntax highlighting immediately flags that there is an unmatched pair...)

        Python seems to be fairly decent language otherwise, but I simply can't see semantic white space as anything but a really bad idea.

    • (Score: 2) by darkfeline on Tuesday November 07 2017, @05:38AM

      by darkfeline (1030) on Tuesday November 07 2017, @05:38AM (#593504) Homepage

      How is this an issue unless you're using Notepad? With any minimally viable text editor, you don't have to worry about whitespace at all, no matter the language is C, Java, Python, or Haskell.

      You handle whitespace exactly as you would in Python as you would in C: not at all. This is clearly a PEBCAK involving tool choice.

      --
      Join the SDF Public Access UNIX System today!