• =?UTF-8?B?V2hhdOKAmXM=?= Your Least Favourite Programming Language?

    From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Fri Oct 31 06:48:08 2025
    From Newsgroup: comp.lang.misc

    As their soundcheck question for 2024, Computerphile asked their
    interviewees what their least favourite programming language was <https://www.youtube.com/watch?v=03lRzf7iSiU>.

    The most popular answer was JavaScript, with 4 votes. There were 2
    votes for PHP, and one each for Lisp and Python.

    The Python-hater didn’t like dynamic typing. Given how many
    dynamically-typed languages there are (including lots older than
    Python), how come Python was the first one he thought of?

    As for JavaScript, I think it’s misunderstood. The only one who gave a
    reason for his dislike gave an outdated reason -- scope hoisting. That doesn’t have to apply any more, if you avoid “var” declarations, and
    also use strict mode to avoid implicit globals.

    I imagine PHP would have got more votes, if more people had had to use
    it.

    One mentioned COBOL (which for him was worse than Fortran), but nobody
    thought of BASIC. I guess that is now so far in the past, many among
    the interviewees wouldn’t even have any memories of using it ...
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From David Brown@david.brown@hesbynett.no to comp.lang.misc on Fri Oct 31 13:28:36 2025
    From Newsgroup: comp.lang.misc

    On 31/10/2025 07:48, Lawrence D’Oliveiro wrote:
    As their soundcheck question for 2024, Computerphile asked their
    interviewees what their least favourite programming language was <https://www.youtube.com/watch?v=03lRzf7iSiU>.

    The most popular answer was JavaScript, with 4 votes. There were 2
    votes for PHP, and one each for Lisp and Python.

    The Python-hater didn’t like dynamic typing. Given how many dynamically-typed languages there are (including lots older than
    Python), how come Python was the first one he thought of?

    As for JavaScript, I think it’s misunderstood. The only one who gave a reason for his dislike gave an outdated reason -- scope hoisting. That doesn’t have to apply any more, if you avoid “var” declarations, and also use strict mode to avoid implicit globals.

    I imagine PHP would have got more votes, if more people had had to use
    it.

    One mentioned COBOL (which for him was worse than Fortran), but nobody thought of BASIC. I guess that is now so far in the past, many among
    the interviewees wouldn’t even have any memories of using it ...

    I suppose it is all about which languages people know and use. It would
    be unreasonable to answer "Brainfuck", given that very few people have
    written code in it. (I expect more people have written Brainfuck
    interpreters than programs in Brainfuck.)

    So for the Python-hater, Python was presumably the only dynamically
    typed language they used. And very few people these days have much
    experience with COBOL.

    Did you have a "least favourite" language yourself?

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From John Ames@commodorejohn@gmail.com to comp.lang.misc on Fri Oct 31 08:17:42 2025
    From Newsgroup: comp.lang.misc

    On Fri, 31 Oct 2025 06:48:08 -0000 (UTC)
    Lawrence D’Oliveiro <ldo@nz.invalid> wrote:
    One mentioned COBOL (which for him was worse than Fortran), but nobody thought of BASIC. I guess that is now so far in the past, many among
    the interviewees wouldn’t even have any memories of using it ...
    And/or that anybody using BASIC in a modern context is gonna be using
    something like FreeBASIC, which is a vastly improved and perfectly
    reasonable little language compared to the early microcomputer BASICs.
    Re: Javascript, it's true that a lot of improvements have been made to
    it, but from a certain perspective it's all lipstick on a pig; there's
    been so many things slapped on to paper over some poor initial design
    decisions or chase trends in web development over the years that at
    this point it's a fossil shale of a language.
    Anyway, there's things to dislike about most any language, but there
    aren't too many that I'd universally condemn in my own assessment.
    Pascal gets a frowny-face for design decisions that should never, ever
    have made it past the initial draft of the first paper (making array
    size part of the type specification was braindead from the start - an impediment to good design *and* a burden on performance, all in the
    name of avoiding a problem that there were much better solutions for,)
    and while newer iterations have improved things somewhat, it would've
    been better to throw it out and re-do from scratch...*but* the FP folks
    do put a lot of effort into making it a full-featured and surprisingly
    portable platform for development.
    Another language that feels needlessly gross and tedious is Java - it's
    just *unreasonably* verbose, to the point where one is tempted to
    employ a macro preprocessor just to condense sesquipedalian nonsense
    like System.out.println() down to furshlugginer print() and so forth.
    Any language that *requires* an IDE with weapons-grade autocomplete
    deserves censure...but then it's somehow still the best solution we've
    got for write-once-run-anywhere development, which is maddening :/
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From bart@bc@freeuk.com to comp.lang.misc on Fri Oct 31 22:47:16 2025
    From Newsgroup: comp.lang.misc

    On 31/10/2025 15:17, John Ames wrote:
    On Fri, 31 Oct 2025 06:48:08 -0000 (UTC)
    Lawrence D’Oliveiro <ldo@nz.invalid> wrote:

    One mentioned COBOL (which for him was worse than Fortran), but nobody
    thought of BASIC. I guess that is now so far in the past, many among
    the interviewees wouldn’t even have any memories of using it ...

    And/or that anybody using BASIC in a modern context is gonna be using something like FreeBASIC, which is a vastly improved and perfectly
    reasonable little language compared to the early microcomputer BASICs.

    Re: Javascript, it's true that a lot of improvements have been made to
    it, but from a certain perspective it's all lipstick on a pig; there's
    been so many things slapped on to paper over some poor initial design decisions or chase trends in web development over the years that at
    this point it's a fossil shale of a language.

    Anyway, there's things to dislike about most any language, but there
    aren't too many that I'd universally condemn in my own assessment.
    Pascal gets a frowny-face for design decisions that should never, ever
    have made it past the initial draft of the first paper (making array
    size part of the type specification was braindead from the start - an impediment to good design *and* a burden on performance, all in the
    name of avoiding a problem that there were much better solutions for,)
    and while newer iterations have improved things somewhat, it would've
    been better to throw it out and re-do from scratch...*but* the FP folks
    do put a lot of effort into making it a full-featured and surprisingly portable platform for development.

    Another language that feels needlessly gross and tedious is Java - it's
    just *unreasonably* verbose, to the point where one is tempted to
    employ a macro preprocessor just to condense sesquipedalian nonsense
    like System.out.println() down to furshlugginer print() and so forth.

    Zig is worse ('i' is an integer):

    const std = @import("std");

    std.debug.print("{} {}\n", .{i, @sqrt(@as(f64, @floatFromInt(i)))});


    This is the equivalent of this in mine:

    println i, sqrt(i)

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Sat Nov 1 06:26:55 2025
    From Newsgroup: comp.lang.misc

    On Fri, 31 Oct 2025 08:17:42 -0700, John Ames wrote:

    Re: Javascript, it's true that a lot of improvements have been made
    to it, but from a certain perspective it's all lipstick on a pig;
    there's been so many things slapped on to paper over some poor
    initial design decisions or chase trends in web development over the
    years that at this point it's a fossil shale of a language.

    I don’t think it is. It has lexical binding, and functions as
    first-class objects! So has Python, but what else can you name that
    has that? Strict mode and let/const-in-place-of-var lets you get rid
    of a lot of the boneheadedness. The statement-continuation rule is
    weird, but manageable.

    My main use of it has been in web pages, where I maybe write a few
    hundred lines of it at a time, commonly less. From a recent bit of
    fun I did for a friend, here is the setup of column headings for
    a table of data that are clickable to set the table sort order:

    const row = document.createElement("tr")
    const cell = document.createElement("th")
    cell.textContent = ""
    row.appendChild(cell)
    let fieldindex = 0
    for (const name of fieldnames)
    {
    const cell = document.createElement("th")
    const sortbut = document.createElement("button")
    sortbut.setAttribute("onclick", "mymod.set_sort_order(" + fieldindex.toString() + ")")
    sortbut.textContent = name
    cell.appendChild(sortbut)
    row.appendChild(cell)
    ++fieldindex
    } /*for*/
    thead.appendChild(row)

    Here’s the function that sets the sort order (note the use of lexical binding):

    function set_sort_order(fieldindex)
    /* Note that each change of sort order is applied on top of
    the previous sort order. To start again from the default
    ordering, refresh the page. */
    {
    if (sortcol != fieldindex)
    {
    sortcol = fieldindex
    fieldvalues.sort
    (
    function (a, b)
    {
    const fieldtype = fieldtypes[fieldindex]
    const conv = sort_conv[fieldtype]
    const key_a = conv(a[fieldindex])
    const key_b = conv(b[fieldindex])
    return key_a < key_b ? -1 : key_a > key_b ? 1 : 0
    } /*function*/
    )
    load_page()
    } /*if*/
    } /*set_sort_order*/

    See the reference to that “sort_conv” table? It is keyed off a column
    type, to define the appropriate sort order for that column. For
    example, a column of quarterly dates has values like “Q3'23” and “Q1'24”, and you want the former to sort before the latter. In a
    column of numbers with units, you want a value beginning “2G” to sort before one beginning “100M”. And so on.
    --- Synchronet 3.21a-Linux NewsLink 1.2