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, Interesting) by bradley13 on Sunday November 05 2017, @07:08AM (33 children)

    by bradley13 (3053) on Sunday November 05 2017, @07:08AM (#592414) Homepage Journal

    As you say: serious experience is necessary to really judge a language. I have written a *lot* of VB5 and VB6. For their time, I submit that they were excellent choices. Today, I would choose something else. VB wasn't elegant, but it was very well supported in Visual Studio, and it was very solid.

    Note VB within Office is a completely different situation.

    --
    Everyone is somebody else's weirdo.
    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 5, Funny) by aristarchus on Sunday November 05 2017, @08:13AM (3 children)

    by aristarchus (2645) on Sunday November 05 2017, @08:13AM (#592421) Journal

    As you say: serious experience is necessary to really judge a language. I have written a *lot* of VB5 and VB6.

    And, that, is why you fail! There are vast differences between languages created by computer geeks, which follow the itch of some flow of logic, and those created by the clients, businessmen, focused on, well, basically, accounting. And then there are the Windows types, not to mention the names of any ex-pat American racists here, who only get into programming because their dear lord and master, Gates!!! commands them to!!!

    Oh, what terrible consequences await these drones of the Soft that is Micro! I pray for them on a daily basis, but I fear that not even this much devotion can save them?

    So Bless those who followed the true path, putting Fortran and Basic behind them, who opted for the great philosopher Pascal! Who later became "C"! And, of course, C+, and eventually, C++. But never a VB could claim to be an actual language, rather than a marketing ploy by the Great Eye of Sauron that lives behind the Black Gates, in the land of Mordor! Three rings for the Elven kings, so that Oracle could fuck them; Five for the Dwarfs, so they could think they were actually mining something with mithril and Bitcoin, and Nine for the Mortal men, who live outside of California, because they are such easy targets and so stupid, and they all have accounts on Twitter, and Faecesbook, and (what's the other one?).

    And One Ring, to rule them all, Token Ring, although that kind of failed. So TCP over IP, where the Land of Mordor lies, with the telemetry of Microsoft, and Bradley13 sucking in all the essence of the Geflings, from an entirely different, but not unrelated, fantasy movie. I, for one, acknowledge the racial inferiority of bradley13. Can not even code in an actual coding language. Pathetic.

    • (Score: 5, Funny) by shortscreen on Sunday November 05 2017, @09:18AM (2 children)

      by shortscreen (2252) on Sunday November 05 2017, @09:18AM (#592435) Journal

      Hey, old timer. What programming language did you use on that Antikythera mechanizzle?

      • (Score: 5, Funny) by aristarchus on Sunday November 05 2017, @09:45AM

        by aristarchus (2645) on Sunday November 05 2017, @09:45AM (#592442) Journal

        Back then we did this thing called, machine code? Level one stuff. Right into to the, well, it was mostly brass or bronze gears then, now they would say on bare silicon, but that is not quite correct, either. The representation of pure thought, or mathematics, onto a machine, is nothing to be sneezed at in any era. I recommend you keep it in mind, you script-kiddies with your Java and such. At some point, the rubber meets the road, or, as we used to say, the Bronze matches the rise of Vega.

      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @04:15PM

        by Anonymous Coward on Sunday November 05 2017, @04:15PM (#592550)

        Greek.

  • (Score: 5, Insightful) by jmorris on Sunday November 05 2017, @09:26AM (24 children)

    by jmorris (4844) on Sunday November 05 2017, @09:26AM (#592437)

    Not always true. Some are so bad the stench carries.

    PHP for example. A quick glance shows it is a steaming pile of poor design decisions that grew too fast without a wizard level designer at the helm during the critical early period. There is a reason Wordpress and all of the PHP based web engines will never go a month without a security notice. You can write secure code in PHP but most of the code monkeys slinging it don't know how and it requires constant vigilance.

    Java is just a bad idea. Or more accurately another failed attempt at a good concept that is beyond our current ability to implement. Write once, run everywhere was the only real calling card for the thing but we got write once, ship the exact JRE you developed it with along with the binary or debug everywhere. Then add in the bad design decisions in the language itself, many imposed by the dream of a "secure" and "portable" bytecode and JVM like garbage collection, no real object system, etc.

    BASIC was a very good idea on really small machines. Would you really need to write a large program in it today to realize its time has passed?

    Javascript could be OK for a scripting language, but it suffers the Java write once, debug in every version of every goddamned browser past, present and future nightmare. It isn't required to write a large program to realize why everybody pulls in megabytes of frameworks to try abstracting away the horrors at the expense of making a slow scripting language, often running on battery operated platforms, run even slower and suck even more ram. Might not have that problem if using it on the back end, but why does anyone do that? Seriously, you have no real choice for executing in a browser but since you DO on the backend, why would anyone pick Javascript? Insanity.

    Python might be awesome, but significant whitespace means I won't be touching it unless somebody is paying. Some ideas are abominations.

    Perl has a multitude of sins in its design and growth from a quick and dirty scripting language but it had Larry Wall so for all the ugliness it is still cool to work with. But ya probably do need to work with a non-trivial codebase to realize it.

    And I still like tcl/Tk, very weird language but if you need a GUI it will get one up and running quick. But nobody bothers to use it enough to realize it is still useful.

    C is of course an effing nightmare but rewards every hour you invest into learning it. And when you need it, you need it and there is still no substitute.

    • (Score: 2) by choose another one on Sunday November 05 2017, @12:15PM (2 children)

      by choose another one (515) Subscriber Badge on Sunday November 05 2017, @12:15PM (#592482)

      Lots of good stuff, and sensible opinions that I actually agree with, and then you fail to mention Fortran at all - such a disappointment.

      You'll be telling us you eat quiche next.

      • (Score: 4, Informative) by maxwell demon on Sunday November 05 2017, @01:30PM (1 child)

        by maxwell demon (1608) on Sunday November 05 2017, @01:30PM (#592500) Journal

        I think you are confusing Fortran (mostly a modern language, based on FORTRAN) with FORTRAN (an old language whose development essentially stopped in 77). Note that while Fortran compilers must accept FORTRAN code (except for removed features), Fortran code is written in a different form that is based on, but utterly incompatible with FORTRAN (even a Hello World program written in modern Fortran would not compile in FORTRAN).

        --
        The Tao of math: The numbers you can count are not the real numbers.
        • (Score: 2) by choose another one on Monday November 06 2017, @12:04PM

          by choose another one (515) Subscriber Badge on Monday November 06 2017, @12:04PM (#592996)

          Nope, the confusion isn't there, I just naturally tend away from all caps on the internet.

          Not entirely sure I've _ever_ used anything later than FORTRAN 77 and even then I am pretty sure there were options to turn it into 66 and compile DO loops the way God intended (not that I can remember the difference these days).

    • (Score: 3, Insightful) by bradley13 on Sunday November 05 2017, @12:33PM (3 children)

      by bradley13 (3053) on Sunday November 05 2017, @12:33PM (#592485) Homepage Journal

      I hear this kind of criticism of Java a lot, but it's not my experience. What other language does a better job of write-once-run-anywhere? Unless you are doing something abstruse, this usually works under Java, at least, since about Java 5 or 6.

      --
      Everyone is somebody else's weirdo.
      • (Score: 1, Informative) by Anonymous Coward on Sunday November 05 2017, @02:01PM (2 children)

        by Anonymous Coward on Sunday November 05 2017, @02:01PM (#592507)
        For some cases Perl is actually better than Java for that:
        1) It's built in on many/most Unix systems.
        2) You can pack it into a single executable to run on Windows without having to install it.

        As a result I can use a single perl agent for all OSes.

        It's true many things are done differently on Windows compared to Linux (and Linux vs AIX) but in practice you'll find similar problems for Java too[1]. For both you need to "write kinda-once, debug everywhere".

        And if you talk about GUI stuff, using Java just means it looks and works about as bad on all platforms. In the end far more apps use javascript on the browser as their base instead of java on the OS.

        [1] There's kind of a write-once run anywhere for java on Android. But you still need an emulator for desktops ("but of course" you say, but QED I say).
        • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @10:26PM (1 child)

          by Anonymous Coward on Sunday November 05 2017, @10:26PM (#592684)

          2) You can pack it into a single executable to run on Windows without having to install it.

          That is true of Java. Hence jmorris's complain about shipping the JRE together with your code.

          • (Score: 0) by Anonymous Coward on Monday November 06 2017, @04:32PM

            by Anonymous Coward on Monday November 06 2017, @04:32PM (#593152)

            1) Does it really run without having to be installed?

            2) Even if it does it's not quite the same when the JRE is like 60+MB and has to be bundled for everyone. With perl it's normally only the Windows users who'd get the exe stuff. The unix bunch mostly already have perl preinstalled.

    • (Score: 2) by Lester on Sunday November 05 2017, @12:40PM (1 child)

      by Lester (6231) on Sunday November 05 2017, @12:40PM (#592488) Journal

      Instead of :

      What Are the Most Disliked Programming Languages?
      you have answered

      Why are Programming Languages Disliked?

      Well. What programming languages don't suck? if you can't answer this question, I will try this one: What programming language suck the least?
       

      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @01:31PM

        by Anonymous Coward on Sunday November 05 2017, @01:31PM (#592501)

        > What programming language suck the least?

        Hmm. [xkcd.com] Lisp? [xkcd.com] As long as you have the parens pedals, [reddit.com] of course.

    • (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.

      • (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!
    • (Score: 3, Informative) by Pino P on Sunday November 05 2017, @06:06PM (2 children)

      by Pino P (4721) on Sunday November 05 2017, @06:06PM (#592590) Journal

      Might not have that problem if using it on the back end, but why does anyone do that? Seriously, you have no real choice for executing in a browser but since you DO on the backend, why would anyone pick Javascript? Insanity.

      Normally, in an interactive web application, you want to pre-validate the data before sending it to improve perceived latency, and then validate it authoritatively on the server to ensure consistency. If the validation logic on the server is in a language other than JavaScript or a language that compiles to JavaScript, the developer of the web application has to write it twice: once in the language in which the server side of the web application is implemented and again in JavaScript or a language that compiles to JavaScript. This sort of manual translation can introduce errors, as can failing to retranslate one side when the constraints change. Thus an input that the server considers valid can fail client-side validation, and inconsistencies like this tend to frustrate users who need to submit such valid data despite the client rejecting it. Thus writing validation logic in JavaScript or a language that compiles to JavaScript gives the benefits of not repeating yourself [wikipedia.org].

      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @07:58PM (1 child)

        by Anonymous Coward on Sunday November 05 2017, @07:58PM (#592628)

        i don't do any pre-validation on the front end. i just put a note at the top of the page that reads "don't be a dumb ass and it will work!"

        • (Score: 2) by Wootery on Monday November 06 2017, @10:20AM

          by Wootery (2341) on Monday November 06 2017, @10:20AM (#592968)

          So rather than doing your job, you try to blame the user?

    • (Score: 2) by isostatic on Sunday November 05 2017, @06:40PM (3 children)

      by isostatic (365) on Sunday November 05 2017, @06:40PM (#592596) Journal

      And I still like tcl/Tk, very weird language but if you need a GUI it will get one up and running quick. But nobody bothers to use it enough to realize it is still useful.

      I had to write a gui app for a mac quite recently (pretty much a custom frontend to iperf) -- I'd spent 40 minutes on the phone to someone in the iraqi desert trying to get them to run it from the command line and figured "enough's enough". I recalled back when I learnt a little tcl/tk about 15 years ago. Pleased to see it worked, although I did briefly consider perl/tk as perl is my comfort language.

      As far as most disliked language, you take the words out of my mouth with significant whitespace. I work with a bunch of muppets who don't think that a bit of bash scripting is something that someone should be able to do, and want everything in ansible, again with the whitespace. The other guys I work with are far better, but have a nasty habbit of writing command line php scripts.

      It's hard to be a team player

      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @07:26PM (1 child)

        by Anonymous Coward on Sunday November 05 2017, @07:26PM (#592618)

        > command line php scripts.

        That is a thing that exists? Wow.

        Although if php is being used, I don't think it qualifies as a "command" line anymore... At best, it's a "suggestion" line.

        • (Score: 2) by tibman on Monday November 06 2017, @02:18AM

          by tibman (134) Subscriber Badge on Monday November 06 2017, @02:18AM (#592769)

          Yes. The same php file can query it's environment and either handle a web request, a cli command, or spawn a GUI. PHP is stupid flexible compared to other languages.

          --
          SN won't survive on lurkers alone. Write comments.
      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @08:00PM

        by Anonymous Coward on Sunday November 05 2017, @08:00PM (#592630)

        "had to write a gui app for a mac"
        what a skank

        "It's hard to be a team player"
        especially with ole dirty legs isostatic on the team.

  • (Score: 2) by vux984 on Sunday November 05 2017, @06:19PM (3 children)

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

    VB5 and VB6, unless I am misremembering, violated what I consider one of the most sacred rules of software -- that the source of a project all be plaintext. I seem to recall proprietary format binary forms and resources being a big part of VB.

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

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

      So object code is plaintext, then?

      • (Score: 0) by Anonymous Coward on Sunday November 05 2017, @07:51PM

        by Anonymous Coward on Sunday November 05 2017, @07:51PM (#592625)

        No, but object code is not source code, either.

        If you're trying to imply that forms are object code, no, they are not. Forms are source code, and should be plaintext.

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

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

        Object code is compiled from plaintext source. Its an intermediate stage, it's not source code.

        As I recall the only way to edit VB forms was within the GUI of Visual Studio, no plaintext representation ever existed.
        Contrast that with Windows .rc files for dialog boxes, or XAML, or XUL, or FMXL... etc. GUI tools exist to create these files but the result was always available as plaintext that you could edit directly as text (and this lets you do all kinds of useful things that you just couldn't easily do in a GUI.)