• dragontamer@lemmy.world
    link
    fedilink
    English
    arrow-up
    55
    ·
    edit-2
    6 个月前

    Is it wrong that I’m stuck trying to figure out what language this is?

    Trying to figure out what string.length and print(var) exist in a single language… Not Java, not C# (I’m pretty sure its .Length, not length), certainly not C, C++ or Python, Pascal, Schme or Haskell or Javascript or PHP.

    • Minotaur@lemm.ee
      link
      fedilink
      arrow-up
      46
      arrow-down
      2
      ·
      6 个月前

      I’m very much guessing that this is just supposed to be a type of pseudocode given the context and vagueness of it.

      It’s a big reason why I really dont like pseudocode as instruction to people learning the basics of what programming is. It made more sense 20 years ago when programming languages were on a whole a lot more esoteric and less plain text, but now with simple languages like Python there’s simply little reason to not just write Python code or whatever.

      I took an intro to programming class in College and the single thing I got dinged on the most is “incorrect pseudocode”, which was either too formal and close to real code or too casual and close to plain English.

      It’s not a great system. We really need to get rid of it as a practice

      • Captain Aggravated@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        5
        ·
        6 个月前

        Reminds me of 7th grade math class, chapter on estimating. Assignment was “Estimate the following values” with problems like 42+28=? or 14*3=?

        One of them was 6*7=? Which having memorized my times tables in 4th grade like they told me to, I knew off the top of my head that it’s 42. I wrote that. And it was marked wrong because I was too precise.

      • psud@aussie.zone
        link
        fedilink
        arrow-up
        1
        ·
        6 个月前

        In the 90s my high school used Pascal. That seems reasonable if you only want to teach procedural

        • unalivejoy@lemm.ee
          link
          fedilink
          English
          arrow-up
          25
          ·
          6 个月前

          print() will print the text to a physical printer with paper and everything. Don’t confuse it with console.log and use it in a loop.

        • Downcount@lemmy.world
          link
          fedilink
          arrow-up
          12
          ·
          edit-2
          6 个月前

          It would have print if it was previously declared as function.

          Also, js is as dirty as you want it to be. Keywords are indeed not necessary for declaring variables.

          • kautau@lemmy.world
            link
            fedilink
            arrow-up
            9
            ·
            edit-2
            6 个月前

            JavaScript is the language of the assassins, with its infinitely modifiable prototypical setup

            Nothing is true

            true !== 1

            true

            true + true + true === 3

            true

            Everything is permitted

            []+[]

            ''

        • bleistift2@feddit.de
          link
          fedilink
          English
          arrow-up
          5
          ·
          6 个月前

          Sure you can write foo = 3 in JavaScript. It’s a global variable and can be referenced as either foo or window.foo.

    • lugal
      link
      fedilink
      arrow-up
      11
      ·
      6 个月前

      This is quite a cheap answer but maybe it’s just pseudo code. We had exercises in university about pseudo code with examples that intentionally broke all syntax systems and conventions to show that not everything has to be executable that you write down in a theoretical computer science homework

      • nxdefiant@startrek.website
        link
        fedilink
        arrow-up
        6
        arrow-down
        9
        ·
        6 个月前

        It’s a shitty question. It’s implied by the fact that “24” is wrong that the answer is “6”, the length of the string “Monday”.

        In some languages dot access on objects could give you the properties of the object type (things pertaining to a “day” object) but this would still be ambiguous since a day’s length can be measured in many different ways.

        In others, it would require you to call length as a function (.length()) or not be available at all, or require you to pass the object into another function [ length_in_seconds(day_x)]

        • Matty_r@programming.dev
          link
          fedilink
          arrow-up
          12
          arrow-down
          1
          ·
          6 个月前

          I think the question is fine, but we have to assume they covered this type of method prior to the exam, where .length would result in the character count of a String.

    • mox@lemmy.sdf.org
      link
      fedilink
      arrow-up
      10
      ·
      edit-2
      6 个月前

      That recurring puzzle is among the most interesting aspects of this community, IMHO.

      • kautau@lemmy.world
        link
        fedilink
        arrow-up
        10
        arrow-down
        2
        ·
        6 个月前

        It’s weird that people are so focused on it. It’s pseudocode, and it’s purely meant for day one comp sci students to grasp how data is stored and processed, before they are forced into writing Java, most likely

      • Skullgrid@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        6 个月前

        Most irritating aspect of switching languages. How are switches done in this one again?

        •Searches web•

        Ah yes

    • NeatNit@discuss.tchncs.de
      link
      fedilink
      arrow-up
      10
      ·
      6 个月前

      My headcanon: it’s a language that gets executed by a LLM. Whatever you write, if the LLM can make sense of it, it will execute it.

      The output may well be “24 hours”.

    • paholg@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      6 个月前

      It could be Ruby; puts is more common, but there is a print. With some silly context, the answer could even be correct:

      #!/usr/bin/env ruby
      
      module DayLength
        def length
          if ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"].include? self
            "24 hours"
          else
            super
          end
        end
      end
      
      class String
        prepend DayLength
      end
      
      day = "Monday"
      
      x = day.length
      
      print(x)
      
    • magic_lobster_party@kbin.run
      link
      fedilink
      arrow-up
      4
      ·
      6 个月前

      Scala and Kotlin are close ones, although those requires variables to be declared with var day = “Monday” (unless the variables are declared elsewhere)

    • breadsmasher@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      6 个月前

      Same thoughts I had.

      1. Language which allows variable declaration as name = value without any keywords or its a variable declared outside of the example
      2. Has lowercase .length and not .len or other
      3. .length is also a property and not a method? Assuming convention .length() for method call like print(x)